/**
 * Copyright 2019 DH
 * All right reserved.
 * 项目名称: 运维系统
 * 创建日期:2022/8/23
 */
package org.springblade.modules.business.equipment.inspection.report.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.business.equipment.inspection.report.dto.EquipmentInspectionReportDTO;
import org.springblade.modules.business.equipment.inspection.report.entity.EquipmentInspectionReportEntity;
import org.springblade.modules.business.equipment.inspection.report.vo.EquipmentInspectionReportVO;

import java.util.List;


/***
 * Date:2022/8/23
 * Title:文件所属模块（必须填写）
 * Description：对本文件的详细描述，原则上不能少于30字
 * @author dylan
 * @version 1.0
 * Remark：认为有必要的其他信息
 */
public interface IEquipmentInspectionReportService extends BaseService<EquipmentInspectionReportEntity> {
	/**
	 * 不分页列表
	 *
	 * @param inspectionReportDTO
	 * @return
	 */
	List<EquipmentInspectionReportVO> selectList(EquipmentInspectionReportDTO inspectionReportDTO);

	/**
	 * 自定义分页
	 *
	 * @param page
	 * @param reportDTO
	 * @return
	 */
	IPage<EquipmentInspectionReportVO> selectPage(IPage<EquipmentInspectionReportVO> page, EquipmentInspectionReportDTO reportDTO);

	/**
	 * 根据年度，汛期类型查询填报设备数量
	 *
	 * @param inspectionReportDTO
	 * @return
	 */
	Long equipmentInspectionReportCount(EquipmentInspectionReportDTO inspectionReportDTO);

	/**
	 * 当前填报列表
	 *
	 * @param inspectionReportDTO
	 * @return
	 */
	List<EquipmentInspectionReportVO> selectTodayReportList(EquipmentInspectionReportDTO inspectionReportDTO);


	IPage<EquipmentInspectionReportVO> selectTodayReportPage(IPage<EquipmentInspectionReportVO> page,EquipmentInspectionReportDTO inspectionReportDTO);


	long todayReportCount( EquipmentInspectionReportDTO inspectionReportDTO);

	/**
	 * 查询巡检上报中有遗留问题的巡检信息
	 *
	 * @param page
	 * @param inspectionReportDTO
	 * @return
	 */
	IPage<EquipmentInspectionReportVO> selectRemainingproblemsPage(IPage<EquipmentInspectionReportVO> page, EquipmentInspectionReportDTO inspectionReportDTO);

	/**
	 * 查询当前汛期遗留问题列表
	 *
	 * @param inspectionReportDTO
	 * @return
	 */
	List<EquipmentInspectionReportVO> selectRainSeasonRemainingproblemsList(EquipmentInspectionReportDTO inspectionReportDTO);

	/**
	 * 查询当前汛期未关闭遗留问题列表
	 *
	 * @param inspectionReportDTO
	 * @return
	 */
	List<EquipmentInspectionReportVO> selectRainSeasonUncolseRemainingproblemsList(EquipmentInspectionReportDTO inspectionReportDTO);


	/**
	 * 查询巡检上报时无网络信号列表
	 *
	 * @param page
	 * @param inspectionReportDTO
	 * @return
	 */
	IPage<EquipmentInspectionReportVO> selectNoNetworkSignalPage(IPage<EquipmentInspectionReportVO> page, EquipmentInspectionReportDTO inspectionReportDTO);

}
