From 27df1079c1d230fab29f565f5209f2a02e0def8a Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 20 七月 2026 16:56:51 +0800
Subject: [PATCH] 省立同德的功能

---
 smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml |   42 ++++++++++++++++++++++++++++--------------
 1 files changed, 28 insertions(+), 14 deletions(-)

diff --git a/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
index 2aa5822..ef03c5f 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
@@ -389,20 +389,34 @@
         <if test="leavehospitaldistrictname != null  ">and service_task.leavehospitaldistrictname =
             #{leavehospitaldistrictname}
         </if>
-        <if test="leavehospitaldistrictcodes!=null and leavehospitaldistrictcodes.size()>0">
-            AND service_task.leavehospitaldistrictcode IN
-            <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
-                     close=")">
-                #{leavehospitaldistrictcode}
-            </foreach>
-        </if>
-        <if test="leaveldeptcodes!=null and leaveldeptcodes.size()>0">
-            AND service_task.deptcode IN
-            <foreach collection="leaveldeptcodes" item="deptcode" open="(" separator=","
-                     close=")">
-                #{deptcode}
-            </foreach>
-        </if>
+        <choose>
+            <when test="(leavehospitaldistrictcodes!=null and leavehospitaldistrictcodes.size()>0) and (leaveldeptcodes!=null and leaveldeptcodes.size()>0)">
+                AND (
+                    service_task.leavehospitaldistrictcode IN
+                    <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," close=")">
+                        #{leavehospitaldistrictcode}
+                    </foreach>
+                    OR service_task.deptcode IN
+                    <foreach collection="leaveldeptcodes" item="deptcode" open="(" separator="," close=")">
+                        #{deptcode}
+                    </foreach>
+                )
+            </when>
+            <otherwise>
+                <if test="leavehospitaldistrictcodes!=null and leavehospitaldistrictcodes.size()>0">
+                    AND service_task.leavehospitaldistrictcode IN
+                    <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," close=")">
+                        #{leavehospitaldistrictcode}
+                    </foreach>
+                </if>
+                <if test="leaveldeptcodes!=null and leaveldeptcodes.size()>0">
+                    AND service_task.deptcode IN
+                    <foreach collection="leaveldeptcodes" item="deptcode" open="(" separator="," close=")">
+                        #{deptcode}
+                    </foreach>
+                </if>
+            </otherwise>
+        </choose>
         <if test="leavehospitaldistrictcode != null  ">and service_task.leavehospitaldistrictcode =
             #{leavehospitaldistrictcode}
         </if>

--
Gitblit v1.9.3