|
|
@ -244,8 +244,8 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr |
|
|
|
//项目分类数据 todo 暂时查询所有
|
|
|
|
List<ProjectCategoryDTO> projectCategoryData = projectService.getProjectCategoryData(param.getCustomerId(), null); |
|
|
|
//key projectId:categoryCode Set
|
|
|
|
Map<String, Set<String>> projectCategoryMap = projectCategoryData.stream() |
|
|
|
.collect(Collectors.groupingBy(ProjectCategoryDTO::getProjectId, Collectors.mapping(ProjectCategoryDTO::getCategoryCode, Collectors.toSet()))); |
|
|
|
Map<String, List<String>> projectCategoryMap = projectCategoryData.stream() |
|
|
|
.collect(Collectors.groupingBy(ProjectCategoryDTO::getProjectId, Collectors.mapping(ProjectCategoryDTO::getCategoryCode, Collectors.toList()))); |
|
|
|
|
|
|
|
//2.获取项目的所有节点耗时数据
|
|
|
|
List<FactOriginProjectOrgPeriodDailyEntity> 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<ScreenDifficultyImgDataEntity> 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<IssueProjectCategoryDictEntity> categoryList, Map<String, Set<String>> projectCategoryMap) { |
|
|
|
Set<String> categorySet = projectCategoryMap.get(projectId); |
|
|
|
private void setCategoryInfo(ScreenDifficultyDataEntity diffEntity, String projectId, List<IssueProjectCategoryDictEntity> categoryList, Map<String, List<String>> projectCategoryMap) { |
|
|
|
List<String> categorySet = projectCategoryMap.get(projectId); |
|
|
|
if (CollectionUtils.isEmpty(categorySet)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
projectCategoryMap.forEach((k, v) -> { |
|
|
|
List<IssueProjectCategoryDictEntity> 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<IssueProjectCategoryDictEntity> 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("处理中"); |
|
|
|
//项目耗时 当前时间-项目创建时间
|
|
|
|