From 2871cb99e018f6bf9e2ef76a424a1429a7c818f0 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期四, 13 七月 2023 11:40:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java |  139 ++++++++-------------------------------------
 1 files changed, 26 insertions(+), 113 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java
index db2a485..a171433 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java
@@ -1,18 +1,16 @@
 package com.vci.ubcs.ddl.processor.dll;
 
-import com.vci.starter.web.enumpck.DataBaseEnum;
-import com.vci.starter.web.enumpck.VciFieldTypeEnum;
-import com.vci.starter.web.util.VciBaseUtil;
+import com.vci.ubcs.ddl.bo.DdlFieldMappingAttrBO;
 import com.vci.ubcs.ddl.mapper.DllMapper;
 import com.vci.ubcs.ddl.mapper.DllOracleMapper;
-import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
-import com.vci.ubcs.starter.exception.VciBaseException;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.util.CollectionUtils;
+import com.vci.ubcs.starter.util.VciSpringUtil;
+import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
+import org.apache.commons.collections4.BidiMap;
+import org.springframework.context.annotation.DependsOn;
+import org.springframework.stereotype.Component;
 
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
 import java.util.List;
+
 
 /**
  * Description:
@@ -20,122 +18,37 @@
  * @author LiHang
  * @date 2023/4/24
  */
+@Component
+@DependsOn("vciSpringUtil")
 public class DllOracleMapperProcessor extends DllMapperProcessor {
 
-	@Resource
-	private DllOracleMapper realMapper;
+	private static DllMapper mapper = VciSpringUtil.getBean(DllOracleMapper.class);
 
-	private static DllMapper mapper;
-
-	@PostConstruct
-	public void init(){
-		mapper = realMapper;
-	}
+	private static final BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> FIELD_MAP = getMappingMapCopy();
 
 	public DllOracleMapperProcessor() {
 		super(mapper);
+		System.out.println("-----------------");
+		if (mapper != null){
+			System.out.println("[success]::鍔犺浇Oracle鏁版嵁搴揇LL鎿嶄綔鏈嶅姟鎴愬姛");
+		}else {
+			System.out.println("[fail]::鍔犺浇Oracle鏁版嵁搴揇LL鎿嶄綔鏈嶅姟澶辫触");
+		}
 	}
 
-	public static class SINGLE {
-		public static DllOracleMapperProcessor INSTANCE = new DllOracleMapperProcessor();
+
+	@Override
+	protected DdlFieldMappingAttrBO getMappingBO(VciFieldTypeEnum fieldTypeEnum) {
+		return getMappingBOInMap(fieldTypeEnum,FIELD_MAP);
+	}
+
+	@Override
+	public VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr, Integer length) {
+		return getFieldTypeBeColumnStrInMap(columnStr,length,FIELD_MAP);
 	}
 
 	@Override
 	public boolean support(String url) {
 		return "oracle.jdbc.OracleDiver".equals(url);
-	}
-
-	/**
-	 * 鑾峰彇鍒涘缓鐨剆ql璇彞涓睘鎬ч儴鍒�
-	 *
-	 * @param attributeVOList 灞炴�х殑绔嬬
-	 * @return sql璇彞
-	 */
-	@Override
-	public String getCreateSqlByAttributeForBtm(List<OmdBtmTypeAttributeVO> attributeVOList) {
-		StringBuilder sb = new StringBuilder();
-		attributeVOList.forEach(a -> {
-			sb.append(a.getId()).append(SPACE);
-			VciFieldTypeEnum fieldTypeEnum = VciFieldTypeEnum.forValue(a.getAttrDataType());
-			if (fieldTypeEnum == null) {
-				throw new VciBaseException("灞炴�ф湁璇�");
-			}
-			switch (fieldTypeEnum) {
-				case VTInteger:
-				case VTLong:
-					sb.append(dealNumberCreateSql(a));
-					break;
-				case VTDouble:
-					sb.append(dealDoubleCreateSql(a));
-					break;
-				case VTBoolean:
-					sb.append(dealBooleanCreateSql(a));
-					break;
-				case VTDate:
-				case VTDateTime:
-				case VTTime:
-					sb.append(dealDateTimeCreateSql(a));
-					break;
-				case VTFilePath:
-					sb.append(VARCHAR).append("(100)").append(SPACE);
-					break;
-				case VTClob:
-					sb.append("CLOB").append(SPACE);
-					if(!a.isNullableFlag()){
-						sb.append(SPACE).append("not null").append(SPACE);
-					}
-					break;
-				default:
-					sb.append(dealStringCreateSql(a));
-					break;
-			}
-			sb.append(",\n\t");
-		});
-		return sb.substring(0,sb.lastIndexOf(","));
-	}
-
-	/**
-	 * 澶勭悊瀛楃涓茬被鍨嬬殑sql杞崲
-	 *
-	 * @param attributeVO 灞炴��
-	 * @return sql
-	 */
-	@Override
-	public String dealStringCreateSql(OmdBtmTypeAttributeVO attributeVO) {
-		Integer length2 = attributeVO.getAttributeLength();
-		StringBuilder sb = new StringBuilder();
-		if(length2 == null){
-			length2 = 250;
-		}
-		sb.append(VARCHAR).append("(").
-			append(String.valueOf(length2.intValue())).append(")").append(SPACE);
-		if (OID.equalsIgnoreCase(attributeVO.getId())) {
-			sb.append(" primary key ");
-			//寮哄埗璁剧疆OID涓轰富閿�
-		}
-		sb.append(dealDefaultAndNull(attributeVO));
-		return sb.toString();
-	}
-
-	/**
-	 * 澶勭悊鏃ユ湡鏃堕棿绫诲瀷鐨剆ql杞崲
-	 *
-	 * @param attributeVO 灞炴��
-	 * @return sql
-	 */
-	@Override
-	public String dealDateTimeCreateSql(OmdBtmTypeAttributeVO attributeVO) {
-		return TIMESTAMP + SPACE + dealNullableSql(attributeVO);
-	}
-
-	/**
-	 * 澶勭悊甯冨皵绫诲瀷鐨剆ql杞崲
-	 *
-	 * @param attributeVO 灞炴��
-	 * @return sql
-	 */
-	@Override
-	public String dealBooleanCreateSql(OmdBtmTypeAttributeVO attributeVO) {
-		return VARCHAR + "(5)" + SPACE + dealDefaultAndNull(attributeVO);
 	}
 }

--
Gitblit v1.9.3