From aedc56b3c034ef33811ca873debee68d6f963a88 Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期二, 04 七月 2023 10:12:57 +0800
Subject: [PATCH] 更改领域值字段为bizDomain

---
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java |   42 ++++++++++++++++++++++++++----------------
 1 files changed, 26 insertions(+), 16 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 2e7f48f..f947641 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
@@ -110,7 +110,11 @@
 	@Override
 	public BtmTypeVO getBtmTypeByOid(String pkBtmType) throws ServiceException {
 		Func.requireNotNull(pkBtmType,"涓氬姟绫诲瀷涓婚敭涓嶈兘涓虹┖");
-		BtmTypeVO btmTypeVO = BtmTypeWrapper.build().entityVO(baseMapper.selectOne(Wrappers.<BtmType>query().lambda().eq(BtmType::getOid, pkBtmType)));
+		BtmType queryBtmType = baseMapper.selectOne(Wrappers.<BtmType>query().lambda().eq(BtmType::getOid, pkBtmType));
+		if (queryBtmType == null){
+			return null;
+		}
+		BtmTypeVO btmTypeVO = BtmTypeWrapper.build().entityVO(queryBtmType);
 		btmTypeVO.setAttributes(btmTypeAttributeService.getAttributeByBtmTypeOid(pkBtmType));
 		return btmTypeVO;
 	}
