From 23855599412c4d61b38d78f0f3abd3430a48b5b1 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 25 六月 2025 11:51:38 +0800
Subject: [PATCH] Merge branch 'mdc_hyjs_master'

---
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml |  231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 231 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
new file mode 100644
index 0000000..2eda850
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.system.mapper.SysUserMapper">
+
+	<!-- 鏍规嵁鐢ㄦ埛鍚嶆煡璇� -->
+	<select id="getUserByName" resultType="org.jeecg.modules.system.entity.SysUser">
+		select * from  sys_user  where username = #{username} and del_flag = 0
+	</select>
+
+	<!-- 鏍规嵁閮ㄩ棬Id鏌ヨ -->
+	<select id="getUserByDepId" resultType="org.jeecg.modules.system.entity.SysUser">
+		select * from sys_user where del_flag = 0 and id in (select user_id from sys_user_depart where dep_id=#{departId})
+		<if test="username!=null and username!=''">
+			and username = #{username}
+		</if>
+	</select>
+
+	<!-- 鏌ヨ鐢ㄦ埛鐨勬墍灞為儴闂ㄥ悕绉颁俊鎭� -->
+	<select id="getDepNamesByUserIds" resultType="org.jeecg.modules.system.vo.SysUserDepVo">
+		select d.depart_name,ud.user_id from sys_user_depart ud,sys_depart d where d.id = ud.dep_id and ud.user_id in
+		<foreach collection="userIds" index="index" item="id" open="(" separator="," close=")">
+			#{id}
+		</foreach>
+	</select>
+
+	<!-- 閫氳繃澶氫釜閮ㄩ棬IDS锛屾煡璇㈤儴闂ㄤ笅鐨勭敤鎴蜂俊鎭� -->
+	<select id="getUserByDepIds" resultType="org.jeecg.modules.system.entity.SysUser">
+		select * from sys_user where del_flag = 0
+		<if test="departIds!=null  and departIds.size()>0">
+			and id in (select user_id from sys_user_depart where dep_id in
+			<foreach collection="departIds" index="index" item="id" open="(" separator="," close=")">
+				#{id}
+			</foreach>
+			)
+		</if>
+		<if test="username!=null and username!=''">
+			and username = #{username}
+		</if>
+	</select>
+
+	<!-- 鏍规嵁瑙掕壊Id鏌ヨ -->
+	<select id="getUserByRoleId" resultType="org.jeecg.modules.system.entity.SysUser">
+		select * from sys_user where del_flag = 0 and id in (select user_id from sys_user_role where role_id=#{roleId})
+		<if test="username!=null and username!=''">
+			and username = #{username}
+		</if>
+	</select>
+
+	<!--  淇敼鐢ㄦ埛閮ㄩ棬code -->
+	<update id="updateUserDepart">
+		UPDATE sys_user SET org_code = #{orgCode} where username = #{username}
+	</update>
+
+	<!-- 鏍规嵁鎵嬫満鍙锋煡璇� -->
+	<select id="getUserByPhone"  resultType="org.jeecg.modules.system.entity.SysUser">
+		select * from  sys_user  where phone = #{phone} and del_flag = 0
+	</select>
+
+	<!-- 鏍规嵁閭鏌ヨ鐢ㄦ埛淇℃伅 -->
+	<select id="getUserByEmail" resultType="org.jeecg.modules.system.entity.SysUser">
+	select * from  sys_user  where email = #{email} and del_flag = 0
+	</select>
+
+	<!-- SQL鐗囨锛歡etUserByOrgCode 鐨� FROM 鍜� WHERE 閮ㄥ垎 -->
+	<sql id="getUserByOrgCodeFromSql">
+		FROM
+		sys_depart
+		INNER JOIN sys_user_depart ON sys_user_depart.dep_id = sys_depart.id
+		INNER JOIN sys_user ON sys_user.id = sys_user_depart.user_id
+		WHERE
+		<if test="orgCode == null">
+			<bind name="bindOrgCode" value="'%'"/>
+		</if>
+		<if test="orgCode != null">
+			<bind name="bindOrgCode" value="orgCode+'%'"/>
+		</if>
+		sys_user.del_flag = 0 AND sys_depart.org_code LIKE #{bindOrgCode}
+
+		<if test="userParams != null">
+			<if test="userParams.realname != null and userParams.realname != ''">
+				AND sys_user.realname LIKE concat(concat('%',#{userParams.realname}),'%')
+			</if>
+			<if test="userParams.workNo != null and userParams.workNo != ''">
+				AND sys_user.work_no LIKE concat(concat('%',#{userParams.workNo}),'%')
+			</if>
+		</if>
+	</sql>
+
+	<!-- 鏍规嵁 orgCode 鏌ヨ鐢ㄦ埛锛屽寘鎷瓙閮ㄩ棬涓嬬殑鐢ㄦ埛 -->
+	<select id="getUserByOrgCode" resultType="org.jeecg.modules.system.model.SysUserSysDepartModel">
+		SELECT
+			sys_user.id AS id,
+			sys_user.realname AS realname,
+			sys_user.avatar AS avatar,
+			sys_user.sex AS sex,
+			sys_user.birthday AS birthday,
+			sys_user.work_no AS workNo,
+			sys_user.post AS post,
+			sys_user.telephone AS telephone,
+			sys_user.email AS email,
+			sys_user.phone AS phone,
+			sys_depart.id AS departId,
+			sys_depart.depart_name AS departName
+		<include refid="getUserByOrgCodeFromSql"/>
+		ORDER BY
+			sys_depart.org_code ASC
+	</select>
+
+	<!-- 鏌ヨ getUserByOrgCode 鐨勬�绘暟-->
+	<select id="getUserByOrgCodeTotal" resultType="java.lang.Integer">
+		SELECT COUNT(1) <include refid="getUserByOrgCodeFromSql"/>
+	</select>
+
+	<!-- 鎵归噺鍒犻櫎瑙掕壊鐨勪笌鐢ㄦ埛鍏崇郴-->
+	<update id="deleteBathRoleUserRelation">
+		delete from sys_user_role
+		where role_id in
+		<foreach item="id" collection="roleIdArray" open="(" separator="," close=")">
+			#{id}
+		</foreach>
+	</update>
+	<!-- 鎵归噺鍒犻櫎瑙掕壊鐨勪笌鏉冮檺鍏崇郴-->
+	<update id="deleteBathRolePermissionRelation">
+		delete from sys_role_permission
+		where role_id in
+		<foreach item="id" collection="roleIdArray" open="(" separator="," close=")">
+			#{id}
+		</foreach>
+	</update>
+
+	<!-- 鏌ヨ琚�昏緫鍒犻櫎鐨勭敤鎴� -->
+	<select id="selectLogicDeleted" resultType="org.jeecg.modules.system.entity.SysUser">
+		SELECT * FROM sys_user ${ew.customSqlSegment}
+	</select>
+
+	<!-- 鏇存柊琚�昏緫鍒犻櫎鐨勭敤鎴� -->
+	<update id="revertLogicDeleted">
+		UPDATE
+			sys_user
+		SET
+			del_flag = 0,
+			update_by = #{entity.updateBy},
+			update_time = #{entity.updateTime}
+		WHERE
+			del_flag = 1
+			AND id IN
+			<foreach collection="userIds" item="userId" open="(" close=")" separator="," >
+				#{userId}
+			</foreach>
+	</update>
+
+	<!-- 褰诲簳鍒犻櫎琚�昏緫鍒犻櫎鐨勭敤鎴� -->
+	<delete id="deleteLogicDeleted">
+		DELETE FROM sys_user WHERE del_flag = 1 AND id IN
+		<foreach collection="userIds" item="userId" open="(" close=")" separator="," >
+			#{userId}
+		</foreach>
+	</delete>
+
+	<!-- 鏇存柊绌哄瓧绗︿覆涓簄ull -->
+	<update id="updateNullByEmptyString">
+		UPDATE sys_user
+		<if test="fieldName == 'email'">
+			SET email = NULL WHERE email = ''
+		</if>
+		<if test="fieldName == 'phone'">
+			SET phone = NULL WHERE phone = ''
+		</if>
+	</update>
+
+	<!-- 閫氳繃澶氫釜閮ㄩ棬IDS锛屾煡璇㈤儴闂ㄤ笅鐨勭敤鎴蜂俊鎭� -->
+	<select id="queryByDepIds" resultType="org.jeecg.modules.system.entity.SysUser">
+		select * from sys_user where del_flag = 0
+		<if test="departIds!=null  and departIds.size()>0">
+			and id in (select user_id from sys_user_depart where dep_id in
+			<foreach collection="departIds" index="index" item="id" open="(" separator="," close=")">
+				#{id}
+			</foreach>
+			)
+		</if>
+		<if test="username!=null and username!=''">
+			and username != #{username}
+		</if>
+	</select>
+
+	<!-- 鏌ヨ鐢ㄦ埛鐨勬墍灞炰骇绾垮悕绉颁俊鎭� -->
+	<select id="getProNamesByUserIds" resultType="org.jeecg.modules.system.vo.MdcUserProVo">
+		SELECT p.production_name, up.user_id FROM mdc_user_production up, mdc_production p WHERE p.id = up.pro_id AND up.user_id IN
+		<foreach collection="userIds" index="index" item="id" open="(" separator="," close=")">
+			#{id}
+		</foreach>
+	</select>
+
+	<!-- 鏍规嵁瑙掕壊Id鏌ヨ璇ヨ鑹蹭笅鐨勬墍鏈夌敤鎴蜂俊鎭� -->
+	<select id="getAllUsersByRoleId" resultType="org.jeecg.modules.system.entity.SysUser">
+		select * from sys_user where del_flag = '0' and id in (select user_id from sys_user_role where role_id=#{roleId})
+	</select>
+	<!--鏍规嵁瑙掕壊缂栫爜鏌ヨ鐢ㄦ埛id闆嗗悎鏍规嵁瑙掕壊缂栫爜鏌ヨ鐢ㄦ埛id闆嗗悎-->
+	<select id="getUserByRoleCode" resultType="java.lang.String">
+		SELECT
+			su.id
+		FROM
+			sys_user su
+				LEFT JOIN sys_user_role sur ON su.id = sur.user_id
+				LEFT JOIN sys_role sr ON sur.role_id = sr.id
+		WHERE
+			sr.role_code = #{ roleCode }
+	</select>
+	<!--鏍规嵁瑙掕壊缂栫爜鍜岃澶囩紪鍙锋煡璇㈢敤鎴�-->
+    <select id="getEquipmentAdmin" resultType="org.jeecg.modules.system.entity.SysUser">
+		SELECT
+			t1.*
+		FROM
+			sys_user t1
+				LEFT JOIN sys_user_role t2 ON t1.id = t2.user_id
+				LEFT JOIN sys_role t3 ON t2.role_id = t3.id
+		WHERE
+			t3.role_code = #{roleCode} AND equipment_ids LIKE concat(concat('%',#{equipmentId}),'%')
+	</select>
+    <select id="selectUsersByNames" resultType="org.jeecg.modules.system.entity.SysUser">
+		SELECT
+		username,
+		realname
+		FROM sys_user
+		WHERE
+		username IN
+		<foreach item="name" collection="userNames" open="(" separator="," close=")">
+			#{name}
+		</foreach>
+	</select>
+</mapper>

--
Gitblit v1.9.3