ソースを参照

触发重新归档条件校验

huanglc 4 週間 前
コミット
62281c0933
共有1 個のファイルを変更した15 個の追加3 個の削除を含む
  1. 15 3
      bpm-core/src/main/java/com/srm/bpm/logic/service/impl/BillBpmnLogicImpl.java

+ 15 - 3
bpm-core/src/main/java/com/srm/bpm/logic/service/impl/BillBpmnLogicImpl.java

@@ -637,9 +637,21 @@ public class BillBpmnLogicImpl implements BillBpmnLogic {
637 637
                             .eq(BillTaskEntity::getIsDeleted, 0)
638 638
             );
639 639
 
640
-            //如果全部为2(同意)则触发回调
641
-            boolean allMatch = list.stream().allMatch(f -> f.getNodeStatus().equals(BillTaskStatus.AGREE.getStatus()));
642
-            if(!allMatch)return;
640
+
641
+            //如果有一个是拒绝,或者全部为同意,或者有一个是自动跳过,或者为撤销,则触发回调
642
+            boolean refuseStatus = list.stream().anyMatch(f -> f.getNodeStatus().equals(BillTaskStatus.REFUSE.getStatus()));
643
+
644
+            boolean agreeStatus = list.stream().allMatch(f -> f.getNodeStatus().equals(BillTaskStatus.AGREE.getStatus()));
645
+
646
+            boolean skipStatus = list.stream().anyMatch(f -> f.getNodeStatus().equals(BillTaskStatus.SKIP.getStatus()));
647
+
648
+            boolean cancelStatus = list.stream().anyMatch(f -> f.getNodeStatus().equals(BillTaskStatus.CANCEL.getStatus()));
649
+
650
+
651
+            if(!refuseStatus && !agreeStatus && !skipStatus && !cancelStatus){
652
+                return;
653
+            }
654
+
643 655
 
644 656
             // 检查最后一个节点的审批状态是否为 2(已同意)
645 657
             //if (lastTask.getNodeStatus() == BillTaskStatus.AGREE.getStatus()) {