From 85a54f184e8b0ac52a475f8e32a7df601da0ec54 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 19 一月 2026 09:53:16 +0800
Subject: [PATCH] 【市一】/smartor/serviceSubtask/queryTaskByCondition 查询优化

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   10 +++++-----
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskPreachformMapper.xml  |   11 +++++++++++
 smartor/src/main/java/com/smartor/mapper/ServiceSubtaskPreachformMapper.java  |   11 +++++++++++
 3 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskPreachformMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskPreachformMapper.java
index b136f2b..b46a06d 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskPreachformMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskPreachformMapper.java
@@ -1,6 +1,8 @@
 package com.smartor.mapper;
 
 import java.util.List;
+
+import com.smartor.domain.ServiceSubtask;
 import org.apache.ibatis.annotations.Mapper;
 import com.smartor.domain.ServiceSubtaskPreachform;
 
@@ -70,4 +72,13 @@
      * @return 缁撴灉
      */
     public int deleteServiceSubtaskPreachformByIds(Long[] ids);
+
+    /**
+     * 鏍规嵁taskid鏌ヨ鍒楄〃
+     *
+     * @param subtask
+     * @return 闆嗗悎
+     */
+    public List<ServiceSubtaskPreachform> selectBySubtask(ServiceSubtask subtask);
+
 }
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 1559e6d..37b6c64 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -231,7 +231,8 @@
         } catch (JsonProcessingException e) {
             e.printStackTrace();
         }
-
+        List<ServiceSubtaskPreachform> serviceSubtaskPreachformLists =
+                    serviceSubtaskPreachformMapper.selectBySubtask(serviceSubtask);
         for (ServiceSubtask serviceSubtask1 : list) {
             PatTaskRelevance patTaskRelevance = new PatTaskRelevance();
             if (!serviceSubtask1.getHospType().equals("2")) {
@@ -288,10 +289,9 @@
             }
 
             //鑾峰彇璇ユ偅鑰呮墍鏈夌殑鎵ц鐘舵��
-            ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
-            serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
-            serviceSubtaskPreachform.setSubid(serviceSubtask1.getId());
-            List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+            List<ServiceSubtaskPreachform> serviceSubtaskPreachformList =
+                serviceSubtaskPreachformLists.stream().filter((item -> item.getSubid().equals(serviceSubtask1.getId())
+                            && item.getTaskid().equals(serviceTask.getTaskid()))).collect(Collectors.toList());
             List<Map<String, Object>> resultList = serviceSubtaskPreachformList.stream().map(item -> {
                 Map<String, Object> map = new HashMap<>();
                 map.put("sort", item.getSort());
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskPreachformMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskPreachformMapper.xml
index 50e4d92..c5a44ee 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskPreachformMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskPreachformMapper.xml
@@ -274,5 +274,16 @@
         </foreach>
     </update>
 
+    <select id="selectBySubtask" parameterType="com.smartor.domain.ServiceSubtask" resultMap="ServiceSubtaskPreachformResult">
+        <include refid="selectServiceSubtaskPreachformVo"/>
+        WHERE del_flag = 0
+        <!-- 鍏朵粬鏉′欢 -->
+        <if test="taskid != null">
+            AND taskid = #{taskid}
+        </if>
+        <if test="orgid != null and orgid != ''">
+            AND orgid = #{orgid}
+        </if>
+    </select>
 
 </mapper>

--
Gitblit v1.9.3