From 633d328380d7788740d3eba54b33aa69dc9afb02 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 25 一月 2024 22:14:38 +0800
Subject: [PATCH] 点击分类不显示按钮(模板创建时绑定的业务类型id有问题):改成用functionid进行查询,也就是菜单上配置的id

---
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java |   32 ++++++++++++++++++++------------
 1 files changed, 20 insertions(+), 12 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 23d8bde..a01d7d4 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
@@ -469,7 +469,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];
@@ -486,8 +486,9 @@
 	 * @return 鎵ц缁撴灉
 	 */
 	@Override
-	public R submit(BtmTypeDTO btmTypeDTO, boolean autoCreateTable) {
-		TransactionStatus transaction = null;
+	@Transactional(rollbackFor = Exception.class)
+	public R submit(BtmTypeDTO btmTypeDTO, boolean autoCreateTable) throws ServiceException {
+		/*TransactionStatus transaction = null;
 		DefaultTransactionDefinition def = null;
 		if (autoCreateTable) {
 			def = new DefaultTransactionDefinition();
@@ -495,8 +496,8 @@
 			// 浜嬬墿闅旂绾у埆锛屽紑鍚柊浜嬪姟锛岃繖鏍蜂細姣旇緝瀹夊叏浜涖��
 			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();
@@ -515,6 +516,7 @@
 			List<BtmTypeAttributeVO> beforeAttributes = btmTypeByOid.getAttributes();
 			// 澶勭悊灞炴�э紝澶氫綑鐨勫垹闄わ紝涓嶅瓨鍦ㄧ殑娣诲姞
 			afterAttributes = updateAttributeForBtm(btmTypeByOid.getOid(),beforeAttributes, attributes);
+			baseMapper.updateByPrimaryKey(btmTypeDO);
 		}
 		BtmTypeVO btmTypeVO = BtmTypeWrapper.build().entityVO(btmTypeDO);
 		//鍦ㄥ垱寤鸿〃鐨勬椂鍊欒繕闇�瑕佹妸榛樿鐨勫瓧娈靛甫涓娿��
@@ -523,7 +525,7 @@
 		btmTypeVO.setAttributes(afterAttributes);
 		try {
 			if (autoCreateTable) {
-//				checkTableSame(btmTypeVO);
+				// checkTableSame(btmTypeVO);
 				R result = DomainRepeater.submitBtmType(btmTypeDTO.getBizDomain(), btmTypeVO);
 				if (result.isSuccess()){
 					List<ModifyAttributeInfo> infoList = new ArrayList<>();
@@ -538,15 +540,17 @@
 						});
 						modifyAttributeService.saveBatch(ModifyAttributeWrapper.build().listEntityBeforeSave(infoList));
 					}
-					dataSourceTransactionManager.commit(transaction);
+					// dataSourceTransactionManager.commit(transaction);
 				}else {
-					dataSourceTransactionManager.rollback(transaction);
-					return R.fail(result.getMsg());
+					// dataSourceTransactionManager.rollback(transaction);
+					// 鍒涘缓琛ㄦ姤閿欙紝鎶涘嚭寮傚父璁╄鏂规硶鍥炴粴
+					throw new VciBaseException(result.getMsg());
+					// return R.fail(result.getMsg());
 				}
 			}
 		} catch (Throwable e) {
 			if (autoCreateTable) {
-				dataSourceTransactionManager.rollback(transaction);
+//				dataSourceTransactionManager.rollback(transaction);
 				throw new VciBaseException(e.getMessage());
 			}
 		}
@@ -574,8 +578,12 @@
 		List<BtmTypeAttributeVO> voListAdd = btmTypeAttributeService.checkAndInsert(oid, addList, AuthUtil.getUserAccount(), new Date());
 		List<BtmTypeAttributeVO> voListUpdate = btmTypeAttributeService.checkAndUpdate(oid, modifyList, AuthUtil.getUserAccount(), new Date());
 		List<BtmTypeAttributeVO> returnList = new ArrayList<>();
-		returnList.addAll(Objects.requireNonNull(voListAdd));
-		returnList.addAll(Objects.requireNonNull(voListUpdate));
+		if(!CollectionUtils.isEmpty(voListAdd)) {
+			returnList.addAll(Objects.requireNonNull(voListAdd));
+		}
+		if(!CollectionUtils.isEmpty(voListUpdate)) {
+			returnList.addAll(Objects.requireNonNull(voListUpdate));
+		}
 		return returnList;
 	}
 

--
Gitblit v1.9.3