diff --git a/src/main/java/com/budwk/app/flow/engine/handlers/impl/CountersignHandler.java b/src/main/java/com/budwk/app/flow/engine/handlers/impl/CountersignHandler.java index 6d222013..a340c671 100644 --- a/src/main/java/com/budwk/app/flow/engine/handlers/impl/CountersignHandler.java +++ b/src/main/java/com/budwk/app/flow/engine/handlers/impl/CountersignHandler.java @@ -80,7 +80,14 @@ public class CountersignHandler implements IHandler { } if (!isMerged && CountersignTypeEnum.PARALLEL.toString().equalsIgnoreCase(countersignType)) { // 是否所有会签任务已完成 - isMerged = execution.getEngine().processTaskService().getDoingTaskList(execution.getProcessInstanceId(), new String[]{taskModel.getName()}).size() == 0; + boolean finished = execution.getEngine().processTaskService().getDoingTaskList(execution.getProcessInstanceId(), new String[]{taskModel.getName()}).size() == 0; + + if(StrUtil.isNotBlank(countersignCompletionCondition) && finished) { + execution.getEngine().processTaskService().rejectTask(execution.getProcessModel(), execution.getProcessTask()); + } else { + isMerged = finished; + } + if (!isMerged) { // 未通过,更新已完成实例数量 Dict addVariable = Dict.create();