@@ -360,6 +364,7 @@
 			if (!existFieldMap.containsKey(k)){
 				BtmTypeLinkAttributesDTO attr = new BtmTypeLinkAttributesDTO();
 				attr.setId(k);
+				attr.setName(v);
 				attr.setAttrDataType(VciFieldTypeEnum.VTString.name());
 				attr.setAttributeLength(50);
 				attr.setNullableFlag(false);
@@ -382,7 +387,7 @@
 		ddlDTO.setBtmTypeList(btmTypeVOList);
 		try {
 			// 灏嗕互鍓嶇殑checkDifferent鍜宺eflexDifferent缁撳悎浜�
-			R result = DomainRepeater.checkDifferent(ddlDTO,btmTypeVO.getDomain());
+			R result = DomainRepeater.checkDifferent(ddlDTO,btmTypeVO.getBizDomain());
 			if (result.isSuccess()){
 				List<ModifyAttributeInfo> infoList = new ArrayList<>();
 				Object data = result.getData();
@@ -489,12 +494,13 @@
 		}
 		checkBtmTypeBeforeSave(btmTypeDTO);
 		BtmType btmTypeDO = Optional.ofNullable(BeanUtil.copy(btmTypeDTO, BtmType.class)).orElseGet(BtmType::new);
+		btmTypeDO.setBizDomain(btmTypeDTO.getDomain());
 		List<BtmTypeLinkAttributesDTO> attributes = btmTypeDTO.getAttributes();
 		List<BtmTypeAttributeVO> afterAttributes;
 		if (StringUtils.isBlank(btmTypeDO.getOid())){
 			btmTypeDO = BtmTypeWrapper.build().entityBeforeInsert(btmTypeDO);
 			if (StringUtils.isBlank(btmTypeDO.getTableName())) {
-				btmTypeDO.setTableName(getTableName(btmTypeDO.getId(),btmTypeDO.getDomain()));
+				btmTypeDO.setTableName(getTableName(btmTypeDO.getId(),btmTypeDO.getBizDomain()));
 			}
 			// 娣诲姞灞炴��
 			btmTypeDTO.setOid(btmTypeDO.getOid());
@@ -507,10 +513,13 @@
 			afterAttributes = updateAttributeForBtm(btmTypeByOid.getOid(),beforeAttributes, attributes);
 		}
 		BtmTypeVO btmTypeVO = BtmTypeWrapper.build().entityVO(btmTypeDO);
+		//鍦ㄥ垱寤鸿〃鐨勬椂鍊欒繕闇�瑕佹妸榛樿鐨勫瓧娈靛甫涓娿��
+		List<BtmTypeAttributeVO> defaultAttribute = btmTypeAttributeService.getDefaultAttribute(btmTypeVO);
+		afterAttributes.addAll(defaultAttribute);
 		btmTypeVO.setAttributes(afterAttributes);
 		try {
 			if (autoCreateTable) {
-				checkTableSame(btmTypeVO);
+//				checkTableSame(btmTypeVO);
 				R result = DomainRepeater.submitBtmType(btmTypeDTO.getDomain(), btmTypeVO);
 				if (result.isSuccess()){
 					List<ModifyAttributeInfo> infoList = new ArrayList<>();
@@ -528,11 +537,13 @@
 					dataSourceTransactionManager.commit(transaction);
 				}else {
 					dataSourceTransactionManager.rollback(transaction);
+					return R.fail(result.getMsg());
 				}
 			}
 		} catch (Throwable e) {
 			if (autoCreateTable) {
 				dataSourceTransactionManager.rollback(transaction);
+				throw new VciBaseException(e.getMessage());
 			}
 		}
 		return R.data(btmTypeVO);
@@ -592,13 +603,12 @@
 		if (btmTypeDTO.isRevisionFlag()){
 			// 闇�瑕佹帶鍒剁増鏈�
 			// 妫�鏌ヤ娇鐢ㄧ殑鐗堟湰瑙勫垯鏄惁瀛樺湪
-				if (StringUtils.isNotBlank(btmTypeDTO.getRevisionRuleId())) {
-					if (revisionRuleService.checkRevisionRuleExist(btmTypeDTO.getRevisionRuleId())) {
-						throw new VciBaseException("鐗堟湰瑙勫垯{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉",
-							new Object[]{btmTypeDTO.getRevisionRuleId(), btmTypeDTO.getRevisionRuleName()});
-					}
+			if (StringUtils.isNotBlank(btmTypeDTO.getRevisionRuleId())) {
+				if (!revisionRuleService.checkRevisionRuleExist(btmTypeDTO.getRevisionRuleId())) {
+					throw new VciBaseException("鐗堟湰瑙勫垯{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉",
+						new Object[]{btmTypeDTO.getRevisionRuleId(), btmTypeDTO.getRevisionRuleName()});
 				}
-			btmTypeDTO.setAttributes(addAttributeByFieldMap(btmTypeDTO.getAttributes(),BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP));
+			}
 		}
 		if (btmTypeDTO.isLifeCycleFlag()){
 			// 闇�瑕佹帶鍒剁敓鍛藉懆鏈�
@@ -616,11 +626,9 @@
 //							new Object[]{btmTypeDTO.getSubLifeCycleId(), btmTypeDTO.getSubLifeCycleName()});
 //					}
 //				}
-			btmTypeDTO.setAttributes(addAttributeByFieldMap(btmTypeDTO.getAttributes(),BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP));
 		}
 		if (btmTypeDTO.isSecretFlag()){
 			// 闇�瑕佹帶鍒跺瘑绾�
-			btmTypeDTO.setAttributes(addAttributeByFieldMap(btmTypeDTO.getAttributes(),BtmTypeFieldConstant.SECRET_MANAGE_FIELD_MAP));
 		}
 	}
 	@Override
@@ -641,21 +649,23 @@
 	@Override
 	public List<BtmTreeVO> treeDomain() {
 		try {
-			Map<String, String> domain = Optional.ofNullable(DomainRepeater.getDomain()).orElseGet(ArrayList::new).stream().collect(Collectors.toMap(s -> s.getValue(), t -> t.getLabel()));
+			Map<String, String> domain = Optional.ofNullable(DomainRepeater.getDomain()).orElseGet(ArrayList::new).stream().collect(Collectors.toMap(DomainVO::getValue, DomainVO::getLabel));
 			List<BtmTypeVO> vos = BtmTypeWrapper.build().listEntityVO(baseMapper.selectAll());
-			Map<String, List<BtmTypeVO>> domainMap = vos.stream().collect(Collectors.groupingBy(BtmTypeVO::getDomain));
+			Map<String, List<BtmTypeVO>> domainMap = vos.stream().sorted(Comparator.comparing(BtmTypeVO::getId)).collect(Collectors.groupingBy(BtmTypeVO::getBizDomain));
 			List<BtmTreeVO> treeList = new ArrayList<>();
 			domainMap.forEach((k,v)-> {
 				if (domain.containsKey(k)){
 					String label = domain.get(k);
 					BtmTreeVO parent = new BtmTreeVO();
 					parent.setName(label);
+					parent.setLabel(label);
 					parent.setId(k);
 					parent.setChildList(v.stream().map(s -> {
 						BtmTreeVO child = new BtmTreeVO();
 						child.setOid(s.getOid());
-						child.setName(s.getId() + " " + (s.getName() == null ? "" : s.getName()));
+						child.setName(s.getName());
 						child.setId(s.getId());
+						child.setLabel(s.getId() +  (s.getName() == null ? "" : "(" + s.getName() + ")"));
 						return child;
 					}).collect(Collectors.toList()));
 					treeList.add(parent);
@@ -724,7 +734,7 @@
 			btmType.setCreator(user);
 			btmType.setBtmName(BtmTypeConstant.BTMTYPE);
 			btmType.setCreateTime(now);
-			btmType.setDomain(domain);
+			btmType.setBizDomain(domain);
 			btmType.setLastModifyTime(now);
 			btmType.setLastModifier(user);
 			btmType.setName(dto.getDescription());

--
Gitblit v1.9.3