|
|
@ -128,7 +128,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { |
|
|
|
factOriginProjectMainDailyService.deleteByDate(customerId, dateString); |
|
|
|
if (!CollectionUtils.isEmpty(projectList)) { |
|
|
|
//提取议题ID
|
|
|
|
List<String> issueIds = projectList.stream().map(ProjectDTO::getOriginId).collect(Collectors.toList()); |
|
|
|
List<String> issueIds = |
|
|
|
projectList.stream().filter(item -> ProjectConstant.ISSUE.equals(item.getOrigin())).map(ProjectDTO::getOriginId).collect(Collectors.toList()); |
|
|
|
//获取议题信息
|
|
|
|
List<IssueDTO> issueList = issueService.getIssueInfoByIds(issueIds); |
|
|
|
//提取话题ID
|
|
|
@ -144,18 +145,28 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { |
|
|
|
FactOriginProjectMainDailyEntity entity = new FactOriginProjectMainDailyEntity(); |
|
|
|
entity.setId(project.getId()); |
|
|
|
entity.setAgencyId(project.getAgencyId()); |
|
|
|
entity.setOrigin(project.getOrigin()); |
|
|
|
entity.setOriginId(project.getOriginId()); |
|
|
|
entity.setCustomerId(customerId); |
|
|
|
entity.setYearId(dimId.getYearId()); |
|
|
|
entity.setQuarterId(dimId.getQuarterId()); |
|
|
|
entity.setMonthId(dimId.getMonthId()); |
|
|
|
entity.setWeekId(dimId.getWeekId()); |
|
|
|
entity.setDateId(dimId.getDateId()); |
|
|
|
entity.setIssueId(project.getOriginId()); |
|
|
|
if (ProjectConstant.ISSUE.equals(project.getOrigin())) { |
|
|
|
entity.setIssueId(project.getOriginId()); |
|
|
|
} else { |
|
|
|
entity.setIssueId(""); |
|
|
|
} |
|
|
|
entity.setProjectStatus(project.getStatus()); |
|
|
|
entity.setIsResolved(project.getClosedStatus()); |
|
|
|
entity.setCreatedTime(project.getCreatedTime()); |
|
|
|
entity.setUpdatedTime(project.getUpdatedTime()); |
|
|
|
entity.setPids(project.getOrgIdPath()); |
|
|
|
entity.setIssueCreatorId(""); |
|
|
|
entity.setTopicId(""); |
|
|
|
entity.setTopicCreatorId(""); |
|
|
|
entity.setGridId(""); |
|
|
|
String[] pIds = project.getOrgIdPath().split(StrConstant.COLON); |
|
|
|
if (pIds.length > 1) { |
|
|
|
entity.setPid(pIds[pIds.length - 2]); |
|
|
@ -168,17 +179,23 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { |
|
|
|
entity.setIsOverdue(NumConstant.ZERO_STR); |
|
|
|
return entity; |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
list.forEach(entity -> issueList.stream().filter(issueDTO -> issueDTO.getId().equals(entity.getIssueId())).forEach(issue -> { |
|
|
|
entity.setIssueCreatorId(issue.getCreatedBy()); |
|
|
|
entity.setTopicId(issue.getSourceId()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> topicList.stream().filter(topicDTO -> topicDTO.getId().equals(entity.getTopicId())).forEach(topic -> { |
|
|
|
entity.setTopicCreatorId(topic.getCreatedBy()); |
|
|
|
entity.setGridId(topic.getGridId()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> partyMemberList.stream().filter(partyMemberDTO -> partyMemberDTO.getGridId().equals(entity.getGridId()) && partyMemberDTO.getUserId().equals(entity.getTopicCreatorId())).forEach(partyMember -> { |
|
|
|
entity.setIsParty(NumConstant.ONE_STR); |
|
|
|
})); |
|
|
|
if (CollectionUtils.isNotEmpty(issueList)) { |
|
|
|
list.forEach(entity -> issueList.stream().filter(issueDTO -> issueDTO.getId().equals(entity.getIssueId())).forEach(issue -> { |
|
|
|
entity.setIssueCreatorId(issue.getCreatedBy()); |
|
|
|
entity.setTopicId(issue.getSourceId()); |
|
|
|
})); |
|
|
|
} |
|
|
|
if (CollectionUtils.isNotEmpty(topicList)) { |
|
|
|
list.forEach(entity -> topicList.stream().filter(topicDTO -> topicDTO.getId().equals(entity.getTopicId())).forEach(topic -> { |
|
|
|
entity.setTopicCreatorId(topic.getCreatedBy()); |
|
|
|
entity.setGridId(topic.getGridId()); |
|
|
|
})); |
|
|
|
} |
|
|
|
if (CollectionUtils.isNotEmpty(partyMemberList)) { |
|
|
|
list.forEach(entity -> partyMemberList.stream().filter(partyMemberDTO -> partyMemberDTO.getGridId().equals(entity.getGridId()) && partyMemberDTO.getUserId().equals(entity.getTopicCreatorId())).forEach(partyMember -> { |
|
|
|
entity.setIsParty(NumConstant.ONE_STR); |
|
|
|
})); |
|
|
|
} |
|
|
|
list.forEach(entity -> finishOrgList.stream().filter(finish -> entity.getId().equals(finish.getProjectId())).forEach(dto -> { |
|
|
|
String[] orgIds = dto.getPIdPath().split(StrConstant.COLON); |
|
|
|
String org = ""; |
|
|
@ -228,6 +245,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { |
|
|
|
entity.setOrgId(process.getGridId()); |
|
|
|
entity.setPid(process.getAgencyId()); |
|
|
|
}else{ |
|
|
|
entity.setOrgType(OrgTypeConstant.AGENCY); |
|
|
|
entity.setOrgId(process.getAgencyId()); |
|
|
|
if(!process.getPids().contains(StrConstant.COLON)){ |
|
|
|
entity.setPids(""); |
|
|
|
entity.setPid(NumConstant.ZERO_STR); |
|
|
@ -278,6 +297,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { |
|
|
|
entity.setOrgId(process.getGridId()); |
|
|
|
entity.setPid(process.getAgencyId()); |
|
|
|
} else { |
|
|
|
entity.setOrgType(OrgTypeConstant.AGENCY); |
|
|
|
entity.setOrgId(process.getAgencyId()); |
|
|
|
if (!process.getPids().contains(StrConstant.COLON)) { |
|
|
|
entity.setPids(""); |
|
|
|
entity.setPid(NumConstant.ZERO_STR); |
|
|
@ -358,6 +379,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { |
|
|
|
entity.setOrgId(process.getGridId()); |
|
|
|
entity.setPid(process.getAgencyId()); |
|
|
|
}else{ |
|
|
|
entity.setOrgType(OrgTypeConstant.AGENCY); |
|
|
|
entity.setOrgId(process.getAgencyId()); |
|
|
|
if(!process.getPids().contains(StrConstant.COLON)){ |
|
|
|
entity.setPids(""); |
|
|
|
entity.setPid(NumConstant.ZERO_STR); |
|
|
|