From 1a07db181c732729abc1d6ec71ae206ecffca86d Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期三, 24 五月 2023 18:33:45 +0800
Subject: [PATCH] 迁移链接类型后台接口,修正属性字段,增加元数据查找应用范围功能

---
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java |  145 ++++++++++++++++++------------------------------
 1 files changed, 54 insertions(+), 91 deletions(-)

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 91bb8c2..3a8e185 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
@@ -17,6 +17,9 @@
 import com.vci.ubcs.omd.constant.BtmTypeFieldConstant;
 import com.vci.ubcs.omd.constant.BtmTypeLcStatusConstant;
 import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO;
+import com.vci.ubcs.omd.dto.TableAddColumnDTO;
+import com.vci.ubcs.omd.dto.TableCheckDTO;
+import com.vci.ubcs.omd.dto.TableCheckResultDTO;
 import com.vci.ubcs.omd.entity.ModifyAttributeInfo;
 import com.vci.ubcs.omd.vo.*;
 import com.vci.ubcs.starter.exception.VciBaseException;
@@ -119,77 +122,6 @@
 		}
 	}
 
-	/**
-	 * 鏍¢獙涓氬姟绫诲瀷鐨勬暟鎹簱琛ㄤ腑鏄惁鏈夋暟鎹�
-	 *
-	 * @param pkBtmType 涓氬姟绫诲瀷鐨勪富閿�
-	 * @return true琛ㄧず鏈夋暟鎹紝false琛ㄧず娌℃湁鏁版嵁
-	 * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
-	 */
-	@Override
-	public boolean checkTableHasData(String pkBtmType) throws VciBaseException {
-		return checkTableHasDataByTableName(getTableNameByBtmTypeOid(pkBtmType));
-	}
-
-	/**
-	 * 鏍规嵁涓氬姟绫诲瀷鎴栬�呴摼鎺ョ被鍨嬬殑涓婚敭鑾峰彇鏁版嵁搴撹〃鏍肩殑鍚嶇О
-	 *
-	 * @param pkBtmType 涓氬姟绫诲瀷鎴栬�呴摼鎺ョ被鍨嬬殑涓婚敭
-	 * @return 鏁版嵁搴撹〃鍚嶇О
-	 */
-	@Override
-	public String getTableNameByBtmTypeOid(String pkBtmType) {
-		VciBaseUtil.alertNotNull(pkBtmType, "涓氬姟绫诲瀷鎴栬�呴摼鎺ョ被鍨嬬殑涓婚敭");
-		BtmTypeVO btmType = BtmTypeCache.getDetail(pkBtmType);
-		String tableName = "";
-		if (btmType == null || StringUtils.isBlank(btmType.getOid())) {
-			/*OsLinkTypeDO linkTypeDO = linkTypeDOMapper.selectByPrimaryKey(pkBtmType.trim());
-			if(linkTypeDO == null || StringUtils.isBlank(linkTypeDO.getOid()) ){
-				throw new com.vci.starter.web.exception.VciBaseException("涓嶆槸涓氬姟绫诲瀷锛屼篃涓嶆槸閾炬帴绫诲瀷锛岃鏌ヨ瘉");
-			}else{
-				tableName = linkTypeService.getTableName(linkTypeDO.getId());
-			}*/
-		} else {
-			tableName = btmType.getTableName();
-		}
-		return tableName;
-	}
-
-	/**
-	 * 鏍规嵁涓氬姟绫诲瀷鑾峰彇閾炬帴绫诲瀷鐨勮嫳鏂囧悕绉拌幏鍙栨暟鎹簱琛ㄦ牸鐨勫悕绉�
-	 *
-	 * @param id 涓氬姟绫诲瀷鑾峰彇閾炬帴绫诲瀷鐨勮嫳鏂囧悕绉�
-	 * @return 鏁版嵁搴撹〃鍚嶇О
-	 */
-	@Override
-	public String getTableNameByBtmTypeId(String id) {
-		VciBaseUtil.alertNotNull(id, "涓氬姟绫诲瀷鎴栬�呴摼鎺ョ被鍨嬬殑鑻辨枃鍚嶇О");
-		List<BtmTypeVO> btmTypeList = BtmTypeCache.selectByIdCollection(VciBaseUtil.str2List(id));
-		String tableName = "";
-		if (CollectionUtils.isEmpty(btmTypeList)) {
-			/*List<OsLinkTypeDO> linkTypeDOList = linkTypeDOMapper.selectByIdCollection(VciBaseUtil.str2List(id));
-			if(CollectionUtils.isEmpty(linkTypeDOList)){
-				throw new com.vci.starter.web.exception.VciBaseException("涓嶆槸涓氬姟绫诲瀷锛屼篃涓嶆槸閾炬帴绫诲瀷锛岃鏌ヨ瘉");
-			}else{
-				tableName = linkTypeService.getTableName(linkTypeDOList.get(0).getId());
-			}*/
-		} else {
-			tableName = btmTypeList.get(0).getTableName();
-		}
-		return tableName;
-	}
-
-	/**
-	 * 鏍¢獙涓氬姟绫诲瀷鐨勬暟鎹簱琛ㄤ腑鏄惁鏈夋暟鎹�
-	 *
-	 * @param id 涓氬姟绫诲瀷鐨勮嫳鏂囧悕绉�
-	 * @return true琛ㄧず鏈夋暟鎹紝false琛ㄧず娌℃湁鏁版嵁
-	 * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
-	 */
-	@Override
-	public boolean checkTableHasDataById(String id) throws VciBaseException {
-		return checkTableHasDataByTableName(getTableNameByBtmTypeId(id));
-	}
 
 	/**
 	 * 鎵归噺灏嗕笟鍔$被鍨嬪垱寤烘暟鎹簱琛�
@@ -480,16 +412,6 @@
 		ddlMapper.dropTableColumn(tableName, columnName);
 	}
 
-	/**
-	 * 鏍¢獙涓氬姟绫诲瀷鎴栬�呴摼鎺ョ被鍨嬬殑瀵瑰簲鐨勮〃鏍兼槸鍚﹀瓨鍦�
-	 *
-	 * @param pkBtmType 涓氬姟绫诲瀷鎴栬�呴摼鎺ョ被鍨嬬殑琛ㄦ牸
-	 * @return true琛ㄧず瀛樺湪锛宖alse琛ㄧず涓嶅瓨鍦�
-	 */
-	@Override
-	public boolean checkTableExist(String pkBtmType) {
-		return checkTableExistByTableName(getTableNameByBtmTypeOid(pkBtmType));
-	}
 
 	/**
 	 * 鏍规嵁琛ㄦ牸鐨勫悕绉板垽鏂〃鏍兼槸鍚﹀瓨鍦�
@@ -502,16 +424,6 @@
 		return ddlMapper.checkTableExist(tableName) > 0;
 	}
 
-	/**
-	 * 鏍¢獙涓氬姟绫诲瀷鎴栬�呴摼鎺ョ被鍨嬫墍瀵瑰簲鐨勮〃鏍兼槸鍚﹀瓨鍦�
-	 *
-	 * @param id 涓氬姟绫诲瀷鎴栬�呴摼鎺ョ被鍨嬬殑鑻辨枃鍚嶇О
-	 * @return true琛ㄧず瀛樺湪锛宖alse琛ㄧず涓嶅瓨鍦�
-	 */
-	@Override
-	public boolean checkTableExistById(String id) {
-		return checkTableExistByTableName(getTableNameByBtmTypeId(id));
-	}
 
 	/**
 	 * 鑾峰彇鏁版嵁搴撳拰涓氬姟绫诲瀷涓殑涓嶅悓鐨勫湴鏂�
@@ -1132,4 +1044,55 @@
 		}
 		return new ArrayList<>();
 	}
+
+	/**
+	 * 妫�鏌ユ暟鎹〃鏄惁瀛樺湪鏁版嵁锛屼笉瀛樺湪鍒欏垹闄�
+	 *
+	 * @param tableCheckDTOList 闇�瑕佹鏌ョ殑琛ㄩ泦鍚�
+	 * @return 妫�鏌ョ粨鏋�
+	 */
+	@Override
+	public TableCheckResultDTO checkTableHasDataThenDelete(List<TableCheckDTO> tableCheckDTOList) {
+		TableCheckResultDTO resultDTO = new TableCheckResultDTO();
+		List<TableCheckDTO> successList = new ArrayList<>();
+		List<TableCheckDTO> failList = new ArrayList<>();
+		tableCheckDTOList.forEach(table -> {
+			VciBaseUtil.alertNotNull(table.getTableName(),"鏁版嵁琛ㄥ悕绉�");
+			TableCheckDTO checkDTO = new TableCheckDTO();
+			boolean hasDataFlag = checkTableHasDataByTableName(table.getTableName());
+			if (hasDataFlag){
+				table.setDone(false);
+				failList.add(checkDTO);
+			}else {
+				dropTableByName(table.getTableName());
+				table.setDone(true);
+				successList.add(table);
+			}
+		});
+		if (!CollectionUtils.isEmpty(successList)){
+			resultDTO.setSuccessList(successList);
+		}
+		if (!CollectionUtils.isEmpty(failList)){
+			resultDTO.setFailList(failList);
+		}
+		return resultDTO;
+	}
+
+	/**
+	 * 涓鸿〃娣诲姞瀛楁
+	 *
+	 * @param addColumnDTO 娣诲姞鐨勫璞�
+	 * @return 鎵ц缁撴灉鏍囪瘑
+	 */
+	@Override
+	public Boolean addColumnForTable(TableAddColumnDTO addColumnDTO) {
+		VciBaseUtil.alertNotNull(addColumnDTO,"娣诲姞瀛楁鐨勫璞�");
+		if (!CollectionUtils.isEmpty(addColumnDTO.getLinkTypeAttributeVOList())){
+			addColumn2TableForLink(addColumnDTO.getLinkTypeAttributeVOList());
+		}
+		if(!CollectionUtils.isEmpty(addColumnDTO.getBtmTypeAttributeVOList())){
+			addColumn2TableForBtm(addColumnDTO.getBtmTypeAttributeVOList());
+		}
+		return true;
+	}
 }

--
Gitblit v1.9.3