|
|
@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON; |
|
|
|
import com.epmet.commons.dynamic.datasource.annotation.DataSource; |
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.constant.StrConstant; |
|
|
|
import com.epmet.commons.tools.enums.KongCunCustomerEnvEnum; |
|
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.commons.tools.utils.DateUtils; |
|
|
@ -225,12 +226,14 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
log.error(IndexCalConstant.INDEX_DETAIL_LIST_NULL); |
|
|
|
return true; |
|
|
|
} |
|
|
|
String quarterId = DateUtils.getQuarterId(monthId); |
|
|
|
String yearId = DateUtils.getYearId(monthId); |
|
|
|
List<IndexInputVO> indexInputVOS = new ArrayList<>(); |
|
|
|
Map<String, String> pid = new HashMap<>(); |
|
|
|
//下属所有社区的党建能力平均值
|
|
|
|
detailListByParentCode.forEach(detail -> { |
|
|
|
if (IndexCodeEnum.JIE_DAO_XIA_SHU_SYSQDJNLHZPJZ.getCode().equals(detail.getIndexCode())) { |
|
|
|
List<SubCommunityAvgResultDTO> subCommPartyAvgScore = communityScoreDao.selectSubCommAvgScore(customerId, monthId,IndexCodeEnum.DANG_JIAN_NENG_LI.getCode()); |
|
|
|
List<SubCommunityAvgResultDTO> subCommPartyAvgScore = communityScoreDao.selectSubCommAvgScoreNew(customerId, monthId,IndexCodeEnum.DANG_JIAN_NENG_LI.getCode(),quarterId,yearId); |
|
|
|
if (CollectionUtils.isEmpty(subCommPartyAvgScore)) { |
|
|
|
log.warn(IndexCalConstant.COMMUNITY_PARTY_AVG_NULL); |
|
|
|
} else if (subCommPartyAvgScore.size() > NumConstant.ZERO) { |
|
|
@ -251,7 +254,7 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
} |
|
|
|
} else { |
|
|
|
// 街道名义发文数量
|
|
|
|
List<Map<String, Object>> mapList = factIndexPartyAblityOrgMonthlyDao.selectPublishArticleCountMap(customerId, monthId, IndexCalConstant.STREET_LEVEL); |
|
|
|
List<Map<String, Object>> mapList = factIndexPartyAblityOrgMonthlyDao.selectPublishArticleCountMapNew(customerId, monthId, IndexCalConstant.STREET_LEVEL,quarterId,yearId); |
|
|
|
if (CollectionUtils.isEmpty(mapList)) { |
|
|
|
log.warn(IndexCalConstant.STREET_PUBLISH_ARTICLE_LIST_NULL); |
|
|
|
} else { |
|
|
@ -300,11 +303,13 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
log.error(IndexCalConstant.INDEX_DETAIL_LIST_NULL); |
|
|
|
return true; |
|
|
|
} |
|
|
|
String quarterId = DateUtils.getQuarterId(monthId); |
|
|
|
String yearId = DateUtils.getYearId(monthId); |
|
|
|
List<IndexInputVO> indexInputVOS = new ArrayList<>(); |
|
|
|
Map<String, String> pid = new HashMap<>(); |
|
|
|
detailListByParentCode.forEach(detail -> { |
|
|
|
if (IndexCodeEnum.JIE_DAO_XIA_SHU_SYSQZLNLHZ.getCode().equals(detail.getIndexCode())) { |
|
|
|
List<SubCommunityAvgResultDTO> subGridGovernAvg = communityScoreDao.selectSubCommAvgScore(customerId, monthId,IndexCodeEnum.ZHI_LI_NENG_LI.getCode()); |
|
|
|
List<SubCommunityAvgResultDTO> subGridGovernAvg = communityScoreDao.selectSubCommAvgScoreNew(customerId, monthId,IndexCodeEnum.ZHI_LI_NENG_LI.getCode(),quarterId,yearId); |
|
|
|
if (CollectionUtils.isEmpty(subGridGovernAvg)){ |
|
|
|
log.warn("查询街道下属所有社区治理能力汇总为空"); |
|
|
|
}else if (subGridGovernAvg.size() > NumConstant.ZERO) { |
|
|
@ -324,7 +329,7 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
} |
|
|
|
} else { |
|
|
|
// 治理能力的六个五级指标
|
|
|
|
List<Map<String, Object>> communityGovernAbility = factIndexGovrnAblityOrgMonthlyDao.selectCommunityGovernAbility(customerId, monthId,IndexCalConstant.STREET_LEVEL); |
|
|
|
List<Map<String, Object>> communityGovernAbility = factIndexGovrnAblityOrgMonthlyDao.selectCommunityGovernAbilityNew(customerId, monthId,IndexCalConstant.STREET_LEVEL,quarterId,yearId); |
|
|
|
if (CollectionUtils.isEmpty(communityGovernAbility)){ |
|
|
|
log.warn(IndexCalConstant.STREET_GOVERN_ABILITY_NULL); |
|
|
|
}else{ |
|
|
@ -372,12 +377,14 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
log.error(IndexCalConstant.INDEX_DETAIL_LIST_NULL); |
|
|
|
return true; |
|
|
|
} |
|
|
|
String quarterId = DateUtils.getQuarterId(monthId); |
|
|
|
String yearId = DateUtils.getYearId(monthId); |
|
|
|
List<IndexInputVO> indexInputVOS = new ArrayList<>(); |
|
|
|
Map<String, String> pid = new HashMap<>(); |
|
|
|
detailListByParentCode.forEach(detail -> { |
|
|
|
String indexCode = detail.getIndexCode(); |
|
|
|
if (IndexCodeEnum.JIE_DAO_XIA_SHU_SQFWNLDFPYZ.getCode().equals(indexCode)) { |
|
|
|
List<SubCommunityAvgResultDTO> subCommServiceAvg = communityScoreDao.selectSubCommAvgScore(customerId, monthId,IndexCodeEnum.FU_WU_NENG_LI.getCode()); |
|
|
|
List<SubCommunityAvgResultDTO> subCommServiceAvg = communityScoreDao.selectSubCommAvgScoreNew(customerId, monthId,IndexCodeEnum.FU_WU_NENG_LI.getCode(),quarterId,yearId); |
|
|
|
if (CollectionUtils.isEmpty(subCommServiceAvg)) { |
|
|
|
log.warn("查询街道下属社区服务能力得分平均值为空"); |
|
|
|
} else if (subCommServiceAvg.size() > NumConstant.ZERO) { |
|
|
@ -396,7 +403,7 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
}); |
|
|
|
} |
|
|
|
} else { |
|
|
|
List<Map<String, Object>> communityActivityCountList = factIndexServiceAblityOrgMonthlyDao.selectActivityCountMap(customerId, monthId,IndexCalConstant.STREET_LEVEL); |
|
|
|
List<Map<String, Object>> communityActivityCountList = factIndexServiceAblityOrgMonthlyDao.selectActivityCountMapNew(customerId, monthId,IndexCalConstant.STREET_LEVEL,quarterId,yearId); |
|
|
|
if (CollectionUtils.isEmpty(communityActivityCountList)) { |
|
|
|
log.warn(IndexCalConstant.STREET_SERVICE_ABILITY_NULL); |
|
|
|
}else{ |
|
|
@ -610,12 +617,16 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
log.error(IndexCalConstant.INDEX_DETAIL_LIST_NULL); |
|
|
|
return true; |
|
|
|
} |
|
|
|
String quarterId = DateUtils.getQuarterId(monthId); |
|
|
|
String yearId = DateUtils.getYearId(monthId); |
|
|
|
List<IndexInputVO> indexInputVOS = new ArrayList<>(); |
|
|
|
Map<String, String> pid = new HashMap<>(); |
|
|
|
//下属所有社区的党建能力平均值
|
|
|
|
detailListByParentCode.forEach(detail -> { |
|
|
|
if (IndexCodeEnum.JIE_DAO_XIA_SHU_SYSQDJNLHZPJZ.getCode().equals(detail.getIndexCode())) { |
|
|
|
List<SubCommunityAvgResultDTO> dispose = communityScoreDao.selectSubCommAvgScoreExistSubNotSelf(monthId,IndexCodeEnum.DANG_JIAN_NENG_LI.getCode(),form.getCustomerAreaCode()); |
|
|
|
// 下属所有社区的党建能力平均值
|
|
|
|
List<SubCommunityAvgResultDTO> dispose = communityScoreDao.selectSubCommAvgScoreExistSubNotSelfNew(monthId,IndexCodeEnum.DANG_JIAN_NENG_LI.getCode(),form.getCustomerAreaCode(),quarterId,yearId); |
|
|
|
// 数据处理
|
|
|
|
List<SubCommunityAvgResultDTO> subCommPartyAvgScore = disposeSubAvg(dispose, form); |
|
|
|
if (CollectionUtils.isEmpty(subCommPartyAvgScore)) { |
|
|
|
log.warn(IndexCalConstant.COMMUNITY_PARTY_AVG_NULL); |
|
|
@ -638,7 +649,7 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
} |
|
|
|
} 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)) { |
|
|
|
log.warn(IndexCalConstant.STREET_PUBLISH_ARTICLE_LIST_NULL); |
|
|
|
} else { |
|
|
@ -688,11 +699,15 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
log.error(IndexCalConstant.INDEX_DETAIL_LIST_NULL); |
|
|
|
return true; |
|
|
|
} |
|
|
|
String quarterId = DateUtils.getQuarterId(monthId); |
|
|
|
String yearId = DateUtils.getYearId(monthId); |
|
|
|
List<IndexInputVO> indexInputVOS = new ArrayList<>(); |
|
|
|
Map<String, String> pid = new HashMap<>(); |
|
|
|
detailListByParentCode.forEach(detail -> { |
|
|
|
if (IndexCodeEnum.JIE_DAO_XIA_SHU_SYSQZLNLHZ.getCode().equals(detail.getIndexCode())) { |
|
|
|
List<SubCommunityAvgResultDTO> dispose = communityScoreDao.selectSubCommAvgScoreExistSubNotSelf(monthId,IndexCodeEnum.ZHI_LI_NENG_LI.getCode(),form.getCustomerAreaCode()); |
|
|
|
// 查询areaCode扫出所有社区级别的数据
|
|
|
|
List<SubCommunityAvgResultDTO> dispose = communityScoreDao.selectSubCommAvgScoreExistSubNotSelfNew(monthId,IndexCodeEnum.ZHI_LI_NENG_LI.getCode(),form.getCustomerAreaCode(),quarterId,yearId); |
|
|
|
// 孔村数据处理
|
|
|
|
List<SubCommunityAvgResultDTO> subGridGovernAvg = disposeSubAvg(dispose,form); |
|
|
|
if (CollectionUtils.isEmpty(subGridGovernAvg)){ |
|
|
|
log.warn("查询街道下属所有社区治理能力汇总为空"); |
|
|
@ -763,12 +778,16 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
log.error(IndexCalConstant.INDEX_DETAIL_LIST_NULL); |
|
|
|
return true; |
|
|
|
} |
|
|
|
String quarterId = DateUtils.getQuarterId(monthId); |
|
|
|
String yearId = DateUtils.getYearId(monthId); |
|
|
|
List<IndexInputVO> indexInputVOS = new ArrayList<>(); |
|
|
|
Map<String, String> pid = new HashMap<>(); |
|
|
|
detailListByParentCode.forEach(detail -> { |
|
|
|
String indexCode = detail.getIndexCode(); |
|
|
|
if (IndexCodeEnum.JIE_DAO_XIA_SHU_SQFWNLDFPYZ.getCode().equals(indexCode)) { |
|
|
|
List<SubCommunityAvgResultDTO> dispose = communityScoreDao.selectSubCommAvgScoreExistSubNotSelf(monthId,IndexCodeEnum.FU_WU_NENG_LI.getCode(),form.getCustomerAreaCode()); |
|
|
|
// 街道服务能力平均值
|
|
|
|
List<SubCommunityAvgResultDTO> dispose = communityScoreDao.selectSubCommAvgScoreExistSubNotSelfNew(monthId,IndexCodeEnum.FU_WU_NENG_LI.getCode(),form.getCustomerAreaCode(),quarterId,yearId); |
|
|
|
// 孔村数据处理
|
|
|
|
List<SubCommunityAvgResultDTO> subCommServiceAvg = disposeSubAvg(dispose,form); |
|
|
|
if (CollectionUtils.isEmpty(subCommServiceAvg)) { |
|
|
|
log.warn("查询街道下属社区服务能力得分平均值为空"); |
|
|
@ -789,6 +808,7 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
}); |
|
|
|
} |
|
|
|
} else { |
|
|
|
// 活动组织次数
|
|
|
|
List<Map<String, Object>> communityActivityCountList = disposeActivityCount(form); |
|
|
|
if (CollectionUtils.isEmpty(communityActivityCountList)) { |
|
|
|
log.warn(IndexCalConstant.STREET_SERVICE_ABILITY_NULL); |
|
|
@ -869,6 +889,7 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
} |
|
|
|
|
|
|
|
public List<SubCommunityAvgResultDTO> disposeSubAvg(List<SubCommunityAvgResultDTO> avgScore, CalculateCommonFormDTO formDTO){ |
|
|
|
// 查询处parentAreaCode = xx的组织
|
|
|
|
List<ScreenProjectOrgDailyDTO> orgIds = customerAgencyDao.selectAgencyByParentAreaCode(formDTO.getCustomerAreaCode()); |
|
|
|
List<SubCommunityAvgResultDTO> subAvgScores = new ArrayList<>(); |
|
|
|
orgIds.forEach(org -> { |
|
|
@ -876,6 +897,7 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
s.setAgencyId(org.getOrgId()); |
|
|
|
subAvgScores.add(s); |
|
|
|
}); |
|
|
|
// 把除去孔村镇的数据赋值,孔村在下边单独处理
|
|
|
|
subAvgScores.forEach(subScore -> { |
|
|
|
if (!CollectionUtils.isEmpty(avgScore)){ |
|
|
|
avgScore.forEach(avg -> { |
|
|
@ -887,16 +909,19 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
} |
|
|
|
}); |
|
|
|
Map<Boolean, List<SubCommunityAvgResultDTO>> groupByStatus = avgScore.stream().collect(Collectors.groupingBy(SubCommunityAvgResultDTO::getScoreStatus)); |
|
|
|
// 孔村的党总支 数据
|
|
|
|
List<SubCommunityAvgResultDTO> subAvgResultDTOS = groupByStatus.get(false); |
|
|
|
if (!CollectionUtils.isEmpty(subAvgResultDTOS)){ |
|
|
|
AtomicReference<BigDecimal> finalScore = new AtomicReference<>(new BigDecimal(NumConstant.ZERO)); |
|
|
|
subAvgResultDTOS.forEach(sub -> { |
|
|
|
// 党总支的数据相加
|
|
|
|
finalScore.set(finalScore.get().add(sub.getScore())); |
|
|
|
}); |
|
|
|
// 党总支数据求平均值
|
|
|
|
BigDecimal divide = finalScore.get().divide(new BigDecimal(subAvgResultDTOS.size()),NumConstant.SIX,BigDecimal.ROUND_HALF_UP); |
|
|
|
subAvgScores.forEach(s -> { |
|
|
|
// 孔村单独处理
|
|
|
|
if (s.getAgencyId().equals("1234085031077498881")){ |
|
|
|
if (s.getAgencyId().equals(PingYinConstant.KONG_CUN_AGENCY_ID)){ |
|
|
|
s.setScore(divide); |
|
|
|
} |
|
|
|
}); |
|
|
@ -904,13 +929,23 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
return subAvgScores; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 治理能力的六个五级指标 |
|
|
|
* @Param formDTO |
|
|
|
* @author zxc |
|
|
|
* @date 2021/5/29 9:18 上午 |
|
|
|
*/ |
|
|
|
public List<Map<String, Object>> disposeFiveLevel(CalculateCommonFormDTO formDTO){ |
|
|
|
String quarterId = DateUtils.getQuarterId(formDTO.getMonthId()); |
|
|
|
String yearId = DateUtils.getYearId(formDTO.getMonthId()); |
|
|
|
List<Map<String, Object>> result = new ArrayList<>(); |
|
|
|
List<Map<String, Object>> communityGovernAbility = factIndexGovrnAblityOrgMonthlyDao.selectCommunityGovernAbilityExistsSubNotSelf(formDTO.getMonthId(),formDTO.getCustomerAreaCode(), ScreenConstant.STREET); |
|
|
|
List<Map<String, Object>> kongCunGovernAbility = factIndexGovrnAblityOrgMonthlyDao.selectCommunityGovernAbilityIsKongCun(formDTO.getMonthId(),formDTO.getCustomerAreaCode()); |
|
|
|
// 治理能力的六个五级指标【街道】
|
|
|
|
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)){ |
|
|
|
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); |
|
|
|
}); |
|
|
|
} |
|
|
@ -923,13 +958,23 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 活动组织次数【街道】 |
|
|
|
* @Param formDTO |
|
|
|
* @author zxc |
|
|
|
* @date 2021/5/29 9:31 上午 |
|
|
|
*/ |
|
|
|
public List<Map<String, Object>> disposeActivityCount(CalculateCommonFormDTO formDTO){ |
|
|
|
String quarterId = DateUtils.getQuarterId(formDTO.getMonthId()); |
|
|
|
String yearId = DateUtils.getYearId(formDTO.getMonthId()); |
|
|
|
List<Map<String, Object>> result = new ArrayList<>(); |
|
|
|
List<Map<String, Object>> ActivityCountList = factIndexServiceAblityOrgMonthlyDao.selectActivityCountMapExistsSub(formDTO.getMonthId(),formDTO.getCustomerAreaCode()); |
|
|
|
List<Map<String, Object>> kongCunActivityCountList = factIndexServiceAblityOrgMonthlyDao.selectActivityCountMapIsKongCun(formDTO.getMonthId(),formDTO.getCustomerAreaCode()); |
|
|
|
// 街道级 活动组织次数查询
|
|
|
|
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)){ |
|
|
|
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); |
|
|
|
}); |
|
|
|
} |
|
|
|