|
|
@ -73,7 +73,7 @@ public class IndexCalculateCommunityServiceImpl implements IndexCalculateCommuni |
|
|
|
// 根据all_parent_index_code 获取指标明细
|
|
|
|
List<IndexGroupDetailEntity> detailListByParentCode = indexGroupDetailService.getDetailListByParentCode(customerId, IndexCodeEnum.SHE_QU_XIANG_GUAN.getCode(), IndexCodeEnum.DANG_JIAN_NENG_LI.getCode()); |
|
|
|
if (CollectionUtils.isEmpty(detailListByParentCode)) { |
|
|
|
log.error("指标明细查询集合为空"); |
|
|
|
log.error(IndexCalConstant.INDEX_DETAIL_LIST_NULL); |
|
|
|
return false; |
|
|
|
} |
|
|
|
List<IndexInputVO> indexInputVOS = new ArrayList<>(); |
|
|
@ -83,7 +83,7 @@ public class IndexCalculateCommunityServiceImpl implements IndexCalculateCommuni |
|
|
|
if (IndexCodeEnum.XIA_SHU_SUO_YOU_WGDDJNLPJZ.getCode().equals(detail.getIndexCode())) { |
|
|
|
List<SubGridAvgResultDTO> subGridPartyAvgScore = factIndexGridScoreDao.selectSubGridAvgScore(customerId, monthId,IndexCodeEnum.DANG_JIAN_NENG_LI.getCode()); |
|
|
|
if (CollectionUtils.isEmpty(subGridPartyAvgScore)) { |
|
|
|
log.error("查询下属所有网格的党建能力平均值集合为空"); |
|
|
|
log.error(IndexCalConstant.GRID_PARTY_AVG_NULL); |
|
|
|
return; |
|
|
|
}else if (subGridPartyAvgScore.size() == NumConstant.ONE){ |
|
|
|
pid.put(subGridPartyAvgScore.get(NumConstant.ZERO).getAgencyId(),subGridPartyAvgScore.get(NumConstant.ZERO).getParentId()); |
|
|
@ -109,12 +109,12 @@ public class IndexCalculateCommunityServiceImpl implements IndexCalculateCommuni |
|
|
|
// 社区名义发文数量
|
|
|
|
List<Map<String, Object>> publishArticleCountList = factIndexPartyAblityOrgMonthlyDao.selectPublishArticleCountMap(customerId, monthId,IndexCalConstant.COMMUNITY_LEVEL); |
|
|
|
if (CollectionUtils.isEmpty(publishArticleCountList)) { |
|
|
|
log.error("查询社区名义发文数量集合为空"); |
|
|
|
log.error(IndexCalConstant.COMMUNITY_PUBLISH_ARTICLE_LIST_NULL); |
|
|
|
return; |
|
|
|
} |
|
|
|
String fieldNameByIndexCode = indexCodeFieldReService.getFieldNameByIndexCode(detail.getIndexCode()); |
|
|
|
if (StringUtils.isEmpty(fieldNameByIndexCode)) { |
|
|
|
log.error("指标Code未查询出对应字段 【" + detail.getIndexCode() + "】"); |
|
|
|
log.error(String.format(IndexCalConstant.INDEX_CODE_NULL,detail.getIndexCode())); |
|
|
|
return; |
|
|
|
}else if (publishArticleCountList.size() == NumConstant.ONE){ |
|
|
|
pid.put(publishArticleCountList.get(NumConstant.ZERO).get(IndexCalConstant.AGENCY_ID).toString(),publishArticleCountList.get(NumConstant.ZERO).get(IndexCalConstant.PARENT_ID).toString()); |
|
|
@ -123,7 +123,7 @@ public class IndexCalculateCommunityServiceImpl implements IndexCalculateCommuni |
|
|
|
}else if (publishArticleCountList.size() > NumConstant.ONE) { |
|
|
|
List<BigDecimal> decimalList = publishArticleCountList.stream().map(m -> new BigDecimal(m.get(fieldNameByIndexCode).toString())).collect(Collectors.toList()); |
|
|
|
MaxAndMinBigDecimalResultDTO maxAndMinBigDecimal = this.getMaxAndMinBigDecimal(decimalList); |
|
|
|
List<List<Map<String, Object>>> publishArticleList = ListUtils.partition(publishArticleCountList, 10); |
|
|
|
List<List<Map<String, Object>>> publishArticleList = ListUtils.partition(publishArticleCountList, IndexCalConstant.PAGE_SIZE); |
|
|
|
publishArticleList.forEach( publish -> { |
|
|
|
ScoreCalculator sc1 = new BigDecimalScoreCalculator(maxAndMinBigDecimal.getMin(), maxAndMinBigDecimal.getMax(), ScoreConstants.MIN_SCORE, ScoreConstants.MAX_SCORE, Correlation.POSITIVE); |
|
|
|
List<SampleValue> index1SampleValues = new ArrayList<>(); |
|
|
@ -155,7 +155,7 @@ public class IndexCalculateCommunityServiceImpl implements IndexCalculateCommuni |
|
|
|
public Boolean communityGovernAbilityCalculate(String customerId, String monthId) { |
|
|
|
List<IndexGroupDetailEntity> detailListByParentCode = indexGroupDetailService.getDetailListByParentCode(customerId, IndexCodeEnum.SHE_QU_XIANG_GUAN.getCode(), IndexCodeEnum.ZHI_LI_NENG_LI.getCode()); |
|
|
|
if (CollectionUtils.isEmpty(detailListByParentCode)) { |
|
|
|
log.error("指标明细查询集合为空"); |
|
|
|
log.error(IndexCalConstant.INDEX_DETAIL_LIST_NULL); |
|
|
|
return false; |
|
|
|
} |
|
|
|
List<IndexInputVO> indexInputVOS = new ArrayList<>(); |
|
|
@ -169,7 +169,7 @@ public class IndexCalculateCommunityServiceImpl implements IndexCalculateCommuni |
|
|
|
return; |
|
|
|
} else if (subGridGovernAvg.size() > NumConstant.ONE) { |
|
|
|
MaxAndMinBigDecimalResultDTO maxAndMinBigDecimal = this.getMaxAndMinBigDecimal(subGridGovernAvg.stream().map(o -> o.getScore()).collect(Collectors.toList())); |
|
|
|
List<List<SubGridAvgResultDTO>> governAvg = ListUtils.partition(subGridGovernAvg, 10); |
|
|
|
List<List<SubGridAvgResultDTO>> governAvg = ListUtils.partition(subGridGovernAvg, IndexCalConstant.PAGE_SIZE); |
|
|
|
governAvg.forEach(avg -> { |
|
|
|
List<SampleValue> index1SampleValues = new ArrayList<>(); |
|
|
|
avg.forEach(c -> { |
|
|
@ -186,7 +186,7 @@ public class IndexCalculateCommunityServiceImpl implements IndexCalculateCommuni |
|
|
|
// 治理能力的六个五级指标
|
|
|
|
List<Map<String, Object>> communityGovernAbility = factIndexGovrnAblityOrgMonthlyDao.selectCommunityGovernAbility(customerId, monthId,IndexCalConstant.COMMUNITY_LEVEL); |
|
|
|
if (CollectionUtils.isEmpty(communityGovernAbility)){ |
|
|
|
log.error("查询治理能力的六个五级指标集合为空"); |
|
|
|
log.error(IndexCalConstant.COMMUNITY_GOVERN_ABILITY_NULL); |
|
|
|
return; |
|
|
|
}else if (communityGovernAbility.size() == NumConstant.ONE) { |
|
|
|
pid.put(communityGovernAbility.get(NumConstant.ZERO).get(IndexCalConstant.AGENCY_ID).toString(),communityGovernAbility.get(NumConstant.ZERO).get(IndexCalConstant.PARENT_ID).toString()); |
|
|
@ -195,12 +195,12 @@ public class IndexCalculateCommunityServiceImpl implements IndexCalculateCommuni |
|
|
|
} else if (communityGovernAbility.size() > NumConstant.ONE) { |
|
|
|
String fieldNameByIndexCode = indexCodeFieldReService.getFieldNameByIndexCode(detail.getIndexCode()); |
|
|
|
if (StringUtils.isEmpty(fieldNameByIndexCode)) { |
|
|
|
log.error("指标Code未查询出对应字段 【" + detail.getIndexCode() + "】"); |
|
|
|
log.error(String.format(IndexCalConstant.INDEX_CODE_NULL,detail.getIndexCode())); |
|
|
|
return; |
|
|
|
} |
|
|
|
List<BigDecimal> decimalList = communityGovernAbility.stream().map(m -> new BigDecimal(m.get(fieldNameByIndexCode).toString())).collect(Collectors.toList()); |
|
|
|
MaxAndMinBigDecimalResultDTO maxAndMinBigDecimal = this.getMaxAndMinBigDecimal(decimalList); |
|
|
|
List<List<Map<String, Object>>> governAbilityList = ListUtils.partition(communityGovernAbility, 10); |
|
|
|
List<List<Map<String, Object>>> governAbilityList = ListUtils.partition(communityGovernAbility, IndexCalConstant.PAGE_SIZE); |
|
|
|
governAbilityList.forEach(governAbility -> { |
|
|
|
ScoreCalculator<Integer> sc1 = new BigDecimalScoreCalculator(maxAndMinBigDecimal.getMin(), maxAndMinBigDecimal.getMax(), ScoreConstants.MIN_SCORE, ScoreConstants.MAX_SCORE, Correlation.POSITIVE); |
|
|
|
List<SampleValue> index1SampleValues = new ArrayList<>(); |
|
|
@ -232,7 +232,7 @@ public class IndexCalculateCommunityServiceImpl implements IndexCalculateCommuni |
|
|
|
public Boolean communityServiceAbilityCalculate(String customerId, String monthId) { |
|
|
|
List<IndexGroupDetailEntity> detailListByParentCode = indexGroupDetailService.getDetailListByParentCode(customerId, IndexCodeEnum.SHE_QU_XIANG_GUAN.getCode(), IndexCodeEnum.FU_WU_NENG_LI.getCode()); |
|
|
|
if (CollectionUtils.isEmpty(detailListByParentCode)) { |
|
|
|
log.error("指标明细查询集合为空"); |
|
|
|
log.error(IndexCalConstant.INDEX_DETAIL_LIST_NULL); |
|
|
|
return false; |
|
|
|
} |
|
|
|
List<IndexInputVO> indexInputVOS = new ArrayList<>(); |
|
|
@ -247,7 +247,7 @@ public class IndexCalculateCommunityServiceImpl implements IndexCalculateCommuni |
|
|
|
return; |
|
|
|
} else if (subGridServiceAvg.size() > NumConstant.ONE) { |
|
|
|
MaxAndMinBigDecimalResultDTO maxAndMinBigDecimal = this.getMaxAndMinBigDecimal(subGridServiceAvg.stream().map(o -> o.getScore()).collect(Collectors.toList())); |
|
|
|
List<List<SubGridAvgResultDTO>> serviceAvgList = ListUtils.partition(subGridServiceAvg, 10); |
|
|
|
List<List<SubGridAvgResultDTO>> serviceAvgList = ListUtils.partition(subGridServiceAvg, IndexCalConstant.PAGE_SIZE); |
|
|
|
serviceAvgList.forEach(serviceAvg -> { |
|
|
|
BigDecimalScoreCalculator sc1 = new BigDecimalScoreCalculator(maxAndMinBigDecimal.getMin(), maxAndMinBigDecimal.getMax(), ScoreConstants.MIN_SCORE, ScoreConstants.MAX_SCORE, Correlation.POSITIVE); |
|
|
|
List<SampleValue> index1SampleValues = new ArrayList<>(); |
|
|
@ -263,7 +263,7 @@ public class IndexCalculateCommunityServiceImpl implements IndexCalculateCommuni |
|
|
|
} else { |
|
|
|
List<Map<String, Object>> communityActivityCountList = factIndexServiceAblityOrgMonthlyDao.selectActivityCountMap(customerId, monthId,IndexCalConstant.COMMUNITY_LEVEL); |
|
|
|
if (CollectionUtils.isEmpty(communityActivityCountList)) { |
|
|
|
log.error("查询社区活动组织次数集合为空"); |
|
|
|
log.error(IndexCalConstant.COMMUNITY_SERVICE_ABILITY_NULL); |
|
|
|
return; |
|
|
|
}else if (communityActivityCountList.size() == NumConstant.ONE) { |
|
|
|
pid.put(communityActivityCountList.get(NumConstant.ZERO).get(IndexCalConstant.AGENCY_ID).toString(),communityActivityCountList.get(NumConstant.ZERO).get(IndexCalConstant.PARENT_ID).toString()); |
|
|
@ -272,12 +272,12 @@ public class IndexCalculateCommunityServiceImpl implements IndexCalculateCommuni |
|
|
|
} else if (communityActivityCountList.size() > NumConstant.ONE) { |
|
|
|
String fieldNameByIndexCode = indexCodeFieldReService.getFieldNameByIndexCode(detail.getIndexCode()); |
|
|
|
if (StringUtils.isEmpty(fieldNameByIndexCode)) { |
|
|
|
log.error("指标Code未查询出对应字段 【" + detail.getIndexCode() + "】"); |
|
|
|
log.error(String.format(IndexCalConstant.INDEX_CODE_NULL,detail.getIndexCode())); |
|
|
|
return; |
|
|
|
} |
|
|
|
List<BigDecimal> decimalList = communityActivityCountList.stream().map(m -> new BigDecimal(m.get(fieldNameByIndexCode).toString())).collect(Collectors.toList()); |
|
|
|
MaxAndMinBigDecimalResultDTO maxAndMinBigDecimal = this.getMaxAndMinBigDecimal(decimalList); |
|
|
|
List<List<Map<String, Object>>> communityActivityList = ListUtils.partition(communityActivityCountList, 10); |
|
|
|
List<List<Map<String, Object>>> communityActivityList = ListUtils.partition(communityActivityCountList, IndexCalConstant.PAGE_SIZE); |
|
|
|
communityActivityList.forEach(communityActivity -> { |
|
|
|
ScoreCalculator<Integer> sc1 = new BigDecimalScoreCalculator(maxAndMinBigDecimal.getMin(), maxAndMinBigDecimal.getMax(), ScoreConstants.MIN_SCORE, ScoreConstants.MAX_SCORE, Correlation.POSITIVE); |
|
|
|
List<SampleValue> index1SampleValues = new ArrayList<>(); |
|
|
|