Browse Source

street优化

master
zxc 4 years ago
parent
commit
fc3798c9df
  1. 18
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/PingYinConstant.java
  2. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/indexcal/CommunityScoreDao.java
  3. 34
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/indexcoll/FactIndexGovrnAblityOrgMonthlyDao.java
  4. 23
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/indexcoll/FactIndexServiceAblityOrgMonthlyDao.java
  5. 43
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/IndexCalculateStreetServiceImpl.java
  6. 7
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/indexcal/CommunityScoreDao.xml
  7. 34
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/indexcoll/FactIndexGovrnAblityOrgMonthlyDao.xml
  8. 13
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/indexcoll/FactIndexServiceAblityOrgMonthlyDao.xml

18
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/PingYinConstant.java

@ -0,0 +1,18 @@
package com.epmet.constant;
/**
* @Author zxc
* @DateTime 2021/5/29 9:04 上午
* @DESC
*/
public interface PingYinConstant {
String KONG_CUN_AGENCY_ID = "1234085031077498881";
String KONG_CUN_CUSTOMER_ID = "2fe0065f70ca0e23ce4c26fca5f1d933";
String JIN_SHUI_AGENCY_ID = "1215437824174608386";
String JIN_SHUI__CUSTOMER_ID = "f5ff0770f409981c73adda6ae35143ef";
String YU_SHAN_AGENCY_ID = "";
String YU_SHAN_CUSTOMER_ID = "a4bbf298d8e427844038cee466f022ef";
}

11
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/indexcal/CommunityScoreDao.java

@ -98,6 +98,17 @@ public interface CommunityScoreDao extends BaseDao<FactIndexCommunityScoreEntity
* @date 2021/1/15 下午3:19
*/
List<SubCommunityAvgResultDTO> selectSubCommAvgScoreExistSubNotSelf(@Param("monthId")String monthId, @Param("indexCode")String indexCode,@Param("areaCode")String areaCode);
/**
* @Description 街道下级社区平均分
* @Param monthId
* @Param indexCode
* @Param areaCode
* @Param quarterId
* @Param yearId
* @author zxc
* @date 2021/5/29 9:28 上午
*/
List<SubCommunityAvgResultDTO> selectSubCommAvgScoreExistSubNotSelfNew(@Param("monthId")String monthId, @Param("indexCode")String indexCode,@Param("areaCode")String areaCode,
@Param("quarterId")String quarterId,@Param("yearId")String yearId);

34
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/indexcoll/FactIndexGovrnAblityOrgMonthlyDao.java

@ -78,7 +78,30 @@ public interface FactIndexGovrnAblityOrgMonthlyDao extends BaseDao<FactIndexGovr
*/
List<Map<String,Object>> selectCommunityGovernAbilityExistsSub(@Param("monthId")String monthId,@Param("areaCode")String areaCode);
List<Map<String,Object>> selectCommunityGovernAbilityExistsSubNotSelf(@Param("monthId")String monthId,@Param("areaCode")String areaCode,@Param("level")String level);
/**
* @Description 社区治理能力六个五级指标
* @Param monthId
* @Param areaCode
* @Param level
* @Param quarterId
* @Param yearId
* @author zxc
* @date 2021/5/29 9:22 上午
*/
List<Map<String,Object>> selectCommunityGovernAbilityExistsSubNotSelfNew(@Param("monthId")String monthId,@Param("areaCode")String areaCode,@Param("level")String level,@Param("quarterId")String quarterId,@Param("yearId")String yearId);
/**
* @Description 治理能力的六个五级指标
* @Param monthId
* @Param areaCode
* @Param level
* @Param quarterId
* @Param yearId
* @author zxc
* @date 2021/5/29 9:18 上午
*/
List<Map<String,Object>> selectStreetGovernAbilityExistsSubNotSelfNew(@Param("monthId")String monthId,@Param("areaCode")String areaCode,@Param("level")String level,@Param("quarterId")String quarterId,@Param("yearId")String yearId,@Param("customerId")String customerId);
/**
* @Description 孔村单独查询
* @Param monthId
@ -87,6 +110,17 @@ public interface FactIndexGovrnAblityOrgMonthlyDao extends BaseDao<FactIndexGovr
* @date 2021/3/11 下午5:21
*/
List<Map<String,Object>> selectCommunityGovernAbilityIsKongCun(@Param("monthId")String monthId,@Param("areaCode")String areaCode,@Param("customerId")String customerId);
/**
* @Description 孔村治理能力六个五级指标查询
* @Param monthId
* @Param areaCode
* @Param quarterId
* @Param yearId
* @Param customerId
* @author zxc
* @date 2021/5/29 9:26 上午
*/
List<Map<String,Object>> selectCommunityGovernAbilityIsKongCunNew(@Param("monthId")String monthId,@Param("areaCode")String areaCode,@Param("quarterId")String quarterId,@Param("yearId")String yearId,@Param("customerId")String customerId);
/**

23
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/indexcoll/FactIndexServiceAblityOrgMonthlyDao.java

@ -89,8 +89,29 @@ public interface FactIndexServiceAblityOrgMonthlyDao extends BaseDao<FactIndexSe
* @date 2021/1/15 下午1:53
*/
List<Map<String,Object>> selectActivityCountMapExistsSub(@Param("monthId")String monthId,@Param("areaCode")String areaCode);
List<Map<String,Object>> selectActivityCountMapExistsSubNew(@Param("monthId")String monthId,@Param("areaCode")String areaCode,@Param("quarterId")String quarterId,@Param("yearId")String yearId);
/**
* @Description 街道级 活动组织次数查询
* @Param monthId
* @Param areaCode
* @Param quarterId
* @Param yearId
* @author zxc
* @date 2021/5/29 9:36 上午
*/
List<Map<String,Object>> selectActivityCountMapExistsSubNew(@Param("monthId")String monthId,@Param("areaCode")String areaCode,@Param("quarterId")String quarterId,@Param("yearId")String yearId,@Param("customerId")String customerId);
List<Map<String,Object>> selectActivityCountMapIsKongCun(@Param("monthId")String monthId,@Param("areaCode")String areaCode,@Param("customerId")String customerId);
/**
* @Description 孔村活动组织次数
* @Param monthId
* @Param areaCode
* @Param quarterId
* @Param yearId
* @Param customerId
* @author zxc
* @date 2021/5/29 9:37 上午
*/
List<Map<String,Object>> selectActivityCountMapIsKongCunNew(@Param("monthId")String monthId,@Param("areaCode")String areaCode,@Param("quarterId")String quarterId,@Param("yearId")String yearId,@Param("customerId")String customerId);
List<Map<String,Object>> selectActivityCountMapExistsSubNotSelf(@Param("monthId")String monthId,@Param("areaCode")String areaCode);
List<Map<String,Object>> selectActivityCountMapExistsSubNotSelfNew(@Param("monthId")String monthId,@Param("areaCode")String areaCode,@Param("quarterId")String quarterId,@Param("yearId")String yearId);

