From 5ec41335471a9f1ad9a851cd70e27936325bae7f Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 22 五月 2025 20:04:24 +0800
Subject: [PATCH] 修改bug

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java |   34 ++++++++++++++++++++++++----------
 1 files changed, 24 insertions(+), 10 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 bd87f5c..df35992 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
@@ -265,7 +265,7 @@
             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;
@@ -643,7 +643,12 @@
             PartyMember partyMember = identityInformationVO.getPartyMember();
             name = partyMember.getName();
         }
-        Complaint complaint = BeanUtil.copyProperties(dto, Complaint.class);
+
+        Long complaintId = dto.getId();
+        Complaint complaint = this.getById(complaintId);
+        Date createTime = complaint.getCreateTime();
+        complaint = BeanUtil.copyProperties(dto, Complaint.class);
+
         complaint.setUpdateTime(new Date());
         complaint.setCompletionUserId(loginUserInfoVO.getUserId());
         complaint.setCompletionUsername(name);
@@ -651,7 +656,6 @@
         complaint.setCompletionTime(new Date());
         complaint.setCompletionUserLevel(accountLevel);
         // 计算处理时间
-        Date createTime = complaint.getCreateTime();
         long l = Duration.between(createTime.toInstant(), complaint.getCompletionTime().toInstant()).getSeconds() / 3600;
         double handlingDay = new BigDecimal(l).divide(new BigDecimal("24"), 2, RoundingMode.HALF_UP).doubleValue();
         complaint.setHandlingDay(handlingDay);
@@ -1097,6 +1101,11 @@
         }
         //审核不通过
         if (complaintAuditRecord.getAuditType().equals(1) && complaintAuditRecord.getAuditStatus().equals(0) && dto.getAuditResult().equals(2)) {
+            Complaint complaint = getById(complaintAuditRecord.getComplaintId());
+            // 设置为正在办理
+            complaint.setStatus(0);
+            updateById(complaint);
+
             complaintAuditRecord.setRejectReason(dto.getRejectReason());
             complaintAuditRecord.setAuditStatus(2);
             complaintAuditRecord.setAuditorId(loginUserInfoVO.getUserId());
@@ -1465,7 +1474,6 @@
 
         // 诉求单量总计
         vo.setAllTotal(complaints.size());
-
         // 诉求单量本月
         int thisMonthTotal = (int) complaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(nowYearMonth)).count();
         vo.setThisMonthTotal(thisMonthTotal);
@@ -1517,8 +1525,9 @@
             List<Complaint> lastMonthAverageTimeComplaints = complaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(lastYearMonth)).collect(Collectors.toList());
             if (lastMonthAverageTimeComplaints.size() > 0) {
                 double lastMonthAverageTime = lastMonthAverageTimeComplaints.stream().mapToDouble(v -> v.getHandlingDay() == null ? 0 : v.getHandlingDay()).average().getAsDouble();
-                lastMonthAverageTime = BigDecimal.valueOf(lastMonthAverageTime).setScale(2, RoundingMode.HALF_UP).doubleValue();
-                vo.setLastMonthCompareAverageTime(vo.getThisMonthAverageTime() - lastMonthAverageTime);
+                BigDecimal lastMonthAverageTime1 = BigDecimal.valueOf(lastMonthAverageTime).setScale(2, RoundingMode.HALF_UP);
+
+                vo.setLastMonthCompareAverageTime( new BigDecimal(vo.getThisMonthAverageTime()).subtract(lastMonthAverageTime1).setScale(2,RoundingMode.HALF_UP).doubleValue());
             }
 
         }
@@ -1558,6 +1567,7 @@
         String[] split = time.split(" - ");
         System.out.println(split[0]);
     }
+
     @Override
     public List<AnalyticStatisticsTwoVo> analyticStatisticsTwo(String time, List<Complaint> complaints, SimpleDateFormat simpleDateFormat) {
         ArrayList<AnalyticStatisticsTwoVo> list = new ArrayList<>();
@@ -1644,13 +1654,17 @@
     @Override
     public AnalyticStatisticsFourVo analyticStatisticsFour(List<Complaint> complaints) {
         // 只计算评分了的
-        complaints = complaints.stream().filter(e ->e.getCommentRate() != null).collect(Collectors.toList());
+        complaints = complaints.stream().filter(e -> e.getCommentRate() != null).collect(Collectors.toList());
         AnalyticStatisticsFourVo vo = new AnalyticStatisticsFourVo();
         // 0:不满意 1:一般 2:满意 3:非常满意
         long count = complaints.stream().filter(e -> e.getCommentRate() != null && e.getCommentRate() == 0).count();
+        vo.setDissatisfactionNum((int) count);
         long count1 = complaints.stream().filter(e -> e.getCommentRate() != null && e.getCommentRate() == 1).count();
+        vo.setGeneralSatisfactionNum((int) count1);
         long count2 = complaints.stream().filter(e -> e.getCommentRate() != null && e.getCommentRate() == 2).count();
+        vo.setSatisfactionRateNum((int) count2);
         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());
@@ -1673,7 +1687,7 @@
             targetId = partyMember.getId();
         } else if (identity.equals(2)) {
             //上级
-            if (Objects.nonNull(query.getTier()) && !query.getTier().equals(-1)) {
+            if (Objects.nonNull(query.getTier()) && query.getTier().equals(-1)) {
                 accountLevel = systemUserLevel.getLevel();
                 switch (systemUserLevel.getLevel()) {
                     case 1:
@@ -1693,12 +1707,12 @@
                         targetId = systemUserLevel.getCommunityId();
                         break;
                 }
-            }else {
+            } else {
                 targetId = Long.valueOf(query.getAreaId());
                 accountLevel = query.getTier();
             }
         }
-        return baseMapper.queryCompliantList(targetId, accountLevel, loginUserInfo);
+        return baseMapper.queryCompliantList(targetId, accountLevel, loginUserInfo, query);
     }
 }
 

--
Gitblit v1.7.1