Explorar o código

授权功能优化

jiawuxian hai 1 ano
pai
achega
ad72365e6b

+ 7 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/impl/SafetyCheckRegisterSericeImpl.java

@@ -673,17 +673,18 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
             }
         }
 
-        if (ObjectUtil.isNull(task.getGrantUserId())) {
-            Long uncompletedCount = tasks.stream()
-                    .filter(t -> !ObjectUtil.equal(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) && ObjectUtil.isNull(t.getGrantUserId()))
+//        if (ObjectUtil.isNull(task.getGrantUserId())) {
+            Long canGrantCount = tasks.stream()
+                    .filter(t -> !ObjectUtil.equal(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) &&
+                            ObjectUtil.notEqual(t.getStatus(),SafetyCheckTaskStatus.OverDue.getValue()))
                     .count();
             Long selfCompletedCount = tasks.stream()
-                    .filter(t -> ObjectUtil.equal(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) && ObjectUtil.equal(t.getSubmitorId(), loginUserId))
+                    .filter(t -> ObjectUtil.equal(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) && ObjectUtil.isNull(t.getGrantUserId()))
                     .count();
-            if (uncompletedCount <= 1 && selfCompletedCount == 0) {
+            if (canGrantCount <= 1 && selfCompletedCount == 0) {
                 throw new ServiceException("网点负责人每月亲自检查不少于1次");
             }
-        }
+//        }
 
         LambdaUpdateWrapper<CoreSafetyTask> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper.eq(CoreSafetyTask::getId, dto.getTaskId())