From aee67ef5bf2e57a148bfded1cb986378e35e7e01 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 18 四月 2024 00:49:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java | 100 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 98 insertions(+), 2 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 1a5dc48..bb016e6 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
@@ -7,10 +7,12 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.omd.cache.EnumCache;
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.*;
+import com.vci.ubcs.omd.enums.EnumEnum;
import com.vci.ubcs.omd.repeater.DomainRepeater;
import com.vci.ubcs.omd.service.*;
import com.vci.ubcs.omd.vo.*;
@@ -469,7 +471,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];
@@ -497,7 +499,7 @@
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();
@@ -969,4 +971,98 @@
});
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.setIsDefaultAttr(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.setIsDefaultAttr(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.setIsDefaultAttr(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.setIsDefaultAttr(true);
+ vo.setAttributeLength(50);
+ vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
+ list.add(vo);
+ });
+ }
+
+ // 璁剧疆瀛楁绫诲瀷涓枃鏄剧ず鍊�,鍜屾帓搴�
+ List<BtmTypeAttributeVO> sortedList = list.stream()
+ .sorted(Comparator.comparing(BtmTypeAttributeVO::getIsDefaultAttr))
+ .map(item-> {
+ item.setAttrDataTypeText(EnumCache.getValue(EnumEnum.VCI_FIELD_TYPE, item.getAttrDataType()));
+ return item;
+ }).collect(Collectors.toList());
+ return sortedList;
+ }
+
}
--
Gitblit v1.9.3