update - 流程实例创建的入参模型, 对内开放直接传入指定版本的定义可以正常发起流程实例
This commit is contained in:
parent
557c71f421
commit
37ab16a7f6
@ -235,15 +235,17 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
|
||||
|
||||
@Override
|
||||
public String createProcessInstance(BpmnProcessInstanceCreateDTO dto) {
|
||||
BpmnProcessDefinitionVO definition =
|
||||
processDefinitionService.getActiveProcessDefinitionByKey(dto.getProcessDefinitionKey(),
|
||||
dto.getTenantId());
|
||||
// 校验流程定义
|
||||
if (definition == null) {
|
||||
throw new WorkflowEngineException(PROCESS_DEFINITION_KEY_NOT_EXISTS, dto.getProcessDefinitionKey());
|
||||
}
|
||||
if (Objects.equals(SuspensionState.SUSPENDED.getStateCode(), definition.getSuspensionState())) {
|
||||
throw new WorkflowEngineException(PROCESS_DEFINITION_IS_SUSPENDED, dto.getProcessDefinitionKey());
|
||||
BpmnProcessDefinitionVO definition = null;
|
||||
if (StringUtils.isBlank(dto.getProcessDefinitionId())) {
|
||||
definition = processDefinitionService.getActiveProcessDefinitionByKey(dto.getProcessDefinitionKey(),
|
||||
dto.getTenantId());
|
||||
// 校验流程定义
|
||||
if (definition == null) {
|
||||
throw new WorkflowEngineException(PROCESS_DEFINITION_KEY_NOT_EXISTS, dto.getProcessDefinitionKey());
|
||||
}
|
||||
if (Objects.equals(SuspensionState.SUSPENDED.getStateCode(), definition.getSuspensionState())) {
|
||||
throw new WorkflowEngineException(PROCESS_DEFINITION_IS_SUSPENDED, dto.getProcessDefinitionKey());
|
||||
}
|
||||
}
|
||||
|
||||
dto.getVariables().put(INTERNAL_INITIATOR, dto.getInitiator());
|
||||
@ -263,10 +265,11 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
|
||||
Authentication.setAuthenticatedUserId(dto.getInitiator().buildAssigneeId());
|
||||
String name = StringUtils.isNotBlank(dto.getCustomProcessInstanceName()) ?
|
||||
dto.getCustomProcessInstanceName()
|
||||
: definition.getName();
|
||||
: Objects.isNull(definition) ? "" : definition.getName();
|
||||
|
||||
// 设置流程名字
|
||||
ProcessInstance instance = runtimeService.createProcessInstanceBuilder()
|
||||
.processDefinitionId(definition.getId())
|
||||
.processDefinitionId(Objects.isNull(definition) ? dto.getProcessDefinitionId() : definition.getId())
|
||||
.businessKey(dto.getBusinessKey())
|
||||
.variables(dto.getVariables())
|
||||
.name(name)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user