From 6ca5681ce55056d2a298ea9917d3ffedb97a50e7 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 28 十月 2026 13:46:05 +0800
Subject: [PATCH] 【丽水】collectUser\collectDept 同步调整

---
 ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml |   66 ++++++++++++++++++++++++++-------
 1 files changed, 52 insertions(+), 14 deletions(-)

diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
index 89b18cf..ab800a8 100644
--- a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
+++ b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
@@ -488,27 +488,41 @@
     </select>
 
     <select id="yhyksxx" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserDeptResult">
-        select user_id , user_code , dept_type ,dept_code,dept_name,deptparent,del_flag,orgid
-        FROM healthy_user_dept
+        select ud.user_id , ud.user_code , ud.dept_type ,ud.dept_code,ud.dept_name,ud.deptparent,ud.del_flag,ud.orgid
+        FROM healthy_user_dept ud
         where 1=1
-        and user_id != 'admin'
-        and dept_type = '1'
+        and ud.user_id != 'admin'
+        and ud.dept_type = '1'
         <if test="orgid != null and orgid != ''">
-            AND orgid = #{orgid}
+            AND ud.orgid = #{orgid}
         </if>
-        <if test="hisUserId != null ">and user_id = #{hisUserId}</if>
+        <if test="hisUserId != null ">and ud.user_id = #{hisUserId}</if>
+        <if test="campusid != null and campusid != ''">
+            AND EXISTS (
+                SELECT 1 FROM healthy_dept d
+                WHERE d.his_dept_id = ud.dept_code
+                  AND d.orgid = #{campusid}
+            )
+        </if>
     </select>
 
     <select id="yhybfxx" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserDeptResult">
-        select user_id , user_code , dept_type ,dept_code,dept_name,deptparent,del_flag,orgid
-        FROM healthy_user_dept
+        select ud.user_id , ud.user_code , ud.dept_type ,ud.dept_code,ud.dept_name,ud.deptparent,ud.del_flag,ud.orgid
+        FROM healthy_user_dept ud
         where 1=1
-        and user_id != 'admin'
-        and dept_type = '2'
+        and ud.user_id != 'admin'
+        and ud.dept_type = '2'
         <if test="orgid != null and orgid != ''">
-            AND orgid = #{orgid}
+            AND ud.orgid = #{orgid}
         </if>
-        <if test="hisUserId != null ">and user_id = #{hisUserId}</if>
+        <if test="hisUserId != null ">and ud.user_id = #{hisUserId}</if>
+        <if test="campusid != null and campusid != ''">
+            AND EXISTS (
+                SELECT 1 FROM healthy_dept d
+                WHERE d.his_dept_id = ud.dept_code
+                  AND d.orgid = #{campusid}
+            )
+        </if>
     </select>
 
     <select id="yhyyqxx" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserOrgResult">
@@ -526,7 +540,7 @@
         <if test="hisUserId != null ">
             AND ud.user_id = #{hisUserId}
         </if>
-        <if test="campusid != null">
+        <if test="campusid != null and campusid != ''">
             AND d.orgid = #{campusid}
         </if>
         union all
@@ -544,7 +558,7 @@
         <if test="hisUserId != null ">
             AND udb.user_id = #{hisUserId}
         </if>
-        <if test="campusid != null">
+        <if test="campusid != null and campusid != ''">
             AND d.orgid = #{campusid}
         </if>
     </select>
@@ -769,6 +783,30 @@
             <if test="orgid != null and orgid != ''">
                 AND u.orgid = #{orgid}
             </if>
+            <if test="lastStartTime != null and lastStartTime != ''">
+                AND u.last_Update_Time &gt;= to_date(#{lastStartTime}, 'YYYY-MM-DD HH24:MI:SS')
+            </if>
+            <if test="lastEndTime != null and lastEndTime != ''">
+                AND u.last_Update_Time &lt;= to_date(#{lastEndTime}, 'YYYY-MM-DD HH24:MI:SS')
+            </if>
+            <if test="campusid != null and campusid != ''">
+                AND (
+                    EXISTS (
+                        SELECT 1
+                        FROM healthy_user_dept ud
+                        JOIN healthy_dept d ON d.his_dept_id = ud.dept_code
+                        WHERE ud.user_id = u.his_user_id
+                          AND d.orgid = #{campusid}
+                    )
+                    OR EXISTS (
+                        SELECT 1
+                        FROM healthy_user_dept_bf udb
+                        JOIN healthy_dept d2 ON d2.his_dept_id = udb.dept_code
+                        WHERE udb.user_id = u.his_user_id
+                          AND d2.orgid = #{campusid}
+                    )
+                )
+            </if>
             <if test="userId != null and userId != 0">
                 AND u.user_id = #{userId}
             </if>

--
Gitblit v1.9.3