Browse Source

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

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

26
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));
groupByProject.forEach((projectId,projectList) -> {
projectList.forEach(project -> {
switch (project.getActionCode()) {
case ExtractConstant.EVALUATE_BAD: case ExtractConstant.EVALUATE_BAD:
project.setScore(ProjectEvaluateConstant.BAD); p.setScore(ProjectEvaluateConstant.BAD);
break; break;
case ExtractConstant.EVALUATE_GOOD: case ExtractConstant.EVALUATE_GOOD:
project.setScore(ProjectEvaluateConstant.GOOD); p.setScore(ProjectEvaluateConstant.GOOD);
break; break;
case ExtractConstant.EVALUATE_PERFECT: case ExtractConstant.EVALUATE_PERFECT:
project.setScore(ProjectEvaluateConstant.PERFECT); p.setScore(ProjectEvaluateConstant.PERFECT);
break; break;
default: default:
log.warn("calGridIndexGovernAbility other projectEvaluate,actionCode:{}", project.getActionCode()); log.warn("calGridIndexGovernAbility other projectEvaluate,actionCode:{}", p.getActionCode());
} }
}); });
Integer projectAllScore = projectList.stream().mapToInt(ProjectEvaluateResultDTO::getScore).sum(); Integer projectAllScore = projectEvaluateInfoList.stream().collect(Collectors.summingInt(ProjectEvaluateResultDTO::getScore));
scoreMap.put(projectId,projectAllScore/projectList.size()); resultSatisfactionScore.put(gridId,getRound(new BigDecimal(projectAllScore/projectEvaluateInfoList.size())));
});
AtomicReference<Integer> allScore = new AtomicReference<>(0);
scoreMap.forEach((k,v) -> {
allScore.set(++v);
});
resultSatisfactionScore.put(gridId,getRound(new BigDecimal(allScore.get()/scoreMap.size())));
}); });
} }
String quarterId = DateUtils.getQuarterId(monthId); String quarterId = DateUtils.getQuarterId(monthId);

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

@ -267,23 +267,25 @@
<!-- 查询机关办结次数 --> <!-- 查询机关办结次数 -->
<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'
AND CUSTOMER_ID = #{customerId}
AND ORG_TYPE = 'agency'
<if test="null != agencies and agencies.size() > 0"> <if test="null != agencies and agencies.size() > 0">
<foreach collection="agencies" item="item" open="AND ( " separator=" OR " close=" ) "> <foreach collection="agencies" item="item" open="AND ( " separator=" OR " close=" ) ">
main.FINISH_ORG_IDS LIKE concat(#{item},'%') ORG_ID = #{item}
</foreach> </foreach>
</if> </if>
<if test='null != dimId and "" != dimId.trim()'> <if test='null != dimId and "" != dimId.trim()'>
AND log.ID IS NOT NULL AND log.MONTH_ID = #{dimId} AND MONTH_ID = #{dimId}
</if> </if>
GROUP BY SUBSTRING_INDEX(main.FINISH_ORG_IDS,':',1) 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