From 174347adf4b780fb6969c3d96bca3257a66409d1 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 08 四月 2026 16:51:47 +0800
Subject: [PATCH] 省立同德满意度功能提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailTraceServiceImpl.java | 67 ++++++++++++++++-----------------
1 files changed, 33 insertions(+), 34 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailTraceServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailTraceServiceImpl.java
index 6c0f49a..d49690e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailTraceServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailTraceServiceImpl.java
@@ -71,47 +71,39 @@
}
@Override
- public List<DetailTraceDealDTO> tracedeallist(DetailTraceDealVO detailTraceDealVO) {
- // 鑾峰彇鎵�鏈夐渶瑕佸鐞嗙殑璁板綍
+ public Map<String, Object> tracedeallist(DetailTraceDealVO detailTraceDealVO) {
+ // 鍒嗛〉鏌ヨ
List<ServiceSubtaskDetailTrace> tracedeallist = serviceSubtaskDetailTraceMapper.tracedeallist(detailTraceDealVO);
// 鎸� questiontext 鍒嗙粍
- Map<String, List<ServiceSubtaskDetailTrace>> groupByQuestion = tracedeallist.stream()
- .filter(t -> t.getQuestiontext() != null)
- .collect(Collectors.groupingBy(ServiceSubtaskDetailTrace::getQuestiontext));
+ Map<String, List<ServiceSubtaskDetailTrace>> groupByQuestion = tracedeallist.stream().filter(t -> t.getQuestiontext() != null).collect(Collectors.groupingBy(ServiceSubtaskDetailTrace::getQuestiontext));
List<DetailTraceDealDTO> detailTraceDealDTOList = new ArrayList<>();
+ long totalException = 0L;
+ long noDealException = 0L;
+ long yesDealException = 0L;
+
for (Map.Entry<String, List<ServiceSubtaskDetailTrace>> entry : groupByQuestion.entrySet()) {
List<ServiceSubtaskDetailTrace> group = entry.getValue();
DetailTraceDealDTO dto = new DetailTraceDealDTO();
// 闂鍐呭
dto.setQuestiontext(entry.getKey());
-
+ if (CollectionUtils.isNotEmpty(group)) {
+ dto.setScriptid(group.get(0).getScriptid());
+ dto.setTemplateType(group.get(0).getTemplateType());
+ }
// 璐熻矗绉戝锛堝幓閲嶏級
- List<Map<String, Object>> responsibleDept = group.stream()
- .filter(t -> t.getTodeptcode() != null)
- .collect(Collectors.collectingAndThen(
- Collectors.toMap(
- ServiceSubtaskDetailTrace::getTodeptcode,
- t -> {
- Map<String, Object> deptMap = new HashMap<>();
- deptMap.put("deptName", t.getTodeptname());
- deptMap.put("deptCode", t.getTodeptcode());
- return deptMap;
- },
- (existing, replacement) -> existing
- ),
- map -> new ArrayList<>(map.values())
- ));
+ List<Map<String, Object>> responsibleDept = group.stream().filter(t -> t.getTodeptcode() != null).collect(Collectors.collectingAndThen(Collectors.toMap(ServiceSubtaskDetailTrace::getTodeptcode, t -> {
+ Map<String, Object> deptMap = new HashMap<>();
+ deptMap.put("deptName", t.getTodeptname());
+ deptMap.put("deptCode", t.getTodeptcode());
+ return deptMap;
+ }, (existing, replacement) -> existing), map -> new ArrayList<>(map.values())));
dto.setResponsibleDept(responsibleDept);
// 鏈夋晥濉啓鏁帮細閫氳繃缁勫唴鐨� scriptid 鍘� service_subtask_detail 琛ㄦ煡璇�
- List<Long> scriptIds = group.stream()
- .map(ServiceSubtaskDetailTrace::getScriptid)
- .filter(Objects::nonNull)
- .distinct()
- .collect(Collectors.toList());
+ List<Long> scriptIds = group.stream().map(ServiceSubtaskDetailTrace::getScriptid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
long effectiveFillNum = 0L;
if (CollectionUtils.isNotEmpty(scriptIds)) {
ServiceSubtaskDetail query = new ServiceSubtaskDetail();
@@ -140,19 +132,26 @@
exceptionQuesNum.put("all", exceptionFillNum);
dto.setExceptionQuesNum(exceptionQuesNum);
+ // 姹囨�荤粺璁$疮鍔�
+ totalException += exceptionFillNum;
+ noDealException += noDeal;
+ yesDealException += yesDeal;
+
// 鏈�鏂板鐞嗕汉鍜屽鐞嗘椂闂达紙鍙� handleTime 鏈�鏂扮殑涓�鏉★級
- group.stream()
- .filter(t -> t.getHandleTime() != null)
- .max(Comparator.comparing(ServiceSubtaskDetailTrace::getHandleTime))
- .ifPresent(latest -> {
- dto.setHandleBy(latest.getHandleBy());
- dto.setHandleTime(latest.getHandleTime());
- });
+ group.stream().filter(t -> t.getHandleTime() != null).max(Comparator.comparing(ServiceSubtaskDetailTrace::getHandleTime)).ifPresent(latest -> {
+ dto.setHandleBy(latest.getHandleBy());
+ dto.setHandleTime(latest.getHandleTime());
+ });
detailTraceDealDTOList.add(dto);
}
- return detailTraceDealDTOList;
+ Map<String, Object> result = new HashMap<>();
+ result.put("detailTraceDealDTOList", detailTraceDealDTOList);
+ result.put("totalException", totalException);
+ result.put("noDealException", noDealException);
+ result.put("yesDealException", yesDealException);
+ return result;
}
/**
--
Gitblit v1.9.3