From 9f46e04d61a13f0fc39e307d6f1a1f7d9a9f75ca Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期六, 06 五月 2023 11:14:52 +0800
Subject: [PATCH] ddl取消word

---
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java      |    5 ++
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java                |    2 
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java        |   25 ++++++++++++
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java   |    5 ++
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllSqlLiteMapperProcessor.java |    5 ++
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java                     |    7 +--
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java  |    7 +++
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java             |   39 ++++++++++++++-----
 Source/UBCS/ubcs-service/ubcs-ddl/pom.xml                                                                     |    4 +-
 9 files changed, 81 insertions(+), 18 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/pom.xml b/Source/UBCS/ubcs-service/ubcs-ddl/pom.xml
index b19d3f3..997e105 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/pom.xml
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/pom.xml
@@ -33,7 +33,7 @@
             <artifactId>ubcs-util-api</artifactId>
             <version>3.0.1.RELEASE</version>
         </dependency>
-        <dependency>
+        <!--<dependency>
             <groupId>com.vci</groupId>
             <artifactId>vci-starter-word</artifactId>
             <version>1.0-SNAPSHOT</version>
@@ -43,7 +43,7 @@
                     <artifactId>vci-starter-web</artifactId>
                 </exclusion>
             </exclusions>
-        </dependency>
+        </dependency>-->
         <dependency>
             <groupId>org.springblade</groupId>
             <artifactId>blade-starter-swagger</artifactId>
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java
index 2683a9a..e40f69e 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java
@@ -67,7 +67,7 @@
 	@GetMapping("/getAllTableInfo")
 	@ApiOperation(value = "鑾峰彇鎵�鏈夌殑琛ㄤ俊鎭�")
 	@ApiOperationSupport(order = 4)
-	public R<List<DdlTableBO>> getAllTableInfo(){
+	public R<List<BtmTypeVO>> getAllTableInfo(){
 		return R.data(ddlService.getAllTableInfo());
 	}
 
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java
index 619a79c..b211b73 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java
@@ -7,12 +7,14 @@
 import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import org.apache.commons.collections4.BidiMap;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.bidimap.DualHashBidiMap;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.StringPool;
 import org.springblade.core.tool.utils.StringUtil;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -145,4 +147,27 @@
 
 	}
 
+	public abstract VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr,Integer length);
+
+	protected final VciFieldTypeEnum getFieldTypeBeColumnStrInMap(String columnStr,Integer length,BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> map){
+		List<VciFieldTypeEnum> fieldTypes = listFieldInMapByColumnStr(columnStr, map);
+		VciFieldTypeEnum finalField = null;
+		int i = Integer.MAX_VALUE;
+		if (CollectionUtils.isEmpty(fieldTypes)){
+			return null;
+		}
+		if (fieldTypes.size() == 1){
+			return fieldTypes.get(0);
+		}
+		for (VciFieldTypeEnum fieldType : fieldTypes) {
+			DdlFieldMappingAttrBO bo = map.get(fieldType);
+			int i1 = Math.abs(bo.getDataLength() - length);
+			if (i1 < i){
+				finalField = fieldType;
+				i = i1;
+			}
+		}
+		return finalField;
+	}
+
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java
index e7a3573..fa60a49 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java
@@ -50,5 +50,8 @@
 		return "oracle.jdbc.OracleDiver".equals(url);
 	}
 
-
+	@Override
+	public VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr, Integer length) {
+		return getFieldTypeBeColumnStrInMap(columnStr,length,FIELD_MAP);
+	}
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java
index 2d548e1..780984d 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java
@@ -70,4 +70,9 @@
 		return listFieldInMapByColumnStr(columnStr,FIELD_MAP);
 	}
 
+	@Override
+	public VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr, Integer length) {
+		return getFieldTypeBeColumnStrInMap(columnStr,length,FIELD_MAP);
+	}
+
 }
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 d45ed39..4629964 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
@@ -8,6 +8,8 @@
 import org.apache.commons.collections4.BidiMap;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 
 /**
  * Description:
@@ -39,6 +41,11 @@
 	}
 
 	@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);
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllSqlLiteMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllSqlLiteMapperProcessor.java
index 0b1fa0a..539f540 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllSqlLiteMapperProcessor.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllSqlLiteMapperProcessor.java
@@ -65,4 +65,9 @@
 	public List<VciFieldTypeEnum> listFieldByColumnStr(String columnStr) {
 		return listFieldInMapByColumnStr(columnStr,FIELD_MAP);
 	}
+
+	@Override
+	public VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr, Integer length) {
+		return getFieldTypeBeColumnStrInMap(columnStr,length,FIELD_MAP);
+	}
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java
index 915dfa5..ca66ffc 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java
@@ -1,6 +1,5 @@
 package com.vci.ubcs.ddl.service;
 
-import com.vci.starter.word.bo.WordMergeStartTableDataBO;
 import com.vci.ubcs.ddl.bo.DdlTableBO;
 import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO;
 import com.vci.ubcs.omd.dto.BtmTypeDTO;
@@ -217,8 +216,8 @@
 	 * 鎷疯礉鏁版嵁鍒皐ord妯℃澘涓�
 	 * @param tableDataBO 瑕佸啓鍏ョ殑鏁版嵁
 	 * @return word 鏂囦欢璺緞
-	 */
-	String writeDataToWord(WordMergeStartTableDataBO tableDataBO);
+	 *//*
+	String writeDataToWord(WordMergeStartTableDataBO tableDataBO);*/
 
 	/**
 	 * 鍒ゆ柇鏄惁涓哄吋瀹规�х殑琛紝杩欎簺琛ㄤ笉搴旇琚垱寤哄拰淇敼
@@ -246,5 +245,5 @@
 	 * 鑾峰彇鎵�鏈夎〃淇℃伅
 	 * @return 琛ㄤ俊鎭泦鍚�
 	 */
