|
@@ -181,12 +181,19 @@
|
|
|
SELECT ue.*,o.name_ organ_name_list_,o.id_ organ_id_list_,sr.role_name_,sr.id_ role_id_
|
|
|
FROM (SELECT e.user_id_,su.real_name_,su.gender_,su.phone_,su.user_type_,e.job_nature_,su.lock_flag_,
|
|
|
e.entry_date_,e.demission_date_,e.organ_id_list_ organ_id_,e.create_time_
|
|
|
- FROM employee e LEFT JOIN sys_user su ON e.user_id_ = su.id_
|
|
|
+ FROM employee e
|
|
|
+ LEFT JOIN sys_user su ON e.user_id_ = su.id_
|
|
|
+ <if test="roleId != null">
|
|
|
+ LEFT JOIN sys_user_role sur ON sur.user_id_ = e.user_id_
|
|
|
+ </if>
|
|
|
<where>
|
|
|
su.user_type_ = 'SYSTEM'
|
|
|
<if test="organId != null">
|
|
|
AND INTE_ARRAY(e.organ_id_list_,#{organId})
|
|
|
</if>
|
|
|
+ <if test="roleId != null">
|
|
|
+ AND sur.role_id_ = #{roleId}
|
|
|
+ </if>
|
|
|
<if test="jobNature != null">
|
|
|
AND e.job_nature_ = #{jobNature}
|
|
|
</if>
|
|
@@ -202,7 +209,11 @@
|
|
|
|
|
|
<select id="queryEmployByOrganIdCount" resultType="int">
|
|
|
SELECT COUNT(DISTINCT e.user_id_)
|
|
|
- FROM employee e LEFT JOIN sys_user su ON e.user_id_ = su.id_
|
|
|
+ FROM employee e
|
|
|
+ LEFT JOIN sys_user su ON e.user_id_ = su.id_
|
|
|
+ <if test="roleId != null">
|
|
|
+ LEFT JOIN sys_user_role sur ON sur.user_id_ = e.user_id_
|
|
|
+ </if>
|
|
|
<where>
|
|
|
su.user_type_ = 'SYSTEM'
|
|
|
<if test="organId != null">
|
|
@@ -211,6 +222,9 @@
|
|
|
<if test="search != null">
|
|
|
AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
|
|
|
</if>
|
|
|
+ <if test="roleId != null">
|
|
|
+ AND sur.role_id_ = #{roleId}
|
|
|
+ </if>
|
|
|
</where>
|
|
|
</select>
|
|
|
<select id="queryUserRole" resultType="java.lang.Integer">
|