package com.gkhy.safePlatform.riskCtrl.service; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.riskCtrl.model.dto.req.CreateNewRespSpiReportReqDTO; import com.gkhy.safePlatform.riskCtrl.model.dto.req.SearchRiskSpiReportConditionDTO; import com.gkhy.safePlatform.riskCtrl.model.dto.resp.RiskSpiRepostRespDTO; import com.gkhy.safePlatform.riskCtrl.model.dto.resp.SpiReportDetailDTO; import com.gkhy.safePlatform.riskCtrl.model.dto.resp.SpiValueRespDTO; import java.time.LocalDate; import java.util.List; public interface RiskSpiService { ResultVO saveOneRiskSpiReport(CreateNewRespSpiReportReqDTO dto); SearchResultVO getOneRiskSpiReportById(Long reportId); SearchResultVO> listRiskSpiReportListByConditions(SearchRiskSpiReportConditionDTO conditionDTO); /** * 查找部门月度SPI报表 * @param depId * @param year * @param month * @return */ SearchResultVO getMonthlySpiReport(Long depId,Integer year,Integer month); /** * 生成部门级SPI月报 * @param depId * @param year * @param month * @return */ ResultVO generateDepartmentSpiMonthReport(Long depId,Integer year,Integer month); /** * 定时调度生成部门SPI月度报表 * @param depId * @return */ ResultVO generateDepartmentSpiReportMonthlyScheduled(Long depId); /** * 定时调度生成企业SPI月度报表 * @param eid * @return */ ResultVO generateCompanySpiReportMonthlyScheduled(Long eid); /** * 计算SPI值 * @param depId * @param year * @param month * @return */ ResultVO calSpiValue(Long depId,Integer year,Integer month); /** * 计算最近12个月的SPI值 * @param depId * @return */ ResultVO> calSpiValueForLast12Months(Long depId); /** * 获取任意部门指定年月份的SPI报表 * @param depId * @param year * @param month * @return */ ResultVO getSpiReportByMonth(Long depId,Integer year,Integer month); /** * 新增一个部门的SPI详细月报记录 * @param depId * @param year * @param month * @return */ ResultVO addOneSpiReportDetail(Long depId,Integer year,Integer month); /** * 获取指定部门指定年月的SPI详细报表 * @param eid * @param depId * @param year * @param month * @return */ SearchResultVO findSpiReportDetailForOne(Long eid,Long depId,Integer year,Integer month); /** * 获取指定部门指定日期区间内的SPI报表列表 * @param eid * @param depId * @param startYear * @param startMonth * @param endYear * @param endMonth * @return */ SearchResultVO> listSpiReportDetailByCondition(Long eid, Long depId, Integer startYear, Integer startMonth,Integer endYear, Integer endMonth); }