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

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuchen.saas.park.api.dto.fire.inspect.plan.FireInspectPlanReqDTO;
import com.yuchen.saas.park.api.dto.fire.inspect.plan.FireInspectPlanSubmitReqDTO;
import com.yuchen.saas.park.api.entity.fire.inspect.SaasParkFireInspectPlan;
import com.yuchen.saas.park.api.vo.fire.inspect.plan.FireInspectPlanDetailVO;
import com.yuchen.saas.park.api.vo.fire.inspect.plan.FireInspectPlanTaskTableVO;
import com.yuchen.saas.park.api.vo.fire.inspect.plan.FireInspectPlanVO;
import org.nest.springwrap.core.mp.support.NestPage;

import javax.servlet.http.HttpServletResponse;

/**
 * <p>
 * 巡检计划表 服务类
 * </p>
 *
 * @author zhouhanwei
 * @since 2024-04-03
 */
public interface ISaasParkFireInspectPlanService extends IService<SaasParkFireInspectPlan> {

    NestPage<FireInspectPlanVO> findFireInspectPlanPage(FireInspectPlanReqDTO reqDTO);

    FireInspectPlanDetailVO getFireInspectPlan(Long planId);

    FireInspectPlanTaskTableVO getPlanTaskTable(Long planId);

    Boolean closePlan(Long planId);

    Boolean addInspectPlan(FireInspectPlanSubmitReqDTO reqDTO);

    FireInspectPlanTaskTableVO createPlanTaskInfo(FireInspectPlanSubmitReqDTO reqDTO);

    void exportPlanTaskInfo(Long planId, HttpServletResponse response);

}
