package com.gkhy.safePlatform.emergency.service; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.vo.ResultVO; 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 countEmergencyDrillExecute(EmergencyDrillExecuteCountQuery query); ResultVO> countEmergencySupplies(PageQuery pageQuery); // RPC接口--1、传入部门ID,查询该部门最后一次完成应急演练的时间 SearchResultVO getTimeByDeptId(EmergencyExecuteTimeRPCReq query); // RPC接口--2、传入部门ID,查询该部门及其子部门的最后一次完成应急演练的时间 SearchResultVO> getTimeByDeptIds(EmergencyExecuteTimeRPCReq query); // RPC接口--3、传入部门ID和年份月份,查询该部门在指定的年份,或者指定的月份的应急演练的次数 SearchResultVO getNumByDeptId(EmergencyExecuteNumRPCReq query); // RPC接口--4、传入部门ID和年份月份,查询该部门及其子部门,在指定的年份,或者指定的月份的应急演练的次数 SearchResultVO> getNumByDeptIds(EmergencyExecuteNumRPCReq query); /***********************************************************************************************/ //根据部门id查询最后一次完成应急演练的时间 EmergencyExecuteTimeRespDTO getLastTimeByDeptId(Long deptId); //根据部门id查询该部门以及其子级部门最后一次完成应急演练的时间 List getLastTimeByDeptIds(Long deptId); /** * 根据部门id统计指定年份的应急演练数据 * @param query * @return */ StatisticsDepLevelYearExecuteRespDTO getCountByDeptIdAndYear(EmergencyDrillCountQuery query); /** * 根据部门id统计指定月份的应急演练数据 * @param query * @return */ StatisticsDepLevelMonthEexcuteRespDTO getCountByDeptIdAndMonth(EmergencyDrillCountQuery query); /** * 根据指定部门以及子级部门、指定年份 统计演练数据 * @param query * @return */ List getCountByDeptIdsAndYear(EmergencyDrillCountQuery query); /** * 根据指定部门以及子级部门、指定月份 统计演练数据 * @param query * @return */ List getCountByDeptIdsAndMonth(EmergencyDrillCountQuery query); EmergencyExecuteLastTimeRespDTO getLastPracticeTimeByDeptIdAndTime(EmergencyDrillTimeQuery query); List getLastPracticeTimeByDeptIdsAndTime(EmergencyDrillTimeQuery query); }