From 2d3b575ed96eee7ccd5b324baa3135d2236934ac Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 13 十一月 2026 16:39:37 +0800
Subject: [PATCH] 【市一】1、登录服务问题处理 2、电话挂断问题处理 3、查询报错问题处理

---
 ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml |  108 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 80 insertions(+), 28 deletions(-)

diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 3c24a94..9075330 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -50,7 +50,6 @@
         <result property="orderNum" column="order_num"/>
         <result property="leader" column="leader"/>
         <result property="status" column="dept_status"/>
-        <result property="campusid" column="campusid"/>
     </resultMap>
 
     <resultMap id="RoleResult" type="com.ruoyi.common.core.domain.entity.SysRole">
@@ -67,7 +66,6 @@
                u.dept_id,
                u.id_card,
                u.hosp_info,
-               u.campusid,
                u.dept_info,
                u.searchscope,
                u.user_name,
@@ -93,6 +91,7 @@
                u.remark,
                u.guid,
                u.orgid,
+               u.campusid,
                d.dept_id,
                d.parent_id,
                d.ancestors,
@@ -117,21 +116,19 @@
         u.nick_name, u.user_name,
         u.email,u.id_card,
         u.avatar,
-        u.campusid,
         u.dept_name,
         u.dept_code,
         u.birthday,
         u.job_phone,
         u.phonenumber, u.sex, u.status,
-        u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name from sys_user
-        u
+        u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
+        u.orgid,u.campusid,
+        d.dept_name
+        from sys_user u
         left join sys_user_dept d on u.user_id = d.user_id
         where u.del_flag = '0'
         <if test="userId != null">
             AND u.user_id = #{userId}
-        </if>
-        <if test="orgid != null and orgid != ''">
-            AND u.orgid = #{orgid}
         </if>
         <if test="userName != null and userName != ''">
             AND u.user_name like concat('%', #{userName}, '%')
@@ -141,9 +138,6 @@
         </if>
         <if test="status != null and status != ''">
             AND u.status = #{status}
-        </if>
-        <if test="campusid != null and campusid != ''">
-            AND u.campusid = #{campusid}
         </if>
         <if test="idCard != null and idCard != ''">
             AND u.id_card = #{idCard}
@@ -179,12 +173,28 @@
             AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},
             ancestors) ))
         </if>
+        <if test="hospInfoCodeList != null and hospInfoCodeList.size() > 0">
+            <!-- 绉戝澶� Code 浠讳竴鍖归厤锛欴001,D003 绛変环浜� D001 鎴� D003锛岄『搴忔棤鍏� -->
+            AND (
+            <foreach collection="hospInfoCodeList" item="code" separator=" OR ">
+                u.hosp_info LIKE concat('%"', #{code}, '"%')
+            </foreach>
+            )
+        </if>
+        <if test="deptInfoCodeList != null and deptInfoCodeList.size() > 0">
+            <!-- 鐥呭尯澶� Code 浠讳竴鍖归厤锛歐001,W003 绛変环浜� W001 鎴� W003锛岄『搴忔棤鍏� -->
+            AND (
+            <foreach collection="deptInfoCodeList" item="code" separator=" OR ">
+                u.dept_info LIKE concat('%"', #{code}, '"%')
+            </foreach>
+            )
+        </if>
         <!-- 鏁版嵁鑼冨洿杩囨护 -->
         ${params.dataScope}
     </select>
     <select id="getUserList" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserResult">
         select u.user_id,u.title,u.his_user_id,u.hosp_info,u.dept_info, u.searchscope, u.dept_id, u.user_type,
-        u.nick_name, u.user_name,u.campusid,
+        u.nick_name, u.user_name,
         u.email,u.id_card,
         u.avatar,
         u.dept_name,
@@ -192,16 +202,18 @@
         u.birthday,
         u.job_phone,
         u.phonenumber, u.sex, u.status,
-        u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark from sys_user u
+        u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
+        u.orgid, u.campusid
+        from sys_user u
         where u.del_flag = '0'
+        <if test="orgid != null">
+            AND u.orgid = #{orgid}
+        </if>
         <if test="userId != null">
             AND u.user_id = #{userId}
         </if>
-        <if test="orgid != null and orgid != ''">
-            AND u.orgid = #{orgid}
-        </if>
-        <if test="campusid != null and campusid != ''">
-            AND u.campusid = #{campusid}
+        <if test="userCode != null">
+            AND u.user_code = #{userCode}
         </if>
         <if test="userName != null and userName != ''">
             AND u.user_name like concat('%', #{userName}, '%')
@@ -246,7 +258,43 @@
             AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},
             ancestors) ))
         </if>
