From 3579af2945dd38d841a23cd340acd474bb63773a Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期四, 04 五月 2023 18:02:01 +0800
Subject: [PATCH] 业务类型与DDL服务相关的添加

---
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java |  135 +++++---------------------------------------
 1 files changed, 17 insertions(+), 118 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 9e92da4..d45ed39 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,23 +1,13 @@
 package com.vci.ubcs.ddl.processor.dll;
 
-<<<<<<< HEAD
-=======
-import com.vci.starter.web.enumpck.VciFieldTypeEnum;
->>>>>>> dd3a6c681f938fd53d5f6cc3a4fcee40e71b259c
+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.BtmTypeAttributeVO;
-import com.vci.ubcs.starter.exception.VciBaseException;
-<<<<<<< HEAD
+import com.vci.ubcs.starter.util.VciSpringUtil;
 import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.util.CollectionUtils;
-=======
->>>>>>> dd3a6c681f938fd53d5f6cc3a4fcee40e71b259c
+import org.apache.commons.collections4.BidiMap;
+import org.springframework.stereotype.Component;
 
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
-import java.util.List;
 
 /**
  * Description:
@@ -25,122 +15,31 @@
  * @author LiHang
  * @date 2023/4/24
  */
+@Component
 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 boolean support(String url) {
 		return "oracle.jdbc.OracleDiver".equals(url);
-	}
-
-	/**
-	 * 鑾峰彇鍒涘缓鐨剆ql璇彞涓睘鎬ч儴鍒�
-	 *
-	 * @param attributeVOList 灞炴�х殑绔嬬
-	 * @return sql璇彞
-	 */
-	@Override
-	public String getCreateSqlByAttributeForBtm(List<BtmTypeAttributeVO> 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(BtmTypeAttributeVO 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(BtmTypeAttributeVO attributeVO) {
-		return TIMESTAMP + SPACE + dealNullableSql(attributeVO);
-	}
-
-	/**
-	 * 澶勭悊甯冨皵绫诲瀷鐨剆ql杞崲
-	 *
-	 * @param attributeVO 灞炴��
-	 * @return sql
-	 */
-	@Override
-	public String dealBooleanCreateSql(BtmTypeAttributeVO attributeVO) {
-		return VARCHAR + "(5)" + SPACE + dealDefaultAndNull(attributeVO);
 	}
 }

--
Gitblit v1.9.3