From dd2cbe9c6f7360d0f50da4e5f0fc506ad3915d8b Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期一, 10 七月 2023 18:04:43 +0800
Subject: [PATCH] 业务类型修改功能修正

---
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 104 insertions(+), 13 deletions(-)

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 880efbc..87b7531 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
@@ -1,15 +1,20 @@
 package com.vci.ubcs.omd.service.impl;
 
+import com.alibaba.cloud.commons.lang.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.omd.constant.BtmTypeConstant;
+import com.vci.ubcs.omd.constant.BtmTypeFieldConstant;
 import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO;
 import com.vci.ubcs.omd.entity.BtmTypeAttribute;
 import com.vci.ubcs.omd.mapper.BtmTypeAttributeMapper;
 import com.vci.ubcs.omd.service.IAttributeService;
 import com.vci.ubcs.omd.service.IBtmTypeAttributeService;
 import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
 import com.vci.ubcs.omd.wrapper.BtmTypeAttributeWrapper;
 import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -55,14 +60,14 @@
 			attributesDTOList.stream().forEachOrdered(s -> {
 				attributeService.checkAttribute(s);
 				btmTypeAttributeDOList.add(BtmTypeAttributeWrapper.build().copyBtmTypeAttributeDTO2Entity(s,btmTypeOid, creator, now));
-				attributeIdList.add(s.getId().toLowerCase().trim());
+				attributeIdList.add(s.getId().trim());
 			});
 			//妫�鏌ュ睘鎬ф槸鍚﹂兘瀛樺湪
 			boolean exists = attributeService.checkAttributeExists(attributeIdList);
 			if (!exists){
 				return null;
 			}
-			batchInsert(btmTypeAttributeDOList);
+			saveBatch(btmTypeAttributeDOList);
 			return BtmTypeAttributeWrapper.build().listEntityVO(btmTypeAttributeDOList);
 //            btmTypeAttributeDOList.stream().forEachOrdered(s -> {
 //                btmTypeAttributeDOMapper.insert(s);
@@ -102,7 +107,7 @@
 			attributesDTOList.stream().forEachOrdered(s -> {
 				attributeService.checkAttribute(s);
 				btmTypeAttributeDOList.add(BtmTypeAttributeWrapper.build().copyBtmTypeAttributeDTO2Entity(s,btmTypeOid, creator, now));
-				attributeIdList.add(s.getId().toLowerCase().trim());
+				attributeIdList.add(s.getId().trim());
 			});
 			//妫�鏌ュ睘鎬ф槸鍚﹂兘瀛樺湪
 			boolean exists = attributeService.checkAttributeExists(attributeIdList);
@@ -116,16 +121,6 @@
 //            });
 		}
 		return null;
-	}
-
-	/**
-	 * 鎵归噺鎻掑叆
-	 *
-	 * @param records 鏁版嵁瀵硅薄闆嗗悎
-	 */
-	@Override
-	public int batchInsert(List<BtmTypeAttribute> records) {
-		return baseMapper.insertBatchSomeColumn(records);
 	}
 
 	/**
@@ -179,4 +174,100 @@
 	public List<BtmTypeAttribute> selectByBtmTypeIds(List<String> idList) {
 		return baseMapper.selectByBtmTypeIds(idList);
 	}
+
+	/**
+	 * 鑾峰彇榛樿瀛楁
+	 * 榛樿瀛楁鍧囦笉鍙负绌�
+	 * @param btmType 涓氬姟绫诲瀷
+	 * @return 鎵ц缁撴灉
+	 */
+	@Override
+	public List<BtmTypeAttributeVO> getDefaultAttribute(BtmTypeVO btmType) {
+		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 ("oid".equals(id)){
+				vo.setNullableFlag(false);
+			}
+			if (Arrays.asList("createtime","lastmodifytime","owner").contains(id)){
+				vo.setAttrDataType(VciFieldTypeEnum.VTDateTime.name());
+				vo.setAttributeLength(6);
+			}else {
+				vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
+				vo.setAttributeLength(150);
+			}
+			list.add(vo);
+		});
+
+		// 鐗堟湰瑙勫垯瀛楁
+		if (StringUtils.isNotBlank(btmType.getRevisionRuleId())){
+			BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP.forEach((id,name) -> {
+				BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
+				vo.setId(id);
+				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);
+					vo.setAttrDataType(VciFieldTypeEnum.VTInteger.name());
+				}
+				if (Arrays.asList("checkintime","checkouttime").contains(id)){
+					vo.setAttrDataType(VciFieldTypeEnum.VTDateTime.name());
+					vo.setAttributeLength(6);
+				}
+				list.add(vo);
+			});
+		}
+
+		// 鐢熷懡鍛ㄦ湡瀛楁
+		if (StringUtils.isNotBlank(btmType.getLifeCycleId())){
+			BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP.forEach((id,name) -> {
+				BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
+				vo.setId(id);
+				vo.setName(name);
+				vo.setPkBtmType(btmType.getOid());
+				vo.setNullableFlag(false);
+				vo.setAttributeLength(50);
+				vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
+				list.add(vo);
+			});
+		}
+
+		// 瀵嗙骇瀛楁
+		if (btmType.isSecretFlag()){
+			BtmTypeFieldConstant.SECRET_MANAGE_FIELD_MAP.forEach((id,name) -> {
+				BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
+				vo.setId(id);
+				vo.setName(name);
+				vo.setPkBtmType(btmType.getOid());
+				vo.setNullableFlag(false);
+				vo.setAttributeLength(5);
+				vo.setAttrDataType(VciFieldTypeEnum.VTInteger.name());
+				list.add(vo);
+			});
+		}
+
+		return list;
+	}
+
+	/**
+	 * 鑾峰彇鎵�鏈夊瓧娈�
+	 *
+	 * @param btmType 涓氬姟绫诲瀷
+	 * @return 鎵ц缁撴灉
+	 */
+	@Override
+	public List<BtmTypeAttributeVO> getAllAttribute(BtmTypeVO btmType) {
+		List<BtmTypeAttributeVO> list = getAttributeByBtmTypeOid(btmType.getOid());
+		list.addAll(getDefaultAttribute(btmType));
+		return list;
+	}
 }

--
Gitblit v1.9.3