update 调整流程转换,流程启动,上传新bpmn文件

This commit is contained in:
songgaoshuai 2024-02-05 13:51:49 +08:00
parent b163ad0d82
commit 16bc2a3944
4 changed files with 7 additions and 9 deletions

View File

@ -6,8 +6,6 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.apache.commons.io.IOUtils;
@ -22,7 +20,6 @@ import org.dromara.workflow.domain.bo.ProcessDefinitionBo;
import org.dromara.workflow.domain.vo.ProcessDefinitionVo;
import org.dromara.workflow.service.IActProcessDefinitionService;
import org.dromara.workflow.service.IWfCategoryService;
import org.flowable.editor.constants.ModelDataJsonConstants;
import org.flowable.engine.HistoryService;
import org.flowable.engine.ProcessMigrationService;
import org.flowable.engine.RepositoryService;
@ -257,11 +254,6 @@ public class ActProcessDefinitionServiceImpl implements IActProcessDefinitionSer
modelData.setKey(pd.getKey());
modelData.setName(pd.getName());
modelData.setTenantId(pd.getTenantId());
ObjectNode modelObjectNode = new ObjectMapper().createObjectNode();
modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, pd.getName());
modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, modelData.getVersion());
modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, pd.getDescription());
modelData.setMetaInfo(modelObjectNode.toString());
repositoryService.saveModel(modelData);
repositoryService.addModelEditorSource(modelData.getId(), IoUtil.readBytes(inputStream));
}

View File

@ -26,6 +26,7 @@ import org.dromara.workflow.flowable.strategy.FlowProcessEventHandler;
import org.dromara.workflow.flowable.strategy.FlowTaskEventHandler;
import org.dromara.workflow.service.IActTaskService;
import org.dromara.workflow.utils.WorkflowUtils;
import org.flowable.common.engine.api.FlowableObjectNotFoundException;
import org.flowable.common.engine.impl.identity.Authentication;
import org.flowable.engine.*;
import org.flowable.engine.history.HistoricProcessInstance;
@ -100,7 +101,12 @@ public class ActTaskServiceImpl implements IActTaskService {
variables.put(FLOWABLE_SKIP_EXPRESSION_ENABLED, true);
// 流程发起人
variables.put(INITIATOR, (String.valueOf(LoginHelper.getUserId())));
ProcessInstance pi = runtimeService.startProcessInstanceByKeyAndTenantId(startProcessBo.getProcessKey(), startProcessBo.getBusinessKey(), variables, TenantHelper.getTenantId());
ProcessInstance pi;
try {
pi = runtimeService.startProcessInstanceByKeyAndTenantId(startProcessBo.getProcessKey(), startProcessBo.getBusinessKey(), variables, TenantHelper.getTenantId());
} catch (FlowableObjectNotFoundException e) {
throw new ServiceException("找不到当前【" + startProcessBo.getProcessKey() + "】流程定义!");
}
// 将流程定义名称 作为 流程实例名称
runtimeService.setProcessInstanceName(pi.getProcessInstanceId(), pi.getProcessDefinitionName());
// 申请人执行流程