diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index a5d539946a..fa38997153 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -244,8 +244,8 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr //项目分类数据 todo 暂时查询所有 List projectCategoryData = projectService.getProjectCategoryData(param.getCustomerId(), null); //key projectId:categoryCode Set - Map> projectCategoryMap = projectCategoryData.stream() - .collect(Collectors.groupingBy(ProjectCategoryDTO::getProjectId, Collectors.mapping(ProjectCategoryDTO::getCategoryCode, Collectors.toSet()))); + Map> projectCategoryMap = projectCategoryData.stream() + .collect(Collectors.groupingBy(ProjectCategoryDTO::getProjectId, Collectors.mapping(ProjectCategoryDTO::getCategoryCode, Collectors.toList()))); //2.获取项目的所有节点耗时数据 List projectPeriodList = factOriginProjectMainDailyService.getProjectPeriod(param); @@ -271,9 +271,7 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr Integer handleCount = handleCountMap.getOrDefault(period.getProjectId(), 0); handleCountMap.put(period.getProjectId(), ++handleCount); } - if ("82ac5292612538eaf5c598005b7910ba".equals(period.getProjectId())) { - System.out.println("项目结案时间" + closeProjectDateMap.get(period.getProjectId())); - } + //筛选出 项目的结案时间 未结案的为当前时间(结案只有一条记录) if (period.getHandledDate() != null) { if (period.getHandledDate().getTime() - period.getInformedDate().getTime() > overtimeConfig * 1000 * 60 * 60 * 24) { @@ -292,7 +290,9 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr List imgDataEntities = new ArrayList<>(); for (FactOriginProjectMainDailyEntity project : difficultyBaseList) { if (agencyMap.get(project.getAgencyId()) == null || bizProjectInfoMap.get(project.getId()) == null) { - log.error("未获取到相关的项目信息或者项目的所属组织信息"); + log.warn("未获取到相关的项目信息或者项目的所属组织信息"); + System.out.println(agencyMap.get(project.getAgencyId())); + System.out.println(bizProjectInfoMap.get(project.getId())); continue; } //判断是否符合难点堵点条件 @@ -350,18 +350,29 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr return true; } - private void setCategoryInfo(ScreenDifficultyDataEntity diffEntity, String projectId, List categoryList, Map> projectCategoryMap) { - Set categorySet = projectCategoryMap.get(projectId); + private void setCategoryInfo(ScreenDifficultyDataEntity diffEntity, String projectId, List categoryList, Map> projectCategoryMap) { + List categorySet = projectCategoryMap.get(projectId); if (CollectionUtils.isEmpty(categorySet)) { return; } projectCategoryMap.forEach((k, v) -> { - List childCategory = new ArrayList<>(); - v.forEach(categoryCode -> getParentNode(childCategory, categoryList, categoryCode)); - String categoryCodes = childCategory.stream().map(IssueProjectCategoryDictEntity::getCategoryCode).sorted(Comparator.reverseOrder()).collect(Collectors.joining(StrConstant.COMMA)); - String categoryNames = childCategory.stream().map(IssueProjectCategoryDictEntity::getCategoryName).sorted(Comparator.reverseOrder()).collect(Collectors.joining(StrConstant.COMMA)); - diffEntity.setEventCategoryCode(categoryCodes); - diffEntity.setEventCategoryName(categoryNames); + StringBuilder code = new StringBuilder(); + StringBuilder name = new StringBuilder(); + v.forEach(categoryCode -> { + List childCategory = new ArrayList<>(); + getParentNode(childCategory, categoryList, categoryCode); + String categoryCodes = childCategory.stream().map(IssueProjectCategoryDictEntity::getCategoryCode).collect(Collectors.joining(StrConstant.HYPHEN)); + String categoryNames = childCategory.stream().map(IssueProjectCategoryDictEntity::getCategoryName).collect(Collectors.joining(StrConstant.HYPHEN)); + + code.append(categoryCodes).append(StrConstant.COMMA_ZH); + name.append(categoryNames).append(StrConstant.COMMA_ZH); + }); + code.deleteCharAt(code.length()-1); + name.deleteCharAt(name.length()-1); + diffEntity.setEventCategoryCode(code.toString()); + diffEntity.setEventCategoryName(name.toString()); + log.info("code:{}",code.toString()); + log.info("name:{}",name.toString()); }); } @@ -398,7 +409,6 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr GridInfoDTO gridInfoDTO = gridMap.get(project.getGridId()); diff.setOrgName(gridInfoDTO.getGridName()); String agencyAndGridName = agencyInfoDTO.getAgencyName().concat(StrConstant.HYPHEN.concat(diff.getOrgName())); - //todo 市北区的 allParentname 为什么为空 //if (!project.getPid().equals(NumConstant.ZERO_STR)){ if (StringUtils.isNotBlank(agencyInfoDTO.getAllParentName())) { diff.setEventSource(agencyInfoDTO.getAllParentName().concat(StrConstant.HYPHEN).concat(agencyAndGridName)); @@ -410,9 +420,7 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr diff.setEventId(project.getId()); String projectStatus = project.getProjectStatus(); diff.setEventStatusCode(projectStatus); - if ("82ac5292612538eaf5c598005b7910ba".equals(project.getId())) { - System.out.println(JSON.toJSONString(projectDTO)); - } + if (ProjectConstant.PENDING.equals(projectStatus)) { diff.setEventStatusDesc("处理中"); //项目耗时 当前时间-项目创建时间