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);
}