diff --git a/src/test/java/com/gxwebsoft/approval/ApprovalSettlementIT.java b/src/test/java/com/gxwebsoft/approval/ApprovalSettlementIT.java index 152b3b4..e517fe0 100644 --- a/src/test/java/com/gxwebsoft/approval/ApprovalSettlementIT.java +++ b/src/test/java/com/gxwebsoft/approval/ApprovalSettlementIT.java @@ -515,9 +515,18 @@ class ApprovalSettlementIT { .andExpect(jsonPath("$.code").value(0)); } - /** 按组把剩余待办逐个通过(会签组内成员来自共享库角色,逐个处理最稳)。 */ + /** + * 按组把剩余待办逐个通过(会签组内成员来自共享库角色,逐个处理最稳)。 + * + *
共享库里同一个人可能同时属于多个会签组,按 ADR 0003 他一次通过就会完成本节点本轮 + * 全部待办,节点随即推进、其余组的待办被取消。因此每轮都要先看节点是否还在会签, + * 且批准前复查该任务是否仍为 PENDING——读到的是快照,不能用它直接点通过。
+ */ private void approveAllByGroup(long instanceId, String groupKey) throws Exception { for (int guard = 0; guard < 20; guard++) { + if (!"countersign".equals(currentNodeKey(instanceId))) { + return; + } List