songhuangfeng123
2022-09-19 aaef9e1eac918cf0cc2d6aa788016ac594de9e6b
incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentCountServiceImpl.java
@@ -50,22 +50,28 @@
        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<>();
        // 获取该部门及其子部门的所有信息
@@ -76,36 +82,44 @@
            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());
@@ -113,13 +127,23 @@
        }
        // 拼装第一层时间(去重)
        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);
            }