+        <if test="hospInfoCodeList != null and hospInfoCodeList.size() > 0">
+            <!-- 绉戝澶� Code 浠讳竴鍖归厤锛欴001,D003 绛変环浜� D001 鎴� D003锛岄『搴忔棤鍏� -->
+            AND (
+            <foreach collection="hospInfoCodeList" item="code" separator=" OR ">
+                u.hosp_info LIKE concat('%"', #{code}, '"%')
+            </foreach>
+            )
+        </if>
+        <if test="deptInfoCodeList != null and deptInfoCodeList.size() > 0">
+            <!-- 鐥呭尯澶� Code 浠讳竴鍖归厤锛歐001,W003 绛変环浜� W001 鎴� W003锛岄『搴忔棤鍏� -->
+            AND (
+            <foreach collection="deptInfoCodeList" item="code" separator=" OR ">
+                u.dept_info LIKE concat('%"', #{code}, '"%')
+            </foreach>
+            )
+        </if>
         <if test="pageSize != null  and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if>
+    </select>
+
+    <select id="selectUsersForRepairUserDept" resultMap="SysUserResult">
+        select u.user_id,
+               u.user_name,
+               u.orgid,
+               u.campusid,
+               u.hosp_info,
+               u.dept_info
+        from sys_user u
+        where u.del_flag = '0'
+          and ((u.hosp_info is not null and u.hosp_info != '' and u.hosp_info != '[]')
+            or (u.dept_info is not null and u.dept_info != '' and u.dept_info != '[]'))
+        <if test="orgid != null and orgid != ''">
+            AND u.orgid = #{orgid}
+        </if>
+        <if test="userId != null">
+            AND u.user_id = #{userId}
+        </if>
+        order by u.user_id
     </select>
 
     <select id="selectAllocatedList" parameterType="com.ruoyi.common.core.domain.entity.SysUser"
@@ -257,7 +305,6 @@
         u.email,
         u.dept_code,
         u.dept_name,
-        u.campusid,
         u.birthday,
         u.job_phone,
         u.phonenumber, u.status,u.id_card,
@@ -287,7 +334,6 @@
             resultMap="SysUserResult">
         select distinct u.user_id, u.dept_id, u.hosp_info, u.dept_info,u.searchscope, u.user_name, u.user_type,
         u.nick_name,
-        u.campusid,
         u.email,
         u.his_user_id,
         u.title,
@@ -321,8 +367,8 @@
 
     <select id="selectUserByUserNameByCondition" parameterType="String" resultMap="SysUserResult">
         <include refid="selectUserVo"/>
-        <where>
-            u.del_flag = '0'
+        where 1=1
+            AND u.del_flag = '0'
             <if test="userName != null and userName != ''">
                 AND u.user_name = #{userName}
             </if>
@@ -332,7 +378,6 @@
             <if test="deptId != null and deptId != ''">
                 AND u.dept_id = #{deptId}
             </if>
-        </where>
     </select>
 
     <select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
@@ -340,11 +385,18 @@
         where u.user_id = #{userId}
     </select>
 
-    <select id="checkUserNameUnique" parameterType="String" resultMap="SysUserResult">
+    <select id="checkUserNameUnique" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserResult">
         select user_id, user_name
         from sys_user
         where user_name = #{userName}
-          and del_flag = '0' limit 1
+        and del_flag = '0'
+        <if test="orgid != null and orgid != ''">
+            and orgid = #{orgid}
+        </if>
+        <if test="campusid != null and campusid != ''">
+            and campusid = #{campusid}
+        </if>
+        limit 1
     </select>
 
     <select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
@@ -386,9 +438,9 @@
         <if test="jobPhone != null and jobPhone != ''">job_phone,</if>
         <if test="birthday != null ">birthday,</if>
         <if test="hisUserId != null and hisUserId != ''">his_user_id,</if>
-        <if test="orgid != null and orgid != ''">orgid,</if>
         <if test="deptCode != null and deptCode != ''">dept_code,</if>
         <if test="deptName != null and deptName != ''">dept_name,</if>
+        <if test="orgid != null and orgid != ''">orgid,</if>
         <if test="campusid != null and campusid != ''">campusid,</if>
         create_time
         )values(
@@ -413,9 +465,9 @@
         <if test="jobPhone != null and jobPhone != ''">#{jobPhone},</if>
         <if test="birthday != null and birthday != ''">#{birthday},</if>
         <if test="hisUserId != null and hisUserId != ''">#{hisUserId},</if>
-        <if test="orgid != null and orgid != ''">#{orgid},</if>
         <if test="deptCode != null and deptCode != ''">#{deptCode},</if>
         <if test="deptName != null and deptName != ''">#{deptName},</if>
+        <if test="orgid != null and orgid != ''">#{orgid},</if>
         <if test="campusid != null and campusid != ''">#{campusid},</if>
         sysdate()
         )
@@ -444,7 +496,6 @@
             <if test="idCard != null and idCard != ''">id_card=#{idCard},</if>
             <if test="jobPhone != null and jobPhone != ''">job_phone=#{jobPhone},</if>
             <if test="birthday != null ">birthday=#{birthday},</if>
-            <if test="orgid != null ">orgid=#{orgid},</if>
             <if test="title != null and title != ''">
                 title = #{title},
             </if>
@@ -453,6 +504,7 @@
             </if>
             <if test="deptCode != null and deptCode != ''">dept_code=#{deptCode},</if>
             <if test="deptName != null and deptName != ''">dept_name=#{deptName},</if>
+            <if test="orgid != null and orgid != ''">orgid=#{orgid},</if>
             <if test="campusid != null and campusid != ''">campusid=#{campusid},</if>
             update_time = sysdate()
         </set>

--
Gitblit v1.9.3