-	List<DdlTableBO> getAllTableInfo();
+	List<BtmTypeVO> getAllTableInfo();
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
index 85e886c..f493a6b 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
@@ -1,8 +1,8 @@
 package com.vci.ubcs.ddl.service.impl;
 
 
+import com.alibaba.cloud.commons.lang.StringUtils;
 import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException;
-import com.vci.starter.word.bo.WordMergeStartTableDataBO;
 import com.vci.ubcs.ddl.bo.DdlTableBO;
 import com.vci.ubcs.ddl.bo.DdlTableInDataBaseBO;
 import com.vci.ubcs.ddl.enums.BusinessTypeEnum;
@@ -11,7 +11,6 @@
 import com.vci.ubcs.ddl.processor.ddl.DdlMapperProcessor;
 import com.vci.ubcs.ddl.processor.dll.DllMapperProcessor;
 import com.vci.ubcs.ddl.processor.dll.DllMapperProcessorStrategy;
-import com.vci.ubcs.ddl.properties.DdlExportWordFieldProperties;
 import com.vci.ubcs.ddl.properties.DdlPropertise;
 import com.vci.ubcs.ddl.service.IDdlService;
 import com.vci.ubcs.omd.cache.BtmTypeCache;
@@ -24,7 +23,6 @@
 import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
 import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
-import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
@@ -57,8 +55,8 @@
 	/**
 	 * word瀵煎嚭鐨勬椂鍊欑殑鍩熷瓧娈垫槧灏�
 	 */
-	@Autowired
-	private DdlExportWordFieldProperties wordFieldProperties;
+//	@Autowired
+//	private DdlExportWordFieldProperties wordFieldProperties;
 
 	/**
 	 * ddl鏁版嵁鎿嶄綔鏈嶅姟
@@ -1008,11 +1006,11 @@
 	 *
 	 * @param tableDataBO 瑕佸啓鍏ョ殑鏁版嵁
 	 * @return word 鏂囦欢璺緞
-	 */
+	 *//*
 	@Override
 	public String writeDataToWord(WordMergeStartTableDataBO tableDataBO) {
 		return null;
-	}
+	}*/
 
 	/**
 	 * 鍒ゆ柇鏄惁涓哄吋瀹规�х殑琛紝杩欎簺琛ㄤ笉搴旇琚垱寤哄拰淇敼
@@ -1099,14 +1097,35 @@
 	 * @return 琛ㄤ俊鎭泦鍚�
 	 */
 	@Override
-	public List<DdlTableBO> getAllTableInfo() {
+	public List<BtmTypeVO> getAllTableInfo() {
 		List<String> allTableName = listAllTableName();
 		if (!CollectionUtils.isEmpty(allTableName)) {
 			List<DdlTableBO> allTableBO = listTableInfoInDB(allTableName);
+			List<BtmTypeVO> btmTypeVOList = new ArrayList<>();
 			allTableBO.forEach(table -> {
-				table.setColumns(selectTableColumnInfo(table.getTableName()));
+				BtmTypeVO vo = new BtmTypeVO();
+				vo.setTableName(table.getTableName());
+				vo.setDescription(table.getTableDesc());
+				List<DdlTableInDataBaseBO> columns = selectTableColumnInfo(table.getTableName());
+				List<BtmTypeAttributeVO> attributes = new ArrayList<>();
+				columns.forEach(col -> {
+					BtmTypeAttributeVO attributeVO = new BtmTypeAttributeVO();
+					attributeVO.setId(col.getId());
+					attributeVO.setName(col.getName());
+					attributeVO.setNullableFlag(col.getNullableFlag());
+					attributeVO.setAttributeLength(col.getAttributeLength());
+					attributeVO.setPrecisionLength(col.getPrecisionLength());
+					attributeVO.setScaleLength(col.getScaleLength());
+					VciFieldTypeEnum field = dllMapper.getFieldTypeByColumnStr(col.getAttrDataType(), col.getAttributeLength());
+					if (field != null){
+						attributeVO.setAttrDataType(field.name());
+					}
+					attributes.add(attributeVO);
+				});
+				vo.setAttributes(attributes);
+				btmTypeVOList.add(vo);
 			});
-			return allTableBO;
+			return btmTypeVOList;
 		}
 		return new ArrayList<>();
 	}

--
Gitblit v1.9.3