2022-09-06 | songhuangfeng123 | ![]() |
2022-09-05 | songhuangfeng123 | ![]() |
2022-09-05 | songhuangfeng123 | ![]() |
emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/EmergencyRpcAPi.java
@@ -10,12 +10,15 @@ public interface EmergencyRpcAPi { // RPC接口--1、传入部门ID,查询该部门最后一次完成应急演练的时间 SearchResultVO<EmergencyExecuteTimeRPCResp> getTimeByDeptId(EmergencyExecuteTimeRPCReq query); // RPC接口--2、传入部门ID,查询该部门及其子部门的最后一次完成应急演练的时间 SearchResultVO<List<EmergencyExecuteTimeRPCResp>> getTimeByDeptIds(EmergencyExecuteTimeRPCReq query); // RPC接口--3、传入部门ID和年份月份,查询该部门在指定的年份,或者指定的月份的应急演练的次数 SearchResultVO<EmergencyExecuteNumRPCResp> getNumByDeptId(EmergencyExecuteNumRPCReq query); // RPC接口--4、传入部门ID和年份月份,查询该部门及其子部门,在指定的年份,或者指定的月份的应急演练的次数 SearchResultVO<List<EmergencyExecuteNumRPCResp>> getNumByDeptIds(EmergencyExecuteNumRPCReq query); } emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/req/EmergencyExecuteNumRPCReq.java
@@ -14,7 +14,7 @@ private Integer year; // 月 private Integer mouth; private Integer month; public Long getDeptId() { return deptId; @@ -32,11 +32,11 @@ this.year = year; } public Integer getMouth() { return mouth; public Integer getMonth() { return month; } public void setMouth(Integer mouth) { this.mouth = mouth; public void setMonth(Integer month) { this.month = month; } } emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteNumRPCResp.java
@@ -1,8 +1,6 @@ package com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp; import com.gkhy.safePlatform.emergency.rpc.api.model.EmergencyDrillExecuteCountData; import java.util.List; import java.util.Map; @@ -17,8 +15,8 @@ // 部门级别 private Integer deptLevel; // 名称+数据 private List<Map<String ,String>> data; // 名称+数据 1如果为查询的是年:返回的name为月份 2如果查询的是月,返回的name为天 private List<Map<String ,Integer>> data; public Long getDeptId() { return deptId; @@ -44,11 +42,11 @@ this.deptLevel = deptLevel; } public List<Map<String, String>> getData() { public List<Map<String, Integer>> getData() { return data; } public void setData(List<Map<String, String>> data) { public void setData(List<Map<String, Integer>> data) { this.data = data; } } emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/dto/resp/EmergencyExecuteTimeRPCResp.java
@@ -15,9 +15,6 @@ //上次演练的时间 private String lastTime; // 距离上次演练的天数 private Integer days; public Long getDeptId() { return deptId; } @@ -50,11 +47,4 @@ this.lastTime = lastTime; } public Integer getDays() { return days; } public void setDays(Integer days) { this.days = days; } } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyCountController.java
@@ -46,9 +46,32 @@ /** * 应急演练次数统计图 */ @RequestMapping(value = "/getTimeByDeptId",method = RequestMethod.POST) public SearchResultVO<EmergencyExecuteTimeRPCResp> getTimeByDeptId(@RequestBody EmergencyExecuteTimeRPCReq query){ return emergencyCountService.getTimeByDeptId(query); } /** * 应急演练次数统计图 */ @RequestMapping(value = "/getTimeByDeptIds",method = RequestMethod.POST) public SearchResultVO<List<EmergencyExecuteTimeRPCResp>> getTimeByDeptIds(@RequestBody EmergencyExecuteTimeRPCReq query){ return emergencyCountService.getTimeByDeptIds(query); } /** * 应急演练次数统计图 */ @RequestMapping(value = "/getNumByDeptId",method = RequestMethod.POST) public SearchResultVO<EmergencyExecuteNumRPCResp> getNumByDeptId(@RequestBody EmergencyExecuteNumRPCReq query){ return emergencyCountService.getNumByDeptId(query); } /** * 应急演练次数统计图 */ @RequestMapping(value = "/getNumByDeptIds",method = RequestMethod.POST) public SearchResultVO<List<EmergencyExecuteNumRPCResp>> getNumByDeptIds(@RequestBody EmergencyExecuteNumRPCReq query){ return emergencyCountService.getNumByDeptIds(query); } } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteCountRPC.java
对比新文件 @@ -0,0 +1,25 @@ package com.gkhy.safePlatform.emergency.entity; public class EmergencyDrillExecuteCountRPC { private Integer num ; private Integer name ; public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public Integer getName() { return name; } public void setName(Integer name) { this.name = name; } } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java
@@ -30,5 +30,9 @@ List<EmergencyDrillExecuteCountData> selectByYearAndDept(@Param("startTime") String startTime ,@Param("endTime")String endTime ,@Param("deptIds")List<Long> deptIds); List<EmergencyDrillExecuteCountRPC> selectByDayAndDept(@Param("startTime") String startTime ,@Param("endTime")String endTime ,@Param("deptIds")List<Long> deptIds); List<EmergencyDrillExecuteCountRPC> selectByMonthAndDeptForIntegerMonth(@Param("startTime") String startTime ,@Param("endTime")String endTime ,@Param("deptIds")List<Long> deptIds); String selectEmergencyDrillExecuteIntervalTimeByDeptId(@Param("deptId")Long deptId); } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java
@@ -28,5 +28,10 @@ List<EmergencyDrillExecuteCountData> selectByYearAndDept(String startTime ,String endTime ,List<Long> deptIds); List<EmergencyDrillExecuteCountRPC> selectByDayAndDept(String startTime, String endTime, List<Long> deptIds); List<EmergencyDrillExecuteCountRPC> selectByMonthAndDeptForIntegerMonth(String startTime, String endTime, List<Long> deptIds); String selectEmergencyDrillExecuteIntervalTimeByDeptId(Long deptId); } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java
@@ -63,6 +63,16 @@ } @Override public List<EmergencyDrillExecuteCountRPC> selectByDayAndDept(String startTime, String endTime, List<Long> deptIds) { return emergencyDrillExecuteInfoRepository.selectByDayAndDept(startTime,endTime,deptIds); } @Override public List<EmergencyDrillExecuteCountRPC> selectByMonthAndDeptForIntegerMonth(String startTime, String endTime, List<Long> deptIds) { return emergencyDrillExecuteInfoRepository.selectByMonthAndDeptForIntegerMonth(startTime,endTime,deptIds); } @Override public String selectEmergencyDrillExecuteIntervalTimeByDeptId(Long deptId) { return emergencyDrillExecuteInfoRepository.selectEmergencyDrillExecuteIntervalTimeByDeptId(deptId); } emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java
@@ -7,6 +7,7 @@ import com.gkhy.safePlatform.commons.exception.BusinessException; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; import com.gkhy.safePlatform.commons.utils.StringUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.emergency.entity.*; @@ -23,11 +24,11 @@ import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteInfoService; import com.gkhy.safePlatform.emergency.service.baseService.EmergencySuppliesInfoService; import com.gkhy.safePlatform.emergency.utils.TimeUtils; import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT; import java.text.SimpleDateFormat; import java.util.*; @@ -47,40 +48,64 @@ @Override public SearchResultVO<EmergencyExecuteTimeRPCResp> getTimeByDeptId(EmergencyExecuteTimeRPCReq query) { EmergencyExecuteTimeRPCResp emergencyExecuteTimeRPCResp = new EmergencyExecuteTimeRPCResp(); // 获取id对应的部门 DepInfoRPCRespDTO depInfoRPCRespDTO = getDepInfoByDepId(query.getDeptId()); emergencyExecuteTimeRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); emergencyExecuteTimeRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); emergencyExecuteTimeRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); String lastTime = emergencyDrillExecuteInfoService.selectEmergencyDrillExecuteIntervalTimeByDeptId(query.getDeptId()); emergencyExecuteTimeRPCResp.setLastTime(lastTime); emergencyExecuteTimeRPCResp.setDays(TimeUtils.differentDays(lastTime, TimeUtils.formatDate(new Date()))); return new SearchResultVO<>( getSingleTimeData(emergencyExecuteTimeRPCResp); SearchResultVO searchResultVO = new SearchResultVO<>( false, null, null, null, 1L, null, emergencyExecuteTimeRPCResp, ResultCodes.OK ); searchResultVO.setCount(1); return searchResultVO; } @Override public SearchResultVO<List<EmergencyExecuteTimeRPCResp>> getTimeByDeptIds(EmergencyExecuteTimeRPCReq query) { List<EmergencyExecuteTimeRPCResp> list = new ArrayList<>(); return new SearchResultVO<>( // 获取该部门及其子部门的所有信息 List<DepInfoRPCRespDTO> depList = getDepListInfoByDepId(query.getDeptId()); for (DepInfoRPCRespDTO depInfoRPCRespDTO : depList){ EmergencyExecuteTimeRPCResp emergencyExecuteTimeRPCResp = new EmergencyExecuteTimeRPCResp(); emergencyExecuteTimeRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); emergencyExecuteTimeRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); emergencyExecuteTimeRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); getSingleTimeData(emergencyExecuteTimeRPCResp); list.add(emergencyExecuteTimeRPCResp); } SearchResultVO searchResultVO = new SearchResultVO<>( false, null, null, null, (long) list.size(), null, list, ResultCodes.OK ); if (!list.isEmpty()){ searchResultVO.setCount(list.size()); } return searchResultVO; } private void getSingleTimeData(EmergencyExecuteTimeRPCResp emergencyExecuteTimeRPCResp){ // 查询该部门最后一次演练时间 String lastTime = emergencyDrillExecuteInfoService.selectEmergencyDrillExecuteIntervalTimeByDeptId(emergencyExecuteTimeRPCResp.getDeptId()); if (StringUtils.isNotBlank(lastTime)){ emergencyExecuteTimeRPCResp.setLastTime(lastTime); // emergencyExecuteTimeRPCResp.setDays(TimeUtils.differentDays(lastTime, TimeUtils.formatDate(new Date()))); } } @Override @@ -91,45 +116,90 @@ EmergencyExecuteNumRPCResp emergencyExecuteNumRPCResp = new EmergencyExecuteNumRPCResp(); // 获取id对应的部门 DepInfoRPCRespDTO depInfoRPCRespDTO = getDepInfoByDepId(query.getDeptId()); emergencyExecuteNumRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); emergencyExecuteNumRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); emergencyExecuteNumRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); // 查到该年度对应月份的数据 List<Map<String,String>> mapList = new ArrayList<>(); String startTime = TimeUtils.getYearFirst(query.getYear()); String endTime = TimeUtils.getYearLast(query.getYear()); List<Long> deptIds = new ArrayList<>(); deptIds.add(query.getDeptId()); List<EmergencyDrillExecuteCountData> emergencyDrillExecuteCountDataList = emergencyDrillExecuteInfoService.selectByMonthAndDept(startTime, endTime, deptIds); if (!emergencyDrillExecuteCountDataList.isEmpty()){ for (EmergencyDrillExecuteCountData emergencyDrillExecuteCountData : emergencyDrillExecuteCountDataList){ Map<String ,String> map = new HashMap<>(); map.put("name",emergencyDrillExecuteCountData.getName()); map.put("num",emergencyDrillExecuteCountData.getNum().toString()); mapList.add(map); } } emergencyExecuteNumRPCResp.setData(mapList); getSingleNumData(emergencyExecuteNumRPCResp,query); return new SearchResultVO<>( SearchResultVO searchResultVO = new SearchResultVO<>( false, null, null, null, 1L, null, emergencyExecuteNumRPCResp, ResultCodes.OK ); searchResultVO.setCount(1); return searchResultVO; } @Override public SearchResultVO<List<EmergencyExecuteNumRPCResp>> getNumByDeptIds(EmergencyExecuteNumRPCReq query) { return null; List<EmergencyExecuteNumRPCResp> list = new ArrayList<>(); // 获取该部门及其子部门的所有信息 List<DepInfoRPCRespDTO> deptList = getDepListInfoByDepId(query.getDeptId()); for (DepInfoRPCRespDTO depInfoRPCRespDTO : deptList){ EmergencyExecuteNumRPCResp emergencyExecuteNumRPCResp = new EmergencyExecuteNumRPCResp(); emergencyExecuteNumRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); emergencyExecuteNumRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); emergencyExecuteNumRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); getSingleNumData(emergencyExecuteNumRPCResp,query); list.add(emergencyExecuteNumRPCResp); } SearchResultVO searchResultVO = new SearchResultVO<>( false, null, null, null, null, list, ResultCodes.OK ); if (!list.isEmpty()){ searchResultVO.setCount(list.size()); } return searchResultVO; } public DepInfoRPCRespDTO getDepInfoByDepId(Long deptId) { private void getSingleNumData(EmergencyExecuteNumRPCResp emergencyExecuteNumRPCResp,EmergencyExecuteNumRPCReq query){ List<Long> deptIds = new ArrayList<>(); deptIds.add(emergencyExecuteNumRPCResp.getDeptId()); List<Map<String,Integer>> mapList = new ArrayList<>(); List<EmergencyDrillExecuteCountRPC> emergencyDrillExecuteCountDataList = new ArrayList<>(); String startTime ; String endTime ; if (query.getMonth()==null){ // 查该年度12个月份的 startTime = TimeUtils.getYearFirst(query.getYear()); endTime = TimeUtils.getYearLast(query.getYear()); emergencyDrillExecuteCountDataList= emergencyDrillExecuteInfoService.selectByMonthAndDeptForIntegerMonth(startTime, endTime, deptIds); }else{ // 查该年度指定月份的 startTime = TimeUtils.getMonthFirst(query.getYear(),query.getMonth()); endTime = TimeUtils.getMonthLast(query.getYear(),query.getMonth()); emergencyDrillExecuteCountDataList= emergencyDrillExecuteInfoService.selectByDayAndDept(startTime, endTime, deptIds); } if (!emergencyDrillExecuteCountDataList.isEmpty()){ for (EmergencyDrillExecuteCountRPC emergencyDrillExecuteCountRPC : emergencyDrillExecuteCountDataList){ Map<String ,Integer> map = new HashMap<>(); // 名称+数据 1如果为查询的是年:返回的name为月份 2如果查询的是月,返回的name为天 map.put("name",emergencyDrillExecuteCountRPC.getName()); map.put("num",emergencyDrillExecuteCountRPC.getNum()); mapList.add(map); } } emergencyExecuteNumRPCResp.setData(mapList); } private DepInfoRPCRespDTO getDepInfoByDepId(Long deptId) { DepInfoRPCRespDTO dep = new DepInfoRPCRespDTO(); ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(deptId); if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { @@ -142,6 +212,19 @@ return dep; } private List<DepInfoRPCRespDTO> getDepListInfoByDepId(Long deptId){ List<DepInfoRPCRespDTO> depList = new ArrayList<>(); ResultVO<List<DepInfoRPCRespDTO>> rpcResult = accountDepartmentService.listDepAndSubDepByDepId(deptId); if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { if (rpcResult.getData() != null) { depList = (List<DepInfoRPCRespDTO>)rpcResult.getData(); } } else { throw new BusinessException(ResultCodes.CLIENT_DEP_NOT_EXIST); } return depList; } @Override public ResultVO<EmergencyDrillExecuteCountRespDTO> countEmergencyDrillExecute(EmergencyDrillExecuteCountQuery query) { emergency/emergency-service/src/main/resources/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml
@@ -174,9 +174,57 @@ </select> <resultMap type="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteCountRPC" id="emergencyDrillExecuteCountRPC"> <result column="num" property="num"/> <result column="name" property="name"/> </resultMap> <select id="selectByDayAndDept" resultMap="emergencyDrillExecuteCountRPC"> SELECT count( 0 ) AS num, DATE_FORMAT( a.gmt_create, '%d' ) AS `name` FROM `emergency_drill_execute` a LEFT JOIN emergency_drill_plan b ON a.drill_plan_id = b.id WHERE a.del_flag = 0 AND a.gmt_create <![CDATA[ >= ]]> #{startTime} AND a.gmt_create <![CDATA[ <= ]]> #{endTime} <if test="deptIds != null " > and b.department_id in <foreach item="id" collection="deptIds" open="(" separator="," close=")"> #{id} </foreach> </if> GROUP BY DATE_FORMAT( a.gmt_create, '%Y-%m-%d' ) </select> <select id="selectByMonthAndDeptForIntegerMonth" resultMap="emergencyDrillExecuteCountRPC"> SELECT count( 0 ) AS num, DATE_FORMAT( a.gmt_create, '%m' ) AS `name` FROM `emergency_drill_execute` a LEFT JOIN emergency_drill_plan b ON a.drill_plan_id = b.id WHERE a.del_flag = 0 AND a.gmt_create <![CDATA[ >= ]]> #{startTime} AND a.gmt_create <![CDATA[ <= ]]> #{endTime} <if test="deptIds != null " > and b.department_id in <foreach item="id" collection="deptIds" open="(" separator="," close=")"> #{id} </foreach> </if> GROUP BY DATE_FORMAT( a.gmt_create, '%Y-%m' ) </select> <select id="selectEmergencyDrillExecuteIntervalTimeByDeptId" resultType="java.lang.String"> SELECT DATE_FORMAT( max( a.gmt_create ), '%Y-%m-%d' ) AS lastTime 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 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/equ.zipBinary files differ
goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/ExamineMngServiceImpl.java
@@ -137,7 +137,7 @@ //获取打分明细 List<CurrentExamineDto> list = JSONObject.parseArray( examineMng.getNumberDetailJson(), CurrentExamineDto.class); List<Long> idList = list.stream().map(CurrentExamineDto::getId).collect(Collectors.toList()); if (idList.isEmpty()){ if (!idList.isEmpty()){ List<ExamineItem> itemList = examineItemRepository.selectBatchIds(idList); Map<Long,ExamineItem> itemMap = itemList.stream().collect( Collectors.toMap(ExamineItem::getId, Function.identity(),(k1, k2)->k1)); incident-manage/incident-manage-rpc-api/pom.xml
@@ -2,18 +2,86 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>incident-manage</artifactId> <groupId>com.gkhy.safePlatfrom</groupId> <version>1.0-SNAPSHOT</version> </parent> <!-- <parent>--> <!-- <artifactId>emergency</artifactId>--> <!-- <groupId>com.gkhy.safePlatfrom</groupId>--> <!-- <version>1.0-SNAPSHOT</version>--> <!-- </parent>--> <modelVersion>4.0.0</modelVersion> <packaging>jar</packaging> <dependencies> <dependency> <groupId>com.gkhy.safePlatfrom</groupId> <artifactId>commons</artifactId> <version>1.0-SNAPSHOT</version> <scope>compile</scope> </dependency> </dependencies> <groupId>com.gkhy.safePlatfrom</groupId> <artifactId>incident-manage-rpc-api</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> </project> <distributionManagement> <!--稳定版本的仓库地址,必须是允许上传的私服地址--> <repository> <id>nexus-gkhy-releases</id> <url>http://121.239.169.27:28080/repository/guotai-release/</url> </repository> <!--开发版本的仓库地址,必须是允许上传的私服地址--> <snapshotRepository> <id>nexus-gkhy-snapshots</id> <url>http://121.239.169.27:28080/repository/guotai-snapshot/</url> </snapshotRepository> </distributionManagement> <build> <extensions> <extension> <groupId>kr.motd.maven</groupId> <artifactId>os-maven-plugin</artifactId> </extension> </extensions> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.3.0</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>src/main/java</source> <!-- <source>build/generated/source/proto/main/java</source>--> </sources> </configuration> </execution> </executions> </plugin> <!-- 上传源码 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.2.1</version> <configuration> <attach>true</attach> </configuration> <executions> <execution> <phase>compile</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project> incident-manage/incident-manage-rpc-api/src/main/java/com/gkhy/safePlatform/incidentManage/rpc/api/IncidentManageRpcAPi.java
对比新文件 @@ -0,0 +1,18 @@ package com.gkhy.safePlatform.incidentManage.rpc.api; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.req.IncidentManageCountRPCReq; import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp.IncidentManageRPCResp; import java.util.List; public interface IncidentManageRpcAPi { // RPC接口--1、传入部门ID和年份、月份,查询该部门在指定年份、或者指定月份的事故统计,(特别重大、重大、较大、一般、未遂)这5个档次来分别统计, // 并且统计不同等级的事故所造成的后果(死亡人数、重伤人数、轻伤人数、经济损失) SearchResultVO<IncidentManageRPCResp> getCountByDeptId(IncidentManageCountRPCReq query); // RPC接口--1、传入部门ID和年份、月份,查询该部门及其子部门在指定年份、或者指定月份的事故统计,(特别重大、重大、较大、一般、未遂)这5个档次来分别统计, // 并且统计不同等级的事故所造成的后果(死亡人数、重伤人数、轻伤人数、经济损失) SearchResultVO<List<IncidentManageRPCResp>> getCountByDeptIds(IncidentManageCountRPCReq query); } incident-manage/incident-manage-rpc-api/src/main/java/com/gkhy/safePlatform/incidentManage/rpc/api/model/IncidentManageCountData.java
文件名从 emergency/emergency-rpc-api/src/main/java/com/gkhy/safePlatform/emergency/rpc/api/model/EmergencyDrillExecuteCountData.java 修改 @@ -1,7 +1,7 @@ package com.gkhy.safePlatform.emergency.rpc.api.model; package com.gkhy.safePlatform.incidentManage.rpc.api.model; public class EmergencyDrillExecuteCountData { public class IncidentManageCountData { private Integer num ; incident-manage/incident-manage-rpc-api/src/main/java/com/gkhy/safePlatform/incidentManage/rpc/api/model/dto/req/IncidentManageCountRPCReq.java
对比新文件 @@ -0,0 +1,42 @@ package com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.req; public class IncidentManageCountRPCReq { /** * 1、指定年份,查该年度12个月份的 * 2、指定年份月份,查该指定月份的 */ // 部门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; } } incident-manage/incident-manage-rpc-api/src/main/java/com/gkhy/safePlatform/incidentManage/rpc/api/model/dto/resp/IncidentManageCountDetailRPCResp.java
对比新文件 @@ -0,0 +1,70 @@ package com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp; import java.math.BigDecimal; import java.util.List; import java.util.Map; public class IncidentManageCountDetailRPCResp { // 事故等级 private String level ; // 事故数量 private Integer num ; // 轻伤 private Integer minorInjuryNum; // 重伤 private Integer seriousInjuryNum; // 经济损失 private Integer deathNum; private BigDecimal economicLoss; public String getLevel() { return level; } public void setLevel(String level) { this.level = level; } public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public Integer getMinorInjuryNum() { return minorInjuryNum; } public void setMinorInjuryNum(Integer minorInjuryNum) { this.minorInjuryNum = minorInjuryNum; } public Integer getSeriousInjuryNum() { return seriousInjuryNum; } public void setSeriousInjuryNum(Integer seriousInjuryNum) { this.seriousInjuryNum = seriousInjuryNum; } public Integer getDeathNum() { return deathNum; } public void setDeathNum(Integer deathNum) { this.deathNum = deathNum; } public BigDecimal getEconomicLoss() { return economicLoss; } public void setEconomicLoss(BigDecimal economicLoss) { this.economicLoss = economicLoss; } } incident-manage/incident-manage-rpc-api/src/main/java/com/gkhy/safePlatform/incidentManage/rpc/api/model/dto/resp/IncidentManageCountRPCResp.java
对比新文件 @@ -0,0 +1,30 @@ package com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp; import java.util.List; import java.util.Map; public class IncidentManageCountRPCResp { // 时间 如果查的是年,返回的是月份 ,如果查的是月,返回的是天 private Integer time ; // 数据 private List<IncidentManageCountDetailRPCResp> detail; public Integer getTime() { return time; } public void setTime(Integer time) { this.time = time; } public List<IncidentManageCountDetailRPCResp> getDetail() { return detail; } public void setDetail(List<IncidentManageCountDetailRPCResp> detail) { this.detail = detail; } } incident-manage/incident-manage-rpc-api/src/main/java/com/gkhy/safePlatform/incidentManage/rpc/api/model/dto/resp/IncidentManageRPCResp.java
对比新文件 @@ -0,0 +1,52 @@ package com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp; import java.util.List; import java.util.Map; public class IncidentManageRPCResp { // 部门id private Long deptId; // 部门名称 private String deptName; // 部门级别 private Integer deptLevel; // 名称+数据 private List<IncidentManageCountRPCResp> data; public Long getDeptId() { return deptId; } public void setDeptId(Long deptId) { this.deptId = deptId; } public String getDeptName() { return deptName; } public void setDeptName(String deptName) { this.deptName = deptName; } public Integer getDeptLevel() { return deptLevel; } public void setDeptLevel(Integer deptLevel) { this.deptLevel = deptLevel; } public List<IncidentManageCountRPCResp> getData() { return data; } public void setData(List<IncidentManageCountRPCResp> data) { this.data = data; } } incident-manage/incident-manage-rpc-provider/pom.xml
@@ -8,12 +8,22 @@ <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <packaging>jar</packaging> <artifactId>incident-manage-rpc-provider</artifactId> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>com.gkhy.safePlatfrom</groupId> <artifactId>incident-manage-rpc-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>com.gkhy.safePlatfrom</groupId> <artifactId>incident-manage-service</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> </project> </project> incident-manage/incident-manage-rpc-provider/src/main/java/com/gkhy/safePlatform/incidentManage/rpc/provider/IncidentManageRpcProvider.java
对比新文件 @@ -0,0 +1,29 @@ package com.gkhy.safePlatform.incidentManage.rpc.provider; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.incidentManage.rpc.api.IncidentManageRpcAPi; import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.req.IncidentManageCountRPCReq; import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp.IncidentManageRPCResp; import com.gkhy.safePlatform.incidentManage.service.AccidentCountService; import org.apache.dubbo.config.annotation.DubboService; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; @DubboService public class IncidentManageRpcProvider implements IncidentManageRpcAPi { @Autowired private AccidentCountService accidentCountService; @Override public SearchResultVO<IncidentManageRPCResp> getCountByDeptId(IncidentManageCountRPCReq query) { return accidentCountService.getCountByDeptId(query); } @Override public SearchResultVO<List<IncidentManageRPCResp>> getCountByDeptIds(IncidentManageCountRPCReq query) { return accidentCountService.getCountByDeptIds(query); } } incident-manage/incident-manage-service/pom.xml
@@ -8,7 +8,7 @@ <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <packaging>jar</packaging> <artifactId>incident-manage-service</artifactId> <properties> @@ -16,4 +16,17 @@ <maven.compiler.target>8</maven.compiler.target> </properties> </project> <dependencies> <dependency> <groupId>com.gkhy.safePlatfrom</groupId> <artifactId>incident-manage-rpc-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>com.gkhy.safePlatfrom</groupId> <artifactId>account-rpc-api</artifactId> </dependency> </dependencies> </project> incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/controller/AccidentCountController.java
@@ -3,6 +3,8 @@ import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentReportCountRespDTO; import com.gkhy.safePlatform.incidentManage.query.AccidentReportCountQuery; import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.req.IncidentManageCountRPCReq; import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp.IncidentManageRPCResp; import com.gkhy.safePlatform.incidentManage.service.AccidentCountService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -25,4 +27,20 @@ return accidentCountService.countAccidentReport(query); } /** * 事故报告统计的rpc接口 */ @RequestMapping(value = "/getCountByDeptId/count",method = RequestMethod.POST) public ResultVO<IncidentManageRPCResp> getCountByDeptId(@RequestBody IncidentManageCountRPCReq query){ return accidentCountService.getCountByDeptId(query); } /** * 事故报告统计的rpc接口 */ @RequestMapping(value = "/getCountByDeptIds/count",method = RequestMethod.POST) public ResultVO<List<IncidentManageRPCResp>> getCountByDeptIds(@RequestBody IncidentManageCountRPCReq query){ return accidentCountService.getCountByDeptIds(query); } } incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/entity/AccidentReportCountRPC.java
对比新文件 @@ -0,0 +1,78 @@ package com.gkhy.safePlatform.incidentManage.entity; import java.math.BigDecimal; public class AccidentReportCountRPC { private Integer time; private String level ; private Integer num ; private Integer minorInjuryNum; private Integer seriousInjuryNum; private Integer deathNum; private BigDecimal economicLoss; public Integer getTime() { return time; } public void setTime(Integer time) { this.time = time; } public String getLevel() { return level; } public void setLevel(String level) { this.level = level; } public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public Integer getMinorInjuryNum() { return minorInjuryNum; } public void setMinorInjuryNum(Integer minorInjuryNum) { this.minorInjuryNum = minorInjuryNum; } public Integer getSeriousInjuryNum() { return seriousInjuryNum; } public void setSeriousInjuryNum(Integer seriousInjuryNum) { this.seriousInjuryNum = seriousInjuryNum; } public Integer getDeathNum() { return deathNum; } public void setDeathNum(Integer deathNum) { this.deathNum = deathNum; } public BigDecimal getEconomicLoss() { return economicLoss; } public void setEconomicLoss(BigDecimal economicLoss) { this.economicLoss = economicLoss; } } incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/enums/AccidentResultCodes.java
@@ -45,6 +45,8 @@ CASE_TITLE_NULL("C1003", "事故案例标题不可为空"), CASE_CONTENT_NULL("C1004", "事故案例内容不可为空"), YEAR_NULL("Y1001" , "年份不能为空"), ERROR("A3000", "未知错误"); private String code; incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/repository/AccidentReportInfoRepository.java
@@ -2,10 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gkhy.safePlatform.incidentManage.entity.AccidentReportCount; import com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfo; import com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfoDetailDO; import com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfoPageDO; import com.gkhy.safePlatform.incidentManage.entity.*; import com.gkhy.safePlatform.incidentManage.query.db.AccidentReportDBQuery; import com.gkhy.safePlatform.incidentManage.query.db.AccidentReportCountDBQuery; import org.apache.ibatis.annotations.Param; @@ -27,4 +24,9 @@ void deleteAccidentReportById(@Param("id") Long id); List<AccidentReportCount> selectByTimeAndType(@Param("query") AccidentReportCountDBQuery dbQuery); List<AccidentReportCountRPC> getCountForRPCByDeptIdAndMonth(@Param("startTime")String startTime, @Param("endTime")String endTime, @Param("deptId")Long deptId); List<AccidentReportCountRPC> getCountForRPCByDeptIdAndDay(@Param("startTime")String startTime, @Param("endTime")String endTime, @Param("deptId")Long deptId); } incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/AccidentCountService.java
@@ -1,12 +1,23 @@ package com.gkhy.safePlatform.incidentManage.service; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentReportCountRespDTO; import com.gkhy.safePlatform.incidentManage.query.AccidentReportCountQuery; import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.req.IncidentManageCountRPCReq; import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp.IncidentManageRPCResp; import java.util.List; public interface AccidentCountService { ResultVO<List<AccidentReportCountRespDTO>> countAccidentReport(AccidentReportCountQuery query); // RPC接口--1、传入部门ID和年份、月份,查询该部门在指定年份、或者指定月份的事故统计,(特别重大、重大、较大、一般、未遂)这5个档次来分别统计, // 并且统计不同等级的事故所造成的后果(死亡人数、重伤人数、轻伤人数、经济损失) SearchResultVO<IncidentManageRPCResp> getCountByDeptId(IncidentManageCountRPCReq query); // RPC接口--1、传入部门ID和年份、月份,查询该部门及其子部门在指定年份、或者指定月份的事故统计,(特别重大、重大、较大、一般、未遂)这5个档次来分别统计, // 并且统计不同等级的事故所造成的后果(死亡人数、重伤人数、轻伤人数、经济损失) SearchResultVO<List<IncidentManageRPCResp>> getCountByDeptIds(IncidentManageCountRPCReq query); } incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/baseService/AccidentReportInfoService.java
@@ -2,10 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.gkhy.safePlatform.incidentManage.entity.AccidentReportCount; import com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfo; import com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfoDetailDO; import com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfoPageDO; import com.gkhy.safePlatform.incidentManage.entity.*; import com.gkhy.safePlatform.incidentManage.query.db.AccidentReportDBQuery; import com.gkhy.safePlatform.incidentManage.query.db.AccidentReportCountDBQuery; @@ -26,4 +23,8 @@ List<AccidentReportCount> selectByTimeAndType(AccidentReportCountDBQuery dbQuery); List<AccidentReportCountRPC> getCountForRPCByDeptIdAndMonth(String startTime, String endTime, Long deptId); List<AccidentReportCountRPC> getCountForRPCByDeptIdAndDay(String startTime, String endTime, Long deptId); } incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/baseService/impl/AccidentReportInfoServiceImpl.java
@@ -2,10 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.safePlatform.incidentManage.entity.AccidentReportCount; import com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfo; import com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfoDetailDO; import com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfoPageDO; import com.gkhy.safePlatform.incidentManage.entity.*; import com.gkhy.safePlatform.incidentManage.query.db.AccidentReportDBQuery; import com.gkhy.safePlatform.incidentManage.query.db.AccidentReportCountDBQuery; import com.gkhy.safePlatform.incidentManage.repository.AccidentReportInfoRepository; @@ -51,4 +48,13 @@ return accidentReportInfoRepository.selectByTimeAndType(dbQuery); } @Override public List<AccidentReportCountRPC> getCountForRPCByDeptIdAndMonth(String startTime, String endTime, Long deptId) { return accidentReportInfoRepository.getCountForRPCByDeptIdAndMonth(startTime,endTime,deptId); } @Override public List<AccidentReportCountRPC> getCountForRPCByDeptIdAndDay(String startTime, String endTime, Long deptId) { return accidentReportInfoRepository.getCountForRPCByDeptIdAndDay(startTime,endTime,deptId); } } incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentCountServiceImpl.java
@@ -1,19 +1,33 @@ package com.gkhy.safePlatform.incidentManage.service.impl; import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService; import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepInfoRPCRespDTO; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.exception.BusinessException; import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.incidentManage.entity.*; import com.gkhy.safePlatform.incidentManage.enums.AccidentResultCodes; import com.gkhy.safePlatform.incidentManage.exception.AccidentException; import com.gkhy.safePlatform.incidentManage.model.dto.resp.*; import com.gkhy.safePlatform.incidentManage.query.AccidentReportCountQuery; import com.gkhy.safePlatform.incidentManage.query.db.AccidentReportCountDBQuery; import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.req.IncidentManageCountRPCReq; import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp.IncidentManageCountDetailRPCResp; import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp.IncidentManageCountRPCResp; import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp.IncidentManageRPCResp; import com.gkhy.safePlatform.incidentManage.service.AccidentCountService; import com.gkhy.safePlatform.incidentManage.service.baseService.AccidentReportInfoService; import com.gkhy.safePlatform.incidentManage.utils.TimeUtils; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.print.DocFlavor; import java.util.*; import java.util.stream.Collectors; @Service("accidentCountService") public class AccidentCountServiceImpl implements AccidentCountService { @@ -21,6 +35,150 @@ @Autowired private AccidentReportInfoService accidentReportInfoService; @DubboReference(check = false) private AccountDepartmentService accountDepartmentService; @Override public SearchResultVO<IncidentManageRPCResp> getCountByDeptId(IncidentManageCountRPCReq query) { if (query.getYear() == null) { throw new AccidentException(AccidentResultCodes.YEAR_NULL); } IncidentManageRPCResp incidentManageCountRPCResp = new IncidentManageRPCResp(); // 获取id对应的部门 DepInfoRPCRespDTO depInfoRPCRespDTO = getDepInfoByDepId(query.getDeptId()); incidentManageCountRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); incidentManageCountRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); incidentManageCountRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); getSingleTimeData(incidentManageCountRPCResp, query); SearchResultVO searchResultVO = new SearchResultVO<>( false, null, null, null, null, incidentManageCountRPCResp, ResultCodes.OK ); searchResultVO.setCount(1); return searchResultVO; } @Override public SearchResultVO<List<IncidentManageRPCResp>> getCountByDeptIds(IncidentManageCountRPCReq query) { if (query.getYear() == null) { throw new AccidentException(AccidentResultCodes.YEAR_NULL); } List<IncidentManageRPCResp> list = new ArrayList<>(); // 获取该部门及其子部门的所有信息 List<DepInfoRPCRespDTO> deptList = getDepListInfoByDepId(query.getDeptId()); for (DepInfoRPCRespDTO depInfoRPCRespDTO : deptList) { IncidentManageRPCResp incidentManageCountRPCResp = new IncidentManageRPCResp(); incidentManageCountRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); incidentManageCountRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); incidentManageCountRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); getSingleTimeData(incidentManageCountRPCResp, query); list.add(incidentManageCountRPCResp); } SearchResultVO searchResultVO = new SearchResultVO<>( false, null, null, null, null, list, ResultCodes.OK ); if (!list.isEmpty()){ searchResultVO.setCount(list.size()); } return searchResultVO; } private void getSingleTimeData(IncidentManageRPCResp incidentManageRPCResp, IncidentManageCountRPCReq query) { List<IncidentManageCountRPCResp> resList = new ArrayList<>(); List<AccidentReportCountRPC> accidentReportCountRPCList = new ArrayList<>(); Long deptId = incidentManageRPCResp.getDeptId(); String startTime; String endTime; if (query.getMonth() == null) { // 查该年度12个月份的 startTime = TimeUtils.getYearFirst(query.getYear()); endTime = TimeUtils.getYearLast(query.getYear()); accidentReportCountRPCList= accidentReportInfoService.getCountForRPCByDeptIdAndMonth(startTime, endTime, deptId); } else { // 查该年度指定月份的 startTime = TimeUtils.getMonthFirst(query.getYear(), query.getMonth()); endTime = TimeUtils.getMonthLast(query.getYear(), query.getMonth()); accidentReportCountRPCList = accidentReportInfoService.getCountForRPCByDeptIdAndDay(startTime, endTime, deptId); } // 拼装第一层时间(去重) Set<Integer> timeSET = accidentReportCountRPCList.stream().map(AccidentReportCountRPC::getTime).collect(Collectors.toSet()); // 拼装第一层时间(排序) List<Integer> timeList = timeSET.stream().sorted().collect(Collectors.toList()); if (!CollectionUtils.isEmpty(timeSET)) { for (Integer integer : timeSET) { IncidentManageCountRPCResp incidentManageCountRPCResp = new IncidentManageCountRPCResp(); incidentManageCountRPCResp.setTime(integer); incidentManageCountRPCResp.setDetail(new ArrayList<>()); resList.add(incidentManageCountRPCResp); } } // 拼装第二层事故详情 if (!CollectionUtils.isEmpty(timeList)) { for (AccidentReportCountRPC accidentReportCountRPC : accidentReportCountRPCList) { for (IncidentManageCountRPCResp incidentManageCountRPCResp : resList) { if (accidentReportCountRPC.getTime().equals(incidentManageCountRPCResp.getTime())) { IncidentManageCountDetailRPCResp incidentManageCountDetailRPCResp = new IncidentManageCountDetailRPCResp(); incidentManageCountDetailRPCResp.setLevel(accidentReportCountRPC.getLevel()); incidentManageCountDetailRPCResp.setNum(accidentReportCountRPC.getNum()); incidentManageCountDetailRPCResp.setMinorInjuryNum(accidentReportCountRPC.getMinorInjuryNum()); incidentManageCountDetailRPCResp.setSeriousInjuryNum(accidentReportCountRPC.getSeriousInjuryNum()); incidentManageCountDetailRPCResp.setDeathNum(accidentReportCountRPC.getDeathNum()); incidentManageCountDetailRPCResp.setEconomicLoss(accidentReportCountRPC.getEconomicLoss()); incidentManageCountRPCResp.getDetail().add(incidentManageCountDetailRPCResp); } } } } incidentManageRPCResp.setData(resList); } private DepInfoRPCRespDTO getDepInfoByDepId(Long deptId) { DepInfoRPCRespDTO dep = new DepInfoRPCRespDTO(); ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(deptId); if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { if (rpcResult.getData() != null) { dep = (DepInfoRPCRespDTO) rpcResult.getData(); } } else { throw new BusinessException(ResultCodes.CLIENT_DEP_NOT_EXIST); } return dep; } private List<DepInfoRPCRespDTO> getDepListInfoByDepId(Long deptId) { List<DepInfoRPCRespDTO> depList = new ArrayList<>(); ResultVO<List<DepInfoRPCRespDTO>> rpcResult = accountDepartmentService.listDepAndSubDepByDepId(deptId); if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { if (rpcResult.getData() != null) { depList = (List<DepInfoRPCRespDTO>) rpcResult.getData(); } } else { throw new BusinessException(ResultCodes.CLIENT_DEP_NOT_EXIST); } return depList; } @Override public ResultVO<List<AccidentReportCountRespDTO>> countAccidentReport(AccidentReportCountQuery query) { incident-manage/incident-manage-service/src/main/resources/config/mapper/incidentManage/AccidentReportInfoMapper.xml
@@ -203,20 +203,74 @@ </resultMap> <select id="selectByTimeAndType" resultMap="emergencyDrillExecuteCountChart"> SELECT a.accident_level AS `name`, accident_level AS `name`, count( 0 ) AS num, sum( economic_loss ) AS economicLoss, sum( minor_injury_num ) AS minorInjuryNum, sum( serious_injury_num ) AS seriousInjuryNum, sum( death_num ) AS deathNum FROM `accident_report` a `accident_report` WHERE del_flag = 0 AND a.gmt_create <![CDATA[ >= ]]> #{query.startTime} AND a.gmt_create <![CDATA[ <= ]]> #{query.endTime} <if test="query.level != null and query.level != ''" >and b.drill_level = #{query.level}</if> AND gmt_create <![CDATA[ >= ]]> #{query.startTime} AND gmt_create <![CDATA[ <= ]]> #{query.endTime} <if test="query.level != null and query.level != ''" >and accident_level = #{query.level}</if> GROUP BY accident_level </select> <resultMap type="com.gkhy.safePlatform.incidentManage.entity.AccidentReportCountRPC" id="accidentReportCountRPC"> <result column="time" property="time"/> <result column="num" property="num"/> <result column="level" property="level"/> <result column="minorInjuryNum" property="minorInjuryNum"/> <result column="seriousInjuryNum" property="seriousInjuryNum"/> <result column="deathNum" property="deathNum"/> <result column="economicLoss" property="economicLoss"/> </resultMap> <select id="getCountForRPCByDeptIdAndMonth" resultMap="accidentReportCountRPC"> SELECT DATE_FORMAT( a.gmt_create, '%m' ) as time, a.accident_level AS `level`, count( 0 ) AS num, sum( a.economic_loss ) AS economicLoss, sum( a.minor_injury_num ) AS minorInjuryNum, sum( a.serious_injury_num ) AS seriousInjuryNum, sum( a.death_num ) AS deathNum FROM `accident_report` a INNER JOIN `accident_express` b ON a.accident_express_id = b.id AND b.accident_department_id = #{deptId} WHERE a.del_flag = 0 AND a.gmt_create <![CDATA[ >= ]]> #{startTime} AND a.gmt_create <![CDATA[ <= ]]> #{endTime} GROUP BY DATE_FORMAT( a.gmt_create, '%Y-%m' ), a.accident_level </select> <select id="getCountForRPCByDeptIdAndDay" resultMap="accidentReportCountRPC"> SELECT DATE_FORMAT( a.gmt_create, '%d' ) as time, a.accident_level AS `level`, count( 0 ) AS num, sum( a.economic_loss ) AS economicLoss, sum( a.minor_injury_num ) AS minorInjuryNum, sum( a.serious_injury_num ) AS seriousInjuryNum, sum( a.death_num ) AS deathNum FROM `accident_report` a INNER JOIN `accident_express` b ON a.accident_express_id = b.id AND b.accident_department_id = #{deptId} WHERE a.del_flag = 0 AND a.gmt_create <![CDATA[ >= ]]> #{startTime} AND a.gmt_create <![CDATA[ <= ]]> #{endTime} GROUP BY DATE_FORMAT( a.gmt_create, '%Y-%m-%d' ), a.accident_level </select> </mapper>