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


import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.business.equipment.inspection.base.dto.EquipmentInspectionInfoDTO;
import org.springblade.modules.business.equipment.inspection.base.entity.EquipmentInspectionInfoEntity;
import org.springblade.modules.business.equipment.inspection.base.vo.EquipmentInspectionInfoVO;
import org.springblade.modules.business.equipment.inspection.base.vo.EquipmentInspectionStatisticsVO;
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 IEquipmentInspectionService extends BaseService<EquipmentInspectionInfoEntity> {
	List<EquipmentInspectionStatisticsVO> inspectionReportCount(EquipmentInspectionInfoDTO inspectionInfoDTO);

	/**
	 * 本年度巡检过的设备数量
	 * @param inspectionInfoDTO
	 * @return
	 */
	Long inspectionCount(EquipmentInspectionInfoDTO inspectionInfoDTO);


	/**
	 * 按页查询
	 * @param page
	 * @param inspectionInfoDTO
	 * @return
	 */
	IPage<EquipmentInspectionInfoVO> selectPage(IPage<EquipmentInspectionInfoVO> page, EquipmentInspectionInfoDTO inspectionInfoDTO);

	/**
	 * 查询需要巡检的测站列表
	 * @param page
	 * @param inspectionInfoDTO
	 * @return
	 */
	IPage<EquipmentInspectionInfoVO> selectRtuPage(IPage<EquipmentInspectionInfoVO> page, EquipmentInspectionInfoDTO inspectionInfoDTO);


	/**
	 * 按页查询未完成巡检设备清单信息表
	 * @param page
	 * @param inspectionInfoDTO
	 * @return
	 */
	IPage<EquipmentInspectionInfoVO> selectUnfinishedInspectionEquipmentPage(IPage<EquipmentInspectionInfoVO> page, EquipmentInspectionInfoDTO inspectionInfoDTO);

	/**
	 * 查询所有未完成巡检设备清单信息表
	 * @param inspectionInfoDTO
	 * @return
	 */
	List<EquipmentInspectionInfoVO> selectUnfinishedInspectionEquipmentList(EquipmentInspectionInfoDTO inspectionInfoDTO);

}
