From dd2cbe9c6f7360d0f50da4e5f0fc506ad3915d8b Mon Sep 17 00:00:00 2001 From: lihang <lihang@vci-tech.com> Date: 星期一, 10 七月 2023 18:04:43 +0800 Subject: [PATCH] 业务类型修改功能修正 --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 104 insertions(+), 13 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java index 880efbc..87b7531 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java @@ -1,15 +1,20 @@ package com.vci.ubcs.omd.service.impl; +import com.alibaba.cloud.commons.lang.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vci.ubcs.omd.constant.BtmTypeConstant; +import com.vci.ubcs.omd.constant.BtmTypeFieldConstant; import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO; import com.vci.ubcs.omd.entity.BtmTypeAttribute; import com.vci.ubcs.omd.mapper.BtmTypeAttributeMapper; import com.vci.ubcs.omd.service.IAttributeService; import com.vci.ubcs.omd.service.IBtmTypeAttributeService; import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; +import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.omd.wrapper.BtmTypeAttributeWrapper; import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.tool.utils.Func; import org.springframework.beans.factory.annotation.Autowired; @@ -55,14 +60,14 @@ attributesDTOList.stream().forEachOrdered(s -> { attributeService.checkAttribute(s); btmTypeAttributeDOList.add(BtmTypeAttributeWrapper.build().copyBtmTypeAttributeDTO2Entity(s,btmTypeOid, creator, now)); - attributeIdList.add(s.getId().toLowerCase().trim()); + attributeIdList.add(s.getId().trim()); }); //妫�鏌ュ睘鎬ф槸鍚﹂兘瀛樺湪 boolean exists = attributeService.checkAttributeExists(attributeIdList); if (!exists){ return null; } - batchInsert(btmTypeAttributeDOList); + saveBatch(btmTypeAttributeDOList); return BtmTypeAttributeWrapper.build().listEntityVO(btmTypeAttributeDOList); // btmTypeAttributeDOList.stream().forEachOrdered(s -> { // btmTypeAttributeDOMapper.insert(s); @@ -102,7 +107,7 @@ attributesDTOList.stream().forEachOrdered(s -> { attributeService.checkAttribute(s); btmTypeAttributeDOList.add(BtmTypeAttributeWrapper.build().copyBtmTypeAttributeDTO2Entity(s,btmTypeOid, creator, now)); - attributeIdList.add(s.getId().toLowerCase().trim()); + attributeIdList.add(s.getId().trim()); }); //妫�鏌ュ睘鎬ф槸鍚﹂兘瀛樺湪 boolean exists = attributeService.checkAttributeExists(attributeIdList); @@ -116,16 +121,6 @@ // }); } return null; - } - - /** - * 鎵归噺鎻掑叆 - * - * @param records 鏁版嵁瀵硅薄闆嗗悎 - */ - @Override - public int batchInsert(List<BtmTypeAttribute> records) { - return baseMapper.insertBatchSomeColumn(records); } /** @@ -179,4 +174,100 @@ public List<BtmTypeAttribute> selectByBtmTypeIds(List<String> idList) { return baseMapper.selectByBtmTypeIds(idList); } + + /** + * 鑾峰彇榛樿瀛楁 + * 榛樿瀛楁鍧囦笉鍙负绌� + * @param btmType 涓氬姟绫诲瀷 + * @return 鎵ц缁撴灉 + */ + @Override + public List<BtmTypeAttributeVO> getDefaultAttribute(BtmTypeVO btmType) { + List<BtmTypeAttributeVO> list = new ArrayList<>(); + // 涓氬姟绫诲瀷鐨勫熀鏈瓧娈� + BtmTypeFieldConstant.BASIC_FIELD_MAP.forEach((id,name) -> { + id = id.toLowerCase(Locale.ROOT); + BtmTypeAttributeVO vo = new BtmTypeAttributeVO(); + vo.setId(id); + vo.setName(name); + vo.setPkBtmType(btmType.getOid()); + if ("oid".equals(id)){ + vo.setNullableFlag(false); + } + if (Arrays.asList("createtime","lastmodifytime","owner").contains(id)){ + vo.setAttrDataType(VciFieldTypeEnum.VTDateTime.name()); + vo.setAttributeLength(6); + }else { + vo.setAttrDataType(VciFieldTypeEnum.VTString.name()); + vo.setAttributeLength(150); + } + list.add(vo); + }); + + // 鐗堟湰瑙勫垯瀛楁 + if (StringUtils.isNotBlank(btmType.getRevisionRuleId())){ + BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP.forEach((id,name) -> { + BtmTypeAttributeVO vo = new BtmTypeAttributeVO(); + vo.setId(id); + vo.setName(name); + vo.setPkBtmType(btmType.getOid()); + vo.setAttrDataType(VciFieldTypeEnum.VTString.name()); + // 鐗堟湰瑙勫垯瀛楁涓嶈兘涓虹┖ + vo.setNullableFlag(false); + vo.setAttributeLength(150); + if (Arrays.asList("lastr","firstr","lastv","firstv","revisionseq","versionseq","revisionvalue","versionvalue").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 (StringUtils.isNotBlank(btmType.getLifeCycleId())){ + BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP.forEach((id,name) -> { + BtmTypeAttributeVO vo = new BtmTypeAttributeVO(); + vo.setId(id); + vo.setName(name); + vo.setPkBtmType(btmType.getOid()); + vo.setNullableFlag(false); + vo.setAttributeLength(50); + vo.setAttrDataType(VciFieldTypeEnum.VTString.name()); + list.add(vo); + }); + } + + // 瀵嗙骇瀛楁 + if (btmType.isSecretFlag()){ + BtmTypeFieldConstant.SECRET_MANAGE_FIELD_MAP.forEach((id,name) -> { + BtmTypeAttributeVO vo = new BtmTypeAttributeVO(); + vo.setId(id); + vo.setName(name); + vo.setPkBtmType(btmType.getOid()); + vo.setNullableFlag(false); + vo.setAttributeLength(5); + vo.setAttrDataType(VciFieldTypeEnum.VTInteger.name()); + list.add(vo); + }); + } + + return list; + } + + /** + * 鑾峰彇鎵�鏈夊瓧娈� + * + * @param btmType 涓氬姟绫诲瀷 + * @return 鎵ц缁撴灉 + */ + @Override + public List<BtmTypeAttributeVO> getAllAttribute(BtmTypeVO btmType) { + List<BtmTypeAttributeVO> list = getAttributeByBtmTypeOid(btmType.getOid()); + list.addAll(getDefaultAttribute(btmType)); + return list; + } } -- Gitblit v1.9.3