From 5176699e01aa3b9f8f4dc18f08793896f4ddd29c Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期一, 03 七月 2023 14:10:06 +0800
Subject: [PATCH] 修正业务类型默认字段的null的属性;修正DDL的建表语句生成;

---
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java        |    6 +++---
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java |   13 +++++++------
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java     |    3 ++-
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java          |   31 ++++++++++++++++++++++---------
 4 files changed, 34 insertions(+), 19 deletions(-)

diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java
index beefce5..7d512f5 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java
@@ -14,9 +14,9 @@
  * @date 2019/10/11 5:33 PM
  */
 @Data
-@EqualsAndHashCode(callSuper = true)
+//@EqualsAndHashCode(callSuper = true)
 @ApiModel(value = "涓氬姟绫诲瀷鍖呭惈鐨勫睘鎬у璞�", description = "涓氬姟绫诲瀷鍖呭惈鐨勫睘鎬у璞�")
-public class BtmTypeAttributeVO extends BtmTypeAttribute {
+public class BtmTypeAttributeVO  {
 
     /**
      * 绂佹淇敼杩欎釜鍊�
@@ -71,7 +71,7 @@
     /**
      * 鏄惁鍙互涓虹┖
      */
-    private boolean nullableFlag;
+    private boolean nullableFlag = true;
 
     /**
      * 榛樿鍊�
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 eab3885..e23f3d3 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
@@ -16,6 +16,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
+import java.util.Locale;
 
 /**
  * Description:DLL鐨勫鐞嗘帴鍙�
@@ -143,7 +144,7 @@
 		}
 		mappingBO.setNullable(attributeVO.isNullableFlag());
 		mappingBO.setDefaultValue(attributeVO.getDefaultValue());
-		return mappingBO.toString() + (StringUtil.equals(attributeVO.getId(),"OID") ? StringPool.SPACE +  "primary key" + StringPool.SPACE : "");
+		return mappingBO.toString() + (StringUtil.equals(attributeVO.getId().toLowerCase(Locale.ROOT),"OID".toLowerCase(Locale.ROOT)) ? StringPool.SPACE +  "primary key" + StringPool.SPACE : "");
 
 	}
 
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 a8ffb74..6d1f373 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
@@ -976,26 +976,39 @@
 	 */
 	@Override
 	public R<List<ModifyAttributeInfo>> submit(BtmAndLinkTypeDdlDTO ddlDTO) {
-		//try {
+		try {
 			List<ModifyAttributeInfo> changedList = new ArrayList<>();
 			if (!CollectionUtils.isEmpty(ddlDTO.getBtmTypeList())) {
 				List<BtmTypeVO> btmTypeList = ddlDTO.getBtmTypeList();
-				//putBtm(btmTypeList.toArray(new BtmTypeVO[0]));
+				putBtm(btmTypeList.toArray(new BtmTypeVO[0]));
 				changedList.addAll(checkDifferent(btmTypeList, null));
-				//removeBtm(btmTypeList.toArray(new BtmTypeVO[0]));
+				removeBtm(btmTypeList.toArray(new BtmTypeVO[0]));
 			}
 			if (!CollectionUtils.isEmpty(ddlDTO.getLinkTypeList())) {
 				List<LinkTypeVO> linkTypeList = ddlDTO.getLinkTypeList();
-				//putLink(linkTypeList.toArray(new LinkTypeVO[0]));
+				putLink(linkTypeList.toArray(new LinkTypeVO[0]));
 				changedList.addAll(checkDifferent(null,linkTypeList));
-				//removeLink(linkTypeList.toArray(new LinkTypeVO[0]));
+				removeLink(linkTypeList.toArray(new LinkTypeVO[0]));
 			}
 			R<List<ModifyAttributeInfo>> result = R.success("鏁版嵁搴撴搷浣滄垚鍔�");
 			result.setData(changedList);
 			return result;
-		//} catch (ServiceException e) {
-			//throw new RuntimeException(e.getMessage());
-//		}
+		} catch (VciBaseException e) {
+			try {
+				// 寤鸿〃澶辫触鏈夊紓甯革紝鎹曡幏鍚庤繑鍥烇紝骞堕噴鏀剧嚎绋嬩腑鐨勫唴瀹�
+				if (!CollectionUtils.isEmpty(ddlDTO.getBtmTypeList())) {
+					removeBtm(ddlDTO.getBtmTypeList().toArray(new BtmTypeVO[0]));
+				}
+				if (!CollectionUtils.isEmpty(ddlDTO.getLinkTypeList())) {
+					removeLink(ddlDTO.getLinkTypeList().toArray(new LinkTypeVO[0]));
+				}
+				return R.fail(e.getMessage());
+			}catch (ServiceException e2){
+				throw new RuntimeException(e2.getMessage());
+			}
+		} catch (ServiceException e) {
+			throw new RuntimeException(e.getMessage());
+		}
 	}
 
 	/**
@@ -1056,7 +1069,7 @@
 					BtmTypeAttributeVO attributeVO = new BtmTypeAttributeVO();
 					attributeVO.setId(col.getId().toLowerCase());
 					attributeVO.setName(col.getName());
-					attributeVO.setNullableFlag(col.getNullableFlag());
+					attributeVO.setNullableFlag(StringUtils.equals(col.getNullableFlag(), BooleanEnum.TRUE.getValue()));
 					attributeVO.setAttributeLength(col.getAttributeLength());
 					attributeVO.setPrecisionLength(col.getPrecisionLength());
 					attributeVO.setScaleLength(col.getScaleLength());
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
index af80c13..a778063 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
@@ -177,7 +177,7 @@
 
 	/**
 	 * 鑾峰彇榛樿瀛楁
-	 *
+	 * 榛樿瀛楁鍧囦笉鍙负绌�
 	 * @param btmType 涓氬姟绫诲瀷
 	 * @return 鎵ц缁撴灉
 	 */
@@ -186,15 +186,12 @@
 		List<BtmTypeAttributeVO> list = new ArrayList<>();
 		// 涓氬姟绫诲瀷鐨勫熀鏈瓧娈�
 		BtmTypeFieldConstant.BASIC_FIELD_MAP.forEach((id,name) -> {
+			id = id.toLowerCase(Locale.ROOT);
 			BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
 			vo.setId(id);
 			vo.setName(name);
 			vo.setPkBtmType(btmType.getOid());
-			if (StringUtils.equals(id,"oid")){
-				vo.setNullableFlag(false);
-			}else {
-				vo.setNullableFlag(true);
-			}
+			vo.setNullableFlag(false);
 			if (Arrays.asList("createtime","lastmodifytime","owner").contains(id)){
 				vo.setAttrDataType(VciFieldTypeEnum.VTDateTime.name());
 				vo.setAttributeLength(6);
@@ -213,6 +210,8 @@
 				vo.setName(name);
 				vo.setPkBtmType(btmType.getOid());
 				vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
+				// 鐗堟湰瑙勫垯瀛楁涓嶈兘涓虹┖
+				vo.setNullableFlag(false);
 				vo.setAttributeLength(150);
 				if (Arrays.asList("lastr","firstr","lastv","firstv","revisionseq","versionseq","revisionvalue","versionvalue").contains(id)){
 					vo.setAttributeLength(5);
@@ -233,6 +232,7 @@
 				vo.setId(id);
 				vo.setName(name);
 				vo.setPkBtmType(btmType.getOid());
+				vo.setNullableFlag(false);
 				vo.setAttributeLength(50);
 				vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
 				list.add(vo);
@@ -246,6 +246,7 @@
 				vo.setId(id);
 				vo.setName(name);
 				vo.setPkBtmType(btmType.getOid());
+				vo.setNullableFlag(false);
 				vo.setAttributeLength(5);
 				vo.setAttrDataType(VciFieldTypeEnum.VTInteger.name());
 				list.add(vo);

--
Gitblit v1.9.3