Commit 6f25be13 authored by 雍欢's avatar 雍欢

如果流程实例存在回退/打回的情况的话会存在多个申请节点,这时我们按照申请任务创建时间排序并取第一申请任务作为申请节点

parent 1b886516
......@@ -760,14 +760,17 @@ public class FlowBroker extends BaseApplication implements TaskListener, Executi
ThreadLocalUtil.putVariable(Constants.MAKEACOPYFORPREFIX, "办结提醒:");
List<String> executorIds = new ArrayList<>(1);
executorIds.add(applicantFullId);
// 查找流程申请节点
HistoricTaskInstance applyTask = delegateExecution.getEngineServices().getHistoryService().createHistoricTaskInstanceQuery()
// 查找流程申请节点,如果流程实例存在回退/打回的情况的话会存在多个申请节点,
// 这时我们按照申请任务创建时间排序并取第一申请任务作为申请节点
String taskId = delegateExecution.getEngineServices().getHistoryService().createHistoricTaskInstanceQuery()
.processInstanceId(delegateExecution.getProcessInstanceId())
.taskDefinitionKey("Apply")
.singleResult();
String taskId = applyTask != null
? applyTask.getId()
: getApprovalParameter().getTaskId();
.orderByTaskCreateTime().asc()
.listPage(0, 1)
.stream()
.map(HistoricTaskInstance::getId)
.findAny()
.orElseGet(() -> getApprovalParameter().getTaskId());
this.workflowService.makeACopyFor(taskId, executorIds);
delegateExecution.setVariable(IS_MAKE_A_COPY_FOR, true);
}
......@@ -1160,7 +1163,7 @@ public class FlowBroker extends BaseApplication implements TaskListener, Executi
if (totalChiefHandlers < 2) {
return false;
}
if(totalChiefHandlers <= limitHandler) {
if (totalChiefHandlers <= limitHandler) {
// 主审总人数须大于最少审批人数
return false;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment