From 174347adf4b780fb6969c3d96bca3257a66409d1 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 08 四月 2026 16:51:47 +0800
Subject: [PATCH] 省立同德满意度功能提交
---
ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java | 19 +++---
smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospReqVO.java | 6 ++
smartor/src/main/java/com/smartor/domain/DTO/DetailTraceDealDTO.java | 16 +++++
smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailTraceService.java | 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailTraceController.java | 13 +++-
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailTraceServiceImpl.java | 67 +++++++++++-----------
6 files changed, 76 insertions(+), 49 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
index 95c30e0..b39c527 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
@@ -21,16 +21,15 @@
public static void main(String[] args) {
// System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(RuoYiApplication.class, args);
- System.out.println("(鈾モ棤鈥库棤)锞夛緸 鏅烘収鏈嶅姟鍚姩鎴愬姛 醿�(麓凇`醿�)锞� \n" +
- " .-------. ____ __ \n" +
- " | _ _ \\ \\ \\ / / \n" +
- " | ( ' ) | \\ _. / ' \n" +
- " |(_ o _) / _( )_ .' \n" +
- " | (_,_).' __ ___(_ o _)' \n" +
- " | |\\ \\ | || |(_,_)' \n" +
- " | | \\ `' /| `-' / \n" +
- " | | \\ / \\ / \n" +
- " ''-' `'-' `-..-' ");
+ System.out.println(" 鏅烘収鏈嶅姟鍚姩鎴愬姛 \n" +
+
+ " 鈻堚枅鈺� 鈻堚枅鈺� 鈻堚枅鈻堚枅鈻堚枅鈺� 鈻堚枅鈻堚枅鈻堚枅鈺梊n" +
+ " 鈻堚枅鈺� 鈻堚枅鈺� 鈻堚枅鈺斺晲鈺愨枅鈻堚晽 鈻堚枅鈺斺晲鈺愨晲鈺愨暆\n" +
+ " 鈻堚枅鈻堚枅鈻堚枅鈻堚晳 鈻堚枅鈻堚枅鈻堚枅鈺斺暆 鈻堚枅鈻堚枅鈻堚晽\n" +
+ " 鈻堚枅鈺斺晲鈺愨枅鈻堚晳 鈻堚枅鈺斺晲鈺愨枅鈻堚晽 鈺氣晲鈺愨晲鈺愨枅鈻堚晽\n" +
+ " 鈻堚枅鈺� 鈻堚枅鈺� 鈻堚枅鈺� 鈻堚枅鈺� 鈻堚枅鈻堚枅鈻堚枅鈺斺暆\n" +
+ " 鈺氣晲鈺� 鈺氣晲鈺� 鈺氣晲鈺� 鈺氣晲鈺� 鈺氣晲鈺愨晲鈺愨晲鈺漒n" +
+ " 浜� 灏� 鏃禱n");
// //寮�鍚疭OCKET
// new SocketCommunication().socketCommunication();
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailTraceController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailTraceController.java
index c8b026b..0b9d204 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailTraceController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailTraceController.java
@@ -65,13 +65,20 @@
public Map<String, Object> tracedeallist(@RequestBody DetailTraceDealVO detailTraceDealVO) {
Integer offset = PageUtils.getOffset(detailTraceDealVO.getPageNum(), detailTraceDealVO.getPageSize());
detailTraceDealVO.setPageNum(offset);
- List<DetailTraceDealDTO> list = serviceSubtaskDetailTraceService.tracedeallist(detailTraceDealVO);
+ Map<String, Object> result = serviceSubtaskDetailTraceService.tracedeallist(detailTraceDealVO);
+ // 鏌ヨ鎬绘暟锛堜笉鍒嗛〉锛�
detailTraceDealVO.setPageNum(null);
detailTraceDealVO.setPageSize(null);
- List<DetailTraceDealDTO> total = serviceSubtaskDetailTraceService.tracedeallist(detailTraceDealVO);
+ Map<String, Object> totalResult = serviceSubtaskDetailTraceService.tracedeallist(detailTraceDealVO);
+ List<?> totalRows = (List<?>) totalResult.get("rows");
- return getDataTable3(CollectionUtils.isNotEmpty(total) ? total.size() : 0, list);
+ //灏嗘�绘暟淇℃伅娣诲姞鍒扮粨鏋滀腑
+ result.put("totalException", totalResult.get("totalException"));
+ result.put("noDealException", totalResult.get("noDealException"));
+ result.put("yesDealException", totalResult.get("yesDealException"));
+
+ return getDataTable3(CollectionUtils.isNotEmpty(totalRows) ? totalRows.size() : 0, result);
}
/**
diff --git a/smartor/src/main/java/com/smartor/domain/DTO/DetailTraceDealDTO.java b/smartor/src/main/java/com/smartor/domain/DTO/DetailTraceDealDTO.java
index 160e1b9..29a12de 100644
--- a/smartor/src/main/java/com/smartor/domain/DTO/DetailTraceDealDTO.java
+++ b/smartor/src/main/java/com/smartor/domain/DTO/DetailTraceDealDTO.java
@@ -29,6 +29,22 @@
@Excel(name = "闂鍐呭")
private String questiontext;
+
+ /**
+ * 闂ID
+ */
+ @ApiModelProperty("闂ID")
+ @Excel(name = "闂ID")
+ private Long scriptid;
+
+
+
+ /**
+ * 妯℃澘绫诲瀷锛�1.璇煶 2.闂嵎
+ */
+ @ApiModelProperty("妯℃澘绫诲瀷锛�1.璇煶 2.闂嵎")
+ @Excel(name = "妯℃澘绫诲瀷锛�1.璇煶 2.闂嵎")
+ private Integer templateType;
/**
* [{
* "deptName": "绉戝鍚嶇О",
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospReqVO.java b/smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospReqVO.java
index fd3f5b3..aa0724d 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospReqVO.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospReqVO.java
@@ -16,6 +16,12 @@
@ApiModelProperty(value = "闄㈠尯ID")
private Long campusId;
+ @ApiModelProperty(value = "褰撳墠椤�")
+ private Long current;
+
+ @ApiModelProperty(value = "姣忛〉鏁伴噺")
+ private Long size;
+
@ApiModelProperty(value = "鎮h�呭鍚� 蹇呭~涓�涓�")
private String patientName;
diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailTraceService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailTraceService.java
index 9e76f15..27e4e0d 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailTraceService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailTraceService.java
@@ -36,9 +36,9 @@
/**
* 寮傚父闂澶勭悊鎯呭喌鏌ヨ
* @param detailTraceDealVO
- * @return
+ * @return 鍖呭惈鍒嗛〉鍒楄〃鍙婃眹鎬荤粺璁★紙totalException/noDealException/yesDealException锛夌殑Map
*/
- public List<DetailTraceDealDTO> tracedeallist(DetailTraceDealVO detailTraceDealVO);
+ public Map<String, Object> tracedeallist(DetailTraceDealVO detailTraceDealVO);
/**
* 鏂板闅忚浠诲姟寮傚父璁板綍璺熻釜
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