Jelajahi Sumber

盯盘-管理员查看公司下所有用户

yangzian 3 tahun lalu
induk
melakukan
8288875ede

+ 2 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/MaterialStareMapper.java

@@ -16,6 +16,8 @@ import java.util.Set;
 public interface MaterialStareMapper {
 
 
+    String getRoleCodeByUserId(@Param("userId") String userId);
+    Set<String> getCompanyAllUserId(@Param("companyId") String companyId);
     String getUserCompanyByUserId(@Param("userId")String userId);
     Set<String> getAffiliateId(@Param("leaderId")String leaderId,@Param("companyId")String companyId);
     Set<String> querySubordinateRecursive(@Param("companyId")String companyId,@Param("leaderIds")Set<String> leaderIds);

+ 18 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/xml/MaterialStareMapper.xml

@@ -726,6 +726,24 @@
 
 
 
+    <select id="getRoleCodeByUserId" resultType="java.lang.String">
+        select c.role_code
+        from `jeecg-boot`.sys_user a
+                 left join `jeecg-boot`.sys_user_role b on a.id = b.user_id
+                 left join `jeecg-boot`.sys_role c on b.role_id = c.id
+        where a.id = #{userId}
+            LIMIT 1
+    </select>
+
+    <select id="getCompanyAllUserId" resultType="java.lang.String">
+        SELECT DISTINCT
+            user_id
+        FROM
+            user_company
+        WHERE
+            company_id = #{companyId}
+    </select>
+
     <select id="getUserCompanyByUserId" resultType="java.lang.String">
         SELECT
             company_id as companyId

+ 8 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/service/impl/MaterialStareServiceImpl.java

@@ -686,8 +686,16 @@ public class MaterialStareServiceImpl implements MaterialStareService {
      * 查询当前人员  所属公司 返回自己和下属id
      */
     public Set<String> getAffiliateId(String userId) {
+
         //查询用户所属公司
         String companyId = materialStareMapper.getUserCompanyByUserId(userId);
+        //查询用户角色
+        String roleCode = materialStareMapper.getRoleCodeByUserId(userId);
+        //管理员查询公司下所有用户
+        if ("admin".equals(roleCode)) {
+            return materialStareMapper.getCompanyAllUserId(companyId);
+        }
+
         Set<String> result;
         //查询当前用户是否存在下级
         Set<String> subordinate = materialStareMapper.getAffiliateId(userId,companyId);