Browse Source

Merge remote-tracking branch 'origin/dev_bugfix_ljj' into dev

dev_shibei_match
zxc 4 years ago
parent
commit
afa065da89
  1. 42
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java
  2. 38
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml

42
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java

@ -357,33 +357,23 @@ public class CalGridIndexServiceImpl implements CalGridIndexService {
// 根据网格分组 // 根据网格分组
Map<String, List<ProjectEvaluateResultDTO>> groupByGrid = projectEvaluateList.stream().collect(Collectors.groupingBy(ProjectEvaluateResultDTO::getGridId)); Map<String, List<ProjectEvaluateResultDTO>> groupByGrid = projectEvaluateList.stream().collect(Collectors.groupingBy(ProjectEvaluateResultDTO::getGridId));
groupByGrid.forEach((gridId,projectEvaluateInfoList) -> { groupByGrid.forEach((gridId,projectEvaluateInfoList) -> {
Map<String,Integer> scoreMap = new HashMap<>(16); projectEvaluateInfoList.forEach(p -> {
// 根据项目分组 switch (p.getActionCode()) {
Map<String, List<ProjectEvaluateResultDTO>> groupByProject = projectEvaluateInfoList.stream().collect(Collectors.groupingBy(ProjectEvaluateResultDTO::getProjectId)); case ExtractConstant.EVALUATE_BAD:
groupByProject.forEach((projectId,projectList) -> { p.setScore(ProjectEvaluateConstant.BAD);
projectList.forEach(project -> { break;
switch (project.getActionCode()) { case ExtractConstant.EVALUATE_GOOD:
case ExtractConstant.EVALUATE_BAD: p.setScore(ProjectEvaluateConstant.GOOD);
project.setScore(ProjectEvaluateConstant.BAD); break;
break; case ExtractConstant.EVALUATE_PERFECT:
case ExtractConstant.EVALUATE_GOOD: p.setScore(ProjectEvaluateConstant.PERFECT);
project.setScore(ProjectEvaluateConstant.GOOD); break;
break; default:
case ExtractConstant.EVALUATE_PERFECT: log.warn("calGridIndexGovernAbility other projectEvaluate,actionCode:{}", p.getActionCode());
project.setScore(ProjectEvaluateConstant.PERFECT); }
break;
default:
log.warn("calGridIndexGovernAbility other projectEvaluate,actionCode:{}", project.getActionCode());
}
});
Integer projectAllScore = projectList.stream().mapToInt(ProjectEvaluateResultDTO::getScore).sum();
scoreMap.put(projectId,projectAllScore/projectList.size());
});
AtomicReference<Integer> allScore = new AtomicReference<>(0);
scoreMap.forEach((k,v) -> {
allScore.set(++v);
}); });
resultSatisfactionScore.put(gridId,getRound(new BigDecimal(allScore.get()/scoreMap.size()))); Integer projectAllScore = projectEvaluateInfoList.stream().collect(Collectors.summingInt(ProjectEvaluateResultDTO::getScore));
resultSatisfactionScore.put(gridId,getRound(new BigDecimal(projectAllScore/projectEvaluateInfoList.size())));
}); });
} }
String quarterId = DateUtils.getQuarterId(monthId); String quarterId = DateUtils.getQuarterId(monthId);

38
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml

@ -266,24 +266,26 @@
</select> </select>
<!-- 查询机关办结次数 --> <!-- 查询机关办结次数 -->
<select id="selectAgencyHandledProjectCount" resultType="com.epmet.dto.extract.result.ProjectParticipatedAgencyResultDTO"> <select id="selectAgencyHandledProjectCount" resultType="com.epmet.dto.extract.result.ProjectParticipatedAgencyResultDTO">
SELECT SELECT
SUBSTRING_INDEX(main.FINISH_ORG_IDS,':',1) AS agencyId, ORG_ID AS "agencyId",
COUNT(main.ID) AS count COUNT( PROJECT_ID ) AS count
FROM fact_origin_project_main_daily main FROM
LEFT JOIN fact_origin_project_log_daily log fact_origin_project_log_daily
ON main.ID = log.PROJECT_ID AND log.DEL_FLAG = '0' AND log.ACTION_CODE = 'close' WHERE
WHERE main.DEL_FLAG = '0' DEL_FLAG = '0'
AND main.CUSTOMER_ID = #{customerId} AND ACTION_CODE = 'close'
<if test="null != agencies and agencies.size() > 0"> AND CUSTOMER_ID = #{customerId}
<foreach collection="agencies" item="item" open="AND ( " separator=" OR " close=" ) "> AND ORG_TYPE = 'agency'
main.FINISH_ORG_IDS LIKE concat(#{item},'%') <if test="null != agencies and agencies.size() > 0">
</foreach> <foreach collection="agencies" item="item" open="AND ( " separator=" OR " close=" ) ">
</if> ORG_ID = #{item}
</foreach>
<if test='null != dimId and "" != dimId.trim()'> </if>
AND log.ID IS NOT NULL AND log.MONTH_ID = #{dimId} <if test='null != dimId and "" != dimId.trim()'>
</if> AND MONTH_ID = #{dimId}
GROUP BY SUBSTRING_INDEX(main.FINISH_ORG_IDS,':',1) </if>
GROUP BY
ORG_ID
</select> </select>
<!-- 查询评价周期内各级别机关办结的项目Id --> <!-- 查询评价周期内各级别机关办结的项目Id -->
<select id="selectProjectIdHandledByAgency" resultType="com.epmet.dto.extract.result.ProjectParticipatedAgencyResultDTO"> <select id="selectProjectIdHandledByAgency" resultType="com.epmet.dto.extract.result.ProjectParticipatedAgencyResultDTO">

Loading…
Cancel
Save