43
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/IndexCalculateStreetServiceImpl.java

@ -624,7 +624,9 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ
//下属所有社区的党建能力平均值
detailListByParentCode.forEach(detail -> {
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> subCommPartyAvgScore = disposeSubAvg(dispose, form);
if (CollectionUtils.isEmpty(subCommPartyAvgScore)) {
log.warn(IndexCalConstant.COMMUNITY_PARTY_AVG_NULL);
@ -647,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 {
@ -703,7 +705,9 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ
Map<String, String> pid = new HashMap<>();
detailListByParentCode.forEach(detail -> {
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> subGridGovernAvg = disposeSubAvg(dispose,form);
if (CollectionUtils.isEmpty(subGridGovernAvg)){
log.warn("查询街道下属所有社区治理能力汇总为空");
@ -781,7 +785,9 @@ public class IndexCalculateStreetServiceImpl implements IndexCalculateStreetServ
detailListByParentCode.forEach(detail -> {
String indexCode = detail.getIndexCode();
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> subCommServiceAvg = disposeSubAvg(dispose,form);
if (CollectionUtils.isEmpty(subCommServiceAvg)) {
log.warn("查询街道下属社区服务能力得分平均值为空");
@ -802,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);
@ -890,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 -> {
@ -901,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);
}
});
@ -918,15 +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.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)){
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);
});
}
@ -939,15 +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.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)){
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);
});
}

7
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/indexcal/CommunityScoreDao.xml

