feat - 测试前加签代码逻辑
This commit is contained in:
parent
c8238ba1ba
commit
565e6d320d
@ -8,7 +8,6 @@ import cn.axzo.workflow.common.enums.BpmnFlowNodeType;
|
||||
import cn.axzo.workflow.common.exception.WorkflowEngineException;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.BpmnJsonNode;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
||||
import cn.hutool.core.lang.UUID;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.flowable.bpmn.model.ExtensionAttribute;
|
||||
@ -23,6 +22,7 @@ import org.flowable.engine.impl.bpmn.parser.factory.ActivityBehaviorFactory;
|
||||
import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.axzo.workflow.common.code.ConvertorRespCode.CREATE_BPMN_PRE_SIGN_ERROR;
|
||||
@ -36,6 +36,8 @@ import static cn.axzo.workflow.common.constant.BpmnConstants.ELEMENT_ATTRIBUTE_D
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.ELEMENT_ATTRIBUTE_VALUE;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_TASK_RELATION_ASSIGNEE_LIST_INFO;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.OR_SIGN_EXPRESSION_ONLY_ONE;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.SEQUENCE_FLOW_ID;
|
||||
import static cn.axzo.workflow.core.common.utils.BpmnJsonConverterUtil.id;
|
||||
import static cn.axzo.workflow.core.converter.json.UserTaskJsonConverter.setExecutionListeners;
|
||||
import static cn.axzo.workflow.core.converter.json.UserTaskJsonConverter.setTaskListeners;
|
||||
|
||||
@ -167,12 +169,19 @@ public class CustomBpmnModelHelper {
|
||||
incomingFlow.setTargetRef(newUserTask.getId());
|
||||
// 如果需要,也可以更新FlowElement中的引用,但通常改TargetRef即可
|
||||
}
|
||||
newUserTask.setIncomingFlows(incomingFlows);
|
||||
|
||||
// 3. 创建一个新的顺序流,从 newUserTask 指向 originalUserTask
|
||||
SequenceFlow newSequenceFlow = new SequenceFlow();
|
||||
newSequenceFlow.setId("pre_sign_dynamic" + UUID.fastUUID());
|
||||
newSequenceFlow.setId(id(SEQUENCE_FLOW_ID + "_PreSign"));
|
||||
newSequenceFlow.setSourceRef(newUserTask.getId());
|
||||
newSequenceFlow.setSourceFlowElement(newUserTask);
|
||||
newSequenceFlow.setTargetRef(originalUserTask.getId());
|
||||
newSequenceFlow.setTargetFlowElement(originalUserTask);
|
||||
|
||||
newUserTask.setOutgoingFlows(Collections.singletonList(newSequenceFlow));
|
||||
process.addFlowElement(newSequenceFlow);
|
||||
|
||||
originalUserTask.setIncomingFlows(Collections.singletonList(newSequenceFlow));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user