diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormDefinitionSearchDTO.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormDefinitionSearchDTO.java index 64cfa3ac9..282e83c12 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormDefinitionSearchDTO.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormDefinitionSearchDTO.java @@ -27,4 +27,7 @@ public class FormDefinitionSearchDTO { @ApiModelProperty(value = "表单归属租户") private String tenantId = NO_TENANT_ID; + + @ApiModelProperty(value = "表单关联的流程定义部署 ID") + private String parentDeploymentId; } diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessDefinitionServiceImpl.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessDefinitionServiceImpl.java index bcbfbb13a..48a334da4 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessDefinitionServiceImpl.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessDefinitionServiceImpl.java @@ -8,8 +8,10 @@ import cn.axzo.workflow.common.model.response.BpmPageResult; import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessDefinitionVO; import cn.axzo.workflow.common.model.response.form.definition.FormDefinitionVO; import cn.axzo.workflow.core.common.utils.BpmnJsonConverterUtil; +import cn.axzo.workflow.core.repository.entity.ExtAxBpmnFormRelation; import cn.axzo.workflow.core.repository.entity.ExtAxReProcDef; import cn.axzo.workflow.core.service.BpmnProcessDefinitionService; +import cn.axzo.workflow.core.service.ExtAxBpmnFormRelationService; import cn.axzo.workflow.core.service.ExtAxReProcDefService; import cn.axzo.workflow.core.service.converter.BpmnProcessDefinitionConverter; import cn.axzo.workflow.form.service.FormDefinitionService; @@ -68,6 +70,8 @@ public class BpmnProcessDefinitionServiceImpl implements BpmnProcessDefinitionSe private String serviceVersion; @Resource private FormDefinitionService formDefinitionService; + @Resource + private ExtAxBpmnFormRelationService bpmnFormRelationService; @Override public String createProcessDefinition(Model model, byte[] bpmnBytes) { @@ -191,9 +195,16 @@ public class BpmnProcessDefinitionServiceImpl implements BpmnProcessDefinitionSe BpmnProcessDefinitionVO vo = processDefinitionConverter.toVo(processDefinition); vo.setJsonModel(BpmnJsonConverterUtil.convertToJson(repositoryService.getBpmnModel(id))); + ExtAxBpmnFormRelation relation = bpmnFormRelationService.queryByBpmnDefinitionId(processDefinition.getId()); + if(Objects.isNull(relation)){ + return vo; + } FormDefinitionSearchDTO formDefinitionSearch = new FormDefinitionSearchDTO(); formDefinitionSearch.setKey(processDefinition.getKey()); formDefinitionSearch.setTenantId(processDefinition.getTenantId()); + formDefinitionSearch.setParentDeploymentId(processDefinition.getDeploymentId()); + formDefinitionSearch.setDeploymentId(relation.getFormDeploymentId()); + FormDefinitionVO formDefinitionVO = formDefinitionService.get(formDefinitionSearch); if (Objects.nonNull(formDefinitionVO)) { vo.setFormFields(formDefinitionVO.getFields()); diff --git a/workflow-engine-form/src/main/java/cn/axzo/workflow/form/service/impl/FormDefinitionServiceImpl.java b/workflow-engine-form/src/main/java/cn/axzo/workflow/form/service/impl/FormDefinitionServiceImpl.java index 16451aeac..f8b2ba4c2 100644 --- a/workflow-engine-form/src/main/java/cn/axzo/workflow/form/service/impl/FormDefinitionServiceImpl.java +++ b/workflow-engine-form/src/main/java/cn/axzo/workflow/form/service/impl/FormDefinitionServiceImpl.java @@ -46,7 +46,7 @@ public class FormDefinitionServiceImpl implements FormDefinitionService { public FormDefinitionVO get(FormDefinitionSearchDTO dto) { FormInfo formModel; try { - formModel = formRepositoryService.getFormModelByKey(dto.getKey(), dto.getTenantId(), false); + formModel = formRepositoryService.getFormModelByKeyAndParentDeploymentId(dto.getKey(),dto.getParentDeploymentId(), dto.getTenantId(),false ); }catch (FlowableObjectNotFoundException e){ return null; } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessDefinitionController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessDefinitionController.java index bf53872e8..766eef73c 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessDefinitionController.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessDefinitionController.java @@ -217,6 +217,7 @@ public class BpmnProcessDefinitionController implements ProcessDefinitionApi { FormDefinitionSearchDTO search = new FormDefinitionSearchDTO(); search.setKey(modelDetail.getKey()); + search.setParentDeploymentId(processDefinition.getId()); search.setTenantId(finalTenantId); FormDefinitionVO formDefinitionVO = formDefinitionService.get(search); if(Objects.nonNull(formDefinitionVO)) {