zhangf
2024-05-08 0414ddb0b2b3a7199ae6181a770f97ac140dbd73
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyCountService.java
@@ -1,10 +1,74 @@
package com.gkhy.safePlatform.emergency.service;
import com.gkhy.safePlatform.commons.query.PageQuery;
import com.gkhy.safePlatform.commons.vo.ResultVO;
import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteCountRespDTO;
import com.gkhy.safePlatform.commons.vo.SearchResultVO;
import com.gkhy.safePlatform.emergency.model.dto.resp.*;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillCountQuery;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteCountQuery;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillTimeQuery;
import com.gkhy.safePlatform.emergency.query.EmergencySuppliesCountQuery;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteNumRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteTimeRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencyExecuteNumRPCResp;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencyExecuteTimeRPCResp;
import java.util.List;
public interface EmergencyCountService {
    ResultVO<EmergencyDrillExecuteCountRespDTO> countEmergencyDrillExecute(EmergencyDrillExecuteCountQuery query);
    ResultVO<List<EmergencySuppliesCountRespDTO>> countEmergencySupplies(PageQuery<EmergencySuppliesCountQuery> pageQuery);
    // RPC接口--1、传入部门ID,查询该部门最后一次完成应急演练的时间
    SearchResultVO<EmergencyExecuteTimeRPCResp> getTimeByDeptId(EmergencyExecuteTimeRPCReq query);
    // RPC接口--2、传入部门ID,查询该部门及其子部门的最后一次完成应急演练的时间
    SearchResultVO<List<EmergencyExecuteTimeRPCResp>> getTimeByDeptIds(EmergencyExecuteTimeRPCReq query);
    // RPC接口--3、传入部门ID和年份月份,查询该部门在指定的年份,或者指定的月份的应急演练的次数
    SearchResultVO<EmergencyExecuteNumRPCResp> getNumByDeptId(EmergencyExecuteNumRPCReq query);
    // RPC接口--4、传入部门ID和年份月份,查询该部门及其子部门,在指定的年份,或者指定的月份的应急演练的次数
    SearchResultVO<List<EmergencyExecuteNumRPCResp>> getNumByDeptIds(EmergencyExecuteNumRPCReq query);
    /***********************************************************************************************/
    //根据部门id查询最后一次完成应急演练的时间
    EmergencyExecuteTimeRespDTO getLastTimeByDeptId(Long deptId);
    //根据部门id查询该部门以及其子级部门最后一次完成应急演练的时间
    List<EmergencyExecuteDepLevelLasTimeRespDTO>  getLastTimeByDeptIds(Long deptId);
    /**
     * 根据部门id统计指定年份的应急演练数据
     * @param query
     * @return
     */
    StatisticsDepLevelYearExecuteRespDTO getCountByDeptIdAndYear(EmergencyDrillCountQuery query);
    /**
     * 根据部门id统计指定月份的应急演练数据
     * @param query
     * @return
     */
    StatisticsDepLevelMonthEexcuteRespDTO getCountByDeptIdAndMonth(EmergencyDrillCountQuery query);
    /**
     * 根据指定部门以及子级部门、指定年份 统计演练数据
     * @param query
     * @return
     */
    List<StatisticsDepLevelYearExecuteRespDTO> getCountByDeptIdsAndYear(EmergencyDrillCountQuery query);
    /**
     * 根据指定部门以及子级部门、指定月份 统计演练数据
     * @param query
     * @return
     */
    List<StatisticsDepLevelMonthEexcuteRespDTO> getCountByDeptIdsAndMonth(EmergencyDrillCountQuery query);
    EmergencyExecuteLastTimeRespDTO getLastPracticeTimeByDeptIdAndTime(EmergencyDrillTimeQuery query);
    List<EmergencyExecuteDepLevelLasTimeRespDTO> getLastPracticeTimeByDeptIdsAndTime(EmergencyDrillTimeQuery query);
}