liujie
2025-05-23 562e95b7cc53fe809d092ac5320eed711993bb7e
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java
@@ -1468,8 +1468,9 @@
        } else {
            lastYearMonth = LocalDate.now().minusMonths(1).getYear() + "-" + LocalDate.now().minusMonths(1).getMonth().getValue();
        }
        // 要根据驳回表来改状态
        List<Long> ids = complaints.stream().map(Complaint::getId).collect(Collectors.toList());
        complaints = this.baseMapper.getStatusForList(ids);
        AnalyticStatisticsOneVo vo = new AnalyticStatisticsOneVo();
        // 诉求单量总计
@@ -1528,6 +1529,9 @@
                BigDecimal lastMonthAverageTime1 = BigDecimal.valueOf(lastMonthAverageTime).setScale(2, RoundingMode.HALF_UP);
                vo.setLastMonthCompareAverageTime( new BigDecimal(vo.getThisMonthAverageTime()).subtract(lastMonthAverageTime1).setScale(2,RoundingMode.HALF_UP).doubleValue());
            }else {
                vo.setLastMonthCompareAverageTime( new BigDecimal(vo.getThisMonthAverageTime()).setScale(2,RoundingMode.HALF_UP).doubleValue());
            }
        }
@@ -1561,6 +1565,7 @@
        }
        return vo;
    }
    public static void main(String[] args) {
        String time = "2022-02-02 - 2023-02-02";
@@ -1609,7 +1614,7 @@
                // 近7天数据
                complaints = complaints.stream().filter(e -> e.getCreateTime().getTime() <= new Date().getTime() && e.getCreateTime().getTime() >= parse.getTime()).collect(Collectors.toList());
                for (int i = 6; i > 0; i--) {
                for (int i = 6; i >= 0; i--) {
                    // 获取前7天的时间
                    String day = DateUtils.getBeforeDay(i);
                    List<Complaint> complaintList = complaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(day)).collect(Collectors.toList());
@@ -1666,10 +1671,10 @@
        long count3 = complaints.stream().filter(e -> e.getCommentRate() != null && e.getCommentRate() == 3).count();
        vo.setGreatSatisfactionNum((int) count3);
        if (complaints.size() > 0) {
            vo.setDissatisfactionRate(BigDecimal.valueOf(count).divide(BigDecimal.valueOf(complaints.size()), 2, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).doubleValue());
            vo.setGeneralSatisfactionRate(BigDecimal.valueOf(count1).divide(BigDecimal.valueOf(complaints.size()), 2, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).doubleValue());
            vo.setSatisfactionRate(BigDecimal.valueOf(count2).divide(BigDecimal.valueOf(complaints.size()), 2, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).doubleValue());
            vo.setGreatSatisfactionRate(BigDecimal.valueOf(count3).divide(BigDecimal.valueOf(complaints.size()), 2, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).doubleValue());
            vo.setDissatisfactionRate(BigDecimal.valueOf(count).divide(BigDecimal.valueOf(complaints.size()),4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2,RoundingMode.HALF_UP).doubleValue());
            vo.setGeneralSatisfactionRate(BigDecimal.valueOf(count1).divide(BigDecimal.valueOf(complaints.size()),4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2,RoundingMode.HALF_UP).doubleValue());
            vo.setSatisfactionRate(BigDecimal.valueOf(count2).divide(BigDecimal.valueOf(complaints.size()),4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2,RoundingMode.HALF_UP).doubleValue());
            vo.setGreatSatisfactionRate(BigDecimal.valueOf(count3).divide(BigDecimal.valueOf(complaints.size()),4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2,RoundingMode.HALF_UP).doubleValue());
        }
        return vo;
    }