package com.usky.fire.service;

import com.usky.common.core.bean.CommonPage;
import com.usky.fire.domain.PatrolInspectionRecord;
import com.usky.common.mybatis.core.CrudService;
import com.usky.fire.service.vo.PatrolInspectionRecordExportVo;
import com.usky.fire.service.vo.PatrolInspectionRecordVo;
import com.usky.fire.service.vo.RecordStatisticsVo;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.List;

/**
 * <p>
 * 巡检记录表 服务类
 * </p>
 *
 * @author JCB
 * @since 2022-07-21
 */
public interface PatrolInspectionRecordService extends CrudService<PatrolInspectionRecord> {

    CommonPage<PatrolInspectionRecord> patrolInspectionRecordLsit(String areaName,
                                                                  String siteName,
                                                                  String name,
                                                                  Integer planType,
                                                                  Integer routeId,
                                                                  String startDateTime,
                                                                  String endDateTime,
                                                                  Integer pageNum,
                                                                  Integer pageSize);

    List<PatrolInspectionRecordVo> patrolInspectionRecordDetails(Integer id);


    List<Integer> getPlanSon(String startDate, String endDate);

    Integer getPlanSiteSonCount(List<Integer> planSonidList, Integer inspectionStatus);

    RecordStatisticsVo recordStatistics(String startDate, String endDate);

    List<PatrolInspectionRecordExportVo> recordLsitExport(String areaName, String siteName, String name,
                                                          Integer planType, String startDateTime,
                                                          String endDateTime,String idList);

    List<PatrolInspectionRecordExportVo> exportImage(String areaName, String siteName, String name,
                                                     Integer planType, String startDateTime,
                                                     String endDateTime, String idList);

}
