From 0c9a434ca2d0521d726f9539ba0f6b2dfb52841c Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 23 五月 2025 22:40:06 +0800
Subject: [PATCH] bug修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java |   27 ++++++++++++++++-----------
 1 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java
index df35992..5e16562 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java
@@ -258,16 +258,16 @@
         //page = baseMapper.selectComplaintPage(page, query, targetId, isSuperior);
         page = baseMapper.selectComplaintPage1(page, query, accountLevel, targetId);
 
-        for (ComplaintVO s : page.getRecords()) {
+     /*   for (ComplaintVO s : page.getRecords()) {
             buttonPermission(s, systemUserByPhone, loginUserInfoVO);
             Integer auditButtonStatus = s.getAuditButtonStatus();
 
             Long reporterId = s.getReporterId();
             Long superiorId = s.getSuperiorId2();
             if (!targetId.equals(reporterId) && !targetId.equals(superiorId) && (s.getStatus() == 5)) {
-//                s.setStatus(0);
+                s.setStatus(0);
             }
-        }
+        }*/
         return page;
     }
 
@@ -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();
 
         // 诉求单量总计
@@ -1495,7 +1496,7 @@
         vo.setPostponeTransactTotal(postponeTransactTotal);
 
         // 已办结
-        int completeTransactTotal = (int) complaints.stream().filter(e -> e.getStatus() == 3).count();
+        int completeTransactTotal = (int) complaints.stream().filter(e -> e.getStatus() == 3 || e.getStatus() == 8).count();
         vo.setCompleteTransactTotal(completeTransactTotal);
 
         // 超时办理总量
@@ -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;
     }

--
Gitblit v1.7.1