From c8fbebc0d6e4142233cffe5a1808f1df685bda2c Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 18 九月 2026 15:06:31 +0800
Subject: [PATCH] 【市一】随访增加院区限制

---
 smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml |   55 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 39 insertions(+), 16 deletions(-)

diff --git a/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
index 2aa5822..a0b670f 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
@@ -30,6 +30,7 @@
         <result property="isupload" column="isupload"/>
         <result property="uploadTime" column="upload_time"/>
         <result property="orgid" column="orgid"/>
+        <result property="campusid" column="campusid"/>
         <result property="pid" column="pid"/>
         <result property="guid" column="guid"/>
         <result property="preachform" column="preachform"/>
@@ -115,6 +116,7 @@
                leavehospitaldistrictcode,
                leavehospitaldistrictname,
                orgid,
+               campusid,
                nexttaskflag,
                nexttaskid,
                nexttaskname,
@@ -161,6 +163,7 @@
         <if test="isupload != null ">and isupload = #{isupload}</if>
         <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
         <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
+        <if test="campusid != null  and campusid != ''">and campusid = #{campusid}</if>
         <if test="compensateDate != null  and compensateDate != ''">and compensate_date = #{compensateDate}</if>
         <if test="hospType != null  and hospType != ''">and hosp_type = #{hospType}</if>
         <if test="libtemplateid != null ">and libtemplateid = #{libtemplateid}</if>
@@ -252,7 +255,8 @@
         service_task.nexttaskflag,
         service_task.nexttaskid,
         service_task.nexttaskname,
-        service_task.orgid from service_task
+        service_task.orgid,
+        service_task.campusid from service_task
         where 1=1
         and service_task.del_flag = 0
         <!--            and taskid in (-->
@@ -342,7 +346,8 @@
         <if test="deptname != null  and deptname != ''">and service_task.deptname = #{deptname}</if>
         <if test="isupload != null ">and service_task.isupload = #{isupload}</if>
         <if test="uploadTime != null ">and service_task.upload_time = #{uploadTime}</if>
-        <if test="orgid != null  and orgid != ''">and service_task.orgid = #{orgid}</if>
+        <if test="orgid != null and orgid != ''">and service_task.orgid = #{orgid}</if>
+        <if test="campusid != null and campusid != ''">and service_task.campusid = #{campusid}</if>
         <if test="compensateDate != null  and compensateDate != ''">and service_task.compensate_date =
             #{compensateDate}
         </if>
@@ -370,6 +375,7 @@
         <if test="isupload != null ">and service_task.isupload = #{isupload}</if>
         <if test="uploadTime != null ">and service_task.upload_time = #{uploadTime}</if>
         <if test="orgid != null  and orgid != ''">and service_task.orgid = #{orgid}</if>
+        <if test="campusid != null  and campusid != ''">and service_task.campusid = #{campusid}</if>
         <if test="compensateDate != null  and compensateDate != ''">and service_task.compensate_date =
             #{compensateDate}
         </if>
@@ -389,20 +395,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>
@@ -441,6 +461,7 @@
             <if test="isupload != null">isupload,</if>
             <if test="uploadTime != null">upload_time,</if>
             <if test="orgid != null">orgid,</if>
+            <if test="campusid != null and campusid != ''">campusid,</if>
             <if test="pid != null">pid,</if>
             <if test="guid != null">guid,</if>
             <if test="preachform != null">preachform,</if>
@@ -494,6 +515,7 @@
             <if test="isupload != null">#{isupload},</if>
             <if test="uploadTime != null">#{uploadTime},</if>
             <if test="orgid != null">#{orgid},</if>
+            <if test="campusid != null and campusid != ''">#{campusid},</if>
             <if test="nexttaskflag != null">#{nexttaskflag},</if>
             <if test="nexttaskid != null">#{nexttaskid},</if>
             <if test="nexttaskname != null">#{nexttaskname},</if>
@@ -554,6 +576,7 @@
             <if test="isupload != null">isupload = #{isupload},</if>
             <if test="uploadTime != null">upload_time = #{uploadTime},</if>
             <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="campusid != null and campusid != ''">campusid = #{campusid},</if>
             <if test="nexttaskflag != null">nexttaskflag = #{nexttaskflag},</if>
             <if test="nexttaskid != null">nexttaskid = #{nexttaskid},</if>
             <if test="nexttaskname != null and nexttaskname!=''">nexttaskname = #{nexttaskname},</if>

--
Gitblit v1.9.3