package com.usky.fire.service;

import com.usky.common.core.bean.CommonPage;
import com.usky.fire.domain.PatrolInspectionPlan;
import com.usky.common.mybatis.core.CrudService;
import com.usky.fire.service.vo.PatrolInspectionAreaVo;
import com.usky.fire.service.vo.PatrolInspectionPlanDataVo;
import com.usky.fire.service.vo.PatrolInspectionPlanVo;
import com.usky.fire.service.vo.PatrolInspectionSiteVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author JCB
 * @since 2022-07-18
 */
public interface PatrolInspectionPlanService extends CrudService<PatrolInspectionPlan> {

    List<PatrolInspectionAreaVo> planLeftList();

    void addPatrolInspectionPlan(PatrolInspectionPlanVo patrolInspectionPlanVo);

    void updatePatrolInspectionPlan(PatrolInspectionPlanVo patrolInspectionPlanVo);

    void addPatrolInspectionPlanSon();

    /**
     * 查询近七天符合时间段的主计划，检查其近七天子计划是否存在；不存在则补插，已存在则跳过
     */
    void supplementNearSevenDaysPlanSon();

    void delPatrolInspectionPlan(Integer id);

    CommonPage<PatrolInspectionPlanDataVo> patrolInspectionPlanList(String planName,Integer planType, Integer areaId,Integer pageNum, Integer pageSize, Integer id);

    List<PatrolInspectionSiteVo> patrolInspectionSiteVoList(Integer planId, Integer areaId);
}
