From e8e36c1b932376dee691fbba3ac3fbfbc3e37bfb Mon Sep 17 00:00:00 2001
From: zhangfeng <1603559716@qq.com>
Date: 星期三, 12 十月 2022 14:42:27 +0800
Subject: [PATCH] 增加应急演练查询接口
---
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java | 1
emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml | 15 ++
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteTimeRPCRespDTO.java | 2
emergency/emergency-rpc-provider/src/main/java/com/gkhy/safePlatform/emergency/rpc/provider/EmergencyRpcProvider.java | 63 +++++++++-
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCRespDTO.java | 28 +++
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java | 80 +++++++++++++
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyCountService.java | 4
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyCountController.java | 16 ++
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyExecuteLastTimeRespDTO.java | 58 +++++++++
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/req/EmergencydrillTimeRPCReq.java | 35 +++++
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java | 7 +
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java | 11 +
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillTimeQuery.java | 35 +++++
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java | 2
14 files changed, 341 insertions(+), 16 deletions(-)
diff --git a/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java
index ae173b8..401dd5c 100644
--- a/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java
+++ b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java
@@ -7,6 +7,7 @@
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteCountRPCReq;
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.req.EmergencydrillTimeRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.*;
@@ -36,10 +37,16 @@
/*****************************************重构***********************************************************/
// RPC接口--1、传入部门ID,查询该部门最后一次完成应急演练的时间
- ResultVO<EmergencyExecuteLastTimeRPCResp> getExecuteLastTimeByDeptId(Long depId);
+ ResultVO<EmergencyExecuteTimeRPCRespDTO> getExecuteLastTimeByDeptId(Long depId);
// RPC接口--2、传入部门ID,查询该部门以及子级部门中最后一次完成应急演练的时间
- ResultVO<EmergencyExecuteLastTimeRPCResp> getExecuteLastTimeByDeptIds(Long depId);
+ ResultVO<EmergencyExecuteTimeRPCRespDTO> getExecuteLastTimeByDeptIds(Long depId);
+
+ // RPC接口--1、传入部门ID,指定年份,月份,查询该部门最后一次完成应急演练的时间
+ ResultVO<EmergencyExecuteLastTimeRPCRespDTO> getExecuteLastTimeByDeptIdAndTime(EmergencydrillTimeRPCReq query);
+
+ // RPC接口--2、传入部门ID,,指定年份,月份,查询该部门以及子级部门中最后一次完成应急演练的时间
+ ResultVO<EmergencyExecuteLastTimeRPCRespDTO> getExecuteLastTimeByDeptIdsAndTime(EmergencydrillTimeRPCReq query);
// RPC接口--3、传入部门ID,指定月份 ,统计演练次数
ResultVO<StatisticsDepLevelMonthEexcuteRPCRespDTO> getExecuteCountByDeptIdAndMonth(EmergencyExecuteCountRPCReq query);
diff --git a/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/req/EmergencydrillTimeRPCReq.java b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/req/EmergencydrillTimeRPCReq.java
new file mode 100644
index 0000000..0a6e41e
--- /dev/null
+++ b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/req/EmergencydrillTimeRPCReq.java
@@ -0,0 +1,35 @@
+package com.gkhy.safePlatform.emergency.rpc.api.model.dto.req;
+
+public class EmergencydrillTimeRPCReq {
+ //部门id
+ private Long deptId;
+ //年份
+ private Integer year;
+ //月份
+ private Integer month;
+
+ public Long getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(Long deptId) {
+ this.deptId = deptId;
+ }
+
+ public Integer getYear() {
+ return year;
+ }
+
+ public void setYear(Integer year) {
+ this.year = year;
+ }
+
+ public Integer getMonth() {
+ return month;
+ }
+
+ public void setMonth(Integer month) {
+ this.month = month;
+ }
+
+}
diff --git a/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCResp.java b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCRespDTO.java
similarity index 63%
copy from emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCResp.java
copy to emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCRespDTO.java
index 89009b6..f564bbe 100644
--- a/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCResp.java
+++ b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCRespDTO.java
@@ -1,15 +1,17 @@
package com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp;
-/**
- * 应急演练时间
- */
-public class EmergencyExecuteLastTimeRPCResp {
-
+public class EmergencyExecuteLastTimeRPCRespDTO {
// 部门id
private Long depId;
// 部门级别
private Byte depLevel;
+
+ //年份
+ private Integer year;
+
+ //月份
+ private Integer month;
//左后一次演练的时间
private String lastPricticeTime;
@@ -30,6 +32,22 @@
this.depLevel = depLevel;
}
+ public Integer getYear() {
+ return year;
+ }
+
+ public void setYear(Integer year) {
+ this.year = year;
+ }
+
+ public Integer getMonth() {
+ return month;
+ }
+
+ public void setMonth(Integer month) {
+ this.month = month;
+ }
+
public String getLastPricticeTime() {
return lastPricticeTime;
}
diff --git a/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCResp.java b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteTimeRPCRespDTO.java
similarity index 93%
rename from emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCResp.java
rename to emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteTimeRPCRespDTO.java
index 89009b6..9f3e154 100644
--- a/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCResp.java
+++ b/emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteTimeRPCRespDTO.java
@@ -3,7 +3,7 @@
/**
* 应急演练时间
*/
-public class EmergencyExecuteLastTimeRPCResp {
+public class EmergencyExecuteTimeRPCRespDTO {
// 部门id
private Long depId;
diff --git a/emergency/emergency-rpc-provider/src/main/java/com/gkhy/safePlatform/emergency/rpc/provider/EmergencyRpcProvider.java b/emergency/emergency-rpc-provider/src/main/java/com/gkhy/safePlatform/emergency/rpc/provider/EmergencyRpcProvider.java
index c0b9b22..bcc3210 100644
--- a/emergency/emergency-rpc-provider/src/main/java/com/gkhy/safePlatform/emergency/rpc/provider/EmergencyRpcProvider.java
+++ b/emergency/emergency-rpc-provider/src/main/java/com/gkhy/safePlatform/emergency/rpc/provider/EmergencyRpcProvider.java
@@ -10,10 +10,12 @@
import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
import com.gkhy.safePlatform.emergency.model.dto.resp.*;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillCountQuery;
+import com.gkhy.safePlatform.emergency.query.EmergencyDrillTimeQuery;
import com.gkhy.safePlatform.emergency.rpc.api.EmergencyRpcAPi;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteCountRPCReq;
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.req.EmergencydrillTimeRPCReq;
import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.*;
import com.gkhy.safePlatform.emergency.service.EmergencyCountService;
import com.gkhy.safePlatform.emergency.service.EmergencySuppliesService;
@@ -106,10 +108,10 @@
}
@Override
- public ResultVO<EmergencyExecuteLastTimeRPCResp> getExecuteLastTimeByDeptId(Long depId) {
- ResultVO<EmergencyExecuteLastTimeRPCResp> result = new ResultVO<>(ResultCodes.OK);
+ public ResultVO<EmergencyExecuteTimeRPCRespDTO> getExecuteLastTimeByDeptId(Long depId) {
+ ResultVO<EmergencyExecuteTimeRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
try{
- EmergencyExecuteLastTimeRPCResp lastTimeRPCResp = new EmergencyExecuteLastTimeRPCResp();
+ EmergencyExecuteTimeRPCRespDTO lastTimeRPCResp = new EmergencyExecuteTimeRPCRespDTO();
EmergencyExecuteTimeRespDTO timeRespDTO = emergencyCountService.getLastTimeByDeptId(depId);
if(null != timeRespDTO){
BeanUtils.copyProperties(timeRespDTO,lastTimeRPCResp);
@@ -125,10 +127,10 @@
return result;
}
@Override
- public ResultVO<EmergencyExecuteLastTimeRPCResp> getExecuteLastTimeByDeptIds(Long depId) {
- ResultVO<EmergencyExecuteLastTimeRPCResp> result = new ResultVO<>(ResultCodes.OK);
+ public ResultVO<EmergencyExecuteTimeRPCRespDTO> getExecuteLastTimeByDeptIds(Long depId) {
+ ResultVO<EmergencyExecuteTimeRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
try{
- EmergencyExecuteLastTimeRPCResp lastTimeRPCResp = new EmergencyExecuteLastTimeRPCResp();
+ EmergencyExecuteTimeRPCRespDTO lastTimeRPCResp = new EmergencyExecuteTimeRPCRespDTO();
EmergencyExecuteTimeRespDTO timeRespDTO = emergencyCountService.getLastTimeByDeptIds(depId);
if(null != timeRespDTO){
BeanUtils.copyProperties(timeRespDTO,lastTimeRPCResp);
@@ -145,6 +147,55 @@
}
@Override
+ public ResultVO<EmergencyExecuteLastTimeRPCRespDTO> getExecuteLastTimeByDeptIdAndTime(EmergencydrillTimeRPCReq query) {
+ ResultVO<EmergencyExecuteLastTimeRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
+ EmergencyDrillTimeQuery timeQuery = new EmergencyDrillTimeQuery();
+ timeQuery.setDeptId(query.getDeptId());
+ timeQuery.setYear(query.getYear());
+ timeQuery.setMonth(query.getMonth());
+ try{
+ EmergencyExecuteLastTimeRPCRespDTO lastTimeRPCResp = new EmergencyExecuteLastTimeRPCRespDTO();
+ EmergencyExecuteLastTimeRespDTO timeRespDTO = emergencyCountService.getLastPracticeTimeByDeptIdAndTime(timeQuery);
+ if(null != timeRespDTO){
+ BeanUtils.copyProperties(timeRespDTO,lastTimeRPCResp);
+ }
+ result.setData(lastTimeRPCResp);
+ }catch (EmergencyException e){
+ result.setCode(e.getCode());
+ result.setMsg(e.getMessage());
+ }catch (Exception e) {
+ result.setCode(EmergencyResultCodes.ERROR.getCode());
+ result.setMsg(EmergencyResultCodes.ERROR.getDesc());
+ }
+ return result;
+ }
+
+ @Override
+ public ResultVO<EmergencyExecuteLastTimeRPCRespDTO> getExecuteLastTimeByDeptIdsAndTime(EmergencydrillTimeRPCReq query) {
+ ResultVO<EmergencyExecuteLastTimeRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
+ EmergencyDrillTimeQuery timeQuery = new EmergencyDrillTimeQuery();
+ timeQuery.setDeptId(query.getDeptId());
+ timeQuery.setYear(query.getYear());
+ timeQuery.setMonth(query.getMonth());
+
+ try{
+ EmergencyExecuteLastTimeRPCRespDTO lastTimeRPCResp = new EmergencyExecuteLastTimeRPCRespDTO();
+ EmergencyExecuteLastTimeRespDTO timeRespDTO = emergencyCountService.getLastPracticeTimeByDeptIdsAndTime(timeQuery);
+ if(null != timeRespDTO){
+ BeanUtils.copyProperties(timeRespDTO,lastTimeRPCResp);
+ }
+ result.setData(lastTimeRPCResp);
+ }catch (EmergencyException e){
+ result.setCode(e.getCode());
+ result.setMsg(e.getMessage());
+ }catch (Exception e) {
+ result.setCode(EmergencyResultCodes.ERROR.getCode());
+ result.setMsg(EmergencyResultCodes.ERROR.getDesc());
+ }
+ return result;
+ }
+
+ @Override
public ResultVO<StatisticsDepLevelMonthEexcuteRPCRespDTO> getExecuteCountByDeptIdAndMonth(EmergencyExecuteCountRPCReq query) {
ResultVO<StatisticsDepLevelMonthEexcuteRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyCountController.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyCountController.java
index 1eeab81..7573261 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyCountController.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyCountController.java
@@ -8,6 +8,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;
@@ -96,6 +97,21 @@
}
/**
+ * 根据部门id,年份月份,查询最后一次完成应急演练的时间
+ */
+ @RequestMapping(value = "/getLastTimeByDeptIdAndTime",method = RequestMethod.POST)
+ public EmergencyExecuteLastTimeRespDTO getLastTimeByDeptIdAndTime(@RequestBody EmergencyDrillTimeQuery query){
+ return emergencyCountService.getLastPracticeTimeByDeptIdAndTime(query);
+ }
+ /**
+ * 根据部门以及子级部门,年份月份,查询最后一次完成应急演练的时间
+ */
+ @RequestMapping(value = "/getLastTimeByDeptIdsAndTime",method = RequestMethod.POST)
+ public EmergencyExecuteLastTimeRespDTO getLastTimeByDeptIdsAndTime(@RequestBody EmergencyDrillTimeQuery query){
+ return emergencyCountService.getLastPracticeTimeByDeptIdsAndTime(query);
+ }
+
+ /**
* 根据指定和年份统计演练数据
* @param query
* @return
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyExecuteLastTimeRespDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyExecuteLastTimeRespDTO.java
new file mode 100644
index 0000000..26db663
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyExecuteLastTimeRespDTO.java
@@ -0,0 +1,58 @@
+package com.gkhy.safePlatform.emergency.model.dto.resp;
+
+public class EmergencyExecuteLastTimeRespDTO {
+ // 部门id
+ private Long depId;
+
+ // 部门级别
+ private Byte depLevel;
+
+ //年份
+ private Integer year;
+
+ //月份
+ private Integer month;
+
+ //左后一次演练的时间
+ private String lastPricticeTime;
+
+ public Long getDepId() {
+ return depId;
+ }
+
+ public void setDepId(Long depId) {
+ this.depId = depId;
+ }
+
+ public Byte getDepLevel() {
+ return depLevel;
+ }
+
+ public void setDepLevel(Byte depLevel) {
+ this.depLevel = depLevel;
+ }
+
+ public Integer getYear() {
+ return year;
+ }
+
+ public void setYear(Integer year) {
+ this.year = year;
+ }
+
+ public Integer getMonth() {
+ return month;
+ }
+
+ public void setMonth(Integer month) {
+ this.month = month;
+ }
+
+ public String getLastPricticeTime() {
+ return lastPricticeTime;
+ }
+
+ public void setLastPricticeTime(String lastPricticeTime) {
+ this.lastPricticeTime = lastPricticeTime;
+ }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillTimeQuery.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillTimeQuery.java
new file mode 100644
index 0000000..4ac1688
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillTimeQuery.java
@@ -0,0 +1,35 @@
+package com.gkhy.safePlatform.emergency.query;
+
+public class EmergencyDrillTimeQuery {
+ //部门id
+ private Long deptId;
+ //年份
+ private Integer year;
+ //月份
+ private Integer month;
+
+ public Long getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(Long deptId) {
+ this.deptId = deptId;
+ }
+
+ public Integer getYear() {
+ return year;
+ }
+
+ public void setYear(Integer year) {
+ this.year = year;
+ }
+
+ public Integer getMonth() {
+ return month;
+ }
+
+ public void setMonth(Integer month) {
+ this.month = month;
+ }
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java
index 7d31b2a..9cff90a 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java
@@ -46,4 +46,5 @@
List<EmergencyExecuteCountDO> getCountByDeptIdAndYear(@Param("year")Integer year, @Param("deptId")Long deptId);
+ String getLastTimeByDeptIdsAndTime(@Param("deptIdList")List<Long> deptIdList, @Param("startTime")String startTime, @Param("endTime")String endTime);
}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyCountService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyCountService.java
index 7f97f22..8f3858b 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyCountService.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyCountService.java
@@ -6,6 +6,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;
@@ -66,5 +67,8 @@
*/
List<StatisticsDepLevelMonthEexcuteRespDTO> getCountByDeptIdsAndMonth(EmergencyDrillCountQuery query);
+ EmergencyExecuteLastTimeRespDTO getLastPracticeTimeByDeptIdAndTime(EmergencyDrillTimeQuery query);
+
+ EmergencyExecuteLastTimeRespDTO getLastPracticeTimeByDeptIdsAndTime(EmergencyDrillTimeQuery query);
}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java
index 111f474..60764b7 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java
@@ -42,5 +42,5 @@
EmergencyExecuteCountDO getCountByDeptIdAndMonth(Integer year,Integer month, Long deptId);
List<EmergencyExecuteCountDO> getCountByDeptIdAndYear(Integer year, Long deptId);
-
+ String getLastTimeByDeptIdsAndTime(List<Long> deptIdList,String startTime,String endTime);
}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java
index 4eca391..b7c5a9e 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java
@@ -95,6 +95,13 @@
}
return baseMapper.getLastTimeByDeptIds(deptIdList);
}
+ @Override
+ public String getLastTimeByDeptIdsAndTime(List<Long> deptIdList,String startTime,String endTime) {
+ if(null == deptIdList || deptIdList.size() == 0 || StringUtils.isBlank(startTime) || StringUtils.isBlank(endTime)){
+ throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL);
+ }
+ return baseMapper.getLastTimeByDeptIdsAndTime(deptIdList,startTime,endTime);
+ }
@Override
public List<EmergencyExecuteCountDO> getCountByDeptIdsAndTime(String startTime, String endTime, List<Long> deptIds) {
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 @@
}
+
+
}
diff --git a/emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml b/emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml
index e6e6f5a..55c1692 100644
--- a/emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml
+++ b/emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml
@@ -304,6 +304,19 @@
DATE_FORMAT( a.gmt_create, '%Y-%m' ),
DATE_FORMAT(a.gmt_create,'%m')
</select>
-
+ <select id="getLastTimeByDeptIdsAndTime" resultType="java.lang.String">
+ SELECT
+ DATE_FORMAT( max( a.gmt_create ), '%Y-%m-%d %H:%i:%s' ) AS lastTime
+ FROM
+ `emergency_drill_execute` a
+ INNER JOIN emergency_drill_plan b ON a.drill_plan_id = b.id
+ AND a.del_flag = 0
+ AND DATE( a.gmt_create ) BETWEEN #{startTime}
+ AND #{endTime}
+ AND b.department_id IN
+ <foreach collection="deptIdList" item="deptId" open="(" close=")" separator=",">
+ #{deptId}
+ </foreach>
+ </select>
</mapper>
--
Gitblit v1.9.2