From 8e832c69b20bd34f6da9ef25324ec690d1cccbe3 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 30 一月 2024 11:30:32 +0800
Subject: [PATCH] 业务类型对象,分类授权,字符集相关代码修改

---
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java |  100 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 98 insertions(+), 2 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
index 9dd2144..bb016e6 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
@@ -7,10 +7,12 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.omd.cache.EnumCache;
 import com.vci.ubcs.omd.constant.BtmTypeConstant;
 import com.vci.ubcs.omd.constant.BtmTypeFieldConstant;
 import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO;
 import com.vci.ubcs.omd.entity.*;
+import com.vci.ubcs.omd.enums.EnumEnum;
 import com.vci.ubcs.omd.repeater.DomainRepeater;
 import com.vci.ubcs.omd.service.*;
 import com.vci.ubcs.omd.vo.*;
@@ -469,7 +471,7 @@
 	 * @throws ServiceException 鍙傛暟涓虹┖鐨勬椂鍊欎細鎶涘嚭寮傚父
 	 */
 	@Override
-	public String getTableName(String id,String domain) throws ServiceException {
+	public String getTableName(String id,String domain) throws VciBaseException {
 		VciBaseUtil.alertNotNull(id,"涓氬姟绫诲瀷鑻辨枃鍚嶇О",domain,"棰嗗煙鍚嶇О");
 		if (domain.contains("ubcs-")){
 			domain = domain.split("ubcs-")[1];
@@ -497,7 +499,7 @@
 			transaction = dataSourceTransactionManager.getTransaction(def);
 			// 鑾峰緱浜嬪姟鐘舵��
 		}*/
-//		checkBtmTypeBeforeSave(btmTypeDTO);
+		//checkBtmTypeBeforeSave(btmTypeDTO);
 		BtmType btmTypeDO = Optional.ofNullable(BeanUtil.copy(btmTypeDTO, BtmType.class)).orElseGet(BtmType::new);
 		btmTypeDO.setBizDomain(btmTypeDTO.getBizDomain());
 		List<BtmTypeLinkAttributesDTO> attributes = btmTypeDTO.getAttributes();
@@ -969,4 +971,98 @@
 		});
 		return total[0];
 	}
+
+	/**
+	 * 鑾峰彇榛樿灞炴��
+	 * @param defaultAttrType
+	 * @return
+	 */
+	@Override
+	public List<BtmTypeAttributeVO> getDefaultAttr(String defaultAttrType) {
+		List<BtmTypeAttributeVO> list = new ArrayList<>();
+		// 涓氬姟绫诲瀷鐨勯粯璁ゅ熀鏈瓧娈�
+		if(defaultAttrType.equals("defaultAttr")){
+			BtmTypeFieldConstant.BASIC_FIELD_MAP.forEach((id,name) -> {
+				id = id.toLowerCase(Locale.ROOT);
+				BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
+				vo.setId(id);
+				vo.setName(name);
+				vo.setIsDefaultAttr(true);
+				if ("oid".equals(id)){
+					vo.setNullableFlag(false);
+				}
+				if (Arrays.asList("createtime","lastmodifytime","ts").contains(id)){
+					vo.setAttrDataType(VciFieldTypeEnum.VTDateTime.name());
+					vo.setAttributeLength(6);
+				}else {
+					vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
+					vo.setAttributeLength(150);
+				}
+				list.add(vo);
+			});
+
+			BtmTypeFieldConstant.MASTERDATA_FIELD_MAP.forEach((id,name) -> {
+				id = id.toLowerCase(Locale.ROOT);
+				BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
+				vo.setId(id);
+				vo.setName(name);
+				vo.setIsDefaultAttr(false);
+				if (Arrays.asList("codeclsfpath").contains(id)){
+					vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
+					vo.setAttributeLength(500);
+				}else {
+					vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
+					vo.setAttributeLength(255);
+				}
+				list.add(vo);
+			});
+		}
+
+		// 鐗堟湰瑙勫垯瀛楁
+		if (defaultAttrType.equals("reVersionRule")){
+			BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP.forEach((id,name) -> {
+				BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
+				vo.setId(id);
+				vo.setName(name);
+				vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
+				// 鐗堟湰瑙勫垯瀛楁涓嶈兘涓虹┖
+//				vo.setNullableFlag(false);
+				vo.setAttributeLength(150);
+				vo.setIsDefaultAttr(true);
+				if (Arrays.asList("revisionseq","versionseq").contains(id)){
+					vo.setAttributeLength(5);
+					vo.setAttrDataType(VciFieldTypeEnum.VTInteger.name());
+				}
+				if (Arrays.asList("checkintime","checkouttime").contains(id)){
+					vo.setAttrDataType(VciFieldTypeEnum.VTDateTime.name());
+					vo.setAttributeLength(6);
+				}
+				list.add(vo);
+			});
+		}
+
+		// 鐢熷懡鍛ㄦ湡瀛楁
+		if (defaultAttrType.equals("lifeCycle")){
+			BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP.forEach((id,name) -> {
+				BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
+				vo.setId(id);
+				vo.setName(name);
+//				vo.setNullableFlag(false);
+				vo.setIsDefaultAttr(true);
+				vo.setAttributeLength(50);
+				vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
+				list.add(vo);
+			});
+		}
+
+		// 璁剧疆瀛楁绫诲瀷涓枃鏄剧ず鍊�,鍜屾帓搴�
+		List<BtmTypeAttributeVO> sortedList = list.stream()
+			.sorted(Comparator.comparing(BtmTypeAttributeVO::getIsDefaultAttr))
+			.map(item-> {
+				item.setAttrDataTypeText(EnumCache.getValue(EnumEnum.VCI_FIELD_TYPE, item.getAttrDataType()));
+				return item;
+			}).collect(Collectors.toList());
+		return sortedList;
+	}
+
 }

--
Gitblit v1.9.3