|
@ -624,7 +624,9 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
//下属所有社区的党建能力平均值
|
|
|
//下属所有社区的党建能力平均值
|
|
|
detailListByParentCode.forEach(detail -> { |
|
|
detailListByParentCode.forEach(detail -> { |
|
|
if (IndexCodeEnum.JIE_DAO_XIA_SHU_SYSQDJNLHZPJZ.getCode().equals(detail.getIndexCode())) { |
|
|
if (IndexCodeEnum.JIE_DAO_XIA_SHU_SYSQDJNLHZPJZ.getCode().equals(detail.getIndexCode())) { |
|
|
|
|
|
// 下属所有社区的党建能力平均值
|
|
|
List<SubCommunityAvgResultDTO> dispose = communityScoreDao.selectSubCommAvgScoreExistSubNotSelfNew(monthId,IndexCodeEnum.DANG_JIAN_NENG_LI.getCode(),form.getCustomerAreaCode(),quarterId,yearId); |
|
|
List<SubCommunityAvgResultDTO> dispose = communityScoreDao.selectSubCommAvgScoreExistSubNotSelfNew(monthId,IndexCodeEnum.DANG_JIAN_NENG_LI.getCode(),form.getCustomerAreaCode(),quarterId,yearId); |
|
|
|
|
|
// 数据处理
|
|
|
List<SubCommunityAvgResultDTO> subCommPartyAvgScore = disposeSubAvg(dispose, form); |
|
|
List<SubCommunityAvgResultDTO> subCommPartyAvgScore = disposeSubAvg(dispose, form); |
|
|
if (CollectionUtils.isEmpty(subCommPartyAvgScore)) { |
|
|
if (CollectionUtils.isEmpty(subCommPartyAvgScore)) { |
|
|
log.warn(IndexCalConstant.COMMUNITY_PARTY_AVG_NULL); |
|
|
log.warn(IndexCalConstant.COMMUNITY_PARTY_AVG_NULL); |
|
@ -647,7 +649,7 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
// 街道名义发文数量
|
|
|
// 街道名义发文数量
|
|
|
List<Map<String, Object>> mapList = factIndexPartyAblityOrgMonthlyDao.selectPublishArticleCountMapExistSubStreet(monthId,form.getCustomerAreaCode()); |
|
|
List<Map<String, Object>> mapList = factIndexPartyAblityOrgMonthlyDao.selectPublishArticleCountMapExistSubStreetNew(monthId,form.getCustomerAreaCode(),quarterId,yearId); |
|
|
if (CollectionUtils.isEmpty(mapList)) { |
|
|
if (CollectionUtils.isEmpty(mapList)) { |
|
|
log.warn(IndexCalConstant.STREET_PUBLISH_ARTICLE_LIST_NULL); |
|
|
log.warn(IndexCalConstant.STREET_PUBLISH_ARTICLE_LIST_NULL); |
|
|
} else { |
|
|
} else { |
|
@ -703,7 +705,9 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
Map<String, String> pid = new HashMap<>(); |
|
|
Map<String, String> pid = new HashMap<>(); |
|
|
detailListByParentCode.forEach(detail -> { |
|
|
detailListByParentCode.forEach(detail -> { |
|
|
if (IndexCodeEnum.JIE_DAO_XIA_SHU_SYSQZLNLHZ.getCode().equals(detail.getIndexCode())) { |
|
|
if (IndexCodeEnum.JIE_DAO_XIA_SHU_SYSQZLNLHZ.getCode().equals(detail.getIndexCode())) { |
|
|
|
|
|
// 查询areaCode扫出所有社区级别的数据
|
|
|
List<SubCommunityAvgResultDTO> dispose = communityScoreDao.selectSubCommAvgScoreExistSubNotSelfNew(monthId,IndexCodeEnum.ZHI_LI_NENG_LI.getCode(),form.getCustomerAreaCode(),quarterId,yearId); |
|
|
List<SubCommunityAvgResultDTO> dispose = communityScoreDao.selectSubCommAvgScoreExistSubNotSelfNew(monthId,IndexCodeEnum.ZHI_LI_NENG_LI.getCode(),form.getCustomerAreaCode(),quarterId,yearId); |
|
|
|
|
|
// 孔村数据处理
|
|
|
List<SubCommunityAvgResultDTO> subGridGovernAvg = disposeSubAvg(dispose,form); |
|
|
List<SubCommunityAvgResultDTO> subGridGovernAvg = disposeSubAvg(dispose,form); |
|
|
if (CollectionUtils.isEmpty(subGridGovernAvg)){ |
|
|
if (CollectionUtils.isEmpty(subGridGovernAvg)){ |
|
|
log.warn("查询街道下属所有社区治理能力汇总为空"); |
|
|
log.warn("查询街道下属所有社区治理能力汇总为空"); |
|
@ -781,7 +785,9 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
detailListByParentCode.forEach(detail -> { |
|
|
detailListByParentCode.forEach(detail -> { |
|
|
String indexCode = detail.getIndexCode(); |
|
|
String indexCode = detail.getIndexCode(); |
|
|
if (IndexCodeEnum.JIE_DAO_XIA_SHU_SQFWNLDFPYZ.getCode().equals(indexCode)) { |
|
|
if (IndexCodeEnum.JIE_DAO_XIA_SHU_SQFWNLDFPYZ.getCode().equals(indexCode)) { |
|
|
|
|
|
// 街道服务能力平均值
|
|
|
List<SubCommunityAvgResultDTO> dispose = communityScoreDao.selectSubCommAvgScoreExistSubNotSelfNew(monthId,IndexCodeEnum.FU_WU_NENG_LI.getCode(),form.getCustomerAreaCode(),quarterId,yearId); |
|
|
List<SubCommunityAvgResultDTO> dispose = communityScoreDao.selectSubCommAvgScoreExistSubNotSelfNew(monthId,IndexCodeEnum.FU_WU_NENG_LI.getCode(),form.getCustomerAreaCode(),quarterId,yearId); |
|
|
|
|
|
// 孔村数据处理
|
|
|
List<SubCommunityAvgResultDTO> subCommServiceAvg = disposeSubAvg(dispose,form); |
|
|
List<SubCommunityAvgResultDTO> subCommServiceAvg = disposeSubAvg(dispose,form); |
|
|
if (CollectionUtils.isEmpty(subCommServiceAvg)) { |
|
|
if (CollectionUtils.isEmpty(subCommServiceAvg)) { |
|
|
log.warn("查询街道下属社区服务能力得分平均值为空"); |
|
|
log.warn("查询街道下属社区服务能力得分平均值为空"); |
|
@ -802,6 +808,7 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
|
|
|
// 活动组织次数
|
|
|
List<Map<String, Object>> communityActivityCountList = disposeActivityCount(form); |
|
|
List<Map<String, Object>> communityActivityCountList = disposeActivityCount(form); |
|
|
if (CollectionUtils.isEmpty(communityActivityCountList)) { |
|
|
if (CollectionUtils.isEmpty(communityActivityCountList)) { |
|
|
log.warn(IndexCalConstant.STREET_SERVICE_ABILITY_NULL); |
|
|
log.warn(IndexCalConstant.STREET_SERVICE_ABILITY_NULL); |
|
@ -890,6 +897,7 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
s.setAgencyId(org.getOrgId()); |
|
|
s.setAgencyId(org.getOrgId()); |
|
|
subAvgScores.add(s); |
|
|
subAvgScores.add(s); |
|
|
}); |
|
|
}); |
|
|
|
|
|
// 把除去孔村镇的数据赋值,孔村在下边单独处理
|
|
|
subAvgScores.forEach(subScore -> { |
|
|
subAvgScores.forEach(subScore -> { |
|
|
if (!CollectionUtils.isEmpty(avgScore)){ |
|
|
if (!CollectionUtils.isEmpty(avgScore)){ |
|
|
avgScore.forEach(avg -> { |
|
|
avgScore.forEach(avg -> { |
|
@ -901,16 +909,19 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
Map<Boolean, List<SubCommunityAvgResultDTO>> groupByStatus = avgScore.stream().collect(Collectors.groupingBy(SubCommunityAvgResultDTO::getScoreStatus)); |
|
|
Map<Boolean, List<SubCommunityAvgResultDTO>> groupByStatus = avgScore.stream().collect(Collectors.groupingBy(SubCommunityAvgResultDTO::getScoreStatus)); |
|
|
|
|
|
// 孔村的党总支 数据
|
|
|
List<SubCommunityAvgResultDTO> subAvgResultDTOS = groupByStatus.get(false); |
|
|
List<SubCommunityAvgResultDTO> subAvgResultDTOS = groupByStatus.get(false); |
|
|
if (!CollectionUtils.isEmpty(subAvgResultDTOS)){ |
|
|
if (!CollectionUtils.isEmpty(subAvgResultDTOS)){ |
|
|
AtomicReference<BigDecimal> finalScore = new AtomicReference<>(new BigDecimal(NumConstant.ZERO)); |
|
|
AtomicReference<BigDecimal> finalScore = new AtomicReference<>(new BigDecimal(NumConstant.ZERO)); |
|
|
subAvgResultDTOS.forEach(sub -> { |
|
|
subAvgResultDTOS.forEach(sub -> { |
|
|
|
|
|
// 党总支的数据相加
|
|
|
finalScore.set(finalScore.get().add(sub.getScore())); |
|
|
finalScore.set(finalScore.get().add(sub.getScore())); |
|
|
}); |
|
|
}); |
|
|
|
|
|
// 党总支数据求平均值
|
|
|
BigDecimal divide = finalScore.get().divide(new BigDecimal(subAvgResultDTOS.size()),NumConstant.SIX,BigDecimal.ROUND_HALF_UP); |
|
|
BigDecimal divide = finalScore.get().divide(new BigDecimal(subAvgResultDTOS.size()),NumConstant.SIX,BigDecimal.ROUND_HALF_UP); |
|
|
subAvgScores.forEach(s -> { |
|
|
subAvgScores.forEach(s -> { |
|
|
// 孔村单独处理
|
|
|
// 孔村单独处理
|
|
|
if (s.getAgencyId().equals("1234085031077498881")){ |
|
|
if (s.getAgencyId().equals(PingYinConstant.KONG_CUN_AGENCY_ID)){ |
|
|
s.setScore(divide); |
|
|
s.setScore(divide); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
@ -918,15 +929,23 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
return subAvgScores; |
|
|
return subAvgScores; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* @Description 治理能力的六个五级指标 |
|
|
|
|
|
* @Param formDTO |
|
|
|
|
|
* @author zxc |
|
|
|
|
|
* @date 2021/5/29 9:18 上午 |
|
|
|
|
|
*/ |
|
|
public List<Map<String, Object>> disposeFiveLevel(CalculateCommonFormDTO formDTO){ |
|
|
public List<Map<String, Object>> disposeFiveLevel(CalculateCommonFormDTO formDTO){ |
|
|
String quarterId = DateUtils.getQuarterId(formDTO.getMonthId()); |
|
|
String quarterId = DateUtils.getQuarterId(formDTO.getMonthId()); |
|
|
String yearId = DateUtils.getYearId(formDTO.getMonthId()); |
|
|
String yearId = DateUtils.getYearId(formDTO.getMonthId()); |
|
|
List<Map<String, Object>> result = new ArrayList<>(); |
|
|
List<Map<String, Object>> result = new ArrayList<>(); |
|
|
List<Map<String, Object>> communityGovernAbility = factIndexGovrnAblityOrgMonthlyDao.selectCommunityGovernAbilityExistsSubNotSelfNew(formDTO.getMonthId(),formDTO.getCustomerAreaCode(), ScreenConstant.STREET,quarterId,yearId); |
|
|
// 治理能力的六个五级指标【街道】
|
|
|
List<Map<String, Object>> kongCunGovernAbility = factIndexGovrnAblityOrgMonthlyDao.selectCommunityGovernAbilityIsKongCunNew(formDTO.getMonthId(),formDTO.getCustomerAreaCode(), quarterId,yearId,"2fe0065f70ca0e23ce4c26fca5f1d933"); |
|
|
List<Map<String, Object>> communityGovernAbility = factIndexGovrnAblityOrgMonthlyDao.selectStreetGovernAbilityExistsSubNotSelfNew(formDTO.getMonthId(),formDTO.getCustomerAreaCode(), ScreenConstant.STREET,quarterId,yearId,PingYinConstant.KONG_CUN_CUSTOMER_ID); |
|
|
|
|
|
// 孔村数据单独查
|
|
|
|
|
|
List<Map<String, Object>> kongCunGovernAbility = factIndexGovrnAblityOrgMonthlyDao.selectCommunityGovernAbilityIsKongCunNew(formDTO.getMonthId(),formDTO.getCustomerAreaCode(), quarterId,yearId,PingYinConstant.KONG_CUN_CUSTOMER_ID); |
|
|
if (!CollectionUtils.isEmpty(kongCunGovernAbility)){ |
|
|
if (!CollectionUtils.isEmpty(kongCunGovernAbility)){ |
|
|
kongCunGovernAbility.forEach(k -> { |
|
|
kongCunGovernAbility.forEach(k -> { |
|
|
k.put("AGENCY_ID",k.get("PARENT_ID")); |
|
|
k.put("AGENCY_ID",k.get("AGENCY_ID")); |
|
|
k.put("PARENT_ID",NumConstant.ZERO_STR); |
|
|
k.put("PARENT_ID",NumConstant.ZERO_STR); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
@ -939,15 +958,23 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
return result; |
|
|
return result; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* @Description 活动组织次数【街道】 |
|
|
|
|
|
* @Param formDTO |
|
|
|
|
|
* @author zxc |
|
|
|
|
|
* @date 2021/5/29 9:31 上午 |
|
|
|
|
|
*/ |
|
|
public List<Map<String, Object>> disposeActivityCount(CalculateCommonFormDTO formDTO){ |
|
|
public List<Map<String, Object>> disposeActivityCount(CalculateCommonFormDTO formDTO){ |
|
|
String quarterId = DateUtils.getQuarterId(formDTO.getMonthId()); |
|
|
String quarterId = DateUtils.getQuarterId(formDTO.getMonthId()); |
|
|
String yearId = DateUtils.getYearId(formDTO.getMonthId()); |
|
|
String yearId = DateUtils.getYearId(formDTO.getMonthId()); |
|
|
List<Map<String, Object>> result = new ArrayList<>(); |
|
|
List<Map<String, Object>> result = new ArrayList<>(); |
|
|
List<Map<String, Object>> ActivityCountList = factIndexServiceAblityOrgMonthlyDao.selectActivityCountMapExistsSub(formDTO.getMonthId(),formDTO.getCustomerAreaCode()); |
|
|
// 街道级 活动组织次数查询
|
|
|
List<Map<String, Object>> kongCunActivityCountList = factIndexServiceAblityOrgMonthlyDao.selectActivityCountMapIsKongCunNew(formDTO.getMonthId(),formDTO.getCustomerAreaCode(),quarterId,yearId,"2fe0065f70ca0e23ce4c26fca5f1d933"); |
|
|
List<Map<String, Object>> ActivityCountList = factIndexServiceAblityOrgMonthlyDao.selectActivityCountMapExistsSubNew(formDTO.getMonthId(),formDTO.getCustomerAreaCode(),quarterId,yearId,PingYinConstant.KONG_CUN_CUSTOMER_ID); |
|
|
|
|
|
// 孔村活动组织次数
|
|
|
|
|
|
List<Map<String, Object>> kongCunActivityCountList = factIndexServiceAblityOrgMonthlyDao.selectActivityCountMapIsKongCunNew(formDTO.getMonthId(),formDTO.getCustomerAreaCode(),quarterId,yearId,PingYinConstant.KONG_CUN_CUSTOMER_ID); |
|
|
if (!CollectionUtils.isEmpty(kongCunActivityCountList)){ |
|
|
if (!CollectionUtils.isEmpty(kongCunActivityCountList)){ |
|
|
kongCunActivityCountList.forEach(k -> { |
|
|
kongCunActivityCountList.forEach(k -> { |
|
|
k.put("AGENCY_ID",k.get("PARENT_ID")); |
|
|
k.put("AGENCY_ID",k.get("AGENCY_ID")); |
|
|
k.put("PARENT_ID",NumConstant.ZERO_STR); |
|
|
k.put("PARENT_ID",NumConstant.ZERO_STR); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|