From 1c407a93546036bc0438fbe019aeaf03f6ef1805 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 05 七月 2023 19:15:38 +0800
Subject: [PATCH] 提交代码

---
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java |   58 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 42 insertions(+), 16 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java
index e93f205..bd55aab 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java
@@ -3,12 +3,16 @@
 import com.vci.ubcs.ddl.bo.DdlFieldMappingAttrBO;
 import com.vci.ubcs.ddl.mapper.DllDmMapper;
 import com.vci.ubcs.ddl.mapper.DllMapper;
+import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
 import com.vci.ubcs.starter.util.VciSpringUtil;
 import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
 import org.apache.commons.collections4.BidiMap;
+import org.springblade.core.tool.utils.StringPool;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Locale;
 
 /**
  * Description: 搴旂敤浜庤揪姊︽暟鎹紝鐢熸垚鍒涘缓琛ㄦ搷浣渟ql鐨勫鐞嗗櫒
@@ -17,7 +21,7 @@
  * @date 2023/4/24
  */
 @Component
-public class DllDmMapperProcessor extends DllMapperProcessor{
+public class DllDmMapperProcessor extends DllMapperProcessor {
 
 	private static final DllMapper MAPPER = VciSpringUtil.getBean(DllDmMapper.class);
 
@@ -25,24 +29,24 @@
 
 	static {
 		// 闇�瑕侀噸鏂版槧灏勭殑瀛楁绫诲瀷鍦ㄨ繖閲屽啓
-		FIELD_MAP.put(VciFieldTypeEnum.VTDouble,new DdlFieldMappingAttrBO("DOUBLE",26,8,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTInteger,new DdlFieldMappingAttrBO("NUMBER",22,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTLong,new DdlFieldMappingAttrBO("BIGINT",22,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTBoolean,new DdlFieldMappingAttrBO("VARCHAR",5,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTDate,new DdlFieldMappingAttrBO("DATE",null,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTDateTime,new DdlFieldMappingAttrBO("TIMESTAMP",null,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTTime,new DdlFieldMappingAttrBO("TIME",null,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTFilePath,new DdlFieldMappingAttrBO("TEXT",null,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTClob,new DdlFieldMappingAttrBO("CLOB",100,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTString,new DdlFieldMappingAttrBO("VARCHAR",255,null,true,null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTDouble, new DdlFieldMappingAttrBO("DOUBLE", 26, 8, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTInteger, new DdlFieldMappingAttrBO("INTEGER", 10, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTLong, new DdlFieldMappingAttrBO("NUMBER", 38, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTBoolean, new DdlFieldMappingAttrBO("VARCHAR", 5, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTDate, new DdlFieldMappingAttrBO("DATE", null, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTDateTime, new DdlFieldMappingAttrBO("TIMESTAMP", null, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTTime, new DdlFieldMappingAttrBO("TIME", null, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTFilePath, new DdlFieldMappingAttrBO("TEXT", null, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTClob, new DdlFieldMappingAttrBO("CLOB", 100, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTString, new DdlFieldMappingAttrBO("VARCHAR", 255, null, true, null));
 	}
 
 	public DllDmMapperProcessor() {
 		super(MAPPER);
 		System.out.println("-----------------");
-		if (MAPPER != null){
+		if (MAPPER != null) {
 			System.out.println("[success]::鍔犺浇杈炬ⅵ鏁版嵁搴揇LL鎿嶄綔鏈嶅姟鎴愬姛");
-		}else {
+		} else {
 			System.out.println("[fail]::鍔犺浇杈炬ⅵ鏁版嵁搴揇LL鎿嶄綔鏈嶅姟澶辫触");
 		}
 	}
@@ -54,7 +58,29 @@
 
 	@Override
 	protected DdlFieldMappingAttrBO getMappingBO(VciFieldTypeEnum fieldTypeEnum) {
-		return getMappingBOInMap(fieldTypeEnum,FIELD_MAP);
+		return getMappingBOInMap(fieldTypeEnum, FIELD_MAP);
+	}
+
+	@Override
+	public String getColumnTypeSql(VciFieldTypeEnum fieldType, BtmTypeAttributeVO attributeVO) {
+		DdlFieldMappingAttrBO mappingBO = getMappingBO(fieldType);
+		if (fieldType.equals(VciFieldTypeEnum.VTDouble)) {
+			mappingBO.setDataPrecision(attributeVO.getPrecisionLength());
+		}
+		//鍏堝彧閽堝鏁板瓧绫诲瀷鐨勮繘琛屽鐞�
+		if (fieldType.equals(VciFieldTypeEnum.VTInteger) ){
+			mappingBO.setDataLength(null);
+		} else if (fieldType.equals(VciFieldTypeEnum.VTDouble) || fieldType.equals(VciFieldTypeEnum.VTLong)) {
+			if (attributeVO.getAttributeLength() <= mappingBO.getDataLength()) {
+				mappingBO.setDataLength(attributeVO.getAttributeLength());
+			}
+		}else {
+			mappingBO.setDataLength(attributeVO.getAttributeLength());
+		}
+		mappingBO.setNullable(attributeVO.isNullableFlag());
+		mappingBO.setDefaultValue(attributeVO.getDefaultValue());
+		return mappingBO.toString() + (StringUtil.equals(attributeVO.getId().toLowerCase(Locale.ROOT), "OID".toLowerCase(Locale.ROOT)) ? StringPool.SPACE + "primary key" + StringPool.SPACE : "");
+
 	}
 
 	/**
@@ -65,11 +91,11 @@
 	 */
 	@Override
 	public List<VciFieldTypeEnum> listFieldByColumnStr(String columnStr) {
-		return listFieldInMapByColumnStr(columnStr,FIELD_MAP);
+		return listFieldInMapByColumnStr(columnStr, FIELD_MAP);
 	}
 
 	@Override
 	public VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr, Integer length) {
-		return getFieldTypeBeColumnStrInMap(columnStr,length,FIELD_MAP);
+		return getFieldTypeBeColumnStrInMap(columnStr, length, FIELD_MAP);
 	}
 }

--
Gitblit v1.9.3