From d5ed0367d5d800fd60aa5a1d123f1b811c9f75a7 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Mon, 11 Nov 2024 13:59:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-3004)=20-=20=E9=9B=86=E6=88=90?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E5=BC=95=E6=93=8E=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bpmn/model/BpmnModelCreateDTO.java | 2 - .../model/request/form/FormJsonModel.java | 4 +- .../form/definition/FormDefinitionDTO.java | 2 +- .../{FormFieldsDTO.java => FormFieldDTO.java} | 3 +- .../form/model/FormModelCreateDTO.java | 4 +- .../bpmn/process/BpmnProcessDefinitionVO.java | 7 +++ .../form/definition/FormDefinitionVO.java | 10 ++-- .../impl/AggregateModelServiceImpl.java | 7 ++- .../BpmnProcessDefinitionServiceImpl.java | 17 ++++++- .../service/converter/ConversionUtils.java | 30 +++++++++++ .../service/converter/FormFieldConverter.java | 34 +++++++++++++ .../impl/FormDefinitionServiceImpl.java | 50 ++++++++----------- .../server/controller/web/TestController.java | 6 +-- 13 files changed, 128 insertions(+), 48 deletions(-) rename workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/{FormFieldsDTO.java => FormFieldDTO.java} (97%) create mode 100644 workflow-engine-form/src/main/java/cn/axzo/workflow/form/service/converter/ConversionUtils.java create mode 100644 workflow-engine-form/src/main/java/cn/axzo/workflow/form/service/converter/FormFieldConverter.java diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/bpmn/model/BpmnModelCreateDTO.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/bpmn/model/BpmnModelCreateDTO.java index 5986e657d..730462b54 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/bpmn/model/BpmnModelCreateDTO.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/bpmn/model/BpmnModelCreateDTO.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.model.request.bpmn.model; import cn.axzo.workflow.common.model.request.bpmn.BpmnJsonModel; import cn.axzo.workflow.common.model.request.form.FormJsonModel; -import cn.axzo.workflow.common.model.request.form.definition.FormFieldsDTO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -12,7 +11,6 @@ import org.hibernate.validator.constraints.Length; import javax.validation.Valid; import javax.validation.constraints.NotBlank; import java.io.Serializable; -import java.util.List; /** * 创建流程模型的入参模型 diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/FormJsonModel.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/FormJsonModel.java index 0919ccfd5..39f13b88e 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/FormJsonModel.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/FormJsonModel.java @@ -1,6 +1,6 @@ package cn.axzo.workflow.common.model.request.form; -import cn.axzo.workflow.common.model.request.form.definition.FormFieldsDTO; +import cn.axzo.workflow.common.model.request.form.definition.FormFieldDTO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -32,5 +32,5 @@ public class FormJsonModel implements Serializable { @ApiModelProperty(value = "表单模型") @Valid - private List formFields; + private List formFields; } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormDefinitionDTO.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormDefinitionDTO.java index 77a90b6fa..2ec301d7f 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormDefinitionDTO.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormDefinitionDTO.java @@ -32,7 +32,7 @@ public class FormDefinitionDTO { @ApiModelProperty(value = "表单定义的具体字段项", example = "[{'': '''}]") @Valid - private List fields; + private List fields; @ApiModelProperty(value = "描述") private String description; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormFieldsDTO.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormFieldDTO.java similarity index 97% rename from workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormFieldsDTO.java rename to workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormFieldDTO.java index f416f1195..45996754e 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormFieldsDTO.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/definition/FormFieldDTO.java @@ -6,7 +6,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -20,7 +19,7 @@ import java.util.Map; */ @ApiModel("表单定义中的字段相关属性入参模型") @Data -public class FormFieldsDTO { +public class FormFieldDTO { @ApiModelProperty(value = "表单字段类型", hidden = true) @NotBlank(message = "字段类型不能为空") diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/model/FormModelCreateDTO.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/model/FormModelCreateDTO.java index f7cdd9477..06dc847b6 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/model/FormModelCreateDTO.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/form/model/FormModelCreateDTO.java @@ -1,6 +1,6 @@ package cn.axzo.workflow.common.model.request.form.model; -import cn.axzo.workflow.common.model.request.form.definition.FormFieldsDTO; +import cn.axzo.workflow.common.model.request.form.definition.FormFieldDTO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -37,7 +37,7 @@ public class FormModelCreateDTO { @ApiModelProperty(value = "表单模型的 Json 结构") @Valid - private List formFields; + private List formFields; @ApiModelProperty(value = "租户 ID", example = "1") private String tenantId = NO_TENANT_ID; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/response/bpmn/process/BpmnProcessDefinitionVO.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/response/bpmn/process/BpmnProcessDefinitionVO.java index ac36be4f8..62c4b781a 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/response/bpmn/process/BpmnProcessDefinitionVO.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/response/bpmn/process/BpmnProcessDefinitionVO.java @@ -2,12 +2,14 @@ package cn.axzo.workflow.common.model.response.bpmn.process; import cn.axzo.workflow.common.model.request.bpmn.BpmnJsonModel; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner; +import cn.axzo.workflow.common.model.request.form.definition.FormFieldDTO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotEmpty; import java.util.Date; +import java.util.List; @ApiModel("流程定义响应模型") @Data @@ -57,6 +59,11 @@ public class BpmnProcessDefinitionVO { @ApiModelProperty(value = "状态 1:生效中(激活) 2:历史(挂起)", required = true, example = "1", notes = "参见 SuspensionState 枚举") private Integer suspensionState; + /** + * 表单字段集合 + */ + @ApiModelProperty(value = "表单字段集合") + private List formFields; /** * 流程模型 JSON 数据 */ diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/response/form/definition/FormDefinitionVO.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/response/form/definition/FormDefinitionVO.java index c20bbb6ef..c167a5cd6 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/response/form/definition/FormDefinitionVO.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/response/form/definition/FormDefinitionVO.java @@ -1,6 +1,6 @@ package cn.axzo.workflow.common.model.response.form.definition; -import cn.axzo.workflow.common.model.request.form.definition.FormFieldsDTO; +import cn.axzo.workflow.common.model.request.form.definition.FormFieldDTO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -16,15 +16,15 @@ import java.util.List; @ApiModel("表单定义的响应模型") @Data public class FormDefinitionVO { + @ApiModelProperty(value = "模型定义 ID") + private String formDefinitionId; + @ApiModelProperty(value = "模型名称") private String name; @ApiModelProperty(value = "模型 KEY") private String key; - @ApiModelProperty(value = "自定义分类") - private String category; - @ApiModelProperty(value = "版本") private Integer version; @@ -32,6 +32,6 @@ public class FormDefinitionVO { private String tenantId; @ApiModelProperty(value = "表单模型字段") - private List fields; + private List fields; } diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/AggregateModelServiceImpl.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/AggregateModelServiceImpl.java index d25cc1f17..4f5beef9e 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/AggregateModelServiceImpl.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/AggregateModelServiceImpl.java @@ -15,12 +15,14 @@ import org.flowable.engine.repository.Model; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import javax.annotation.Nullable; import javax.annotation.Resource; import java.util.Objects; import static cn.axzo.workflow.common.constant.BpmnConstants.FORM_FILE_SUFFIX; +import static cn.axzo.workflow.common.constant.BpmnConstants.NO_TENANT_ID; /** * 聚合审批模型和表单模型的操作服务 @@ -51,6 +53,7 @@ public class AggregateModelServiceImpl implements AggregateModelService { formModelDto.setKey(dto.getKey()); formModelDto.setName(dto.getName()); formModelDto.setFormFields(dto.getFormJsonModel().getFormFields()); + formModelDto.setTenantId(StringUtils.hasText(dto.getTenantId()) ? dto.getTenantId() : NO_TENANT_ID); if (Objects.isNull(formModel)) { formModelService.createFormModel(formModelDto); } else { @@ -83,8 +86,10 @@ public class AggregateModelServiceImpl implements AggregateModelService { String definitionId = bpmnProcessModelService.deployBpmModelById(processModelId, tenantId, operator); Model model = this.repositoryService.getModel(processModelId); - Model formModel = repositoryService.createModelQuery().modelKey(model.getKey()) + Model formModel = repositoryService.createModelQuery() + .modelKey(model.getKey()) .modelCategory(FORM_FILE_SUFFIX) + .modelTenantId(StringUtils.hasText(tenantId) ? tenantId : NO_TENANT_ID) .singleResult(); if (Objects.isNull(formModel)) { return definitionId; 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 d224ef73f..ca26e74ca 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 @@ -1,15 +1,18 @@ package cn.axzo.workflow.core.service.impl; +import cn.axzo.workflow.common.exception.WorkflowEngineException; import cn.axzo.workflow.common.model.request.bpmn.definition.BpmnProcessDefinitionUpdateDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessDefinitionPageDTO; +import cn.axzo.workflow.common.model.request.form.definition.FromDefinitionSearchDTO; import cn.axzo.workflow.common.model.response.BpmPageResult; import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessDefinitionVO; -import cn.axzo.workflow.common.exception.WorkflowEngineException; +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.ExtAxReProcDef; import cn.axzo.workflow.core.service.BpmnProcessDefinitionService; import cn.axzo.workflow.core.service.ExtAxReProcDefService; import cn.axzo.workflow.core.service.converter.BpmnProcessDefinitionConverter; +import cn.axzo.workflow.form.service.FormDefinitionService; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import lombok.extern.slf4j.Slf4j; @@ -37,7 +40,6 @@ import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; -import static cn.axzo.workflow.common.constant.BpmnConstants.BPMN_FILE_SUFFIX; import static cn.axzo.workflow.common.code.BpmnModelRespCode.BPMN_BYTES_NOT_EXISTS; import static cn.axzo.workflow.common.code.BpmnModelRespCode.MODEL_NOT_EXISTS; import static cn.axzo.workflow.common.code.BpmnProcessDefinitionRespCode.PROCESS_DEFINITION_DEPLOY_ID_NOT_EXISTS; @@ -47,6 +49,7 @@ import static cn.axzo.workflow.common.code.BpmnProcessDefinitionRespCode.PROCESS import static cn.axzo.workflow.common.code.BpmnProcessDefinitionRespCode.PROCESS_DEFINITION_KEY_NOT_MATCH; import static cn.axzo.workflow.common.code.BpmnProcessDefinitionRespCode.PROCESS_DEFINITION_NAME_NOT_MATCH; import static cn.axzo.workflow.common.code.BpmnProcessDefinitionRespCode.PROCESS_DEFINITION_RESULT_TOO_MANY; +import static cn.axzo.workflow.common.constant.BpmnConstants.BPMN_FILE_SUFFIX; import static cn.axzo.workflow.core.common.utils.BpmnCollectionUtils.addIfNotNull; import static cn.axzo.workflow.core.common.utils.BpmnCollectionUtils.convertMap; import static java.util.Collections.emptyList; @@ -63,6 +66,8 @@ public class BpmnProcessDefinitionServiceImpl implements BpmnProcessDefinitionSe private BpmnProcessDefinitionConverter processDefinitionConverter; @Resource private String serviceVersion; + @Resource + private FormDefinitionService formDefinitionService; @Override public String createProcessDefinition(Model model, byte[] bpmnBytes) { @@ -185,6 +190,14 @@ public class BpmnProcessDefinitionServiceImpl implements BpmnProcessDefinitionSe } BpmnProcessDefinitionVO vo = processDefinitionConverter.toVo(processDefinition); vo.setJsonModel(BpmnJsonConverterUtil.convertToJson(repositoryService.getBpmnModel(id))); + + FromDefinitionSearchDTO formDefinitionSearch = new FromDefinitionSearchDTO(); + formDefinitionSearch.setKey(processDefinition.getKey()); + formDefinitionSearch.setTenantId(processDefinition.getTenantId()); + FormDefinitionVO formDefinitionVO = formDefinitionService.get(formDefinitionSearch); + if (Objects.nonNull(formDefinitionVO)) { + vo.setFormFields(formDefinitionVO.getFields()); + } return vo; } diff --git a/workflow-engine-form/src/main/java/cn/axzo/workflow/form/service/converter/ConversionUtils.java b/workflow-engine-form/src/main/java/cn/axzo/workflow/form/service/converter/ConversionUtils.java new file mode 100644 index 000000000..24f2befd4 --- /dev/null +++ b/workflow-engine-form/src/main/java/cn/axzo/workflow/form/service/converter/ConversionUtils.java @@ -0,0 +1,30 @@ +package cn.axzo.workflow.form.service.converter; + +/** + * TODO + * + * @author wangli + * @since 2024-11-11 13:42 + */ +import java.util.ArrayList; +import java.util.List; + +public class ConversionUtils { + public static List convertObjectToList(Object obj) { + if (obj instanceof List) { + List list = (List) obj; + List stringList = new ArrayList<>(); + for (Object item : list) { + if (item instanceof String) { + stringList.add((String) item); + } else { + // 处理非字符串类型的情况,可以选择忽略、抛出异常或进行其他处理 + } + } + return stringList; + } else { + // 如果输入不是列表类型,返回空列表或进行其他处理 + return new ArrayList<>(); + } + } +} diff --git a/workflow-engine-form/src/main/java/cn/axzo/workflow/form/service/converter/FormFieldConverter.java b/workflow-engine-form/src/main/java/cn/axzo/workflow/form/service/converter/FormFieldConverter.java new file mode 100644 index 000000000..2f53a0568 --- /dev/null +++ b/workflow-engine-form/src/main/java/cn/axzo/workflow/form/service/converter/FormFieldConverter.java @@ -0,0 +1,34 @@ +package cn.axzo.workflow.form.service.converter; + +import cn.axzo.workflow.common.model.request.form.definition.FormFieldDTO; +import org.flowable.form.model.FormField; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import java.util.Arrays; + +import static org.mapstruct.NullValueCheckStrategy.ALWAYS; + +/** + * TODO + * + * @author wangli + * @since 2024-11-11 11:27 + */ +@Mapper( + componentModel = "spring", + nullValueCheckStrategy = ALWAYS, + imports = {Arrays.class, ConversionUtils.class} +) +public interface FormFieldConverter extends EntityConverter { + + @Mapping(target = "id", source = "entity.id") + @Mapping(target = "name", source = "entity.name") + @Mapping(target = "type", source = "entity.type") + @Mapping(target = "value", expression = "java(ConversionUtils.convertObjectToList(entity.getValue()))") + @Mapping(target = "required", source = "entity.required") + @Mapping(target = "readOnly", source = "entity.readOnly") + @Mapping(target = "placeholder", source = "entity.placeholder") + @Mapping(target = "params", source = "entity.params") + FormFieldDTO toVo(FormField entity); + +} 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 1b4b2740c..988b99f33 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 @@ -4,25 +4,29 @@ import cn.axzo.framework.jackson.utility.JSON; import cn.axzo.workflow.common.model.request.form.definition.FromDefinitionSearchDTO; import cn.axzo.workflow.common.model.response.form.definition.FormDefinitionVO; import cn.axzo.workflow.form.service.FormDefinitionService; +import cn.axzo.workflow.form.service.converter.FormFieldConverter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.javassist.Loader; +import org.flowable.common.engine.api.FlowableObjectNotFoundException; import org.flowable.common.engine.impl.util.IoUtil; -import org.flowable.engine.FormService; -import org.flowable.engine.RepositoryService; -import org.flowable.engine.RuntimeService; import org.flowable.form.api.FormDefinition; import org.flowable.form.api.FormDefinitionQuery; import org.flowable.form.api.FormInfo; import org.flowable.form.api.FormRepositoryService; +import org.flowable.form.model.FormField; +import org.flowable.form.model.SimpleFormModel; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.List; import java.util.Objects; import static cn.axzo.workflow.common.constant.BpmnConstants.FORM_FILE_SUFFIX; +import static cn.axzo.workflow.common.constant.BpmnConstants.NO_TENANT_ID; /** @@ -38,11 +42,7 @@ public class FormDefinitionServiceImpl implements FormDefinitionService { @Resource private FormRepositoryService formRepositoryService; @Resource - private RepositoryService repositoryService; - @Resource - private FormService formService; - @Resource - private RuntimeService runtimeService; + private FormFieldConverter formFieldConverter; @Override public FormDefinitionVO getDraft(FromDefinitionSearchDTO dto) { @@ -52,28 +52,22 @@ public class FormDefinitionServiceImpl implements FormDefinitionService { @Override public FormDefinitionVO get(FromDefinitionSearchDTO dto) { - FormDefinitionQuery definitionQuery = formRepositoryService.createFormDefinitionQuery() - .formTenantId(dto.getTenantId()); - if (StringUtils.hasText(dto.getKey())) { - definitionQuery.formDefinitionKey(dto.getKey()); - } - if (StringUtils.hasText(dto.getDeploymentId())) { - definitionQuery.deploymentId(dto.getDeploymentId()); + FormInfo formModel; + try { + formModel = formRepositoryService.getFormModelByKey(dto.getKey(), dto.getTenantId(), true); + }catch (FlowableObjectNotFoundException e){ + return null; } - FormDefinition formDefinition; - if (Objects.nonNull(dto.getVersion())) { - formDefinition = definitionQuery.formVersion(dto.getVersion()) - .singleResult(); - } else { - formDefinition = definitionQuery.latestVersion() - .singleResult(); - } - - InputStream formDefinitionResource = formRepositoryService.getFormDefinitionResource(formDefinition.getId()); - byte[] bytes = IoUtil.readInputStream(formDefinitionResource, dto.getKey() + FORM_FILE_SUFFIX); - IoUtil.closeSilently(formDefinitionResource); - return JSON.parseObject(new String(bytes, StandardCharsets.UTF_8), FormDefinitionVO.class); + FormDefinitionVO formDefinitionVO = new FormDefinitionVO(); + formDefinitionVO.setFormDefinitionId(formModel.getId()); + formDefinitionVO.setName(formModel.getName()); + formDefinitionVO.setKey(formModel.getKey()); + formDefinitionVO.setVersion(formModel.getVersion()); + formDefinitionVO.setTenantId(dto.getTenantId()); + List fields = ((SimpleFormModel) formModel.getFormModel()).getFields(); + formDefinitionVO.setFields(formFieldConverter.toVos(fields)); + return formDefinitionVO; } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java index f3b4885ab..d70af7b6a 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java @@ -13,15 +13,14 @@ import cn.azxo.framework.common.model.CommonResponse; import lombok.extern.slf4j.Slf4j; import org.flowable.bpmn.model.FlowElement; import org.flowable.common.engine.impl.util.IoUtil; -import org.flowable.engine.FormService; import org.flowable.engine.HistoryService; import org.flowable.engine.RepositoryService; import org.flowable.engine.RuntimeService; -import org.flowable.engine.form.StartFormData; import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.repository.Deployment; import org.flowable.form.api.FormInfo; import org.flowable.form.api.FormRepositoryService; +import org.flowable.form.api.FormService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.util.StringUtils; @@ -267,7 +266,8 @@ public class TestController { @GetMapping("form") public CommonResponse getForm(@RequestParam String definitionId, @RequestParam(required = false) String processInstanceId) { // FormInfo startFormModel = bpmnProcessInstanceService.getStartFormModel(definitionId, processInstanceId); - StartFormData startFormData = formService.getStartFormData(definitionId); +// formService.getFormInstanceModelByKey("we", null, null, null); + FormInfo we = formService.getFormModelWithVariablesByKey("we", null, null); FormInfo formModelByKey = formRepositoryService.getFormModelByKey("we"); FormInfo startFormModel = runtimeService.getStartFormModel(definitionId, processInstanceId); return CommonResponse.success(null);