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/DllDmMapperProcessor.java | 56 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 40 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..b4ece98 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,18 @@ 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.context.annotation.DependsOn; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Locale; +import java.util.Optional; /** * Description: 搴旂敤浜庤揪姊︽暟鎹紝鐢熸垚鍒涘缓琛ㄦ搷浣渟ql鐨勫鐞嗗櫒 @@ -17,7 +23,8 @@ * @date 2023/4/24 */ @Component -public class DllDmMapperProcessor extends DllMapperProcessor{ +@DependsOn("vciSpringUtil") +public class DllDmMapperProcessor extends DllMapperProcessor { private static final DllMapper MAPPER = VciSpringUtil.getBean(DllDmMapper.class); @@ -25,24 +32,25 @@ 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", 53, null, true, null)); + FIELD_MAP.put(VciFieldTypeEnum.VTInteger, new DdlFieldMappingAttrBO("INTEGER", null, 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)); + FIELD_MAP.put(VciFieldTypeEnum.VTString, new DdlFieldMappingAttrBO("VARCHAR2", 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 +62,23 @@ @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 (mappingBO.getDataLength() != null) { + //mappingBO鐢ㄦ潵鍋氭渶鍚庣殑鏍¢獙锛屽鏋滃畾涔夌殑BO娌℃湁瀛楁闀垮害锛屽垯璇存槑杩欎釜绫诲瀷鐢熸垚鐨剆ql涓嶅簲璇ユ寚瀹氶暱搴︺�傚鏋滄寚瀹氫簡闀垮害锛岃鏄庢槸瀛楁闀垮害鐨勬渶澶у�硷紝VARCHAR銆丆LOB闄ゅ + if (!(fieldType.equals(VciFieldTypeEnum.VTClob) || fieldType.equals(VciFieldTypeEnum.VTString)) + && attributeVO.getAttributeLength() > mappingBO.getDataLength()) { + 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 +89,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