Browse Source

Merge branch 'dev_bugfix_ljj' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev

dev_shibei_match
jianjun 4 years ago
parent
commit
83df2b0a14
  1. 8
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ScoreListResultDTO.java
  2. 3
      epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml
  3. 3
      epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml
  4. 3
      epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml
  5. 24
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java
  6. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictDepartmentServiceImpl.java
  7. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java

8
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ScoreListResultDTO.java

@ -44,6 +44,12 @@ public class ScoreListResultDTO implements Serializable {
private Double subAgencyWeight; private Double subAgencyWeight;
/**
* 下级指数=indexTotalOriginScore-selfOriginScore
*/
private Double subOriginScore; private Double subOriginScore;
/**
* 下级指数四舍五入前端不用此值
*/
private Double subOriginScoreBak;
} }

3
epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml

@ -31,7 +31,8 @@
ROUND(self.self_score,1) AS selfOriginScore, ROUND(self.self_score,1) AS selfOriginScore,
self.SELF_WEIGHT AS agencyWeight, self.SELF_WEIGHT AS agencyWeight,
ROUND(self.sub_score*fact.WEIGHT, 1) AS "subAgencyScore", ROUND(self.sub_score*fact.WEIGHT, 1) AS "subAgencyScore",
ROUND(self.sub_score,1) AS subOriginScore, ROUND(self.sub_score,1) AS subOriginScoreBak,
ROUND(fact.score,1)-ROUND(self.self_score,1) as subOriginScore,
self.SUB_WEIGHT AS subAgencyWeight self.SUB_WEIGHT AS subAgencyWeight
FROM FROM
fact_index_agency_score fact fact_index_agency_score fact

3
epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml

@ -31,7 +31,8 @@
ROUND(self.self_score, 1) AS selfOriginScore, ROUND(self.self_score, 1) AS selfOriginScore,
self.SELF_WEIGHT AS agencyWeight, self.SELF_WEIGHT AS agencyWeight,
ROUND(ROUND(self.sub_score,1)*fact.WEIGHT, 1) AS "subAgencyScore", ROUND(ROUND(self.sub_score,1)*fact.WEIGHT, 1) AS "subAgencyScore",
ROUND(self.sub_score, 1) AS subOriginScore, ROUND(self.sub_score, 1) AS subOriginScoreBak,
ROUND(fact.score,1)-ROUND(self.self_score, 1) as subOriginScore,
self.SUB_WEIGHT AS subAgencyWeight self.SUB_WEIGHT AS subAgencyWeight
FROM FROM
fact_index_community_score fact fact_index_community_score fact

3
epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml

@ -31,7 +31,8 @@
ROUND(self.self_score, 1) AS selfOriginScore, ROUND(self.self_score, 1) AS selfOriginScore,
self.SELF_WEIGHT AS agencyWeight, self.SELF_WEIGHT AS agencyWeight,
ROUND(ROUND(self.sub_score,1)*fact.WEIGHT, 1) AS "subAgencyScore", ROUND(ROUND(self.sub_score,1)*fact.WEIGHT, 1) AS "subAgencyScore",
ROUND(self.sub_score, 1) AS subOriginScore, ROUND(self.sub_score, 1) AS subOriginScoreBak,
ROUND(fact.score,1)-ROUND(self.self_score, 1) as subOriginScore,
self.SUB_WEIGHT AS subAgencyWeight self.SUB_WEIGHT AS subAgencyWeight
FROM FROM
fact_index_grid_score fact fact_index_grid_score fact

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

