From b86d97b09d1aca57291004c1a2bc014f90702918 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期五, 26 一月 2024 16:14:39 +0800 Subject: [PATCH] 提交代码 --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 107 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..cc1ae87 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; } @@ -961,4 +969,91 @@ }); 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.setIseDfaultAttr(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.setIseDfaultAttr(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.setIseDfaultAttr(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.setIseDfaultAttr(true); + vo.setAttributeLength(50); + vo.setAttrDataType(VciFieldTypeEnum.VTString.name()); + list.add(vo); + }); + } + + return list; + } + } -- Gitblit v1.9.3