You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
4.8 KiB

<?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.dromara.system.mapper.SysUserMapper">
<resultMap type="org.dromara.system.domain.vo.SysUserVo" id="SysUserResult">
<id property="userId" column="user_id"/>
</resultMap>
<resultMap type="org.dromara.system.domain.vo.SysUserExportVo" id="SysUserExportResult">
<id property="userId" column="user_id"/>
</resultMap>
<select id="selectUserExportList" resultMap="SysUserExportResult">
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, 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, d.leader, u1.user_name as leaderName
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user u1 on u1.user_id = d.leader
${ew.getCustomSqlSegment}
</select>
<select id="selectAllocatedList" 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 sur on u.user_id = sur.user_id
left join sys_role r on r.role_id = sur.role_id
${ew.getCustomSqlSegment}
</select>
<select id="selectUnallocatedList" 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 sur on u.user_id = sur.user_id
left join sys_role r on r.role_id = sur.role_id
${ew.getCustomSqlSegment}
</select>
<select id="selectUserListByHave" parameterType="org.dromara.system.domain.SysUser" resultMap="SysUserResult">
select u.user_id, u.dept_id, u.login_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex,
u.salt, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.type, d.dept_name,d.zzDisplayPath, u.law_certificate_num,
d.leader,u.tenant_code,t.tenant_code, t.tenant_name, t.contact_man, t.contact_number, t.address
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_tenant t on t.tenant_code = u.tenant_code
where u.del_flag = '0'
<if test="userId != null and userId != ''">
AND u.user_id = #{userId}
</if>
<if test="loginName != null and loginName != ''">
AND u.login_name like concat('%', #{loginName}, '%')
</if>
<if test="userName != null and userName != ''">
AND (
u.user_name like concat('%', #{userName}, '%')
or
u.law_certificate_num like concat('%', #{userName}, '%')
)
</if>
<if test="status != null and status != ''">
AND u.status = #{status}
</if>
<if test="phonenumber != null and phonenumber != ''">
AND u.phonenumber like concat('%', #{phonenumber}, '%')
</if>
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
</if>
<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="deptId != null and deptId != ''">
and u.dept_id = #{deptId}
</if>
<!-- 租户数据过滤 -->
<if test="tenantCode != @com.zdxt.auth.common.constant.Constants@DEFAULT_TENANT_CODE and tenantCode != null and tenantCode != ''">
AND u.tenant_code = #{tenantCode}
</if>
<if test="notUserId != null and notUserId != ''">
and u.user_id not in
<foreach item="uid" collection="params.notUserIds" open="(" separator="," close=")">
#{uid}
</foreach>
</if>
<if test="params.showCardId != null and params.showCardId == 0">
AND (
(u.law_certificate_num is not null AND u.law_certificate_num !="")
or (d.`zone` = 5 or d.`zone` = 15)
or (d.parent_id in (select dept_id from sys_dept where `zone` = 5 or `zone` = 15))
)
</if>
and u.dept_id != 405
<if test="params.dataScope != null and params.dataScope != ''">
<!-- 数据范围过滤 -->
${params.dataScope}
</if>
</select>
</mapper>