From c29a6c5cd3f232ab61d9e97df17c63cf1e4b0755 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 07 十二月 2023 11:46:14 +0800 Subject: [PATCH] 分类路径注入,过滤默认属性、过滤表单不显示导致分类注入失败bug修改 --- Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java | 28 +++++++++++++++++++++++++++- 1 files changed, 27 insertions(+), 1 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java index 619a79c..e23f3d3 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java @@ -7,13 +7,16 @@ import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.apache.commons.collections4.BidiMap; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.bidimap.DualHashBidiMap; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.StringPool; import org.springblade.core.tool.utils.StringUtil; import java.util.ArrayList; +import java.util.Collection; import java.util.List; +import java.util.Locale; /** * Description:DLL鐨勫鐞嗘帴鍙� @@ -141,8 +144,31 @@ } mappingBO.setNullable(attributeVO.isNullableFlag()); mappingBO.setDefaultValue(attributeVO.getDefaultValue()); - return mappingBO.toString() + (StringUtil.equals(attributeVO.getId(),"OID") ? StringPool.SPACE + "primary key" + StringPool.SPACE : ""); + return mappingBO.toString() + (StringUtil.equals(attributeVO.getId().toLowerCase(Locale.ROOT),"OID".toLowerCase(Locale.ROOT)) ? StringPool.SPACE + "primary key" + StringPool.SPACE : ""); } + public abstract VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr,Integer length); + + protected final VciFieldTypeEnum getFieldTypeBeColumnStrInMap(String columnStr,Integer length,BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> map){ + List<VciFieldTypeEnum> fieldTypes = listFieldInMapByColumnStr(columnStr, map); + VciFieldTypeEnum finalField = null; + int i = Integer.MAX_VALUE; + if (fieldTypes.size() == 1){ + return fieldTypes.get(0); + } + for (VciFieldTypeEnum fieldType : fieldTypes) { + if (fieldType.equals(VciFieldTypeEnum.VTString)) { + finalField = VciFieldTypeEnum.VTString; + } + if (fieldType.equals(VciFieldTypeEnum.VTDateTime)){ + finalField = VciFieldTypeEnum.VTDateTime; + } + if (fieldType.equals(VciFieldTypeEnum.VTInteger) && length <= 26){ + finalField = VciFieldTypeEnum.VTInteger; + } + } + return finalField; + } + } -- Gitblit v1.9.3