|
@@ -1,11 +1,14 @@
|
|
|
package com.flow.service.impl;
|
|
|
|
|
|
import com.flow.common.core.exception.BaseException;
|
|
|
+import com.flow.common.core.util.StrUtil;
|
|
|
import com.flow.common.mybatis.service.impl.BaseServiceImpl;
|
|
|
import com.flow.common.oauth2.utils.SecurityContextUtil;
|
|
|
import com.flow.dao.FlowDefineDao;
|
|
|
import com.flow.entity.FlowDefine;
|
|
|
import com.flow.entity.node.*;
|
|
|
+import com.flow.entity.settings.Settings;
|
|
|
+import com.flow.entity.settings.TitleConfig;
|
|
|
import com.flow.enums.ProcessStatus;
|
|
|
import com.flow.model.FormInfo;
|
|
|
import com.flow.model.StartProcess;
|
|
@@ -86,10 +89,16 @@ public class FlowDefineServiceImpl extends BaseServiceImpl<FlowDefineDao, FlowDe
|
|
|
String currentDate = DateTimeFormatter.ofPattern("yyyyMMdd").format(LocalDate.now());
|
|
|
String instanceId = String.format("fw%s%s", currentDate, serial);
|
|
|
|
|
|
+ String instanceName = startProcess.getInstanceName();
|
|
|
+ Settings settings = flowDefine.getSettings();
|
|
|
+ TitleConfig titleConfig = settings.getTitle();
|
|
|
+ if ("custom".equals(titleConfig.getType())) {
|
|
|
+ instanceName = StrUtil.format(titleConfig.getValue(), values);
|
|
|
+ }
|
|
|
Authentication.setAuthenticatedUserId(SecurityContextUtil.getUserId());
|
|
|
runtimeService.createProcessInstanceBuilder()
|
|
|
.processDefinitionId(startProcess.getDefineId())
|
|
|
- .name(startProcess.getInstanceName())
|
|
|
+ .name(instanceName)
|
|
|
.owner(SecurityContextUtil.getUserId())
|
|
|
.predefineProcessInstanceId(instanceId)
|
|
|
.businessStatus(ProcessStatus.RUNNING.toString())
|