|
@@ -160,26 +160,30 @@ public class BpmModelServiceImpl implements BpmModelService {
|
|
|
newModel.setTenantId(FlowableUtils.getTenantId());
|
|
|
|
|
|
byte[] bpmnBytes = this.getModelBpmnXML(model.getId());
|
|
|
- BpmModelRespVO bpmModelRespVO = BpmModelConvert.INSTANCE.buildModel(model, bpmnBytes);
|
|
|
- BpmModelUpdateReqVO updateReqVO = BeanUtils.toBean(bpmModelRespVO, BpmModelUpdateReqVO.class);
|
|
|
- // 修改流程定义
|
|
|
- BpmModelConvert.INSTANCE.copyToUpdateModel(newModel, updateReqVO);
|
|
|
- // 添加模型
|
|
|
- repositoryService.saveModel(newModel);
|
|
|
- // 添加 BPMN XML
|
|
|
- repositoryService.addModelEditorSource(newModel.getId(), StrUtil.utf8Bytes(updateReqVO.getBpmnXml()));
|
|
|
+ if (bpmnBytes != null && bpmnBytes.length > 0) {
|
|
|
+ BpmModelRespVO bpmModelRespVO = BpmModelConvert.INSTANCE.buildModel(model, bpmnBytes);
|
|
|
+ BpmModelUpdateReqVO updateReqVO = BeanUtils.toBean(bpmModelRespVO, BpmModelUpdateReqVO.class);
|
|
|
+ // 修改流程定义
|
|
|
+ BpmModelConvert.INSTANCE.copyToUpdateModel(newModel, updateReqVO);
|
|
|
+ // 添加模型
|
|
|
+ repositoryService.saveModel(newModel);
|
|
|
+ // 添加 BPMN XML
|
|
|
+ repositoryService.addModelEditorSource(newModel.getId(), StrUtil.utf8Bytes(updateReqVO.getBpmnXml()));
|
|
|
+ }
|
|
|
|
|
|
// 添加分配规则
|
|
|
List<BpmTaskAssignRuleDO> taskAssignRuleListByModelId = taskAssignRuleService.getTaskAssignRuleListByModelId2(model.getId());
|
|
|
- for (BpmTaskAssignRuleDO bpmTaskAssignRuleDO : taskAssignRuleListByModelId) {
|
|
|
- bpmTaskAssignRuleDO.setModelId(newModel.getId());
|
|
|
- BpmTaskAssignRuleCreateReqVO bpmTaskAssignRuleCreateReqVO = BeanUtils.toBean(bpmTaskAssignRuleDO, BpmTaskAssignRuleCreateReqVO.class);
|
|
|
- taskAssignRuleService.createTaskAssignRule(bpmTaskAssignRuleCreateReqVO);
|
|
|
+ if (CollUtil.isNotEmpty(taskAssignRuleListByModelId)) {
|
|
|
+ for (BpmTaskAssignRuleDO bpmTaskAssignRuleDO : taskAssignRuleListByModelId) {
|
|
|
+ bpmTaskAssignRuleDO.setModelId(newModel.getId());
|
|
|
+ BpmTaskAssignRuleCreateReqVO bpmTaskAssignRuleCreateReqVO = BeanUtils.toBean(bpmTaskAssignRuleDO, BpmTaskAssignRuleCreateReqVO.class);
|
|
|
+ taskAssignRuleService.createTaskAssignRule(bpmTaskAssignRuleCreateReqVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 部署流程
|
|
|
+ this.deployModel(newModel.getId());
|
|
|
}
|
|
|
|
|
|
- // 部署流程
|
|
|
- this.deployModel(newModel.getId());
|
|
|
-
|
|
|
resultMap.put(modelKey + ":" + FlowableUtils.getTenantId(), "模型复制部署成功");
|
|
|
// resultBuilder.append(modelKey).append(":").append(FlowableUtils.getTenantId()).append(" 模型复制部署成功;").append(System.lineSeparator());
|
|
|
} else {
|
|
@@ -219,26 +223,30 @@ public class BpmModelServiceImpl implements BpmModelService {
|
|
|
newModel.setTenantId(FlowableUtils.getTenantId());
|
|
|
|
|
|
byte[] bpmnBytes = this.getModelBpmnXML(model.getId());
|
|
|
- BpmModelRespVO bpmModelRespVO = BpmModelConvert.INSTANCE.buildModel(model, bpmnBytes);
|
|
|
- BpmModelUpdateReqVO updateReqVO = BeanUtils.toBean(bpmModelRespVO, BpmModelUpdateReqVO.class);
|
|
|
- // 修改流程定义
|
|
|
- BpmModelConvert.INSTANCE.copyToUpdateModel(newModel, updateReqVO);
|
|
|
- // 添加模型
|
|
|
- repositoryService.saveModel(newModel);
|
|
|
- // 添加 BPMN XML
|
|
|
- repositoryService.addModelEditorSource(newModel.getId(), StrUtil.utf8Bytes(updateReqVO.getBpmnXml()));
|
|
|
+ if (bpmnBytes != null && bpmnBytes.length > 0) {
|
|
|
+ BpmModelRespVO bpmModelRespVO = BpmModelConvert.INSTANCE.buildModel(model, bpmnBytes);
|
|
|
+ BpmModelUpdateReqVO updateReqVO = BeanUtils.toBean(bpmModelRespVO, BpmModelUpdateReqVO.class);
|
|
|
+ // 修改流程定义
|
|
|
+ BpmModelConvert.INSTANCE.copyToUpdateModel(newModel, updateReqVO);
|
|
|
+ // 添加模型
|
|
|
+ repositoryService.saveModel(newModel);
|
|
|
+ // 添加 BPMN XML
|
|
|
+ repositoryService.addModelEditorSource(newModel.getId(), StrUtil.utf8Bytes(updateReqVO.getBpmnXml()));
|
|
|
+ }
|
|
|
|
|
|
// 添加分配规则
|
|
|
List<BpmTaskAssignRuleDO> taskAssignRuleListByModelId = taskAssignRuleService.getTaskAssignRuleListByModelId2(model.getId());
|
|
|
- for (BpmTaskAssignRuleDO bpmTaskAssignRuleDO : taskAssignRuleListByModelId) {
|
|
|
- bpmTaskAssignRuleDO.setModelId(newModel.getId());
|
|
|
- BpmTaskAssignRuleCreateReqVO bpmTaskAssignRuleCreateReqVO = BeanUtils.toBean(bpmTaskAssignRuleDO, BpmTaskAssignRuleCreateReqVO.class);
|
|
|
- taskAssignRuleService.createTaskAssignRule(bpmTaskAssignRuleCreateReqVO);
|
|
|
+ if (CollUtil.isNotEmpty(taskAssignRuleListByModelId)) {
|
|
|
+ for (BpmTaskAssignRuleDO bpmTaskAssignRuleDO : taskAssignRuleListByModelId) {
|
|
|
+ bpmTaskAssignRuleDO.setModelId(newModel.getId());
|
|
|
+ BpmTaskAssignRuleCreateReqVO bpmTaskAssignRuleCreateReqVO = BeanUtils.toBean(bpmTaskAssignRuleDO, BpmTaskAssignRuleCreateReqVO.class);
|
|
|
+ taskAssignRuleService.createTaskAssignRule(bpmTaskAssignRuleCreateReqVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 部署流程
|
|
|
+ this.deployModel(newModel.getId());
|
|
|
}
|
|
|
|
|
|
- // 部署流程
|
|
|
- this.deployModel(newModel.getId());
|
|
|
-
|
|
|
resultMap.put(modelKey + ":" + FlowableUtils.getTenantId(), "模型复制部署成功");
|
|
|
// resultBuilder.append(modelKey).append(":").append(FlowableUtils.getTenantId()).append(" 模型复制部署成功;").append(System.lineSeparator());
|
|
|
} else {
|