|
|
@ -67,37 +67,37 @@ public class OrgRankExtractServiceImpl implements OrgRankExtractService { |
|
|
|
//党员数
|
|
|
|
List<FactRegUserGridMonthlyDTO> partyMemberList = factRegUserGridMonthlyService.getGridUserCountByCustomer(customerId, monthId); |
|
|
|
if (!CollectionUtils.isEmpty(partyMemberList)) { |
|
|
|
list.forEach(entity -> partyMemberList.stream().filter(item -> item.getGridId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setPartyTotal(dto.getPartymemberTotal()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> partyMemberList.stream().filter(item -> item.getGridId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setPartyTotal(dto.getPartymemberTotal()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//小组数
|
|
|
|
List<OrgStatisticsResultDTO> groupList = factOriginGroupMainDailyService.getGridGroupCount(customerId, monthId); |
|
|
|
if (!CollectionUtils.isEmpty(groupList)) { |
|
|
|
list.forEach(entity -> groupList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setGroupTotal(dto.getCount()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> groupList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setGroupTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//话题数
|
|
|
|
List<OrgStatisticsResultDTO> topicList = factOriginTopicMainDailyService.getGridTopicCount(customerId, monthId); |
|
|
|
if (!CollectionUtils.isEmpty(topicList)) { |
|
|
|
list.forEach(entity -> topicList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setTopicTotal(dto.getCount()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> topicList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setTopicTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//议题数
|
|
|
|
List<OrgStatisticsResultDTO> issueList = factOriginIssueMainDailyService.getGridIssueCount(customerId, monthId); |
|
|
|
if (!CollectionUtils.isEmpty(issueList)) { |
|
|
|
list.forEach(entity -> issueList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setIssueTotal(dto.getCount()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> issueList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setIssueTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//项目数
|
|
|
|
List<OrgStatisticsResultDTO> projectList = factOriginProjectMainDailyService.getGridProjectCount(customerId, monthId); |
|
|
|
if (!CollectionUtils.isEmpty(projectList)) { |
|
|
|
list.forEach(entity -> projectList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setProjectTotal(dto.getCount()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> projectList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setProjectTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//结案率 结案数/项目数
|
|
|
|
List<FactIndexGovrnAblityGridMonthlyEntity> abilityList = factIndexGovrnAblityGridMonthlyService.getGridByCustomer(customerId, monthId); |
|
|
@ -139,44 +139,44 @@ public class OrgRankExtractServiceImpl implements OrgRankExtractService { |
|
|
|
List<FactRegUserAgencyMonthlyDTO> partyMemberList = factRegUserAgencyMonthlyService.getOrgUserCountByCustomer(customerId, monthId, |
|
|
|
OrgTypeConstant.COMMUNITY); |
|
|
|
if (!CollectionUtils.isEmpty(partyMemberList)) { |
|
|
|
list.forEach(entity -> partyMemberList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setPartyTotal(dto.getPartymemberTotal()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> partyMemberList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setPartyTotal(dto.getPartymemberTotal()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//小组数
|
|
|
|
List<OrgStatisticsResultDTO> groupList = factOriginGroupMainDailyService.getOrgGroupCount(customerId, monthId, OrgTypeConstant.COMMUNITY); |
|
|
|
if (!CollectionUtils.isEmpty(groupList)) { |
|
|
|
list.forEach(entity -> groupList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setGroupTotal(dto.getCount()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> groupList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setGroupTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//话题数
|
|
|
|
List<OrgStatisticsResultDTO> topicList = factOriginTopicMainDailyService.getOrgTopicCount(customerId, monthId, OrgTypeConstant.COMMUNITY); |
|
|
|
if (!CollectionUtils.isEmpty(topicList)) { |
|
|
|
list.forEach(entity -> topicList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setTopicTotal(dto.getCount()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> topicList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setTopicTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//议题数
|
|
|
|
List<OrgStatisticsResultDTO> issueList = factOriginIssueMainDailyService.getOrgIssueCount(customerId, monthId, OrgTypeConstant.COMMUNITY); |
|
|
|
if (!CollectionUtils.isEmpty(issueList)) { |
|
|
|
list.forEach(entity -> issueList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setIssueTotal(dto.getCount()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> issueList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setIssueTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//项目数
|
|
|
|
List<OrgStatisticsResultDTO> projectList = factOriginProjectMainDailyService.getOrgProjectCount(customerId, monthId, OrgTypeConstant.COMMUNITY); |
|
|
|
if (!CollectionUtils.isEmpty(projectList)) { |
|
|
|
list.forEach(entity -> projectList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setProjectTotal(dto.getCount()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> projectList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setProjectTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//结案率 结案数/项目数
|
|
|
|
List<FactIndexGovrnAblityOrgMonthlyEntity> abilityList = factIndexGovrnAblityOrgMonthlyService.getOrgByCustomer(customerId, monthId, OrgTypeConstant.COMMUNITY); |
|
|
|
if (!CollectionUtils.isEmpty(abilityList)) { |
|
|
|
list.forEach(entity -> abilityList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setCloseProjectRatio(dto.getClosedProjectRatio()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> abilityList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setCloseProjectRatio(dto.getClosedProjectRatio()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//满意率 满意和非常满意占比
|
|
|
|
List<OrgStatisticsResultDTO> satisfactionList = factOriginProjectLogDailyService.getOrgSatisfaction(customerId, monthId, OrgTypeConstant.COMMUNITY); |
|
|
@ -206,45 +206,112 @@ public class OrgRankExtractServiceImpl implements OrgRankExtractService { |
|
|
|
List<FactRegUserAgencyMonthlyDTO> partyMemberList = factRegUserAgencyMonthlyService.getOrgUserCountByCustomer(customerId, monthId, |
|
|
|
OrgTypeConstant.COMMUNITY); |
|
|
|
if (!CollectionUtils.isEmpty(partyMemberList)) { |
|
|
|
list.forEach(entity -> partyMemberList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setPartyTotal(dto.getPartymemberTotal()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> partyMemberList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setPartyTotal(dto.getPartymemberTotal()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//小组数
|
|
|
|
List<OrgStatisticsResultDTO> groupList = factOriginGroupMainDailyService.getOrgGroupCount(customerId, monthId, OrgTypeConstant.STREET); |
|
|
|
if (!CollectionUtils.isEmpty(groupList)) { |
|
|
|
list.forEach(entity -> groupList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setGroupTotal(dto.getCount()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> groupList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setGroupTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//话题数
|
|
|
|
List<OrgStatisticsResultDTO> topicList = factOriginTopicMainDailyService.getOrgTopicCount(customerId, monthId, OrgTypeConstant.STREET); |
|
|
|
if (!CollectionUtils.isEmpty(topicList)) { |
|
|
|
list.forEach(entity -> topicList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setTopicTotal(dto.getCount()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> topicList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setTopicTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//议题数
|
|
|
|
List<OrgStatisticsResultDTO> issueList = factOriginIssueMainDailyService.getOrgIssueCount(customerId, monthId, OrgTypeConstant.STREET); |
|
|
|
if (!CollectionUtils.isEmpty(issueList)) { |
|
|
|
list.forEach(entity -> issueList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setIssueTotal(dto.getCount()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> issueList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setIssueTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//项目数
|
|
|
|
List<OrgStatisticsResultDTO> projectList = factOriginProjectMainDailyService.getOrgProjectCount(customerId, monthId, OrgTypeConstant.STREET); |
|
|
|
if (!CollectionUtils.isEmpty(projectList)) { |
|
|
|
list.forEach(entity -> projectList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setProjectTotal(dto.getCount()); |
|
|
|
})); |
|
|
|
list.forEach(entity -> projectList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setProjectTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//结案率 结案数/项目数
|
|
|
|
List<FactIndexGovrnAblityOrgMonthlyEntity> abilityList = factIndexGovrnAblityOrgMonthlyService.getOrgByCustomer(customerId, monthId, OrgTypeConstant.STREET); |
|
|
|
if (!CollectionUtils.isEmpty(abilityList)) { |
|
|
|
list.forEach(entity -> abilityList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
entity.setCloseProjectRatio(dto.getClosedProjectRatio()); |
|
|
|
list.forEach(entity -> abilityList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setCloseProjectRatio(dto.getClosedProjectRatio()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//满意率 满意和非常满意占比
|
|
|
|
List<OrgStatisticsResultDTO> satisfactionList = factOriginProjectLogDailyService.getOrgSatisfaction(customerId, monthId, OrgTypeConstant.STREET); |
|
|
|
if (!CollectionUtils.isEmpty(satisfactionList)) { |
|
|
|
list.forEach(entity -> satisfactionList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> { |
|
|
|
if (dto.getSum() != NumConstant.ZERO) { |
|
|
|
BigDecimal sum = new BigDecimal(dto.getSum()); |
|
|
|
BigDecimal count = new BigDecimal(dto.getCount()); |
|
|
|
entity.setSatisfactionRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP)); |
|
|
|
} |
|
|
|
})); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void extractDistrictData(String customerId, String monthId) { |
|
|
|
List<ScreenOrgRankDataEntity> list = screenOrgRankDataService.initList(customerId, OrgTypeConstant.AGENCY, OrgTypeConstant.DISTRICT); |
|
|
|
if (CollectionUtils.isEmpty(list)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
BigDecimal hundred = new BigDecimal(NumConstant.ONE_HUNDRED); |
|
|
|
list.forEach(entity -> { |
|
|
|
entity.setYearId(monthId.substring(NumConstant.ZERO, NumConstant.FOUR)); |
|
|
|
entity.setMonthId(monthId); |
|
|
|
}); |
|
|
|
//党员数
|
|
|
|
List<FactRegUserAgencyMonthlyDTO> partyMemberList = factRegUserAgencyMonthlyService.getOrgUserCountByCustomer(customerId, monthId, |
|
|
|
OrgTypeConstant.COMMUNITY); |
|
|
|
if (!CollectionUtils.isEmpty(partyMemberList)) { |
|
|
|
list.forEach(entity -> partyMemberList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setPartyTotal(dto.getPartymemberTotal()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//小组数
|
|
|
|
List<OrgStatisticsResultDTO> groupList = factOriginGroupMainDailyService.getOrgGroupCount(customerId, monthId, OrgTypeConstant.DISTRICT); |
|
|
|
if (!CollectionUtils.isEmpty(groupList)) { |
|
|
|
list.forEach(entity -> groupList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setGroupTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//话题数
|
|
|
|
List<OrgStatisticsResultDTO> topicList = factOriginTopicMainDailyService.getOrgTopicCount(customerId, monthId, OrgTypeConstant.DISTRICT); |
|
|
|
if (!CollectionUtils.isEmpty(topicList)) { |
|
|
|
list.forEach(entity -> topicList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setTopicTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//议题数
|
|
|
|
List<OrgStatisticsResultDTO> issueList = factOriginIssueMainDailyService.getOrgIssueCount(customerId, monthId, OrgTypeConstant.DISTRICT); |
|
|
|
if (!CollectionUtils.isEmpty(issueList)) { |
|
|
|
list.forEach(entity -> issueList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setIssueTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//项目数
|
|
|
|
List<OrgStatisticsResultDTO> projectList = factOriginProjectMainDailyService.getOrgProjectCount(customerId, monthId, OrgTypeConstant.DISTRICT); |
|
|
|
if (!CollectionUtils.isEmpty(projectList)) { |
|
|
|
list.forEach(entity -> projectList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setProjectTotal(dto.getCount()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//结案率 结案数/项目数
|
|
|
|
List<FactIndexGovrnAblityOrgMonthlyEntity> abilityList = factIndexGovrnAblityOrgMonthlyService.getOrgByCustomer(customerId, monthId, OrgTypeConstant.DISTRICT); |
|
|
|
if (!CollectionUtils.isEmpty(abilityList)) { |
|
|
|
list.forEach(entity -> abilityList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> |
|
|
|
entity.setCloseProjectRatio(dto.getClosedProjectRatio()) |
|
|
|
)); |
|
|
|
} |
|
|
|
//满意率 满意和非常满意占比
|
|
|
|
List<OrgStatisticsResultDTO> satisfactionList = factOriginProjectLogDailyService.getOrgSatisfaction(customerId, monthId, OrgTypeConstant.STREET); |
|
|
|
if (!CollectionUtils.isEmpty(satisfactionList)) { |
|
|
|