Преглед на файлове

fix: supervision by role

shc преди 8 месеца
родител
ревизия
c85fc730ed
променени са 1 файла, в които са добавени 22 реда и са изтрити 1 реда
  1. 22 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/WmSupervisionManager.java

+ 22 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/WmSupervisionManager.java

@@ -409,8 +409,29 @@ public class WmSupervisionManager {
             return maps;
         } else {
 
+            UpmsState.TaskSupervisionState state;
+
+            // 负责人
+            if (CollUtil.containsAny(roles, List.of(51, 54, 55, 61))) {
+                state = UpmsState.TaskSupervisionState.INIT;
+            }
+            // 分管领导
+            else if (CollUtil.containsAny(roles, List.of(57, 58, 59, 60))) {
+                state = UpmsState.TaskSupervisionState.CKT1;
+            }
+            // 事业部总经理
+            else if (CollUtil.containsAny(roles, List.of(39))) {
+                state = UpmsState.TaskSupervisionState.CKT2;
+            } else {
+                throw new BizException("无监察权限");
+            }
+
             // 获取当前积分包已经监察过的任务ID
-            List<WmTaskSupervision> list = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery().eq(WmTaskSupervision::getPackageId, pkgId).orderByDesc(WmTaskSupervision::getCreateTime));
+            List<WmTaskSupervision> list = taskSupervisionService.
+                    list(Wrappers.<WmTaskSupervision>lambdaQuery()
+                            .eq(WmTaskSupervision::getSupervisionState, state)
+                            .eq(WmTaskSupervision::getPackageId, pkgId)
+                            .orderByDesc(WmTaskSupervision::getCreateTime));
 
             if (CollUtil.isEmpty(list)) {
                 return Collections.emptyList();