@ -5,59 +5,59 @@
<!-- ${ew.customSqlSegment} -->
<select id= "selectPageVo" resultType= "com.yxt.anrui.portal.api.sysuser.SysUserVo" >
SELECT DISTINCT user.staffSid,
user.isEnable,
(
SELECT GROUP_CONCAT(org.name)
FROM sys_staff_org staffOrg
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid
WHERE staffOrg.staffSid = user.staffSid
) departmentName,
(
SELECT GROUP_CONCAT(org.sid)
FROM sys_staff_org staffOrg
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid
WHERE staffOrg.staffSid = user.staffSid
) departmentSid,
(
SELECT GROUP_CONCAT(post.name)
FROM sys_staff_post staffPost
LEFT JOIN sys_post post ON post.sid = staffPost.postSid
WHERE staffPost.staffSid = user.staffSid
) postName,
(
SELECT GROUP_CONCAT(post.sid)
FROM sys_staff_post staffPost
LEFT JOIN sys_post post ON post.sid = staffPost.postSid
WHERE staffPost.staffSid = user.staffSid
) postSid,
user.userName,
user.sid sid,
staff.name,
(
SELECT GROUP_CONCAT(role.name)
FROM sys_user_role user_role
LEFT JOIN sys_role role ON role.sid = user_role.roleSid
WHERE user_role.userSid = USER.sid
) roleName,
dict.dictValue userType,
user.userType userTypeKey
user.isEnable,
(
SELECT GROUP_CONCAT(org.name)
FROM sys_staff_org staffOrg
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid
WHERE staffOrg.staffSid = user.staffSid
) departmentName,
(
SELECT GROUP_CONCAT(org.sid)
FROM sys_staff_org staffOrg
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid
WHERE staffOrg.staffSid = user.staffSid
) departmentSid,
(
SELECT GROUP_CONCAT(post.name)
FROM sys_staff_post staffPost
LEFT JOIN sys_post post ON post.sid = staffPost.postSid
WHERE staffPost.staffSid = user.staffSid
) postName,
(
SELECT GROUP_CONCAT(post.sid)
FROM sys_staff_post staffPost
LEFT JOIN sys_post post ON post.sid = staffPost.postSid
WHERE staffPost.staffSid = user.staffSid
) postSid,
user.userName,
user.sid sid,
staff.name,
(
SELECT GROUP_CONCAT(role.name)
FROM sys_user_role user_role
LEFT JOIN sys_role role ON role.sid = user_role.roleSid
WHERE user_role.userSid = USER.sid
) roleName,
dict.dictValue userType,
user.userType userTypeKey
FROM sys_user USER
LEFT JOIN sys_user_role user_role ON user_role.userSid = USER.sid
LEFT JOIN sys_role role ON role.sid = user_role.roleSid
LEFT JOIN dict_common dict ON dict.dictKey = user.userType AND dict.dictType = 'userType'
LEFT JOIN sys_staffinfo staff ON staff.sid = user.staffSid
LEFT JOIN sys_user_role user_role ON user_role.userSid = USER.sid
LEFT JOIN sys_role role ON role.sid = user_role.roleSid
LEFT JOIN dict_common dict ON dict.dictKey = user.userType AND dict.dictType = 'userType'
LEFT JOIN sys_staffinfo staff ON staff.sid = user.staffSid
<where >
${ew.sqlSegment}
<if test= "orgName != null and orgName != ''" >
AND (SELECT GROUP_CONCAT(org.name)
FROM sys_staff_org staffOrg
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid
WHERE staffOrg.staffSid = user.staffSid)
LIKE concat('%',
#{orgName}
,
'%'
)
FROM sys_staff_org staffOrg
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid
WHERE staffOrg.staffSid = user.staffSid)
LIKE concat('%',
#{orgName}
,
'%'
)
</if>
</where>
</select>
@ -146,7 +146,7 @@
<select id= "selectByStaffsid" resultType= "com.yxt.anrui.portal.api.sysuser.SysUserVo" >
SELECT *
FROM sys_user su
LEFT JOIN sys_staffinfo ss ON su.staffSid = ss.sid
LEFT JOIN sys_staffinfo ss ON su.staffSid = ss.sid
WHERE su.staffSid = #{staffSid}
AND su.isDelete = 0
</select>
@ -154,23 +154,21 @@
<select id= "getUserOrgInfoByUserSid" resultType= "com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo" >
SELECT su.staffSid, ss.name staffName, sso.orgSid, sso.orgName, sso.orgSidPath, so.orgCode
FROM sys_user su
LEFT JOIN sys_staffinfo ss ON su.staffSid = ss.sid
LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid
LEFT JOIN sys_organization so ON sso.orgSid = so.sid
LEFT JOIN sys_staffinfo ss ON su.staffSid = ss.sid
LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid
LEFT JOIN sys_organization so ON sso.orgSid = so.sid
WHERE su.sid = #{userSid}
ORDER BY sso.id
LIMIT 1
ORDER BY sso.id LIMIT 1
</select>
<!-- 根据用户的sid查询用户的组织信息:多个时取第一个 -->
<select id= "selectUserInfoByUserSid" resultType= "com.yxt.anrui.portal.api.sysuser.SysUserInfoVo" >
SELECT su.staffSid, si.name staffName, sso.orgSid, sso.orgName, so.orgCode
FROM sys_user su
LEFT JOIN sys_staffinfo si ON su.staffSid = si.sid
LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid
LEFT JOIN sys_organization so ON sso.orgSid = so.sid
LEFT JOIN sys_staffinfo si ON su.staffSid = si.sid
LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid
LEFT JOIN sys_organization so ON sso.orgSid = so.sid
WHERE su.sid = #{userSid}
ORDER BY sso.id
LIMIT 1
ORDER BY sso.id LIMIT 1
</select>
<!-- 根据员工sid更新用户表的工号以及手机号 -->
<update id= "updateByStaffSid" >
@ -203,19 +201,19 @@
<select id= "getUsersByRoleSid" resultType= "com.yxt.anrui.portal.api.sysuser.SysUserVo" >
SELECT su.sid, ss.name, sso.orgNamePath departmentName
FROM `sys_user` su
LEFT JOIN `sys_staffinfo` ss ON su.staffSid = ss.sid
LEFT JOIN `sys_staff_org` sso ON sso.staffSid = ss.sid
LEFT JOIN `sys_user_role` sur ON sur.userSid = su.sid
LEFT JOIN `sys_role` sr ON sr.sid = sur.roleSid
LEFT JOIN `sys_staffinfo` ss ON su.staffSid = ss.sid
LEFT JOIN `sys_staff_org` sso ON sso.staffSid = ss.sid
LEFT JOIN `sys_user_role` sur ON sur.userSid = su.sid
LEFT JOIN `sys_role` sr ON sr.sid = sur.roleSid
WHERE sr.sid = #{roleSid}
</select>
<select id= "getUserByRole" resultType= "com.yxt.anrui.portal.api.sysuser.SysUserVo" >
select si.name, su.sid, su.staffSid
from sys_user_role sr
left join sys_user su on sr.userSid = su.sid
left join sys_staffinfo si on si.sid = su.staffSid
left join sys_staff_org so on so.staffSid = si.sid
left join sys_user su on sr.userSid = su.sid
left join sys_staffinfo si on si.sid = su.staffSid
left join sys_staff_org so on so.staffSid = si.sid
where sr.roleSid = #{roleSid}
and find_in_set(#{levelOrgSid}, replace(so.orgSidPath, '/', ','))
</select>
@ -224,15 +222,20 @@
SELECT su.sid,
st.name
FROM sys_user su
LEFT JOIN sys_staffinfo st
ON su.`staffSid` = st.`sid`
LEFT JOIN sys_staffinfo st
ON su.`staffSid` = st.`sid`
LEFT JOIN sys_staff_org sso
ON st.`sid` = sso.`staffSid`
WHERE su.sid != #{userSid}
AND sso.`orgSidPath` LIKE concat('%'
, #{orgSid}
, '%')
</select>
<select id= "fetchBySids" resultType= "com.yxt.anrui.portal.api.sysuser.SysUserVo" >
select su.*, ss.name
from sys_user su
left join sys_staffinfo ss on su.staffSid = ss.sid
left join sys_staffinfo ss on su.staffSid = ss.sid
where su.sid in
<foreach collection= "sids" index= "index" item= "item" open= "(" separator= "," close= ")" >
#{item}
@ -242,8 +245,8 @@
<select id= "getUserByRoleSid" resultType= "com.yxt.anrui.portal.api.sysuser.SysUserVo" >
select si.name, su.sid, su.staffSid
from sys_user_role sr
left join sys_user su on sr.userSid = su.sid
left join sys_staffinfo si on si.sid = su.staffSid
left join sys_user su on sr.userSid = su.sid
left join sys_staffinfo si on si.sid = su.staffSid
where sr.roleSid = #{roleSid}
</select>
</mapper>