From f60ff0a216d1ca6ecea8a35e9b54c66bccd25dd2 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 15 十一月 2023 10:32:29 +0800
Subject: [PATCH] 整合代码
---
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java | 63 ++++++++++++++++++++-----------
1 files changed, 40 insertions(+), 23 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 2a64160..9dd2144 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
@@ -10,7 +10,7 @@
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.Attribute;
+import com.vci.ubcs.omd.entity.*;
import com.vci.ubcs.omd.repeater.DomainRepeater;
import com.vci.ubcs.omd.service.*;
import com.vci.ubcs.omd.vo.*;
@@ -19,9 +19,6 @@
import com.vci.ubcs.starter.web.constant.OmdRegExpConstant;
import com.vci.ubcs.omd.dto.BtmTypeDTO;
import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO;
-import com.vci.ubcs.omd.entity.BtmType;
-import com.vci.ubcs.omd.entity.BtmTypeAttribute;
-import com.vci.ubcs.omd.entity.ModifyAttributeInfo;
import com.vci.ubcs.omd.mapper.BtmTypeMapper;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
@@ -85,6 +82,12 @@
*/
@Autowired
private IAttributeService attributeService;
+
+ /**
+ * 鐢熷懡鍛ㄦ湡鐨勬湇鍔�
+ */
+ @Autowired
+ private ILifeCycleService lifeCycleService;
/**
* 琛ㄥ悕鍓嶇紑
@@ -483,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();
@@ -492,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();
@@ -512,6 +516,7 @@
List<BtmTypeAttributeVO> beforeAttributes = btmTypeByOid.getAttributes();
// 澶勭悊灞炴�э紝澶氫綑鐨勫垹闄わ紝涓嶅瓨鍦ㄧ殑娣诲姞
afterAttributes = updateAttributeForBtm(btmTypeByOid.getOid(),beforeAttributes, attributes);
+ baseMapper.updateByPrimaryKey(btmTypeDO);
}
BtmTypeVO btmTypeVO = BtmTypeWrapper.build().entityVO(btmTypeDO);
//鍦ㄥ垱寤鸿〃鐨勬椂鍊欒繕闇�瑕佹妸榛樿鐨勫瓧娈靛甫涓娿��
@@ -520,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<>();
@@ -535,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());
}
}
@@ -571,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;
}
@@ -617,13 +628,14 @@
if (btmTypeDTO.isLifeCycleFlag()){
// 闇�瑕佹帶鍒剁敓鍛藉懆鏈�
//妫�鏌ヤ娇鐢ㄧ殑鐢熷懡鍛ㄦ湡鏄惁瀛樺湪
-// if (StringUtils.isNotBlank(btmTypeDTO.getLifeCycleId())
-// && !FrameWorkLcStatusConstant.EMTYPE_LIFE_CYCLE.equalsIgnoreCase(btmTypeDTO.getLifeCycleId())) {
-// if (lifeCycleServiceI.checkLifeCycleExist(btmTypeDTO.getLifeCycleId())) {
-// throw new VciBaseException("鐢熷懡鍛ㄦ湡{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉",
-// new Object[]{btmTypeDTO.getLifeCycleId(), btmTypeDTO.getLifeCycleName()});
-// }
-// }
+ if (StringUtils.isNotBlank(btmTypeDTO.getLifeCycleId())
+// && !FrameWorkLcStatusConstant.EMTYPE_LIFE_CYCLE.equalsIgnoreCase(btmTypeDTO.getLifeCycleId())
+ ) {
+ if (lifeCycleService.getOne(Wrappers.<LifeCycleRule>query().lambda().eq(LifeCycleRule::getId,btmTypeDTO.getLifeCycleId())) == null) {
+ throw new VciBaseException("鐢熷懡鍛ㄦ湡{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉",
+ new Object[]{btmTypeDTO.getLifeCycleId(), btmTypeDTO.getLifeCycleName()});
+ }
+ }
// if (StringUtils.isNotBlank(btmTypeDTO.getSubLifeCycleId())) {
// if (lifeCycleServiceI.checkLifeCycleExist(btmTypeDTO.getSubLifeCycleId())) {
// throw new VciBaseException("澶囩敤鐢熷懡鍛ㄦ湡{0}[{1}]涓叾涓湁鏌愪簺鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉",
@@ -655,7 +667,10 @@
try {
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().sorted(Comparator.comparing(BtmTypeVO::getId)).collect(Collectors.groupingBy(BtmTypeVO::getBizDomain));
+ if (CollectionUtils.isEmpty(vos)){
+ return new ArrayList<>();
+ }
+ Map<String, List<BtmTypeVO>> domainMap = Optional.ofNullable(vos).orElseGet(ArrayList::new).stream().sorted(Comparator.comparing(BtmTypeVO::getId)).collect(Collectors.groupingBy(BtmTypeVO::getBizDomain));
List<BtmTreeVO> treeList = new ArrayList<>();
domainMap.forEach((k,v)-> {
if (domain.containsKey(k)){
@@ -664,11 +679,13 @@
parent.setName(label);
parent.setLabel(label);
parent.setId(k);
+ parent.setLevel(1);
parent.setChildList(v.stream().map(s -> {
BtmTreeVO child = new BtmTreeVO();
child.setOid(s.getOid());
child.setName(s.getName());
child.setId(s.getId());
+ child.setLevel(2);
child.setLabel(s.getId() + (s.getName() == null ? "" : "(" + s.getName() + ")"));
return child;
}).collect(Collectors.toList()));
--
Gitblit v1.9.3