@ -147,6 +147,7 @@
OR cs.INDEX_CODE = "fuwunengli")
</select>
<!-- 街道下社区平均数 -->
<select id="selectSubCommAvgScoreExistSubNotSelfNew" resultType="com.epmet.dto.indexcal.SubCommunityAvgResultDTO">
SELECT
sca.AGENCY_ID AS agencyId,
@ -157,8 +158,8 @@
sca.customer_id,
sca.pid AS parentId
FROM screen_customer_agency sca
LEFT JOIN fact_index_community_score fics ON
( sca.AGENCY_ID = fics.PARENT_AGENCY_ID
LEFT JOIN fact_index_community_score fics ON
( sca.AGENCY_ID = fics.AGENCY_ID
AND fics.del_flag = '0'
AND fics.month_id = #{monthId}
AND fics.index_code = #{indexCode}
@ -166,7 +167,7 @@
WHERE sca.DEL_FLAG = 0
AND sca.AREA_CODE LIKE CONCAT(#{areaCode},'%')
AND sca.`LEVEL` = 'community'
GROUP BY agencyId
GROUP BY parentId
</select>
<select id="selectSubCommAvgScoreExistSubNotSelf"
resultType="com.epmet.dto.indexcal.SubCommunityAvgResultDTO">

34
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/indexcoll/FactIndexGovrnAblityOrgMonthlyDao.xml

@ -228,6 +228,7 @@
AND gm.PARENT_ID = '0'
</select>
<!-- 【社区】治理能力六个五级指标 -->
<select id="selectCommunityGovernAbilityExistsSubNotSelfNew" resultType="java.util.Map">
SELECT
sca.AGENCY_ID,
@ -251,7 +252,8 @@
AND gm.PARENT_ID = '0'
)
WHERE sca.DEL_FLAG = '0'
AND sca.PARENT_AREA_CODE =#{areaCode}
AND sca.AREA_CODE LIKE CONCAT('370124','%')
AND sca.`LEVEL` = #{level}
</select>
<!-- 孔村单独查询 -->
@ -281,6 +283,8 @@
AND sca.CUSTOMER_ID = #{customerId}
AND gm.PARENT_ID != '0'
</select>
<!-- 孔村治理能力六个五级指标查询 -->
<select id="selectCommunityGovernAbilityIsKongCunNew" resultType="java.util.Map">
SELECT
sca.AGENCY_ID,
@ -308,4 +312,32 @@
AND sca.CUSTOMER_ID = #{customerId}
AND sca.PID = '0'
</select>
<!-- 【street】治理能力的六个五级指标 -->
<select id="selectStreetGovernAbilityExistsSubNotSelfNew" resultType="java.util.Map">
SELECT
sca.AGENCY_ID,
sca.PID AS PARENT_ID,
#{monthId} AS MONTH_ID,
#{quarterId} AS QUARTER_ID,
#{yearId} AS YEAR_ID,
IFNULL(gm.TRANSFERED_COUNT,0) AS TRANSFERED_COUNT,
IFNULL(gm.CLOSED_PROJECT_COUNT,0) AS CLOSED_PROJECT_COUNT,
IFNULL(gm.RESP_PROJECT_RATIO,0) AS RESP_PROJECT_RATIO,
IFNULL(gm.OVERDUE_PROJECT_RATIO,0) AS OVERDUE_PROJECT_RATIO,
IFNULL(gm.CLOSED_PROJECT_RATIO,0) AS CLOSED_PROJECT_RATIO,
IFNULL(gm.SATISFACTION_RATIO,0) AS SATISFACTION_RATIO,
IFNULL(gm.HANDLE_PROJECT_RATIO,0) AS HANDLE_PROJECT_RATIO
FROM screen_customer_agency sca
LEFT JOIN fact_index_govrn_ablity_org_monthly gm ON
(sca.AGENCY_ID = gm.AGENCY_ID
AND gm.del_flag = '0'
AND gm.month_id = #{monthId}
AND gm.DATA_TYPE = #{level}
AND gm.PARENT_ID = '0'
)
WHERE sca.DEL_FLAG = '0'
AND sca.PARENT_AREA_CODE =#{areaCode}
AND sca.CUSTOMER_ID != #{customerId}
</select>
</mapper>

13
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/indexcoll/FactIndexServiceAblityOrgMonthlyDao.xml

@ -194,6 +194,8 @@
AND sm.month_id = #{monthId}
AND sm.PARENT_ID != '0'
</select>
<!-- 街道级 活动组织次数查询 -->
<select id="selectActivityCountMapExistsSubNew" resultType="java.util.Map">
SELECT
sca.AGENCY_ID,
@ -204,7 +206,7 @@
IFNULL(sm.ACTIVITY_COUNT,0) AS ACTIVITY_COUNT,
sca.CUSTOMER_ID
FROM screen_customer_agency sca
LEFT JOIN fact_index_service_ablity_org_monthly sm ON
LEFT JOIN fact_index_service_ablity_org_monthly sm ON
(sm.AGENCY_ID = sca.AGENCY_ID
AND sm.del_flag = '0'
AND sm.DATA_TYPE = 'street'
@ -212,11 +214,11 @@
AND sm.PARENT_ID = '0'
)
WHERE sca.DEL_FLAG = '0'
AND sca.AREA_CODE LIKE CONCAT(#{areaCode},'%')
AND sca.AREA_CODE != #{areaCode}
AND sca.PARENT_AREA_CODE = #{areaCode}
AND sca.CUSTOMER_ID != #{customerId}
</select>
<!-- 孔村活动组织次数 -->
<select id="selectActivityCountMapIsKongCunNew" resultType="java.util.Map">
SELECT
sca.AGENCY_ID,
@ -224,7 +226,7 @@
#{monthId} AS MONTH_ID,
#{quarterId} AS QUARTER_ID,
#{yearId} AS YEAR_ID,
ROUND(SUM(sm.ACTIVITY_COUNT),6) AS ACTIVITY_COUNT,
IFNULL(SUM(sm.ACTIVITY_COUNT),0) AS ACTIVITY_COUNT,
sca.CUSTOMER_ID
FROM screen_customer_agency sca
LEFT JOIN fact_index_service_ablity_org_monthly sm ON
@ -237,7 +239,6 @@
WHERE sca.DEL_FLAG = '0'
AND sca.PARENT_AREA_CODE = #{areaCode}
AND sca.CUSTOMER_ID = #{customerId}
AND sca.PID = '0'
</select>
<select id="selectActivityCountMapExistsSubNotSelfNew" resultType="java.util.Map">

Loading…
Cancel
Save