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

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
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 EquipmentInspectionReportMapper extends BaseMapper<EquipmentInspectionReportEntity> {
	/**
	 * 不分页列表
	 * @param inspectionReportDTO
	 * @return
	 */
	List<EquipmentInspectionReportVO> selectList(@Param("inspectionReportDTO") EquipmentInspectionReportDTO inspectionReportDTO);
	/**
	 * 自定义分页
	 *
	 * @param page   分页
	 * @param inspectionReportDTO 实体
	 * @return List<EquipmentInspectionReportVO>
	 */
	List<EquipmentInspectionReportVO> selectPage(IPage page, @Param("inspectionReportDTO") EquipmentInspectionReportDTO inspectionReportDTO);

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

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

	List<EquipmentInspectionReportVO> selectTodayReportPage(IPage page,@Param("inspectionReportDTO")EquipmentInspectionReportDTO inspectionReportDTO);


	long todayReportCount(@Param("inspectionReportDTO") EquipmentInspectionReportDTO inspectionReportDTO);

	/**
	 * 遗留问题列表，分页
	 * @param page
	 * @param inspectionReportDTO
	 * @return
	 */
	List<EquipmentInspectionReportVO> selectRemainingproblemsPage(IPage page, @Param("inspectionReportDTO") EquipmentInspectionReportDTO inspectionReportDTO);

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


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


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

}