@ -36,11 +36,8 @@ import org.springframework.util.CollectionUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap; import java.util.concurrent.atomic.AtomicInteger;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -328,8 +325,10 @@ public class CalGridIndexServiceImpl implements CalGridIndexService {
}); });
} }
//网格办结项目数 //网格办结项目数
List<GridProjectClosedTotalResultDTO> gridProjectClosedTotalList = projectMainService.selectGridClosedProject(result.stream().map(m -> m.getGridId()).collect(Collectors.toList()), monthId, ExtractConstant.CLOSED); List<String> allGridIds = result.stream().map(GovernAbilityGridMonthlyFormDTO::getGridId).collect(Collectors.toList());
List<GridProjectClosedTotalResultDTO> gridProjectClosedTotalList = projectMainService.selectGridClosedProject(allGridIds, monthId, ExtractConstant.CLOSED);
//网格吹哨部门准确率 【没被退回的项目数/项目总数 】 //网格吹哨部门准确率 【没被退回的项目数/项目总数 】
//获取网格 存在的项目id及网格Id 没有项目的网格需要过滤出来
List<TransferRightRatioResultDTO> transferRightRatioResultDTOS = projectMainService.selectTransferRightRatio(customerId, monthId); List<TransferRightRatioResultDTO> transferRightRatioResultDTOS = projectMainService.selectTransferRightRatio(customerId, monthId);
List<TransferRightRatioResultDTO> transferRightRatioResultDTOS1 = projectLogService.selectNotReturn(customerId, monthId); List<TransferRightRatioResultDTO> transferRightRatioResultDTOS1 = projectLogService.selectNotReturn(customerId, monthId);
if (!CollectionUtils.isEmpty(transferRightRatioResultDTOS1)){ if (!CollectionUtils.isEmpty(transferRightRatioResultDTOS1)){
@ -339,16 +338,19 @@ public class CalGridIndexServiceImpl implements CalGridIndexService {
}else { }else {
transferRightRatioResultDTOS.forEach(r -> r.setStatus(false)); transferRightRatioResultDTOS.forEach(r -> r.setStatus(false));
} }
Set<String> haveNotProjectSet = new HashSet<>(allGridIds);
Map<String, List<TransferRightRatioResultDTO>> groupByGridProject = transferRightRatioResultDTOS.stream().collect(Collectors.groupingBy(TransferRightRatioResultDTO::getGridId)); Map<String, List<TransferRightRatioResultDTO>> groupByGridProject = transferRightRatioResultDTOS.stream().collect(Collectors.groupingBy(TransferRightRatioResultDTO::getGridId));
Map<String,BigDecimal> notReturnMap = new HashMap<>(16); Map<String,BigDecimal> notReturnMap = new HashMap<>(16);
groupByGridProject.forEach((grid,project) -> { groupByGridProject.forEach((grid,project) -> {
AtomicReference<Integer> count = new AtomicReference<>(NumConstant.ZERO); AtomicInteger count = new AtomicInteger(NumConstant.ZERO);
project.forEach(p -> { project.forEach(p -> {
if (p.getStatus().equals(false)){ if (p.getStatus().equals(false)){
count.getAndSet(count.get() + NumConstant.ONE); count.incrementAndGet();
} }
}); });
notReturnMap.put(grid,getRound(new BigDecimal(count.get()/project.size()).multiply(NumConstant.ONE_HUNDRED_DECIMAL))); notReturnMap.put(grid,getRound(new BigDecimal(count.get()).divide(new BigDecimal(project.size()),NumConstant.EIGHT,BigDecimal.ROUND_HALF_UP).multiply(NumConstant.ONE_HUNDRED_DECIMAL)));
//把有项目数的网格剔除 只剩下没有项目的网格
haveNotProjectSet.remove(grid);
}); });
//网格内解决的项目的满意度 //网格内解决的项目的满意度
//项目评价(分值定义下非常满意100,满意80,不满意(一般)60)的人数的平均分(每个项目的参加人数的分数和/评论人数=一个项目的平均分)+其他项目得分/已关闭项目总数 //项目评价(分值定义下非常满意100,满意80,不满意(一般)60)的人数的平均分(每个项目的参加人数的分数和/评论人数=一个项目的平均分)+其他项目得分/已关闭项目总数
@ -425,6 +427,10 @@ public class CalGridIndexServiceImpl implements CalGridIndexService {
} }
}); });
} }
//如果项目数为0 则准确率设置为100
if (haveNotProjectSet.contains(r.getGridId())){
r.setTransferRightRatio(new BigDecimal(100));
}
// 5. 网格内解决的项目的满意度 // 5. 网格内解决的项目的满意度
if (!CollectionUtils.isEmpty(resultSatisfactionScore)){ if (!CollectionUtils.isEmpty(resultSatisfactionScore)){
resultSatisfactionScore.forEach((k, v) -> { resultSatisfactionScore.forEach((k, v) -> {

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

@ -122,6 +122,7 @@ public class IndexCollDistrictDepartmentServiceImpl implements IndexCollDistrict
BigDecimal sum = new BigDecimal(item.getSum()); BigDecimal sum = new BigDecimal(item.getSum());
BigDecimal one = new BigDecimal(NumConstant.ONE); BigDecimal one = new BigDecimal(NumConstant.ONE);
entity.setClosedProjectRatio(one.divide(sum.divide(count), NumConstant.SIX, RoundingMode.HALF_UP)); entity.setClosedProjectRatio(one.divide(sum.divide(count), NumConstant.SIX, RoundingMode.HALF_UP));
entity.setClosedProjectRatio(sum.divide(count).setScale(NumConstant.SIX, RoundingMode.HALF_UP));
} }
})); }));
} }

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java

@ -269,8 +269,8 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl<FactOr
//每个机关的项目平均耗时 //每个机关的项目平均耗时
BigDecimal avgCost = new BigDecimal(total).divide(new BigDecimal(v.size()),4, BigDecimal.ROUND_HALF_UP); BigDecimal avgCost = new BigDecimal(total).divide(new BigDecimal(v.size()),4, BigDecimal.ROUND_HALF_UP);
efficiencyMap.put(k,BigDecimal.ONE.divide(avgCost,4, BigDecimal.ROUND_HALF_UP)); //efficiencyMap.put(k,BigDecimal.ONE.divide(avgCost,4, BigDecimal.ROUND_HALF_UP));
efficiencyMap.put(k,avgCost.setScale(6,BigDecimal.ROUND_HALF_UP));
}else{ }else{
efficiencyMap.put(k,BigDecimal.ZERO); efficiencyMap.put(k,BigDecimal.ZERO);
} }

Loading…
Cancel
Save