From 0d10bc99eec75672b049339399e4f762fbd9746e Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 11 九月 2026 11:45:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
index 86252e7..1141e12 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
@@ -6,10 +6,14 @@
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.service.ISysConfigService;
 import com.smartor.domain.*;
+import com.smartor.domain.DTO.QuestionResultDTO;
 import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
+import com.smartor.domain.VO.QuestionResultVO;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.service.IServiceSubtaskDetailService;
 import com.smartor.service.IServiceSubtaskService;
 import io.swagger.annotations.Api;
@@ -19,6 +23,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.ruoyi.framework.datasource.DynamicDataSourceContextHolder.log;
 
@@ -192,4 +197,41 @@
         map = ServiceSubtaskDetailService.getServiceSubtaskDetails(serviceSubtaskDetailVO);
         return map;
     }
+
+
+    /**
+     * 鏌ヨ鎮h�呴殢璁夸俊鎭�
+     */
+    @ApiOperation("鐪佺珛鍚屽痉婊℃剰搴︽暟鎹粺璁�")
+    @PostMapping("/sltaMydTotalByScore")
+    public Map<String, Object> sltaMydTotal(@RequestBody QuestionResultVO questionResultVO) {
+        List<ServiceSubtaskRes> serviceSubtaskResList = null;
+        ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
+        serviceSubtaskEntity.setServiceType(questionResultVO.getServiceType());
+        serviceSubtaskEntity.setEndOutHospTime(questionResultVO.getEndOutHospTime());
+        serviceSubtaskEntity.setStartOutHospTime(questionResultVO.getStartOutHospTime());
+        serviceSubtaskEntity.setDeptOrDistrict(questionResultVO.getDeptOrDistrict());
+        serviceSubtaskEntity.setLeavehospitaldistrictcodes(questionResultVO.getLeavehospitaldistrictcodes());
+        if (serviceSubtaskEntity != null) {
+            List<ServiceSubtask> serviceSubtasks = serviceSubtaskService.getServiceSubtasks(serviceSubtaskEntity);
+            serviceSubtaskResList = DtoConversionUtils.sourceToTarget(serviceSubtasks, ServiceSubtaskRes.class);
+        }
+        List<ServiceSubtaskDetailRatioExport> detailList = serviceSubtaskService.getDetailRatio(questionResultVO, serviceSubtaskResList);
+
+        // 鎸� questiontext 鍒嗙粍鍚庤浆鎹负 QuestionResultVO
+        List<QuestionResultDTO> result = new ArrayList<>();
+        if (!detailList.isEmpty()) {
+            Map<String, List<ServiceSubtaskDetailRatioExport>> groupedMap = detailList.stream()
+                    .collect(Collectors.groupingBy(ServiceSubtaskDetailRatioExport::getQuestiontext));
+
+            groupedMap.forEach((questionText, exportList) -> {
+                QuestionResultDTO questionResultDTO = new QuestionResultDTO();
+                questionResultDTO.setQeustionText(questionText);
+                questionResultDTO.setSubtaskDetailRatioExportList(exportList);
+                result.add(questionResultDTO);
+            });
+        }
+
+        return success(result);
+    }
 }

--
Gitblit v1.9.3