From 27cf58be1f4a86aafadcee15b21ab245b1ca866b Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 06 十二月 2023 17:35:37 +0800
Subject: [PATCH] 导出bug修改
---
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