| | |
| | | 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; |
| | | |
| | |
| | | // 部门级别 |
| | | private Integer deptLevel; |
| | | |
| | | // 名称+数据 |
| | | private List<Map<String ,String>> data; |
| | | // 名称+数据 1如果为查询的是年:返回的name为月份 2如果查询的是月,返回的name为天 |
| | | private List<Map<String ,Integer>> data; |
| | | |
| | | public Long getDeptId() { |
| | | return deptId; |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | //上次演练的时间 |
| | | private String lastTime; |
| | | |
| | | // 距离上次演练的天数 |
| | | private Integer days; |
| | | |
| | | public Long getDeptId() { |
| | | return deptId; |
| | | } |
| | |
| | | this.lastTime = lastTime; |
| | | } |
| | | |
| | | public Integer getDays() { |
| | | return days; |
| | | } |
| | | |
| | | public void setDays(Integer days) { |
| | | this.days = days; |
| | | } |
| | | } |
对比新文件 |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | |
| | | List<EmergencyDrillExecuteCountData> selectByYearAndDept(@Param("startTime") String startTime ,@Param("endTime")String endTime ,@Param("deptIds")List<Long> deptIds); |
| | | |
| | | List<EmergencyDrillExecuteCountData> selectByDayAndDept(@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); |
| | | } |
| | |
| | | |
| | | List<EmergencyDrillExecuteCountData> selectByYearAndDept(String startTime ,String endTime ,List<Long> deptIds); |
| | | |
| | | List<EmergencyDrillExecuteCountData> selectByDayAndDept(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); |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<EmergencyDrillExecuteCountData> selectByDayAndDept(String startTime, String endTime, List<Long> deptIds) { |
| | | 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); |
| | | } |
| | |
| | | emergencyExecuteTimeRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); |
| | | |
| | | getSingleTimeData(emergencyExecuteTimeRPCResp); |
| | | return new SearchResultVO<>( |
| | | SearchResultVO searchResultVO = new SearchResultVO<>( |
| | | false, |
| | | null, |
| | | null, |
| | | null, |
| | | 1L, |
| | | null, |
| | | emergencyExecuteTimeRPCResp, |
| | | ResultCodes.OK |
| | | ); |
| | | searchResultVO.setCount(1); |
| | | return searchResultVO; |
| | | } |
| | | |
| | | @Override |
| | |
| | | getSingleTimeData(emergencyExecuteTimeRPCResp); |
| | | list.add(emergencyExecuteTimeRPCResp); |
| | | } |
| | | return new SearchResultVO<>( |
| | | |
| | | 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()))); |
| | | // emergencyExecuteTimeRPCResp.setDays(TimeUtils.differentDays(lastTime, TimeUtils.formatDate(new Date()))); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | 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 |
| | |
| | | getSingleNumData(emergencyExecuteNumRPCResp,query); |
| | | list.add(emergencyExecuteNumRPCResp); |
| | | } |
| | | return new SearchResultVO<>( |
| | | |
| | | 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 getSingleNumData(EmergencyExecuteNumRPCResp emergencyExecuteNumRPCResp,EmergencyExecuteNumRPCReq query){ |
| | | List<Long> deptIds = new ArrayList<>(); |
| | | deptIds.add(emergencyExecuteNumRPCResp.getDeptId()); |
| | | |
| | | List<Map<String,String>> mapList = new ArrayList<>(); |
| | | List<EmergencyDrillExecuteCountData> emergencyDrillExecuteCountDataList = new ArrayList<>(); |
| | | List<Map<String,Integer>> mapList = new ArrayList<>(); |
| | | List<EmergencyDrillExecuteCountRPC> emergencyDrillExecuteCountDataList = new ArrayList<>(); |
| | | |
| | | String startTime ; |
| | | String endTime ; |
| | |
| | | // 查该年度12个月份的 |
| | | startTime = TimeUtils.getYearFirst(query.getYear()); |
| | | endTime = TimeUtils.getYearLast(query.getYear()); |
| | | emergencyDrillExecuteCountDataList= emergencyDrillExecuteInfoService.selectByMonthAndDept(startTime, endTime, deptIds); |
| | | emergencyDrillExecuteCountDataList= emergencyDrillExecuteInfoService.selectByMonthAndDeptForIntegerMonth(startTime, endTime, deptIds); |
| | | }else{ |
| | | // 查该年度指定月份的 |
| | | startTime = TimeUtils.getMonthFirst(query.getYear(),query.getMonth()); |
| | |
| | | emergencyDrillExecuteCountDataList= emergencyDrillExecuteInfoService.selectByDayAndDept(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()); |
| | | 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); |
| | | } |
| | | } |
| | |
| | | DATE_FORMAT( a.gmt_create, '%Y' ) |
| | | </select> |
| | | |
| | | <select id="selectByDayAndDept" resultMap="emergencyDrillExecuteCountChart"> |
| | | |
| | | <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, '%Y-%m-%d' ) AS `name` |
| | | 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 |
| | |
| | | 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 |
| | |
| | | //获取打分明细 |
| | | 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)); |
| | |
| | | |
| | | public class IncidentManageCountRPCResp { |
| | | |
| | | // 时间 |
| | | private String time ; |
| | | // 时间 如果查的是年,返回的是月份 ,如果查的是月,返回的是天 |
| | | private Integer time ; |
| | | |
| | | // 数据 |
| | | private List<IncidentManageCountDetailRPCResp> detail; |
| | | |
| | | public String getTime() { |
| | | public Integer getTime() { |
| | | return time; |
| | | } |
| | | |
| | | public void setTime(String time) { |
| | | public void setTime(Integer time) { |
| | | this.time = time; |
| | | } |
| | | |
| | |
| | | |
| | | public class AccidentReportCountRPC { |
| | | |
| | | private String time; |
| | | private Integer time; |
| | | |
| | | private String level ; |
| | | |
| | |
| | | private BigDecimal economicLoss; |
| | | |
| | | |
| | | public String getTime() { |
| | | public Integer getTime() { |
| | | return time; |
| | | } |
| | | |
| | | public void setTime(String time) { |
| | | public void setTime(Integer time) { |
| | | this.time = time; |
| | | } |
| | | |
| | |
| | | |
| | | getSingleTimeData(incidentManageCountRPCResp, query); |
| | | |
| | | return new SearchResultVO<>( |
| | | SearchResultVO searchResultVO = new SearchResultVO<>( |
| | | false, |
| | | null, |
| | | null, |
| | | null, |
| | | 1L, |
| | | 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<>(); |
| | | |
| | | // 获取该部门及其子部门的所有信息 |
| | |
| | | getSingleTimeData(incidentManageCountRPCResp, query); |
| | | list.add(incidentManageCountRPCResp); |
| | | } |
| | | return new SearchResultVO<>( |
| | | 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(IncidentManageRPCResp incidentManageRPCResp, IncidentManageCountRPCReq query) { |
| | | |
| | | List<IncidentManageCountRPCResp> resList = new ArrayList<>(); |
| | | |
| | | |
| | | List<AccidentReportCountRPC> accidentReportCountRPCList = new ArrayList<>(); |
| | | Long deptId = query.getDeptId(); |
| | | Long deptId = incidentManageRPCResp.getDeptId(); |
| | | String startTime; |
| | | String endTime; |
| | | if (query.getMonth() == null) { |
| | |
| | | } |
| | | |
| | | // 拼装第一层时间(去重) |
| | | Set<String> timeSET = accidentReportCountRPCList.stream().map(AccidentReportCountRPC::getTime).collect(Collectors.toSet()); |
| | | Set<Integer> timeSET = accidentReportCountRPCList.stream().map(AccidentReportCountRPC::getTime).collect(Collectors.toSet()); |
| | | // 拼装第一层时间(排序) |
| | | List<String> timeList = timeSET.stream().sorted().collect(Collectors.toList()); |
| | | List<Integer> timeList = timeSET.stream().sorted().collect(Collectors.toList()); |
| | | if (!CollectionUtils.isEmpty(timeSET)) { |
| | | for (String str : timeSET) { |
| | | for (Integer integer : timeSET) { |
| | | IncidentManageCountRPCResp incidentManageCountRPCResp = new IncidentManageCountRPCResp(); |
| | | incidentManageCountRPCResp.setTime(str); |
| | | incidentManageCountRPCResp.setTime(integer); |
| | | incidentManageCountRPCResp.setDetail(new ArrayList<>()); |
| | | resList.add(incidentManageCountRPCResp); |
| | | } |
| | |
| | | </resultMap> |
| | | <select id="getCountForRPCByDeptIdAndMonth" resultMap="accidentReportCountRPC"> |
| | | SELECT |
| | | DATE_FORMAT( a.gmt_create, '%Y-%m' ) as time, |
| | | DATE_FORMAT( a.gmt_create, '%m' ) as time, |
| | | a.accident_level AS `level`, |
| | | count( 0 ) AS num, |
| | | sum( a.economic_loss ) AS economicLoss, |
| | |
| | | |
| | | <select id="getCountForRPCByDeptIdAndDay" resultMap="accidentReportCountRPC"> |
| | | SELECT |
| | | DATE_FORMAT( a.gmt_create, '%Y-%m-%d' ) as time, |
| | | DATE_FORMAT( a.gmt_create, '%d' ) as time, |
| | | a.accident_level AS `level`, |
| | | count( 0 ) AS num, |
| | | sum( a.economic_loss ) AS economicLoss, |