Ver código fonte

质控部报告权限调整

lizhenhao 2 anos atrás
pai
commit
801383d18f

+ 43 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/common/CommonUtils.java

@@ -54,6 +54,49 @@ public class CommonUtils {
         }
         return false;
     }
+    /**
+     * 判断当前用户是否拥有 “ 质控部主任 ” 的角色
+     * @return
+     */
+    public static boolean haveRoleZkbzr() {
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        List<RoleDTO> roles = new ArrayList<>(); // 当前用户拥有的角色
+        if (CollectionUtil.isNotEmpty(userDTO.getRoleDTOList())) {
+            roles = userDTO.getRoleDTOList().stream().filter(item -> {
+                // 过滤当前用户是否拥有质控部主任角色
+                if ("1613707592987267074".equals(item.getId())) {
+                    return true;
+                }
+                return false;
+            }).collect(Collectors.toList());
+        }
+        if (CollectionUtil.isNotEmpty(roles)) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 判断当前用户是否拥有 “ 质控部员工 ” 的角色
+     * @return
+     */
+    public static boolean haveRoleZkbyg() {
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        List<RoleDTO> roles = new ArrayList<>(); // 当前用户拥有的角色
+        if (CollectionUtil.isNotEmpty(userDTO.getRoleDTOList())) {
+            roles = userDTO.getRoleDTOList().stream().filter(item -> {
+                // 过滤当前用户是否拥有质控部员工角色
+                if ("1613786820688674817".equals(item.getId())) {
+                    return true;
+                }
+                return false;
+            }).collect(Collectors.toList());
+        }
+        if (CollectionUtil.isNotEmpty(roles)) {
+            return true;
+        }
+        return false;
+    }
 
     /**
      * 计算时间差

+ 3 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/xml/CwProjectReportMapper.xml

@@ -110,6 +110,9 @@
                 where cw_pm.user_id = #{currentUser.id} and cw_pm.del_flag = '0' and cw_pm.status = '0'
                 ))
             </if>
+            <if test="isBmzr == '3'.toString">
+                and cw_rev.review_by = #{currentUser.id} and cw_rev.review_status != '0' and cw_rev.review_status != '1'
+            </if>
         </if>
         ORDER BY a.create_date DESC
     </select>

+ 16 - 4
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/service/CwProjectReportService.java

@@ -470,15 +470,27 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
         String isBmzr = "0";
         UserDTO userDTO = UserUtils.getCurrentUserDTO();
         if (CommonUtils.haveRoleCwBmzr()) {
-            // 财务_部门主任展示自己所属项目、自己创建的报告、自己部门下的报告
-            isBmzr = "1";
+            if (CommonUtils.haveRoleZkbzr()) {
+                // 质控部主任展示全部报告
+                isBmzr = "2";
+            } else {
+                // 财务_部门主任展示自己所属项目、自己创建的报告、自己部门下的报告
+                isBmzr = "1";
+            }
         } else if (CommonUtils.haveRoleCwYg()) {
-            // 财务_员工展示自己所属项目、自己创建的报告
-            isBmzr = "0";
+            if (CommonUtils.haveRoleZkbyg()) {
+                // 质控部员工展示自己审核过的报告
+                isBmzr = "3";
+            } else {
+                // 财务_员工展示自己所属项目、自己创建的报告
+                isBmzr = "0";
+            }
         } else {
             // 其他人默认展示全部数据
             isBmzr = "2";
         }
+
+
         IPage<CwProjectReportData> list = reportMapper.findList(page,userDTO,isBmzr, queryWrapper);
         return list;