From e8e36c1b932376dee691fbba3ac3fbfbc3e37bfb Mon Sep 17 00:00:00 2001
From: zhangfeng <1603559716@qq.com>
Date: Wed, 12 Oct 2022 14:42:27 +0800
Subject: [PATCH] 增加应急演练查询接口
---
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java | 80 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 insertions(+), 0 deletions(-)
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java
index 3836a66..3509e45 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java
@@ -17,6 +17,7 @@
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;
@@ -400,7 +401,84 @@
}
return respDTO;
}
+ @Override
+ public EmergencyExecuteLastTimeRespDTO getLastPracticeTimeByDeptIdAndTime(EmergencyDrillTimeQuery query) {
+ if(null == query.getDeptId()){
+ throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL,"部门id不可为空");
+ }
+ if(null == query.getYear()){
+ throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL,"年份不可为空");
+ }
+ //通过RPC获取部门相关数据
+ DepInfoRPCRespDTO depInfoRPCRespDTO = getDepInfoByDepId(query.getDeptId());
+ List<Long> idList = new ArrayList<>();
+ idList.add(query.getDeptId());
+ //开始时间结束时间
+ String startTime;
+ String endTime;
+ if(null == query.getMonth()){//年
+ startTime = TimeUtils.getYearFirst(query.getYear());
+ endTime = TimeUtils.getYearLast(query.getYear());
+ }else{//月
+ startTime = TimeUtils.getMonthFirst(query.getYear(),query.getMonth());
+ endTime = TimeUtils.getMonthLast(query.getYear(),query.getMonth());
+ }
+ // 查询该部门最后一次演练时间
+ String lastTime = emergencyDrillExecuteInfoService.getLastTimeByDeptIdsAndTime(idList,startTime,endTime);
+ //填充数据
+ EmergencyExecuteLastTimeRespDTO respDTO = new EmergencyExecuteLastTimeRespDTO();
+ respDTO.setDepId(depInfoRPCRespDTO.getDepId());
+ respDTO.setDepLevel(depInfoRPCRespDTO.getDepLevel());
+ respDTO.setYear(query.getYear());
+ respDTO.setMonth(query.getMonth());
+ respDTO.setLastPricticeTime(StringUtils.isBlank(lastTime) == true ? "" : lastTime);
+ return respDTO;
+ }
+ @Override
+ public EmergencyExecuteLastTimeRespDTO getLastPracticeTimeByDeptIdsAndTime(EmergencyDrillTimeQuery query) {
+ if(null == query.getDeptId()){
+ throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL,"部门id不可为空");
+ }
+ if(null == query.getYear()){
+ throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL,"年份不可为空");
+ }
+ //通过RPC获取部门相关数据
+ List<DepInfoRPCRespDTO> depInfoList = getDepListInfoByDepId(query.getDeptId());
+ //过滤获取部门id
+ List<Long> deptIdList = depInfoList
+ .stream()
+ .map(dep -> dep.getDepId())
+ .collect(Collectors.toList());
+ //过滤出传入部门的信息
+ List<DepInfoRPCRespDTO> selectDepList = depInfoList
+ .stream()
+ .filter(dep -> dep.getDepId().equals(query.getDeptId()))
+ .collect(Collectors.toList());
+ //开始时间结束时间
+ String startTime;
+ String endTime;
+ if(null == query.getMonth()){//年
+ startTime = TimeUtils.getYearFirst(query.getYear());
+ endTime = TimeUtils.getYearLast(query.getYear());
+ }else{//月
+ startTime = TimeUtils.getMonthFirst(query.getYear(),query.getMonth());
+ endTime = TimeUtils.getMonthLast(query.getYear(),query.getMonth());
+ }
+ // 查询该部门ids最后一次演练时间
+ String lastTime = emergencyDrillExecuteInfoService.getLastTimeByDeptIdsAndTime(deptIdList,startTime,endTime);
+
+ //填充数据
+ EmergencyExecuteLastTimeRespDTO respDTO = new EmergencyExecuteLastTimeRespDTO();
+ respDTO.setDepId(query.getDeptId());
+ respDTO.setYear(query.getYear());
+ respDTO.setMonth(query.getMonth());
+ respDTO.setLastPricticeTime(StringUtils.isBlank(lastTime) == true ? "" : lastTime);
+ if(selectDepList.size()>0){
+ respDTO.setDepLevel(selectDepList.get(0).getDepLevel());
+ }
+ return respDTO;
+ }
/**
* 根据部门id和指定年份 统计演练数据
*
@@ -615,4 +693,6 @@
}
+
+
}
--
Gitblit v1.9.2