From ae5807029edabde0b1e1488c090bd830fccf75a7 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 18 九月 2023 16:13:07 +0800
Subject: [PATCH] 代码提交

---
 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