From 8e832c69b20bd34f6da9ef25324ec690d1cccbe3 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 30 一月 2024 11:30:32 +0800 Subject: [PATCH] 业务类型对象,分类授权,字符集相关代码修改 --- 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 9dd2144..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