yanghui
2022-12-01 528d5799be8dcc8fbf5b2c4f4d942f361921070b
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java
@@ -626,17 +626,40 @@
                comActAcidColorChartsVO.setPercent(percent);
            }
        }
        Map<String, ComActAcidColorChartsVO> circleMap = comActAcidColorChartsVOS.stream().collect(Collectors.toMap(ComActAcidColorChartsVO::getCountName, Function.identity()));
        Map<String, ComActAcidColorChartsVO> circleMap = comActAcidColorChartsVOS
                .stream()
                .collect(Collectors.toMap(ComActAcidColorChartsVO::getCountName, Function.identity()));
        //月份
        List<ComActAcidColorChartsVO> comActAcidColorChartsVOS1 = this.baseMapper.selectColorMarkGroupByMonth();
        Map<String, List<ComActAcidColorChartsVO>> colorMap = comActAcidColorChartsVOS1.stream().collect(Collectors.groupingBy(ComActAcidColorChartsVO::getColorMark));
        //按颜色分组求和
        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("circleMap",circleMap);
        retMap.put("chartMap",chartMap);
        return R.ok();
        return R.ok(retMap);
    }
}