diff --git a/view-object-model/pom.xml b/view-object-model/pom.xml index 153d13df737cedfaf3d5a5f9373afffacb987b40..3ab68bc7c53f7a9086c110eb59e3a79fa9d8d0c1 100644 --- a/view-object-model/pom.xml +++ b/view-object-model/pom.xml @@ -95,6 +95,10 @@ io.iec.edp caf-i18n-api + + com.inspur.edp + wf-bizprocess-api + diff --git a/view-object-model/src/main/java/com/inspur/edp/formserver/viewmodel/formentity/ChildData.java b/view-object-model/src/main/java/com/inspur/edp/formserver/viewmodel/formentity/ChildData.java index f8497b9b0b75916ac0c6b028d0679a2d8fe9a937..14df2f52111fd8b3896cd9794a3fdc0178cf2ed7 100644 --- a/view-object-model/src/main/java/com/inspur/edp/formserver/viewmodel/formentity/ChildData.java +++ b/view-object-model/src/main/java/com/inspur/edp/formserver/viewmodel/formentity/ChildData.java @@ -1,5 +1,6 @@ package com.inspur.edp.formserver.viewmodel.formentity; +import com.inspur.edp.wf.bizprocess.entity.FieldState; import lombok.Getter; import java.util.List; @@ -9,6 +10,7 @@ public class ChildData { private String id; private String name; private String code; + private FieldState state; private List configurableAttrs; private List childFields; @@ -24,6 +26,10 @@ public class ChildData { this.code = code; } + public void setState(FieldState state) { + this.state = state; + } + public void setConfigurableAttrs(List configurableAttrs) { this.configurableAttrs = configurableAttrs; } diff --git a/view-object-rtwebapi/src/main/java/com/inspur/edp/formserver/viewmodel/rtwebapi/VMCodeGenController.java b/view-object-rtwebapi/src/main/java/com/inspur/edp/formserver/viewmodel/rtwebapi/VMCodeGenController.java index 28468082024ca23df3fab7f523613a0b5b334aff..deae72662830630b3252465c67910caeed7bb961 100644 --- a/view-object-rtwebapi/src/main/java/com/inspur/edp/formserver/viewmodel/rtwebapi/VMCodeGenController.java +++ b/view-object-rtwebapi/src/main/java/com/inspur/edp/formserver/viewmodel/rtwebapi/VMCodeGenController.java @@ -3,10 +3,14 @@ package com.inspur.edp.formserver.viewmodel.rtwebapi; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.inspur.edp.bef.bizentity.GspBusinessEntity; +import com.inspur.edp.cef.designtime.api.element.GspElementDataType; +import com.inspur.edp.cef.designtime.api.variable.CommonVariable; import com.inspur.edp.das.commonmodel.util.HandleAssemblyNameUtil; import com.inspur.edp.formserver.viewmodel.GspViewModel; import com.inspur.edp.formserver.viewmodel.common.ConvertUtils; import com.inspur.edp.formserver.viewmodel.exception.ViewModelException; +import com.inspur.edp.formserver.viewmodel.i18n.VMI8nResourceUtil; +import com.inspur.edp.formserver.viewmodel.i18n.names.VoResourceKeyNames; import com.inspur.edp.formserver.viewmodel.rtwebapi.exception.VoRtApiErrorCodes; import com.inspur.edp.formserver.vmmanager.util.CheckInfoUtil; import com.inspur.edp.formserver.vmmanager.voguide.VoGuideUtil; @@ -18,6 +22,7 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import java.util.HashMap; +import java.util.UUID; @Path("") @Produces(MediaType.APPLICATION_JSON) @@ -42,13 +47,17 @@ public class VMCodeGenController { CheckInfoUtil.checkNessaceryInfo("beId", beIdJsonNode); JsonNode voGeneratingAssemblyJsonNode = jsonNode.get("voGeneratingAssembly"); CheckInfoUtil.checkNessaceryInfo("voGeneratingAssembly", voGeneratingAssemblyJsonNode); + String enableProcessItem = "0"; + if (!CheckInfoUtil.checkNull(jsonNode.get("enableProcessItem"))) { + enableProcessItem = jsonNode.get("enableProcessItem").textValue(); + } String bizEntityJson = bizEntityJsonNode.textValue(); String bePkgName = bePkgNameJsonNode.textValue(); String beId = beIdJsonNode.textValue(); String voGeneratingAssembly = voGeneratingAssemblyJsonNode.textValue(); - return convertBizEntityToViewModel(bizEntityJson, bePkgName, beId, voGeneratingAssembly); + return convertBizEntityToViewModel(bizEntityJson, bePkgName, beId, voGeneratingAssembly,enableProcessItem); } catch (Exception e) { throw new ViewModelException(VoRtApiErrorCodes.GSP_VIEWOBJECT_RTWEBAPI_1002, e); } @@ -136,7 +145,7 @@ public class VMCodeGenController { } private String convertBizEntityToViewModel(String bizEntityJson, String bePkgName, String beId, - String voGeneratingAssembly) { + String voGeneratingAssembly,String enableProcessItem) { GspBusinessEntity be = null; try { be = new ObjectMapper().readValue(bizEntityJson, GspBusinessEntity.class); @@ -144,7 +153,16 @@ public class VMCodeGenController { // 联动vo的关联带出字段枚举信息 // LinkBeUtils linkBeUtils = new LinkBeUtils(); // linkBeUtils.LinkBeRefElements(vm); - + if (enableProcessItem.equals("1")) { + CommonVariable variable = new CommonVariable(); + variable.setID(UUID.randomUUID().toString()); + variable.setCode("bffSysFormConfigId"); + variable.setLabelID("bffSysFormConfigId"); + variable.setName(VMI8nResourceUtil.getMessage(VoResourceKeyNames.FROM_PROCESS_CONFIG)); + variable.setMDataType(GspElementDataType.forValue(0)); + variable.setLength(36); + vm.getVariables().getContainElements().addField(variable); + } return new ObjectMapper().writeValueAsString(vm); } catch (Exception e) { throw new ViewModelException(VoRtApiErrorCodes.GSP_VIEWOBJECT_RTWEBAPI_1005, e); diff --git a/view-object-webapi/src/main/java/com/inspur/edp/formserver/viewmodel/core/buildformformat/VoBuildFormFormatServiceImpl.java b/view-object-webapi/src/main/java/com/inspur/edp/formserver/viewmodel/core/buildformformat/VoBuildFormFormatServiceImpl.java index a5401441480a21db7b0157573d7b7419427687c2..15ee44b78a852836aa574ca9872c1f4ef59f3dba 100644 --- a/view-object-webapi/src/main/java/com/inspur/edp/formserver/viewmodel/core/buildformformat/VoBuildFormFormatServiceImpl.java +++ b/view-object-webapi/src/main/java/com/inspur/edp/formserver/viewmodel/core/buildformformat/VoBuildFormFormatServiceImpl.java @@ -35,6 +35,7 @@ import com.inspur.edp.formserver.viewmodel.i18n.names.VoResourceKeyNames; import com.inspur.edp.formserver.vmapi.formconfig.VoBuildFormFormatService; import com.inspur.edp.lcm.metadata.api.entity.GspMetadata; import com.inspur.edp.lcm.metadata.api.service.MetadataService; +import com.inspur.edp.lcm.metadata.api.service.NoCodeService; import com.inspur.edp.metadata.businesstype.api.MdBizTypeMappingService; import com.inspur.edp.wf.bizprocess.entity.FormButton; import com.inspur.edp.wf.bizprocess.entity.FormField; @@ -60,6 +61,8 @@ import java.util.UUID; public class VoBuildFormFormatServiceImpl implements VoBuildFormFormatService { + private final NoCodeService noCodeService = SpringBeanUtils.getBean(NoCodeService.class); + private final MetadataService metadataService; private final MdBizTypeMappingService mdBizTypeMappingService; @@ -314,6 +317,7 @@ public class VoBuildFormFormatServiceImpl implements VoBuildFormFormatService { FormFieldData data = new FormFieldData(); FormField formField = new FormField(); formField.setId(UUID.randomUUID().toString()); + formField.setFieldState(fieldData.getState()); formField.setFieldId(fieldData.getCode()); formField.setFieldName(fieldData.getName()); formField.setConfigurableStates(mappingFieldConfigure(fieldData.getConfigurableAttrs())); @@ -409,8 +413,13 @@ public class VoBuildFormFormatServiceImpl implements VoBuildFormFormatService { * @param projectPath 工程路径 */ private void checkFormConfigID(String viewModelID, String projectPath) { + GspMetadata metadata; //获取表单对应的VO - GspMetadata metadata = metadataService.loadMetadataByMetadataId(viewModelID, projectPath); + if (projectPath.isEmpty()) { + metadata = this.noCodeService.getMetadata(viewModelID); + } else { + metadata = this.metadataService.loadMetadataByMetadataId(viewModelID, projectPath); + } if (metadata == null || metadata.getContent() == null) { throw new ViewModelException(FormFormatErrorCodes.GSP_VIEWOBJECT_FORMFORMAT_1005, null, ExceptionLevel.Error, false); } @@ -422,7 +431,11 @@ public class VoBuildFormFormatServiceImpl implements VoBuildFormFormatService { } metadata.setContent(vo); try { - metadataService.saveMetadata(metadata, metadata.getRelativePath() + "/" + metadata.getHeader().getFileName()); + if (projectPath.isEmpty()) { + this.noCodeService.saveMetadata(metadata); + } else { + this.metadataService.saveMetadata(metadata, metadata.getRelativePath() + "/" + metadata.getHeader().getFileName()); + } } catch (RuntimeException e) { throw new ViewModelException(FormFormatErrorCodes.GSP_VIEWOBJECT_FORMFORMAT_1006, null, ExceptionLevel.Error, false); }