zouxuan 5 gadi atpakaļ
vecāks
revīzija
4c088b0e61

+ 16 - 2
mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -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">