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<List<EmergencyExecuteDepLevelLasTimeRPCRespDTO>> getExecuteLastTimeByDeptIds(Long depId); // RPC接口--1、传入部门ID,指定年份,月份,查询该部门最后一次完成应急演练的时间 ResultVO<EmergencyExecuteLastTimeRPCRespDTO> getExecuteLastTimeByDeptIdAndTime(EmergencydrillTimeRPCReq query); // RPC接口--2、传入部门ID,,指定年份,月份,查询该部门以及子级部门中最后一次完成应急演练的时间 ResultVO<List<EmergencyExecuteDepLevelLasTimeRPCRespDTO>> getExecuteLastTimeByDeptIdsAndTime(EmergencydrillTimeRPCReq query); // RPC接口--3、传入部门ID,指定月份 ,统计演练次数 ResultVO<StatisticsDepLevelMonthEexcuteRPCRespDTO> getExecuteCountByDeptIdAndMonth(EmergencyExecuteCountRPCReq query); 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; } } emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteDepLevelLasTimeRPCRespDTO.java
对比新文件 @@ -0,0 +1,44 @@ package com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp; public class EmergencyExecuteDepLevelLasTimeRPCRespDTO { //部门等级 private Byte depLevel; //年 private Integer year; //月 private Integer month; //最后一次演练时间 private String LastPricateTime; 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 getLastPricateTime() { return LastPricateTime; } public void setLastPricateTime(String lastPricateTime) { LastPricateTime = lastPricateTime; } } emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCRespDTO.javacopy 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
文件从 emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCResp.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; } emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteTimeRPCRespDTO.java
文件名从 emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteLastTimeRPCResp.java 修改 @@ -3,7 +3,7 @@ /** * 应急演练时间 */ public class EmergencyExecuteLastTimeRPCResp { public class EmergencyExecuteTimeRPCRespDTO { // 部门id private Long depId; 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,11 +127,40 @@ return result; } @Override public ResultVO<EmergencyExecuteLastTimeRPCResp> getExecuteLastTimeByDeptIds(Long depId) { ResultVO<EmergencyExecuteLastTimeRPCResp> result = new ResultVO<>(ResultCodes.OK); public ResultVO<List<EmergencyExecuteDepLevelLasTimeRPCRespDTO>> getExecuteLastTimeByDeptIds(Long depId) { ResultVO<List<EmergencyExecuteDepLevelLasTimeRPCRespDTO>> result = new ResultVO<>(ResultCodes.OK); try{ EmergencyExecuteLastTimeRPCResp lastTimeRPCResp = new EmergencyExecuteLastTimeRPCResp(); EmergencyExecuteTimeRespDTO timeRespDTO = emergencyCountService.getLastTimeByDeptIds(depId); List<EmergencyExecuteDepLevelLasTimeRespDTO> lasTimeRespDTOS = emergencyCountService.getLastTimeByDeptIds(depId); List<EmergencyExecuteDepLevelLasTimeRPCRespDTO> timeRPCRespDTOS = new ArrayList<>(); for(EmergencyExecuteDepLevelLasTimeRespDTO timeRespDTO:lasTimeRespDTOS){ if(timeRespDTO != null){ EmergencyExecuteDepLevelLasTimeRPCRespDTO timeRPCRespDTO = new EmergencyExecuteDepLevelLasTimeRPCRespDTO(); BeanUtils.copyProperties(timeRespDTO,timeRPCRespDTO); timeRPCRespDTOS.add(timeRPCRespDTO); } } result.setData(timeRPCRespDTOS); }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> 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); } @@ -145,6 +176,35 @@ } @Override public ResultVO<List<EmergencyExecuteDepLevelLasTimeRPCRespDTO>> getExecuteLastTimeByDeptIdsAndTime(EmergencydrillTimeRPCReq query) { ResultVO<List<EmergencyExecuteDepLevelLasTimeRPCRespDTO>> result = new ResultVO<>(ResultCodes.OK); EmergencyDrillTimeQuery timeQuery = new EmergencyDrillTimeQuery(); timeQuery.setDeptId(query.getDeptId()); timeQuery.setYear(query.getYear()); timeQuery.setMonth(query.getMonth()); try{ List<EmergencyExecuteDepLevelLasTimeRPCRespDTO> levelLasTimeRPCRespDTOS = new ArrayList<>(); List<EmergencyExecuteDepLevelLasTimeRespDTO> lasTimeRespDTOS = emergencyCountService.getLastPracticeTimeByDeptIdsAndTime(timeQuery); for(EmergencyExecuteDepLevelLasTimeRespDTO lastTimeRPCRespDTO :lasTimeRespDTOS){ if(null != lastTimeRPCRespDTO){ EmergencyExecuteDepLevelLasTimeRPCRespDTO levelLasTimeRPCRespDTO = new EmergencyExecuteDepLevelLasTimeRPCRespDTO(); BeanUtils.copyProperties(lastTimeRPCRespDTO,levelLasTimeRPCRespDTO); levelLasTimeRPCRespDTOS.add(levelLasTimeRPCRespDTO); } } result.setData(levelLasTimeRPCRespDTOS); }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); 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; @@ -90,12 +91,27 @@ * 根据部门以及子级部门查询最后一次完成应急演练的时间 */ @RequestMapping(value = "/getLastTimeByDeptIds",method = RequestMethod.POST) public EmergencyExecuteTimeRespDTO getLastTimeByDeptIds(@RequestBody JSONObject jsonObject){ public List<EmergencyExecuteDepLevelLasTimeRespDTO> getLastTimeByDeptIds(@RequestBody JSONObject jsonObject){ Long deptId = jsonObject.getLong("deptId"); return emergencyCountService.getLastTimeByDeptIds(deptId); } /** * 根据部门id,年份月份,查询最后一次完成应急演练的时间 */ @RequestMapping(value = "/getLastTimeByDeptIdAndTime",method = RequestMethod.POST) public EmergencyExecuteLastTimeRespDTO getLastTimeByDeptIdAndTime(@RequestBody EmergencyDrillTimeQuery query){ return emergencyCountService.getLastPracticeTimeByDeptIdAndTime(query); } /** * 根据部门以及子级部门,年份月份,查询最后一次完成应急演练的时间 */ @RequestMapping(value = "/getLastTimeByDeptIdsAndTime",method = RequestMethod.POST) public List<EmergencyExecuteDepLevelLasTimeRespDTO> getLastTimeByDeptIdsAndTime(@RequestBody EmergencyDrillTimeQuery query){ return emergencyCountService.getLastPracticeTimeByDeptIdsAndTime(query); } /** * 根据指定和年份统计演练数据 * @param query * @return emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyExecuteDepLevelLasTimeRespDTO.java
对比新文件 @@ -0,0 +1,44 @@ package com.gkhy.safePlatform.emergency.model.dto.resp; public class EmergencyExecuteDepLevelLasTimeRespDTO { //部门等级 private Byte depLevel; //年 private Integer year; //月 private Integer month; //最后一次演练时间 private String LastPricateTime; 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 getLastPricateTime() { return LastPricateTime; } public void setLastPricateTime(String lastPricateTime) { LastPricateTime = lastPricateTime; } } 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; } } 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; } } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java
@@ -38,7 +38,7 @@ String getLastTimeByDeptId(@Param("deptId")Long deptId); String getLastTimeByDeptIds(@Param("deptIdList")List<Long> deptIdList); List<EmergencyDrillExecuteLastTimeDO> getLastTimeByDeptIds(@Param("deptIdList")List<Long> deptIdList); List<EmergencyExecuteCountDO> getCountByDeptIdsAndTime(@Param("startTime")String startTime, @Param("endTime")String endTime, @Param("deptIds")List<Long> deptIds); @@ -46,4 +46,7 @@ List<EmergencyExecuteCountDO> getCountByDeptIdAndYear(@Param("year")Integer year, @Param("deptId")Long deptId); List<EmergencyDrillExecuteLastTimeDO> getLastTimeByDeptIdsAndTime(@Param("deptIdList")List<Long> deptIdList, @Param("startTime")String startTime, @Param("endTime")String endTime); String getLastTimeByDeptIdAndTime(@Param("deptId")Long deptId, @Param("startTime")String startTime, @Param("endTime")String endTime); } 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; @@ -38,7 +39,7 @@ //根据部门id查询最后一次完成应急演练的时间 EmergencyExecuteTimeRespDTO getLastTimeByDeptId(Long deptId); //根据部门id查询该部门以及其子级部门最后一次完成应急演练的时间 EmergencyExecuteTimeRespDTO getLastTimeByDeptIds(Long deptId); List<EmergencyExecuteDepLevelLasTimeRespDTO> getLastTimeByDeptIds(Long deptId); /** * 根据部门id统计指定年份的应急演练数据 * @param query @@ -66,5 +67,8 @@ */ List<StatisticsDepLevelMonthEexcuteRespDTO> getCountByDeptIdsAndMonth(EmergencyDrillCountQuery query); EmergencyExecuteLastTimeRespDTO getLastPracticeTimeByDeptIdAndTime(EmergencyDrillTimeQuery query); List<EmergencyExecuteDepLevelLasTimeRespDTO> getLastPracticeTimeByDeptIdsAndTime(EmergencyDrillTimeQuery query); } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java
@@ -36,11 +36,13 @@ String getLastTimeByDeptId(Long deptId); String getLastTimeByDeptIds(List<Long> deptIdList); List<EmergencyDrillExecuteLastTimeDO> getLastTimeByDeptIds(List<Long> deptIdList); List<EmergencyExecuteCountDO> getCountByDeptIdsAndTime(String startTime, String endTime, List<Long> deptId); EmergencyExecuteCountDO getCountByDeptIdAndMonth(Integer year,Integer month, Long deptId); List<EmergencyExecuteCountDO> getCountByDeptIdAndYear(Integer year, Long deptId); List<EmergencyDrillExecuteLastTimeDO> getLastTimeByDeptIdsAndTime(List<Long> deptIdList,String startTime,String endTime); String getLastTimeByDeptIdAndTime(Long deptId, String startTime, String endTime); } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java
@@ -89,12 +89,27 @@ } @Override public String getLastTimeByDeptIds(List<Long> deptIdList) { public List<EmergencyDrillExecuteLastTimeDO> getLastTimeByDeptIds(List<Long> deptIdList) { if(null == deptIdList || deptIdList.size() == 0){ throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL); } return baseMapper.getLastTimeByDeptIds(deptIdList); } @Override public List<EmergencyDrillExecuteLastTimeDO> 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 String getLastTimeByDeptIdAndTime(Long deptId, String startTime, String endTime) { if(null == deptId || StringUtils.isBlank(startTime) || StringUtils.isBlank(endTime)){ throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL); } return baseMapper.getLastTimeByDeptIdAndTime(deptId,startTime,endTime); } @Override public List<EmergencyExecuteCountDO> getCountByDeptIdsAndTime(String startTime, String endTime, List<Long> deptIds) { 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; @@ -32,6 +33,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -371,7 +373,7 @@ * 查询部门及其子级部门最后一次演练时间 * 后面按部门等级划分 */ public EmergencyExecuteTimeRespDTO getLastTimeByDeptIds(Long deptId){ public List<EmergencyExecuteDepLevelLasTimeRespDTO> getLastTimeByDeptIds(Long deptId){ if(null == deptId){ throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL); @@ -383,24 +385,144 @@ .stream() .map(dep -> dep.getDepId()) .collect(Collectors.toList()); //过滤出传入部门的信息 List<DepInfoRPCRespDTO> selectDepList = depInfoList .stream() .filter(dep -> dep.getDepId().equals(deptId)) .collect(Collectors.toList()); // 查询该部门ids最后一次演练时间 String lastTime = emergencyDrillExecuteInfoService.getLastTimeByDeptIds(deptIdList); List<EmergencyDrillExecuteLastTimeDO> executeLastTimeDOS = emergencyDrillExecuteInfoService.getLastTimeByDeptIds(deptIdList); List<EmergencyExecuteDepLevelLasTimeRespDTO> depLevelRespDTOList = new ArrayList<>(); //循环部门等级 for(DepartmentLevelEnum departmentLevelEnum : DepartmentLevelEnum.values()){ //数据填充 EmergencyExecuteDepLevelLasTimeRespDTO depLevelRespDTO = new EmergencyExecuteDepLevelLasTimeRespDTO(); depLevelRespDTO.setDepLevel(departmentLevelEnum.getCode()); //填充数据 EmergencyExecuteTimeRespDTO respDTO = new EmergencyExecuteTimeRespDTO(); respDTO.setDepId(deptId); respDTO.setLastPricticeTime(StringUtils.isBlank(lastTime) == true ? "" : lastTime); if(selectDepList.size()>0){ respDTO.setDepLevel(selectDepList.get(0).getDepLevel()); //该等级下的部门数据 List<DepInfoRPCRespDTO> selectDepList = depInfoList .stream() .filter(dep -> dep.getDepLevel().equals(departmentLevelEnum.getCode())) .collect(Collectors.toList()); //获取该部门等级下部门演练数据 List<EmergencyDrillExecuteLastTimeDO> selectExeList = executeLastTimeDOS .stream() .filter(exe -> selectDepList.stream().map(dep -> dep.getDepId()).collect(Collectors.toList()).contains(exe.getDeptId())) .collect(Collectors.toList()); //获取该等级最后一次演练时间 String lastTime = getLastPracticeTime(selectExeList); depLevelRespDTO.setLastPricateTime(lastTime); depLevelRespDTOList.add(depLevelRespDTO); } return depLevelRespDTOList; } //获取最大日期 private String getLastPracticeTime(List<EmergencyDrillExecuteLastTimeDO> selectExeList){ String lastTime = ""; if(selectExeList.size()>0){ SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Collections.sort(selectExeList, new Comparator<EmergencyDrillExecuteLastTimeDO>(){ @Override public int compare(EmergencyDrillExecuteLastTimeDO timeDO01, EmergencyDrillExecuteLastTimeDO timeDO02) { int flag = -1; try { Date date1 = sdft.parse(timeDO01.getLastTime()); Date date2 = sdft.parse(timeDO02.getLastTime()); if(date1.before(date2)){ flag=1; } } catch (ParseException e) { e.printStackTrace(); } return flag; } //compare }); EmergencyDrillExecuteLastTimeDO lastTimeDO = selectExeList.get(0); lastTime = lastTimeDO.getLastTime(); } return lastTime; } @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()); //开始时间结束时间 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.getLastTimeByDeptIdAndTime(query.getDeptId(), 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 List<EmergencyExecuteDepLevelLasTimeRespDTO> 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()); //开始时间结束时间 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最后一次演练时间 List<EmergencyDrillExecuteLastTimeDO> executeLastTimeDOS = emergencyDrillExecuteInfoService.getLastTimeByDeptIdsAndTime(deptIdList,startTime,endTime); List<EmergencyExecuteDepLevelLasTimeRespDTO> depLevelRespDTOList = new ArrayList<>(); //循环部门等级 for(DepartmentLevelEnum departmentLevelEnum : DepartmentLevelEnum.values()){ //数据填充 EmergencyExecuteDepLevelLasTimeRespDTO depLevelRespDTO = new EmergencyExecuteDepLevelLasTimeRespDTO(); depLevelRespDTO.setDepLevel(departmentLevelEnum.getCode()); depLevelRespDTO.setYear(query.getYear()); depLevelRespDTO.setMonth(query.getMonth()); //该等级下的部门数据 List<DepInfoRPCRespDTO> selectDepList = depInfoList .stream() .filter(dep -> dep.getDepLevel().equals(departmentLevelEnum.getCode())) .collect(Collectors.toList()); //获取该部门等级下部门演练数据 List<EmergencyDrillExecuteLastTimeDO> selectExeList = executeLastTimeDOS .stream() .filter(exe -> selectDepList.stream().map(dep -> dep.getDepId()).collect(Collectors.toList()).contains(exe.getDeptId())) .collect(Collectors.toList()); //获取该等级最后一次演练时间 String lastTime = getLastPracticeTime(selectExeList); depLevelRespDTO.setLastPricateTime(lastTime); depLevelRespDTOList.add(depLevelRespDTO); } return depLevelRespDTOList; } /** * 根据部门id和指定年份 统计演练数据 * @@ -615,4 +737,6 @@ } } emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml
@@ -242,16 +242,19 @@ AND a.del_flag = 0 AND b.department_id = #{deptId} </select> <!--根据部门及其子级获取--> <select id="getLastTimeByDeptIds" resultType="java.lang.String"> <select id="getLastTimeByDeptIds" resultType="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteLastTimeDO"> SELECT DATE_FORMAT( max( a.gmt_create ), '%Y-%m-%d %H:%i:%s' ) AS lastTime DATE_FORMAT( max( a.gmt_create ), '%Y-%m-%d %H:%i:%s' ) AS lastTime, b.department_id AS deptId FROM `emergency_drill_execute` a INNER JOIN emergency_drill_plan b ON a.drill_plan_id = b.id AND a.del_flag = 0 AND b.department_id IN `emergency_drill_execute` a INNER JOIN emergency_drill_plan b ON a.drill_plan_id = b.id AND a.del_flag = 0 AND b.department_id IN <foreach collection="deptIdList" item="deptId" open="(" close=")" separator=","> #{deptId} </foreach> GROUP BY b.department_id </select> <select id="getCountByDeptIdsAndTime" resultType="com.gkhy.safePlatform.emergency.entity.EmergencyExecuteCountDO"> SELECT @@ -304,6 +307,32 @@ DATE_FORMAT( a.gmt_create, '%Y-%m' ), DATE_FORMAT(a.gmt_create,'%m') </select> <select id="getLastTimeByDeptIdsAndTime" resultType="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteLastTimeDO"> SELECT DATE_FORMAT( max( a.gmt_create ), '%Y-%m-%d %H:%i:%s' ) AS lastTime, b.department_id AS deptId 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> GROUP BY b.department_id </select> <select id="getLastTimeByDeptIdAndTime" 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 = #{deptId} </select> </mapper> equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/schedule/KeepAliveRobot.java
对比新文件 @@ -0,0 +1,28 @@ package com.gkhy.safePlatform.equipment.schedule; import com.gkhy.safePlatform.equipment.service.EquipmentInfoService; import com.gkhy.safePlatform.equipment.service.baseService.EquipmentInfoBaseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component("equipmentKeepAlive") @EnableScheduling @ConditionalOnProperty(prefix = "threadPool.scheduling", name = "enabled", havingValue = "true") public class KeepAliveRobot { @Autowired private EquipmentInfoBaseService equipmentInfoBaseService; // 30m @Scheduled(cron = "0 0/30 * * * ?") public void keepAlive(){ // equipmentInfoBaseService.getById(-1L); } }