| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856 |
- <?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="com.xunmei.system.mapper.SysUserMapper">
- <resultMap type="com.xunmei.system.api.domain.SysUser" id="SysUserResult">
- <result property="id" column="id"/>
- <result property="deptId" column="dept_id"/>
- <result property="isManager" column="is_manager"/>
- <result property="isLock" column="is_lock"/>
- <result property="jobId" column="job_id"/>
- <result property="name" column="name"/>
- <result property="username" column="username"/>
- <result property="orgId" column="org_id"/>
- <result property="phone" column="phone"/>
- <result property="createTime" column="create_time"/>
- <result property="modifiedName" column="modified_name"/>
- <result property="updateTime" column="update_time"/>
- <result property="modifiedId" column="modified_id"/>
- <result property="password" column="password"/>
- <result property="salt" column="salt"/>
- <result property="deleted" column="deleted"/>
- <result property="lastIp" column="last_ip"/>
- <result property="lastTime" column="last_time"/>
- <result property="orgName" column="org_name"/>
- <result property="orgPath" column="org_path"/>
- <result property="image" column="image"/>
- <result property="card" column="card"/>
- <result property="gender" column="gender"/>
- <result property="jobNumber" column="job_number"/>
- <result property="note" column="note"/>
- <result property="isSign" column="is_sign"/>
- <result property="signTime" column="sign_time"/>
- <result property="agreementId" column="agreement_id"/>
- <result property="signVersion" column="sign_version"/>
- <result property="approveStatus" column="approve_status"/>
- <result property="locked" column="locked"/>
- <result property="createBy" column="create_by"/>
- <result property="updateBy" column="update_by"/>
- <result property="code" column="code"/>
- <result property="source" column="source"/>
- <result property="originalOrgId" column="original_org_id"/>
- <collection property="roles" ofType="com.xunmei.system.api.domain.SysRole">
- <result column="role_name" property="roleName"/>
- </collection>
- </resultMap>
- <!-- <resultMap type="com.xunmei.system.api.domain.SysUser" id="SyncSysUserResult">-->
- <!-- <id property="id" column="id" />-->
- <!-- <result property="username" column="user_name" />-->
- <!-- <result property="name" column="name" />-->
- <!-- <result property="email" column="email" />-->
- <!-- <result property="phonenumber" column="phonenumber" />-->
- <!-- <result property="sex" column="sex" />-->
- <!-- <result property="avatar" column="avatar" />-->
- <!-- <result property="password" column="password" />-->
- <!-- <result property="status" column="status" />-->
- <!-- <result property="delFlag" column="del_flag" />-->
- <!-- <result property="loginIp" column="login_ip" />-->
- <!-- <result property="loginDate" column="login_date" />-->
- <!-- <result property="createBy" column="create_by" />-->
- <!-- <result property="createTime" column="create_time" />-->
- <!-- <result property="updateBy" column="update_by" />-->
- <!-- <result property="updateTime" column="update_time" />-->
- <!-- <association property="dept" column="dept_id" javaType="com.xunmei.system.api.domain.SysDept" resultMap="deptResult" />-->
- <!-- <collection property="roles" javaType="java.util.List" resultMap="RoleResult" />-->
- <!-- </resultMap>-->
- <resultMap id="deptResult" type="com.xunmei.system.api.domain.SysDept">
- <id property="deptId" column="dept_id"/>
- <result property="parentId" column="parent_id"/>
- <result property="deptName" column="dept_name"/>
- <result property="ancestors" column="ancestors"/>
- <result property="orderNum" column="order_num"/>
- <result property="leader" column="leader"/>
- <result property="status" column="dept_status"/>
- </resultMap>
- <resultMap id="RoleResult" type="com.xunmei.system.api.domain.SysRole">
- <id property="roleId" column="role_id"/>
- <result property="roleName" column="role_name"/>
- <result property="roleKey" column="role_key"/>
- <result property="roleSort" column="role_sort"/>
- <result property="dataScope" column="data_scope"/>
- <result property="status" column="role_status"/>
- </resultMap>
- <sql id="selectUserVo">
- select u.id,
- u.dept_id,
- u.username,
- u.nick_name,
- u.avatar,
- u.phonenumber,
- u.password,
- u.sex,
- u.is_lock,
- u.deleted,
- u.login_ip,
- u.login_date,
- u.create_by,
- u.create_time,
- u.remark,
- u.original_org_id,
- d.dept_id,
- d.parent_id,
- d.ancestors,
- d.dept_name,
- d.order_num,
- d.leader,
- d.status as dept_status,
- r.id,
- r.role_name,
- r.role_key,
- r.role_sort,
- r.data_scope,
- r.status as role_status
- from sys_user u
- left join sys_dept d on u.dept_id = d.dept_id
- left join sys_user_role ur on u.id = ur.user_id
- left join sys_role r on r.id = ur.role_id
- </sql>
- <select id="selectUserList" parameterType="com.xunmei.system.api.domain.SysUser" resultMap="SysUserResult">
- select u.id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.is_lock, u.deleted,
- u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
- left join sys_dept d on u.dept_id = d.dept_id
- where u.deleted = '0'
- <if test="userId != null and userId != 0">
- AND u.id = #{userId}
- </if>
- <if test="userName != null and userName != ''">
- AND u.user_name like concat('%', #{userName}, '%')
- </if>
- <if test="status != null and status != ''">
- AND u.is_lock = #{isLock}
- </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') >= 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') <= date_format(#{params.endTime},'%y%m%d')
- </if>
- <if test="deptId != null and deptId != 0">
- 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>
- <!-- 数据范围过滤 -->
- ${params.dataScope}
- </select>
- <select id="selectAllocatedList" parameterType="com.xunmei.system.domain.vo.SysUserVO"
- resultType="com.xunmei.system.api.domain.SysUser">
- select distinct u.name as name,u.is_lock as isLock, u.id as id, u.dept_id as deptId, u.username as username,
- u.phone as phone, u.create_time as createTime
- from sys_user u
- left join sys_dept d on u.dept_id = d.dept_id
- left join sys_user_role ur on u.id = ur.user_id
- left join sys_role r on r.id = ur.role_id
- where u.deleted = '0' and r.id = #{roleId}
- <if test="username != null and username != ''">
- AND u.username like concat('%', #{username}, '%')
- </if>
- <if test="phone != null and phone != ''">
- AND u.phone like concat('%', #{phone}, '%')
- </if>
- <!-- 数据范围过滤 -->
- ${params.dataScope}
- </select>
- <select id="selectUnallocatedList" parameterType="com.xunmei.system.domain.vo.SysUserVO"
- resultType="com.xunmei.system.api.domain.SysUser">
- select distinct u.id, u.dept_id, u.username, u.name, u.phone, u.is_lock, 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.id = ur.user_id
- left join sys_role r on r.id = ur.role_id
- where u.deleted = 0 and (r.id != #{roleId} or r.id IS NULL)
- and u.id not in (select u.id from sys_user u inner join sys_user_role ur on u.id = ur.user_id and ur.role_id =
- #{roleId})
- <if test="username != null and username != ''">
- AND u.username like concat('%', #{username}, '%')
- </if>
- <if test="phone != null and phone != ''">
- AND u.phone like concat('%', #{phone}, '%')
- </if>
- <!-- 数据范围过滤 -->
- ${params.dataScope}
- </select>
- <select id="selectSyncUserList" parameterType="com.xunmei.system.api.domain.SysUser"
- resultType="com.xunmei.system.api.domain.SysUser">
- select *
- from sys_user u where deleted !=1
- <if test="source != null">
- AND u.source =#{source}
- </if>
- <if test="orgId != null">
- AND u.org_id =#{orgId}
- </if>
- </select>
- <select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
- select * from sys_user
- where username = #{userName} and deleted = 0
- </select>
- <select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
- <include refid="selectUserVo"/>
- where u.id = #{userId}
- </select>
- <select id="checkUserNameUnique" parameterType="String" resultType="com.xunmei.system.api.domain.SysUser">
- select id, username
- from sys_user
- where username = #{userName}
- and deleted = '0'
- limit 1
- </select>
- <select id="checkPhoneUnique" parameterType="String" resultType="com.xunmei.system.api.domain.SysUser">
- select id, phone
- from sys_user
- where phone = #{phonenumber}
- and deleted = '0'
- limit 1
- </select>
- <select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
- select user_id, email
- from sys_user
- where email = #{email}
- and deleted = '0'
- limit 1
- </select>
- <insert id="insertUser" parameterType="com.xunmei.system.api.domain.SysUser" useGeneratedKeys="true"
- keyProperty="userId">
- insert into sys_user(
- <if test="userId != null and userId != 0">
- user_id,
- </if>
- <if test="deptId != null and deptId != 0">
- dept_id,
- </if>
- <if test="userName != null and userName != ''">
- user_name,
- </if>
- <if test="nickName != null and nickName != ''">
- nick_name,
- </if>
- <if test="email != null and email != ''">
- email,
- </if>
- <if test="avatar != null and avatar != ''">
- avatar,
- </if>
- <if test="phonenumber != null and phonenumber != ''">
- phonenumber,
- </if>
- <if test="sex != null and sex != ''">
- sex,
- </if>
- <if test="password != null and password != ''">
- password,
- </if>
- <if test="status != null and status != ''">
- status,
- </if>
- <if test="createBy != null and createBy != ''">
- create_by,
- </if>
- <if test="remark != null and remark != ''">
- remark,
- </if>
- create_time
- )values(
- <if test="userId != null and userId != ''">
- #{userId},
- </if>
- <if test="deptId != null and deptId != ''">
- #{deptId},
- </if>
- <if test="userName != null and userName != ''">
- #{userName},
- </if>
- <if test="nickName != null and nickName != ''">
- #{nickName},
- </if>
- <if test="email != null and email != ''">
- #{email},
- </if>
- <if test="avatar != null and avatar != ''">
- #{avatar},
- </if>
- <if test="phonenumber != null and phonenumber != ''">
- #{phonenumber},
- </if>
- <if test="sex != null and sex != ''">
- #{sex},
- </if>
- <if test="password != null and password != ''">
- #{password},
- </if>
- <if test="status != null and status != ''">
- #{status},
- </if>
- <if test="createBy != null and createBy != ''">
- #{createBy},
- </if>
- <if test="remark != null and remark != ''">
- #{remark},
- </if>
- sysdate()
- )
- </insert>
- <update id="updateUser" parameterType="com.xunmei.system.api.domain.SysUser">
- update sys_user
- <set>
- <if test="deptId != null and deptId != 0">
- dept_id = #{deptId},
- </if>
- <if test="username != null and username != ''">
- user_name = #{username},
- </if>
- <!-- <if test="nickname != null and nickname != ''">-->
- <!-- nick_name = #{nickname},-->
- <!-- </if>-->
- <!-- <if test="email != null ">-->
- <!-- email = #{email},-->
- <!-- </if>-->
- <if test="phone != null ">
- phone = #{phone},
- </if>
- <if test="gender != null and gender != ''">
- gender = #{gender},
- </if>
- <!-- <if test="avatar != null and avatar != ''">-->
- <!-- avatar = #{avatar},-->
- <!-- </if>-->
- <if test="password != null and password != ''">
- password = #{password},
- </if>
- <!-- <if test="status != null and status != ''">-->
- <!-- status = #{status},-->
- <!-- </if>-->
- <!-- <if test="loginIp != null and loginIp != ''">-->
- <!-- login_ip = #{loginIp},-->
- <!-- </if>-->
- <!-- <if test="loginDate != null">-->
- <!-- login_date = #{loginDate},-->
- <!-- </if>-->
- <if test="updateBy != null and updateBy != ''">
- update_by = #{updateBy},
- </if>
- <!-- <if test="remark != null">-->
- <!-- remark = #{remark},-->
- <!-- </if>-->
- update_time = sysdate()
- </set>
- where id = #{id}
- </update>
- <update id="updateUserStatus" parameterType="com.xunmei.system.api.domain.SysUser">
- update sys_user
- set status = #{status}
- where user_id = #{userId}
- </update>
- <update id="updateUserAvatar" parameterType="com.xunmei.system.api.domain.SysUser">
- update sys_user
- set avatar = #{avatar}
- where user_name = #{userName}
- </update>
- <update id="resetUserPwd" parameterType="com.xunmei.system.api.domain.SysUser">
- update sys_user
- set password = #{password}
- where username = #{userName}
- </update>
- <delete id="deleteUserById" parameterType="Long">
- update sys_user
- set deleted = '2'
- where user_id = #{userId}
- </delete>
- <delete id="deleteUserByIds" parameterType="Long">
- update sys_user set deleted= '1' where id in
- <foreach collection="array" item="userId" open="(" separator="," close=")">
- #{userId}
- </foreach>
- </delete>
- <select id="selectSysByUserId" resultType="com.xunmei.system.api.domain.SysOrg">
- select *
- from sys_org o
- inner join sys_user u on o.id = u.org_id
- where u.id = #{userId}
- </select>
- <select id="getPage" resultType="com.xunmei.system.api.domain.SysUser">
- select t.* from
- (
- SELECT c.*,
- GROUP_CONCAT(c.role_name) role_names,
- CONCAT(",",GROUP_CONCAT( c.roleId ),",") as roleIds from (
- SELECT
- DISTINCT
- h.user_id AS is_manager,
- <!-- ur. role_names,-->
- <!-- ur. roleIds,-->
- u.id,
- u.dept_id,
- u.is_lock,
- u.job_id,
- u.NAME,
- u.username,
- u.org_id,
- u.phone,
- u.create_time,
- u.modified_name,
- u.update_time,
- u.modified_id,
- u.PASSWORD,
- u.salt,
- u.deleted,
- u.last_ip,
- u.last_time,
- o.short_NAME AS org_name,
- o.path AS org_path,
- o.affiliated_area,
- o.affiliated_bank,
- o.type as orgType,
- u.image,
- u.card,
- u.gender,
- u.job_number,
- u.note,
- u.is_sign,
- u.sign_time,
- u.agreement_id,
- u.sign_version,
- u.approve_status,
- u.locked,
- u.create_by,
- u.update_by,
- u.CODE,
- u.source,
- u.original_org_id,
- u.is_manage,
- sr.id as roleId,
- sr.role_name
- FROM
- sys_user u
- LEFT JOIN sys_org o ON u.original_org_id = o.id
- LEFT JOIN ( SELECT user_id FROM sys_user_role uo LEFT JOIN sys_role ro ON uo.role_id = ro.id WHERE ro.role_name
- <!-- LIKE '%安全保卫管理人员' group by user_id) h ON h.user_id = u.id-->
- <!-- LEFT JOIN (select sro.user_id, GROUP_CONCAT(sr.role_name) role_names,-->
- <!-- CONCAT(",",GROUP_CONCAT( sr.id ),",") as roleIds from sys_user_role sro-->
- <!-- LEFT JOIN sys_role sr on sro.role_id=sr.id) ur on ur.user_id = u.id-->
- LIKE '%安全保卫管理人员' ) h ON h.user_id = u.id
- LEFT JOIN sys_user_role sro on u.id=sro.user_id
- LEFT JOIN sys_role sr on sro.role_id=sr.id
- where 1=1
- and u.deleted =0
- <choose>
- <when test="info.checkSub">
- AND (o.path like concat('%', #{info.orgPath}, '%')
- <if test="info.parentOrgIds!=null and info.parentOrgIds.size()>0">
- or o.id in
- <foreach collection="info.parentOrgIds" separator="," open="(" close=")" item="orgId">
- #{orgId}
- </foreach>
- </if>
- )
- </when>
- <otherwise>
- AND o.id = #{info.orgId}
- </otherwise>
- </choose>
- <if test="info.isLock != null and info.isLock != ''">
- AND u.is_lock = #{info.isLock}
- </if>
- <if test="info.phone != null and info.phone != ''">
- AND u.phone like concat('%',concat(#{info.phone},'%'))
- </if>
- <if test="info.username != null and info.username != ''">
- AND u.username like concat('%', #{info.username}, '%')
- </if>
- <if test="info.name != null and info.name != ''">
- AND u.name like concat('%', #{info.name}, '%')
- </if>
- <if test="info.params.beginTime != null and info.params.beginTime != ''">
- <!-- 开始时间检索 -->
- AND date_format(u.create_time,'%y%m%d') >= date_format(#{info.params.beginTime},'%y%m%d')
- </if>
- <if test="info.params.endTime != null and info.params.endTime != ''">
- <!-- 结束时间检索 -->
- AND date_format(u.create_time,'%y%m%d') <= date_format(#{info.params.endTime},'%y%m%d')
- </if>
- ) c
- group by c.id
- ) t
- where 1=1
- <if test="info.roleId != null and info.roleId != ''">
- AND t.roleIds like concat("%,",#{info.roleId},",%")
- </if>
- <if test="info.onlyManager ==true">
- AND t.is_manage ='Y'
- </if>
- <if test="info.source !=null">
- AND t.source =0
- </if>
- <!-- <if test="info.onlyManager ==false or info.onlyManager==null">-->
- <!-- AND (t.is_manage is NULL OR t.is_manage ='N')-->
- <!-- </if>-->
- ORDER BY t.org_id DESC, t.id DESC
- </select>
- <select id="selectrolesByOrgId" resultType="com.xunmei.system.api.domain.SysRole">
- SELECT r.*
- FROM sys_role r
- LEFT JOIN sys_org o ON r.org_type = o.type
- WHERE 1 = 1
- AND o.id = #{orgId}
- </select>
- <select id="getList" resultMap="SysUserResult">
- SELECT
- u.id,
- u.is_manage AS is_manager,
- role_name,
- u.dept_id,
- u.is_lock,
- u.job_id,
- u.NAME,
- u.username,
- u.org_id,
- u.phone,
- u.create_time,
- u.modified_name,
- u.update_time,
- u.modified_id,
- u.PASSWORD,
- u.salt,
- u.deleted,
- u.last_ip,
- u.last_time,
- o.NAME AS org_name,
- o.path AS org_path,
- u.image,
- u.card,
- u.gender,
- u.job_number,
- u.note,
- u.is_sign,
- u.sign_time,
- u.agreement_id,
- u.sign_version,
- u.approve_status,
- u.locked,
- u.create_by,
- u.update_by,
- u.CODE,
- u.source,
- u.original_org_id
- FROM
- sys_user u
- LEFT JOIN sys_org o ON u.original_org_id = o.id
- LEFT JOIN ( SELECT user_id FROM sys_user_role uo LEFT JOIN sys_role ro ON uo.role_id = ro.id WHERE ro.role_name
- LIKE '%安全保卫管理人员' ) h ON h.user_id = u.id
- LEFT JOIN sys_user_role sro on u.id=sro.user_id
- LEFT JOIN sys_role sr on sro.role_id=sr.id
- where 1=1
- and u.deleted =0
- <choose>
- <when test="info.checkSub">
- AND o.path like concat('%', #{info.orgPath}, '%')
- </when>
- <otherwise>
- AND o.id = #{info.orgId}
- </otherwise>
- </choose>
- <if test="info.isLock != null and info.isLock != ''">
- AND u.is_lock = #{info.isLock}
- </if>
- <if test="info.phone != null and info.phone != ''">
- AND u.phone like concat('%',concat(#{info.phone},'%'))
- </if>
- <if test="info.username != null and info.username != ''">
- AND u.username like concat('%', #{info.username}, '%')
- </if>
- <if test="info.params.beginTime != null and info.params.beginTime != ''">
- <!-- 开始时间检索 -->
- AND date_format(u.create_time,'%y%m%d') >= date_format(#{info.params.beginTime},'%y%m%d')
- </if>
- <if test="info.params.endTime != null and info.params.endTime != ''">
- <!-- 结束时间检索 -->
- AND date_format(u.create_time,'%y%m%d') <= date_format(#{info.params.endTime},'%y%m%d')
- </if>
- ORDER BY u.update_time DESC
- </select>
- <select id="selectAllUser" resultType="com.xunmei.system.api.domain.SysUser">
- select * from
- sys_user where deleted=0 and is_lock =0 and locked=0
- <if test="userName != null and userName != ''">
- AND name like concat('%', #{userName}, '%')
- </if>
- </select>
- <select id="selectUserListByRole" resultType="com.xunmei.system.api.domain.SysUser">
- select a.* from sys_user a left join sys_user_role b on a.id = b.user_id where
- b.role_id in
- <foreach collection="notificationToRoles" item="role" open="(" separator="," close=")">
- #{role.roleId}
- </foreach>
- </select>
- <select id="selectUserListByRoleAndOrg" resultType="com.xunmei.system.api.domain.SysUser">
- SELECT DISTINCT a.*
- FROM sys_user a
- LEFT JOIN sys_org b ON a.org_id = b.id
- LEFT JOIN sys_user_role c ON c.user_id = a.id
- LEFT JOIN sys_role d ON d.id = c.role_id
- WHERE a.deleted = 0
- AND d.del_flag = 0
- AND b.id = #{sysRoleOrgDTO.orgId}
- AND d.id IN (SELECT role_id FROM core_resumption_plan_to_role WHERE plan_id = #{sysRoleOrgDTO.planId})
- </select>
- <select id="select" resultType="com.xunmei.system.util.UserExport">
- SELECT
- GROUP_CONCAT(sr.role_name) role_names,
- CONCAT(',',GROUP_CONCAT( sr.id ),',') as roleIds,
- u.id,
- u.dept_id,
- u.is_lock,
- u.job_id,
- u.NAME,
- u.username,
- u.org_id,
- u.phone,
- u.create_time,
- u.modified_name,
- u.update_time,
- u.modified_id,
- u.PASSWORD,
- u.salt,
- u.deleted,
- u.last_ip,
- u.last_time,
- o.short_name AS org_name,
- o.path AS org_path,
- o.affiliated_area,
- o.affiliated_bank,
- u.image,
- u.card,
- u.gender,
- u.job_number,
- u.note,
- u.is_sign,
- u.sign_time,
- u.agreement_id,
- u.sign_version,
- u.approve_status,
- u.locked,
- u.create_by,
- u.update_by,
- u.CODE,
- u.source,
- u.original_org_id,
- u.is_manage as isManage
- FROM
- sys_user u
- LEFT JOIN sys_org o ON u.original_org_id = o.id
- LEFT JOIN ( SELECT user_id FROM sys_user_role uo LEFT JOIN sys_role ro ON uo.role_id = ro.id WHERE ro.role_name
- LIKE '%安全保卫管理人员' ) h ON h.user_id = u.id
- LEFT JOIN sys_user_role sro on u.id=sro.user_id
- LEFT JOIN sys_role sr on sro.role_id=sr.id
- where 1=1
- and u.deleted =0
- <choose>
- <when test="info.checkSub">
- AND o.path like concat('%', #{info.orgPath}, '%')
- </when>
- <otherwise>
- AND o.id = #{info.orgId}
- </otherwise>
- </choose>
- <if test="info.isLock != null and info.isLock != ''">
- AND u.is_lock = #{info.isLock}
- </if>
- <if test="info.phone != null and info.phone != ''">
- AND u.phone like concat('%',concat(#{info.phone},'%'))
- </if>
- <if test="info.username != null and info.username != ''">
- AND u.username like concat('%', #{info.username}, '%')
- </if>
- <if test="info.name != null and info.name != ''">
- AND u.name like concat('%', #{info.name}, '%')
- </if>
- <if test="info.roleId != null and info.roleId != ''">
- AND sr.id =#{info.roleId}
- </if>
- <if test="info.onlyManager ==true">
- AND u.is_manage ='Y'
- </if>
- <if test="info.params.beginTime != null and info.params.beginTime != ''">
- <!-- 开始时间检索 -->
- AND date_format(u.create_time,'%y%m%d') >= date_format(#{info.params.beginTime},'%y%m%d')
- </if>
- <if test="info.params.endTime != null and info.params.endTime != ''">
- <!-- 结束时间检索 -->
- AND date_format(u.create_time,'%y%m%d') <= date_format(#{info.params.endTime},'%y%m%d')
- </if>
- group by u.id
- ORDER BY
- FIND_IN_SET( o.affiliated_bank, #{findInSetOrder} ),
- o.is_lock,
- isnull( o.sort ),
- o.sort,
- o.short_name
- </select>
- <select id="selectCountByNames" resultType="java.lang.String">
- select u.name from sys_user u where u.deleted=0 and u.name in
- <foreach collection="names" item="name" open="(" separator="," close=")">
- #{name}
- </foreach>
- </select>
- <select id="selectSecurityUser" resultType="com.xunmei.system.util.SecurityUserExport">
- SELECT c.id AS orgId,
- c.short_name AS orgName,
- b.`name` AS name,
- IFNULL(b.gender, 2) AS gender,
- b.card AS card,
- TIMESTAMPDIFF(YEAR, a.born_time, NOW()) AS age,
- a.dept_id AS departmentName,
- a.duties AS nowDuties,
- a.is_full_time AS isFullTime,
- a.work_type AS workType,
- a.entry_time AS entryTime,
- a.work_time as workTime,
- a.highest_education AS highestEducation,
- a.education_type AS educationType,
- a.professional_qualifications AS professionalQualifications,
- a.certificate_work AS certificateWork,
- a.certificate_fail_reason AS certificateFailReason,
- a.responsibilities_leader_name AS responsibilitiesLeaderName,
- a.responsibilities_leader_duties AS responsibilitiesLeaderDuties
- FROM sys_user b
- LEFT JOIN sys_user_information a ON a.user_id = b.id
- LEFT JOIN sys_org c ON c.id = b.org_id
- WHERE b.deleted = 0
- AND b.is_manage='Y'
- and c.path like concat(#{path}, '%')
- ORDER BY
- FIND_IN_SET( c.affiliated_bank, #{findInSetOrder} ),
- c.is_lock,
- isnull( c.sort ),
- c.sort,
- c.short_name
- </select>
- <select id="checkUserPermission" resultType="Long">
- select rm.menu_id from sys_user_role ur
- INNER JOIN sys_role_menu rm on ur.role_id=rm.role_id
- WHERE ur.user_id=#{userId} and rm.menu_id in
- <foreach collection="menuIds" item="menuId" separator="," close=")" open="(">
- #{menuId}
- </foreach>
- </select>
- <select id="selectUserByRoleIdAndOrgPath" resultMap="SysUserResult">
- select * from sys_user u inner join sys_user_role ur on u.id =ur.user_id
- where u.deleted=0
- <if test="path != null and path != ''">
- and u.org_path like concat(#{path}, '%')
- </if>
- <if test="roleIdList != null and roleIdList.size >0">
- and ur.role_id in
- <foreach collection="roleIdList" index="index" item="item" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- </select>
- <select id="selectSwitchUserList" resultType="com.xunmei.system.domain.vo.SysMasterSubUserVO">
- select
- GROUP_CONCAT(sr.role_name) role_names,
- CONCAT(',',GROUP_CONCAT( sr.id ),',') as roleIds,
- um.master_user_id as masterUserId,
- u.id as subUserId,
- u.org_id as subUserOrgId,
- u.username as subUserAccount,
- u.`name` as subUserName,
- o.short_name as subUserOrgName,
- '0' as associated
- FROM
- sys_user_account_mapper um
- INNER JOIN sys_user u ON u.id = um.sub_user_id
- INNER JOIN sys_org o ON o.id=u.org_id
- LEFT JOIN sys_user_role sro on u.id=sro.user_id
- LEFT JOIN sys_role sr on sro.role_id=sr.id
- WHERE um.master_user_id=#{masterUserId}
- GROUP BY u.id
- <!-- select rm.menu_id from sys_user_role ur-->
- <!-- INNER JOIN sys_role_menu rm on ur.role_id=rm.role_id-->
- <!-- WHERE ur.user_id=#{userId} and rm.menu_id in-->
- <!-- <foreach collection="menuIds" item="menuId" separator="," close=")" open="(">-->
- <!-- #{menuId}-->
- <!-- </foreach>-->
- </select>
- <select id="selectAssociatedList" resultType="com.xunmei.system.domain.vo.SysMasterSubUserVO">
- select
- GROUP_CONCAT(sr.role_name) role_names,
- CONCAT(',',GROUP_CONCAT( sr.id ),',') as roleIds,
- um.master_user_id as masterUserId,
- u.id as subUserId,
- u.org_id as subUserOrgId,
- u.username as subUserAccount,
- u.`name` as subUserName,
- o.short_name as subUserOrgName,
- '1' as associated
- FROM
- sys_user_account_mapper um
- INNER JOIN sys_user u ON u.id = um.master_user_id
- INNER JOIN sys_org o ON o.id=u.org_id
- LEFT JOIN sys_user_role sro on u.id=sro.user_id
- LEFT JOIN sys_role sr on sro.role_id=sr.id
- WHERE um.sub_user_id=#{subUserId}
- GROUP BY u.id
- </select>
- <select id="getFindInSetOrder" resultType="java.lang.String">
- SELECT
- s.affiliated_bank
- FROM
- sys_org s
- WHERE
- s.type = '3'
- AND s.deleted = 0
- <if test = "path != null and path != ''" >
- AND s.path LIKE concat( #{path} , '%')
- </if>
- GROUP BY
- s.affiliated_bank
- ORDER BY
- s.sort
- </select>
- </mapper>
|