package com.usky.fire.service;

import com.usky.common.core.bean.CommonPage;
import com.usky.common.mybatis.core.CrudService;
import com.usky.fire.domain.PatrolInspectionSite;
import com.usky.fire.domain.PatrolInspectionSiteContent;
import com.usky.fire.service.vo.PatrolInspectionAreaVo;
import com.usky.fire.service.vo.PatrolInspectionSiteExportVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author JCB
 * @since 2022-07-13
 */
public interface PatrolInspectionSiteService extends CrudService<PatrolInspectionSite> {

    List<PatrolInspectionAreaVo> areaLeftList();

    CommonPage<PatrolInspectionSite> patrolInspectionSiteList(Integer areaId, String siteName, Integer pageNum, Integer pageSize, Integer id);

    void updatePatrolInspectionSiteList(List<PatrolInspectionSite> patrolInspectionSiteList);

    void updatePatrolInspectionSite(PatrolInspectionSite patrolInspectionSite);

    void delPatrolInspectionSite(Integer id);

    void addSiteContent(List<PatrolInspectionSiteContent> siteContentList);

    Integer[] siteContentList(Integer siteId);

    List<PatrolInspectionSiteExportVo> patrolInspectionSiteListExport(Integer areaId, String siteName, String idList);

    /**
     * 根据区域ID查询地点ID
     *
     * @param areaIdList 区域ID
     * @return
     */
    List<Integer> siteIdList(List<Integer> areaIdList);

    void patrolInspectionSiteImport(MultipartFile multipartFile);

    int siteCount(List<Integer> ids);

}
