| | |
| | | incidentManageCountRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); |
| | | incidentManageCountRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); |
| | | incidentManageCountRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); |
| | | incidentManageCountRPCResp.setParentDepId(depInfoRPCRespDTO.getParentDepId()); |
| | | |
| | | 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<>(); |
| | | |
| | | // 获取该部门及其子部门的所有信息 |
| | |
| | | incidentManageCountRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); |
| | | incidentManageCountRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); |
| | | incidentManageCountRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); |
| | | incidentManageCountRPCResp.setParentDepId(depInfoRPCRespDTO.getParentDepId()); |
| | | |
| | | 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; |
| | | Integer distType; |
| | | if (query.getMonth() == null) { |
| | | distType=1; |
| | | // 查该年度12个月份的 |
| | | startTime = TimeUtils.getYearFirst(query.getYear()); |
| | | endTime = TimeUtils.getYearLast(query.getYear()); |
| | | accidentReportCountRPCList= accidentReportInfoService.getCountForRPCByDeptIdAndMonth(startTime, endTime, deptId); |
| | | |
| | | } else { |
| | | distType=2; |
| | | // 查该年度指定月份的 |
| | | startTime = TimeUtils.getMonthFirst(query.getYear(), query.getMonth()); |
| | | endTime = TimeUtils.getMonthLast(query.getYear(), query.getMonth()); |
| | |
| | | } |
| | | |
| | | // 拼装第一层时间(去重) |
| | | 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.setYear(query.getYear()); |
| | | incidentManageCountRPCResp.setDistType(distType); |
| | | if (distType==1){ |
| | | incidentManageCountRPCResp.setMonth(integer); |
| | | } |
| | | if (distType==2){ |
| | | incidentManageCountRPCResp.setMonth(query.getMonth()); |
| | | incidentManageCountRPCResp.setDay(integer); |
| | | } |
| | | |
| | | incidentManageCountRPCResp.setDetail(new ArrayList<>()); |
| | | resList.add(incidentManageCountRPCResp); |
| | | } |