diff --git a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/metadatacopy/VoMetadataCopyProvider.java b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/metadatacopy/VoMetadataCopyProvider.java index 304c7418012c475dc2690fedf1d80c8316a645f9..2aaeaff039c404a9dd1dd725274f705dca92027c 100644 --- a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/metadatacopy/VoMetadataCopyProvider.java +++ b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/metadatacopy/VoMetadataCopyProvider.java @@ -107,8 +107,9 @@ public class VoMetadataCopyProvider implements MetadataCopySpi { vo.setAuthConfig(null); // 设置新的程序集名称,仅更新命名空间部分 vo.setDotnetGeneratingAssembly(updatedNamespace + suffix); - // 获取包前缀并设置生成的程序集 - String packagePrefix = MetadataProjectUtil.getPackagePrefix(gspMetadata.getRelativePath()); + // 获取包前缀并设置生成的程序集,兼容零代码无元数据路径场景,在元数据无路径时不获取包前缀 + String packagePrefix = StringUtils.isBlank(gspMetadata.getRelativePath())? null : + MetadataProjectUtil.getPackagePrefix(gspMetadata.getRelativePath()); vo.setGeneratingAssembly(HandleAssemblyNameUtil.convertToJavaPackageName(packagePrefix, vo.getDotnetGeneratingAssembly())); // 清除国际化资源信息前缀 this.erasureI18nResourceInfoPrefix(vo); diff --git a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/voguide/VoGuideUtil.java b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/voguide/VoGuideUtil.java index 54f12590dae1def2632759d4e865401e3b42dc5a..6bf736306c5749c9ce0e4f14828945bfc410f34f 100644 --- a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/voguide/VoGuideUtil.java +++ b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/voguide/VoGuideUtil.java @@ -1,3 +1,19 @@ +/* + * Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package com.inspur.edp.formserver.vmmanager.voguide; import com.fasterxml.jackson.core.JsonProcessingException; @@ -19,6 +35,7 @@ import com.inspur.edp.lcm.metadata.api.entity.MetadataHeader; import com.inspur.edp.metadata.rtcustomization.api.CustomizationService; import io.iec.edp.caf.boot.context.CAFContext; import io.iec.edp.caf.commons.utils.SpringBeanUtils; + import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -38,8 +55,8 @@ public class VoGuideUtil { return instance; } - private String VOGUIDE_VO_METADATATYPE = "GSPViewModel"; - private String VOGUIDE_EXTEND_CONFIG_APPROVAL = "APPROVAL_LOG"; + private final String VOGUIDE_VO_METADATATYPE = "GSPViewModel"; + private final String VOGUIDE_EXTEND_CONFIG_APPROVAL = "APPROVAL_LOG"; // region 服务工具 private AccessoryService accessoryService; @@ -101,8 +118,6 @@ public class VoGuideUtil { MetadataHeader header = createMetadataHeader(vo, bizObjectId, nameSpace); metadata.setHeader(header); getCustomizationService().save(metadata); - // todo:LCM提供保存后扩展前,自行调用 - this.saveGspVoExtendInfo(metadata); return vo.getID(); } @@ -110,8 +125,7 @@ public class VoGuideUtil { * 根据BEMeta获取VOGeneratingAssembly属性 */ public String getVoMetaGeneratingAssembly(GspMetadata beMetadata) { - String beNameSpace = beMetadata.getHeader().getNameSpace(); - return beNameSpace; + return beMetadata.getHeader().getNameSpace(); } /** @@ -122,7 +136,7 @@ public class VoGuideUtil { //提示信息用于前端显示, 用户可以理解编号但很难理解configId, GspVoExtendInfo info = this.getGspVoExtendInfoService().getVoExtendInfoByConfigId(configId); - Boolean checkResult = info == null || info.getId().equals(id); + boolean checkResult = info == null || info.getId().equals(id); if (!checkResult) { throw new ViewModelException(VoManagerErrorCodes.GSP_VIEWOBJECT_MANAGER_0092, null, configId); } @@ -136,7 +150,7 @@ public class VoGuideUtil { //提示信息用于前端显示, 用户可以理解编号但很难理解configId, GspVoExtendInfo info = this.getGspVoExtendInfoService().getVoExtendInfoByConfigId(configId); - Boolean checkResult = info == null || info.getId().equals(id); + boolean checkResult = info == null || info.getId().equals(id); if (!checkResult) { throw new ViewModelException(VoManagerErrorCodes.GSP_VIEWOBJECT_MANAGER_0093, null, code); } @@ -166,7 +180,7 @@ public class VoGuideUtil { if (enableNode == null) { return; } - Boolean enable = enableNode.booleanValue(); + boolean enable = enableNode.booleanValue(); if (!enable) { return; } @@ -203,8 +217,7 @@ public class VoGuideUtil { if (!configs.containsKey(key)) { return ""; } - String config = configs.get(key); - return config; + return configs.get(key); } private MetadataHeader createMetadataHeader(GspViewModel vo, String bizObjectId, diff --git a/view-object-model/src/main/java/com/inspur/edp/formserver/viewmodel/common/LinkBeUtils.java b/view-object-model/src/main/java/com/inspur/edp/formserver/viewmodel/common/LinkBeUtils.java index 69eddafd6f440c499cd68edfe476816448b4d2c7..d1c28b0a00961e59cbbb04ccf4c81c4c57ac434e 100644 --- a/view-object-model/src/main/java/com/inspur/edp/formserver/viewmodel/common/LinkBeUtils.java +++ b/view-object-model/src/main/java/com/inspur/edp/formserver/viewmodel/common/LinkBeUtils.java @@ -381,6 +381,9 @@ public class LinkBeUtils { ele.setUdtName(bizElement.getUdtName()); ele.setUdtPkgName(bizElement.getUdtPkgName()); + // 是否默认为空属性,VO字段本身不使用此属性.运行时定制场景需要支持表单获取BE字段实际配置。 + ele.setIsDefaultNull(bizElement.getIsDefaultNull()); + GspFieldCollection beChildEles = bizElement.getChildElements(); GspFieldCollection voChildEles = ele.getChildElements(); if (beChildEles.size() != voChildEles.size()) {