From db8242513644b246a30222663ef20e21f1e7c7ce Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期二, 10 六月 2025 09:55:46 +0800
Subject: [PATCH] init

---
 exam-system/src/main/resources/mapper/system/SysUserMapper.xml |   63 ++++++++++++++++++++++++++++---
 1 files changed, 57 insertions(+), 6 deletions(-)

diff --git a/exam-system/src/main/resources/mapper/system/SysUserMapper.xml b/exam-system/src/main/resources/mapper/system/SysUserMapper.xml
index 641ad44..18bf6c7 100644
--- a/exam-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/exam-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -24,6 +24,7 @@
         <result property="remark"        column="remark"          />
         <result property="version"        column="version"          />
         <result property="companyName"        column="company_name"          />
+        <result property="remainPeriod"        column="remain_period"          />
         <result property="parentName"        column="parent_name"          />
     </resultMap>
 
@@ -35,12 +36,12 @@
 
 
     <select id="getUserByUsername" resultMap="SysUserResult">
-        select id,username,name,password,user_type,company_id,status,del_flag from sys_user
-        where username=#{username} limit 1
+        select id,username,name,password,user_type,company_id,status,del_flag,parent_id from sys_user
+        where username=#{username} and del_flag=0 limit 1
     </select>
 
     <select id="userList"  resultMap="SysUserResult">
-        select u.id,u.username,u.name,u.user_type,u.phone,u.parent_id,u.company_id,u.sex,u.status,u.del_flag,
+        select u.id,u.username,u.name,u.user_type,u.phone,u.parent_id,u.company_id,u.sex,u.status,u.del_flag,u.version,
                u.login_ip,u.login_date,u.create_by,u.create_time,u.remark,c.name as company_name,su.name as parent_name
         from sys_user u
         left join sys_company c on c.id=u.company_id
@@ -49,6 +50,9 @@
             and u.del_flag = 0
             <if test="username != null and username != ''">
                 AND u.username like concat('%', #{username}, '%')
+            </if>
+            <if test="name != null and name != ''">
+                AND u.name like concat('%', #{name}, '%')
             </if>
             <if test="status != null and status != ''">
                 AND u.status = #{status}
@@ -68,10 +72,17 @@
             <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
                 AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
             </if>
-            <if test="params.userType != null">
-                AND u.user_type >#{params.userType}
+            <if test="params.userType != null and (params.userType==4 or params.userType==1)">
+                AND u.user_type in (2,3)
+            </if>
+            <if test="params.userType != null and params.userType==2">
+                AND u.user_type in (3)
+            </if>
+            <if test="params.userType != null and params.userType==0">
+                AND u.user_type in (1,2,3,4)
             </if>
         </where>
+        order by u.id desc
     </select>
 
 
@@ -82,7 +93,7 @@
     </select>
 
     <select id="getUserById" resultMap="SysUserResult">
-        select u.id,u.username,u.user_type,u.name,u.phone,u.parent_id,u.company_id,u.status,u.sex,u.del_flag,c.name as company_name,su.name as parent_name
+        select u.id,u.username,u.user_type,u.name,u.phone,u.parent_id,u.company_id,u.status,u.sex,u.del_flag,u.version,c.name as company_name,c.remain_period,su.name as parent_name
         from sys_user u
        left join sys_company c on c.id=u.company_id
        left join sys_user su on su.id=u.parent_id and u.parent_id!=0
@@ -97,4 +108,44 @@
         select id,phone from sys_user where phone=#{phone} and del_flag=0 limit 1
     </select>
 
+    <select id="selectWorkshopUserIds" resultType="java.lang.Long" parameterType="java.lang.Long">
+        select id from sys_user where parent_id=#{departUserId} and del_flag=0 and user_type=3
+    </select>
+
+
+    <select id="selectAllocatedList" parameterType="com.gkhy.exam.common.domain.entity.SysUser" resultMap="SysUserResult">
+        select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
+        from sys_user u
+        left join sys_dept d on u.dept_id = d.dept_id
+        left join sys_user_role ur on u.user_id = ur.user_id
+        left join sys_role r on r.role_id = ur.role_id
+        where u.del_flag = '0' and r.role_id = #{roleId}
+        <if test="userName != null and userName != ''">
+            AND u.user_name like concat('%', #{userName}, '%')
+        </if>
+        <if test="phonenumber != null and phonenumber != ''">
+            AND u.phonenumber like concat('%', #{phonenumber}, '%')
+        </if>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+    </select>
+
+    <select id="selectUnallocatedList" parameterType="com.gkhy.exam.common.domain.entity.SysUser" resultMap="SysUserResult">
+        select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
+        from sys_user u
+        left join sys_dept d on u.dept_id = d.dept_id
+        left join sys_user_role ur on u.user_id = ur.user_id
+        left join sys_role r on r.role_id = ur.role_id
+        where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL)
+        and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and ur.role_id = #{roleId})
+        <if test="userName != null and userName != ''">
+            AND u.user_name like concat('%', #{userName}, '%')
+        </if>
+        <if test="phonenumber != null and phonenumber != ''">
+            AND u.phonenumber like concat('%', #{phonenumber}, '%')
+        </if>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+    </select>
+
 </mapper>

--
Gitblit v1.9.2