package com.yuchen.saas.park.service.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yuchen.saas.park.api.entity.park.FireInspectTaskEntity;
import com.yuchen.saas.park.api.request.FireInspectTackQueryRequest;
import com.yuchen.saas.park.api.request.FireInspectTaskUpdateRequest;
import com.yuchen.saas.park.api.response.FireInspectTaskListResponse;
import com.yuchen.saas.park.api.response.FireInspectTaskPointResponse;
import com.yuchen.saas.park.api.response.FireTaskPartListResponse;
import org.nest.springwrap.core.mp.base.BaseService;
import org.nest.springwrap.core.mp.support.Query;
import org.nest.springwrap.core.tool.api.R;

/**
 * @ClassName FireInspectTaskService
 * @Description 消防巡查任务服务类
 * @Author 肖祥
 * @Date 2022/10/19 11:45
 * @Version 1.0。0
 **/
public interface FireInspectTaskService extends BaseService<FireInspectTaskEntity> {

    /**
     * 消防巡查任务列表
     * @param fireInspectTackQueryRequest
     * @param query
     * @return
     */
    R<IPage<FireInspectTaskListResponse>> list(FireInspectTackQueryRequest fireInspectTackQueryRequest, Query query);

    /**
     * 消防巡查任务更新
     * @param fireInspectTaskUpdateRequest
     * @return
     */
    R<Boolean> update(FireInspectTaskUpdateRequest fireInspectTaskUpdateRequest);

    /**
     * 根据计划创建任务
     * @param planId
     * @return
     */
    R<Boolean> create(Long planId);

    /**
     * task and point list
     * @param id
     * @param query
     * @return
     */
    R<IPage<FireInspectTaskPointResponse>> taskPointList(Long id, Query query);

    /**
     * task and part list
     * @param id
     * @param query
     * @return
     */
    R<IPage<FireTaskPartListResponse>> taskPartList(Long id, Query query);



    }
