From 2a212f983f35e1c569dfec3a172fb5f0c9f85fac Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期二, 06 十二月 2022 13:43:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/haucheng_panzhihua' into haucheng_panzhihua --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 56 insertions(+), 3 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java index 8d95c93..45ade73 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java @@ -29,9 +29,9 @@ import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; import static com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNotEmpty; import static com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNull; @@ -609,4 +609,57 @@ } return 3; } + + /** + * 统计红黄绿码 + * @return + */ + public R selectColorMarkGroup(){ + //所有 + List<ComActAcidColorChartsVO> comActAcidColorChartsVOS = this.baseMapper.selectColorMarkGroup(); + int all = comActAcidColorChartsVOS.stream().mapToInt(ComActAcidColorChartsVO::getCountNum).sum(); + for (ComActAcidColorChartsVO comActAcidColorChartsVO : comActAcidColorChartsVOS) { + if (0!=all){ + BigDecimal countNum = new BigDecimal(comActAcidColorChartsVO.getCountNum()); + BigDecimal allDecimal = new BigDecimal(all); + BigDecimal percent = countNum.divide(allDecimal,2, BigDecimal.ROUND_HALF_DOWN); + comActAcidColorChartsVO.setPercent(percent); + } + } +// Map<String, ComActAcidColorChartsVO> circleMap = comActAcidColorChartsVOS +// .stream() +// .collect(Collectors.toMap(ComActAcidColorChartsVO::getColorMark, Function.identity())); + + //月份 + List<ComActAcidColorChartsVO> comActAcidColorChartsVOS1 = this.baseMapper.selectColorMarkGroupByMonth(); + //按颜色分组求和 + Map<String, IntSummaryStatistics> colorCollect = comActAcidColorChartsVOS1 + .stream() + .collect(Collectors.groupingBy(ComActAcidColorChartsVO::getColorMark, + Collectors.summarizingInt(ComActAcidColorChartsVO::getCountNum))); + + for (ComActAcidColorChartsVO comActAcidColorChartsVO : comActAcidColorChartsVOS1) { + String colorMark = comActAcidColorChartsVO.getColorMark(); + if (colorCollect.containsKey(colorMark)){ + IntSummaryStatistics intSummaryStatistics = colorCollect.get(colorMark); + long sum = intSummaryStatistics.getSum(); + if (0L!=sum) { + BigDecimal countNum = new BigDecimal(comActAcidColorChartsVO.getCountNum()); + BigDecimal sumDecimal = new BigDecimal(sum); + BigDecimal percent = countNum.divide(sumDecimal, 2, BigDecimal.ROUND_HALF_DOWN); + comActAcidColorChartsVO.setPercent(percent); + } + } + } + Map<String, Map<String, ComActAcidColorChartsVO>> chartMap = comActAcidColorChartsVOS1 + .stream() + .collect(Collectors.groupingBy(ComActAcidColorChartsVO::getCountName, + Collectors.toMap(ComActAcidColorChartsVO::getColorMark, Function.identity()))); + + Map<String,Object> retMap = new HashMap<>(); + retMap.put("comActAcidColorChartsVOS",comActAcidColorChartsVOS); + retMap.put("chartMap",chartMap); + + return R.ok(retMap); + } } -- Gitblit v1.7.1