From 83ae9bfcc24103dd951558020f005852f779caab Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 12 五月 2025 11:42:40 +0800
Subject: [PATCH] Merge branch 'dev-2.0.1' of http://120.76.84.145:10101/gitblit/r/java/zhihuishenqu into dev-2.0.1
---
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java | 83 ++++++++++++++++++++++++++---------------
1 files changed, 52 insertions(+), 31 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 a091857..61842e4 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
@@ -563,8 +563,6 @@
// }
-
-
// //已办结,显示评价按钮
// int count = complaintCommentService.count(new LambdaQueryWrapper<ComplaintComment>().eq(ComplaintComment::getComplaintId, detail.getId()).eq(ComplaintComment::getDelFlag, 0));
// if(detail.getStatus() == 3 && 0 == count){
@@ -926,6 +924,7 @@
}
complaintAuditRecord.setAuditorName(systemUser.getName());
complaintAuditRecord.setAuditorPhone(systemUser.getPhone());
+ complaintAuditRecord.setAuditTime(new Date());
if (complaintReporAuditDTO.getAuditResult().equals(1)) {
complaintAuditRecord.setAuditStatus(1);
complaintAuditRecord.setAuditorId(loginUserInfoVO.getUserId());
@@ -1082,6 +1081,7 @@
}
complaintAuditRecord.setAuditorName(systemUser.getName());
complaintAuditRecord.setAuditorPhone(systemUser.getPhone());
+ complaintAuditRecord.setAuditTime(new Date());
//审核通过后,设置诉求延期
if (complaintAuditRecord.getAuditType().equals(1) && complaintAuditRecord.getAuditStatus().equals(0) && dto.getAuditResult().equals(1)) {
Complaint complaint = getById(complaintAuditRecord.getComplaintId());
@@ -1240,8 +1240,8 @@
complaintVO.setComplaintComment(comment);
ArrayList<String> voiceFileList = new ArrayList<>();
String voiceFile = complaint.getVoiceFile();
- if(StringUtils.isNotEmpty(voiceFile)){
- for (String file :voiceFile.split(",")) {
+ if (StringUtils.isNotEmpty(voiceFile)) {
+ for (String file : voiceFile.split(",")) {
voiceFileList.add(file);
}
}
@@ -1428,7 +1428,7 @@
public void updateProgress(ComplaintProcessUpdateDto dto) {
complaintProgressService.update(new LambdaUpdateWrapper<ComplaintProgress>().eq(ComplaintProgress::getId, dto.getId())
.set(ComplaintProgress::getDescribe, dto.getDescribe()).set(ComplaintProgress::getImgUrl, dto.getImgUrl())
- .set(ComplaintProgress::getVideo, dto.getVideo()) ) ;
+ .set(ComplaintProgress::getVideo, dto.getVideo()));
}
/**
@@ -1437,23 +1437,23 @@
*/
@Override
public void delProgress(Long id) {
- complaintProgressService.removeById(id);
+ complaintProgressService.removeById(id);
}
@Override
- public AnalyticStatisticsOneVo analyticStatisticsOne(AnalyticStatisticsQuery query,List<Complaint> complaints, SimpleDateFormat simpleDateFormat) {
+ public AnalyticStatisticsOneVo analyticStatisticsOne(AnalyticStatisticsQuery query, List<Complaint> complaints, SimpleDateFormat simpleDateFormat) {
String nowYearMonth;
String lastYearMonth;
int value = LocalDate.now().getMonth().getValue();
- if(value<10){
+ if (value < 10) {
nowYearMonth = LocalDate.now().getYear() + "-0" + LocalDate.now().getMonth().getValue();
- }else {
+ } else {
nowYearMonth = LocalDate.now().getYear() + "-" + LocalDate.now().getMonth().getValue();
}
int value1 = LocalDate.now().minusMonths(1).getMonth().getValue();
- if(value1<10){
+ if (value1 < 10) {
lastYearMonth = LocalDate.now().minusMonths(1).getYear() + "-0" + LocalDate.now().minusMonths(1).getMonth().getValue();
- }else {
+ } else {
lastYearMonth = LocalDate.now().minusMonths(1).getYear() + "-" + LocalDate.now().minusMonths(1).getMonth().getValue();
}
@@ -1464,12 +1464,12 @@
vo.setAllTotal(complaints.size());
// 诉求单量本月
- int thisMonthTotal = (int)complaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(nowYearMonth)).count();
- vo.setThisMonthTotal( thisMonthTotal);
+ int thisMonthTotal = (int) complaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(nowYearMonth)).count();
+ vo.setThisMonthTotal(thisMonthTotal);
// 诉求单量同比上月
- int lastMonthTotal = (int)complaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(lastYearMonth)).count();
- vo.setLastMonthCompareTotal(thisMonthTotal- lastMonthTotal);
+ int lastMonthTotal = (int) complaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(lastYearMonth)).count();
+ vo.setLastMonthCompareTotal(thisMonthTotal - lastMonthTotal);
// 正在办理
int nowTransactTotal = (int) complaints.stream().filter(e -> e.getStatus() == 0).count();
@@ -1497,25 +1497,25 @@
// 超时办理同比上月
int lastMonthOvertimeTransactTotal = (int) overtimeComplaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(lastYearMonth)).count();
- vo.setLastMonthOvertimeTransactCompareTotal(thisMonthOvertimeTransactTotal-lastMonthOvertimeTransactTotal);
+ vo.setLastMonthOvertimeTransactCompareTotal(thisMonthOvertimeTransactTotal - lastMonthOvertimeTransactTotal);
// 平均处理时长
- if(complaints.size()>0) {
+ if (complaints.size() > 0) {
double averageDay = complaints.stream().mapToDouble(v -> v.getHandlingDay() == null ? 0 : v.getHandlingDay()).average().getAsDouble();
averageDay = BigDecimal.valueOf(averageDay).setScale(2, RoundingMode.HALF_UP).doubleValue();
vo.setAverageTime(averageDay);
List<Complaint> thisMonthAverageTimeComplaints = complaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(nowYearMonth)).collect(Collectors.toList());
- if(thisMonthAverageTimeComplaints.size()>0){
+ if (thisMonthAverageTimeComplaints.size() > 0) {
double thisMonthAverageTime = thisMonthAverageTimeComplaints.stream().mapToDouble(v -> v.getHandlingDay() == null ? 0 : v.getHandlingDay()).average().getAsDouble();
thisMonthAverageTime = BigDecimal.valueOf(thisMonthAverageTime).setScale(2, RoundingMode.HALF_UP).doubleValue();
vo.setThisMonthAverageTime(thisMonthAverageTime);
}
List<Complaint> lastMonthAverageTimeComplaints = complaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(lastYearMonth)).collect(Collectors.toList());
- if(lastMonthAverageTimeComplaints.size()>0){
+ 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.setAverageTime(vo.getThisMonthAverageTime() - lastMonthAverageTime);
+ vo.setLastMonthCompareAverageTime(vo.getThisMonthAverageTime() - lastMonthAverageTime);
}
}
@@ -1523,7 +1523,7 @@
List<Complaint> commentRateComplaints = complaints.stream().filter(e -> e.getCommentRate() != null).collect(Collectors.toList());
long count = commentRateComplaints.stream().filter(e -> e.getCommentRate() > 1).count();
int size = commentRateComplaints.size();
- if(size>0){
+ if (size > 0) {
BigDecimal multiply = BigDecimal.valueOf(count).divide(new BigDecimal(size), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
vo.setSatisfactionRate(multiply.doubleValue());
@@ -1532,19 +1532,19 @@
long count1 = nowMonth.stream().filter(e -> e.getCommentRate() > 1).count();
// 当月的评价数
int nowMonthSize = nowMonth.size();
- if(nowMonthSize>0){
+ if (nowMonthSize > 0) {
BigDecimal multiply1 = BigDecimal.valueOf(count1).divide(new BigDecimal(nowMonthSize), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
vo.setThisMonthSatisfactionRate(multiply1.doubleValue());
}
- List<Complaint> lastMonth = commentRateComplaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(nowYearMonth)).collect(Collectors.toList());
+ List<Complaint> lastMonth = commentRateComplaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(lastYearMonth)).collect(Collectors.toList());
// 当月满意
long count2 = lastMonth.stream().filter(e -> e.getCommentRate() > 1).count();
// 当月的评价数
int lastMonthSize = lastMonth.size();
- if(lastMonthSize>0){
+ if (lastMonthSize > 0) {
BigDecimal multiply2 = BigDecimal.valueOf(count2).divide(new BigDecimal(lastMonthSize), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
- vo.setLastMonthCompareSatisfactionRate(vo.getThisMonthSatisfactionRate()-multiply2.doubleValue());
+ vo.setLastMonthCompareSatisfactionRate(vo.getThisMonthSatisfactionRate() - multiply2.doubleValue());
}
}
return vo;
@@ -1561,16 +1561,20 @@
complaints = complaints.stream().filter(e -> e.getCreateTime().getTime() <= parse1.getTime() && e.getCreateTime().getTime() >= parse.getTime()).collect(Collectors.toList());
int day = DateUtils.getDay(parse, parse1);
+ if (day > 30) {
+ throw new ServiceException("时间范围不能超过30天");
+ }
+
for (int i = 0; i <= day; i++) {
AnalyticStatisticsTwoVo analyticStatisticsTwoVo = new AnalyticStatisticsTwoVo();
- if(i==0){
+ if (i == 0) {
List<Complaint> collect = complaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(split[0])).collect(Collectors.toList());
analyticStatisticsTwoVo.setTime(split[0]);
analyticStatisticsTwoVo.setAllTotal(collect.size());
int count = (int) collect.stream().filter(e -> e.getStatus() == 3).count();
analyticStatisticsTwoVo.setCompleteTotal(count);
list.add(analyticStatisticsTwoVo);
- }else {
+ } else {
String nextDay = DateUtils.getNextDay(parse, i);
List<Complaint> collect = complaints.stream().filter(e -> simpleDateFormat.format(e.getCreateTime()).contains(nextDay)).collect(Collectors.toList());
analyticStatisticsTwoVo.setTime(nextDay);
@@ -1619,16 +1623,33 @@
})
.collect(Collectors.toList());
analyticStatisticsThreeVos = analyticStatisticsThreeVos.stream().sorted(Comparator.comparing(AnalyticStatisticsThreeVo::getAllTotal).reversed()).collect(Collectors.toList());
- if(query.getRank()==null){
+ if (query.getRank() == null) {
return analyticStatisticsThreeVos;
- }else if(query.getRank()==5){
- return analyticStatisticsThreeVos.stream().limit(5).collect(Collectors.toList());
- }else if(query.getRank()==10){
+ } else if (query.getRank() == 5) {
+ return analyticStatisticsThreeVos.stream().limit(5).collect(Collectors.toList());
+ } else if (query.getRank() == 10) {
return analyticStatisticsThreeVos.stream().limit(10).collect(Collectors.toList());
}
return Collections.emptyList();
}
+ @Override
+ public AnalyticStatisticsFourVo analyticStatisticsFour(List<Complaint> complaints) {
+ AnalyticStatisticsFourVo vo = new AnalyticStatisticsFourVo();
+ // 0:不满意 1:一般 2:满意 3:非常满意
+ long count = complaints.stream().filter(e -> e.getCommentRate() != null && e.getCommentRate() == 0).count();
+ long count1 = complaints.stream().filter(e -> e.getCommentRate() != null && e.getCommentRate() == 1).count();
+ long count2 = complaints.stream().filter(e -> e.getCommentRate() != null && e.getCommentRate() == 2).count();
+ long count3 = complaints.stream().filter(e -> e.getCommentRate() != null && e.getCommentRate() == 3).count();
+ 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());
+ }
+ return vo;
+ }
+
}
--
Gitblit v1.7.1