From 0c1f8c479065739f3c7a5126de8e667035d00b58 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 12 十月 2026 14:21:52 +0800
Subject: [PATCH] 【丽水】满意度模块化:新增 ruoyi-satisfaction 独立模块

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailTraceController.java |   47 ++++++++++++++++++-----------------------------
 1 files changed, 18 insertions(+), 29 deletions(-)

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..be3eba3 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
@@ -4,14 +4,12 @@
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.smartor.domain.DTO.DetailTraceDealDTO;
 import com.smartor.domain.ServiceSubtaskDetailTrace;
 import com.smartor.domain.VO.DetailTraceDealVO;
-import com.smartor.domain.VO.SatisfactionExceptConfigQuestionReqVO;
+import com.smartor.domain.VO.ServiceSubtaskDetailTraceVO;
 import com.smartor.service.IServiceSubtaskDetailTraceService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -45,14 +43,14 @@
     //@PreAuthorize("@ss.hasPermi('smartor:ltrace:list')")
     @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
     @PostMapping("/list")
-    public Map<String, Object> list(@RequestBody ServiceSubtaskDetailTrace serviceSubtaskDetailTrace) {
-        Integer offset = PageUtils.getOffset(serviceSubtaskDetailTrace.getPageNum(), serviceSubtaskDetailTrace.getPageSize());
-        serviceSubtaskDetailTrace.setPageNum(offset);
-        List<ServiceSubtaskDetailTrace> list = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTrace);
+    public Map<String, Object> list(@RequestBody ServiceSubtaskDetailTraceVO serviceSubtaskDetailTraceVO) {
+        Integer offset = PageUtils.getOffset(serviceSubtaskDetailTraceVO.getPageNum(), serviceSubtaskDetailTraceVO.getPageSize());
+        serviceSubtaskDetailTraceVO.setPageNum(offset);
+        List<ServiceSubtaskDetailTrace> list = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTraceVO);
 
-        serviceSubtaskDetailTrace.setPageNum(null);
-        serviceSubtaskDetailTrace.setPageSize(null);
-        List<ServiceSubtaskDetailTrace> total = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTrace);
+        serviceSubtaskDetailTraceVO.setPageNum(null);
+        serviceSubtaskDetailTraceVO.setPageSize(null);
+        List<ServiceSubtaskDetailTrace> total = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTraceVO);
 
         return getDataTable3(CollectionUtils.isNotEmpty(total) ? total.size() : 0, list);
     }
@@ -63,26 +61,16 @@
     @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
     @PostMapping("/tracedeallist")
     public Map<String, Object> tracedeallist(@RequestBody DetailTraceDealVO detailTraceDealVO) {
+        // PageUtils.getOffset 杩斿洖鐨勬槸 offset锛孲QL 閲屾寜 limit/offset 浣跨敤
         Integer offset = PageUtils.getOffset(detailTraceDealVO.getPageNum(), detailTraceDealVO.getPageSize());
         detailTraceDealVO.setPageNum(offset);
-        List<DetailTraceDealDTO> list = serviceSubtaskDetailTraceService.tracedeallist(detailTraceDealVO);
+        // 涓�娆℃煡璇㈠悓鏃惰繑鍥炲垎椤垫暟鎹�侀棶棰樻�绘暟鍜屽叏閲忔眹鎬�
+        // 锛堝師鏉ヤ负浜嗘嬁鎬绘暟鎶� method 鍙堝叏閲忚窇浜嗕竴閬嶏紝N+1 涔熻窡鐫�璺戠浜岄亶锛�
+        Map<String, Object> result = serviceSubtaskDetailTraceService.tracedeallist(detailTraceDealVO);
 
-        detailTraceDealVO.setPageNum(null);
-        detailTraceDealVO.setPageSize(null);
-        List<DetailTraceDealDTO> total = serviceSubtaskDetailTraceService.tracedeallist(detailTraceDealVO);
-
-        return getDataTable3(CollectionUtils.isNotEmpty(total) ? total.size() : 0, list);
-    }
-
-    /**
-     * 鑾峰彇婊℃剰搴﹀紓甯搁厤缃鐩�
-     */
-    @ApiOperation("鑾峰彇婊℃剰搴﹀紓甯搁厤缃鐩�")
-    @PostMapping("/getSatisfactionExceptConfigQuestion")
-    public Map<String, Object> getSatisfactionExceptConfigQuestion(@RequestBody SatisfactionExceptConfigQuestionReqVO questionReqVO) {
-        log.info("鑾峰彇婊℃剰搴﹀紓甯搁厤缃鐩殑鍏ュ弬: {}", questionReqVO);
-        Map<String, Object> satisfactionExceptConfigQuestion = serviceSubtaskDetailTraceService.getSatisfactionExceptConfigQuestion(questionReqVO);
-        return satisfactionExceptConfigQuestion;
+        Object questionTotal = result.get("questionTotal");
+        long total = questionTotal == null ? 0L : Long.parseLong(String.valueOf(questionTotal));
+        return getDataTable3(total, result);
     }
 
     /**
@@ -92,8 +80,8 @@
     //@PreAuthorize("@ss.hasPermi('smartor:ltrace:export')")
     @Log(title = "闅忚浠诲姟寮傚父璁板綍璺熻釜", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, ServiceSubtaskDetailTrace serviceSubtaskDetailTrace) {
-        List<ServiceSubtaskDetailTrace> list = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTrace);
+    public void export(HttpServletResponse response, ServiceSubtaskDetailTraceVO serviceSubtaskDetailTraceVO) {
+        List<ServiceSubtaskDetailTrace> list = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTraceVO);
         ExcelUtil<ServiceSubtaskDetailTrace> util = new ExcelUtil<ServiceSubtaskDetailTrace>(ServiceSubtaskDetailTrace.class);
         util.exportExcel(response, list, "闅忚浠诲姟寮傚父璁板綍璺熻釜鏁版嵁");
     }
@@ -129,6 +117,7 @@
     @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
     @PostMapping("/edit")
     public AjaxResult edit(@RequestBody ServiceSubtaskDetailTrace serviceSubtaskDetailTrace) {
+        if (serviceSubtaskDetailTrace.getPatdescJson() != null) serviceSubtaskDetailTrace.setPatdesc(serviceSubtaskDetailTrace.getPatdescJson().toJSONString());
         return toAjax(serviceSubtaskDetailTraceService.updateServiceSubtaskDetailTtrace(serviceSubtaskDetailTrace));
     }
 

--
Gitblit v1.9.3