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); 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/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,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); 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 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
@@ -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); } 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); } 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); } 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) { 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 @@ } } 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>