From 0ef0ea40d9e78b5e143784a8989d1833b38c927d Mon Sep 17 00:00:00 2001 From: lihang <lihang@vci-tech.com> Date: 星期一, 03 七月 2023 17:28:23 +0800 Subject: [PATCH] 仅针对主键设置not null --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java | 93 +++++++++++++++++++++++++++++++++++++--------- 1 files changed, 75 insertions(+), 18 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 266fe5a..56f954b 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 @@ -88,7 +88,7 @@ /** * 琛ㄥ悕鍓嶇紑 */ - public static final String PL = "PL"; + public static final String PL = "PLBT"; /** * 璁剧疆骞冲彴鏈韩鐨勪笟鍔$被鍨� @@ -110,7 +110,11 @@ @Override public BtmTypeVO getBtmTypeByOid(String pkBtmType) throws ServiceException { Func.requireNotNull(pkBtmType,"涓氬姟绫诲瀷涓婚敭涓嶈兘涓虹┖"); - BtmTypeVO btmTypeVO = BtmTypeWrapper.build().entityVO(baseMapper.selectOne(Wrappers.<BtmType>query().lambda().eq(BtmType::getOid, pkBtmType))); + BtmType queryBtmType = baseMapper.selectOne(Wrappers.<BtmType>query().lambda().eq(BtmType::getOid, pkBtmType)); + if (queryBtmType == null){ + return null; + } + BtmTypeVO btmTypeVO = BtmTypeWrapper.build().entityVO(queryBtmType); btmTypeVO.setAttributes(btmTypeAttributeService.getAttributeByBtmTypeOid(pkBtmType)); return btmTypeVO; } @@ -360,6 +364,7 @@ if (!existFieldMap.containsKey(k)){ BtmTypeLinkAttributesDTO attr = new BtmTypeLinkAttributesDTO(); attr.setId(k); + attr.setName(v); attr.setAttrDataType(VciFieldTypeEnum.VTString.name()); attr.setAttributeLength(50); attr.setNullableFlag(false); @@ -507,10 +512,13 @@ afterAttributes = updateAttributeForBtm(btmTypeByOid.getOid(),beforeAttributes, attributes); } BtmTypeVO btmTypeVO = BtmTypeWrapper.build().entityVO(btmTypeDO); + //鍦ㄥ垱寤鸿〃鐨勬椂鍊欒繕闇�瑕佹妸榛樿鐨勫瓧娈靛甫涓娿�� + List<BtmTypeAttributeVO> defaultAttribute = btmTypeAttributeService.getDefaultAttribute(btmTypeVO); + afterAttributes.addAll(defaultAttribute); btmTypeVO.setAttributes(afterAttributes); try { if (autoCreateTable) { - checkTableSame(btmTypeVO); +// checkTableSame(btmTypeVO); R result = DomainRepeater.submitBtmType(btmTypeDTO.getDomain(), btmTypeVO); if (result.isSuccess()){ List<ModifyAttributeInfo> infoList = new ArrayList<>(); @@ -528,11 +536,13 @@ dataSourceTransactionManager.commit(transaction); }else { dataSourceTransactionManager.rollback(transaction); + return R.fail(result.getMsg()); } } } catch (Throwable e) { if (autoCreateTable) { dataSourceTransactionManager.rollback(transaction); + throw new VciBaseException(e.getMessage()); } } return R.data(btmTypeVO); @@ -592,13 +602,12 @@ if (btmTypeDTO.isRevisionFlag()){ // 闇�瑕佹帶鍒剁増鏈� // 妫�鏌ヤ娇鐢ㄧ殑鐗堟湰瑙勫垯鏄惁瀛樺湪 - if (StringUtils.isNotBlank(btmTypeDTO.getRevisionRuleId())) { - if (revisionRuleService.checkRevisionRuleExist(btmTypeDTO.getRevisionRuleId())) { - throw new VciBaseException("鐗堟湰瑙勫垯{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉", - new Object[]{btmTypeDTO.getRevisionRuleId(), btmTypeDTO.getRevisionRuleName()}); - } + if (StringUtils.isNotBlank(btmTypeDTO.getRevisionRuleId())) { + if (!revisionRuleService.checkRevisionRuleExist(btmTypeDTO.getRevisionRuleId())) { + throw new VciBaseException("鐗堟湰瑙勫垯{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉", + new Object[]{btmTypeDTO.getRevisionRuleId(), btmTypeDTO.getRevisionRuleName()}); } - btmTypeDTO.setAttributes(addAttributeByFieldMap(btmTypeDTO.getAttributes(),BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP)); + } } if (btmTypeDTO.isLifeCycleFlag()){ // 闇�瑕佹帶鍒剁敓鍛藉懆鏈� @@ -616,11 +625,9 @@ // new Object[]{btmTypeDTO.getSubLifeCycleId(), btmTypeDTO.getSubLifeCycleName()}); // } // } - btmTypeDTO.setAttributes(addAttributeByFieldMap(btmTypeDTO.getAttributes(),BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP)); } if (btmTypeDTO.isSecretFlag()){ // 闇�瑕佹帶鍒跺瘑绾� - btmTypeDTO.setAttributes(addAttributeByFieldMap(btmTypeDTO.getAttributes(),BtmTypeFieldConstant.SECRET_MANAGE_FIELD_MAP)); } } @Override @@ -639,23 +646,25 @@ * @return 鏌ヨ缁撴灉 */ @Override - public List<BtmTypeTreeVO> treeDomain() { + public List<BtmTreeVO> treeDomain() { try { - Map<String, String> domain = Optional.ofNullable(DomainRepeater.getDomain()).orElseGet(ArrayList::new).stream().collect(Collectors.toMap(s -> s.getValue(), t -> t.getLabel())); + 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().collect(Collectors.groupingBy(BtmTypeVO::getDomain)); - List<BtmTypeTreeVO> treeList = new ArrayList<>(); + Map<String, List<BtmTypeVO>> domainMap = vos.stream().sorted(Comparator.comparing(BtmTypeVO::getId)).collect(Collectors.groupingBy(BtmTypeVO::getDomain)); + List<BtmTreeVO> treeList = new ArrayList<>(); domainMap.forEach((k,v)-> { if (domain.containsKey(k)){ String label = domain.get(k); - BtmTypeTreeVO parent = new BtmTypeTreeVO(); + BtmTreeVO parent = new BtmTreeVO(); parent.setName(label); + parent.setLabel(label); parent.setId(k); parent.setChildList(v.stream().map(s -> { - BtmTypeTreeVO child = new BtmTypeTreeVO(); + BtmTreeVO child = new BtmTreeVO(); child.setOid(s.getOid()); - child.setName(s.getId() + " " + (s.getName() == null ? "" : s.getName())); + child.setName(s.getName()); child.setId(s.getId()); + child.setLabel(s.getId() + (s.getName() == null ? "" : "(" + s.getName() + ")")); return child; }).collect(Collectors.toList())); treeList.add(parent); @@ -810,4 +819,52 @@ } return BtmTypeWrapper.build().listEntityVO(btmList); } + + /** + * 鎸夌収涓氬姟绫诲瀷id鑾峰彇榛樿灞炴�� + * + * @param btmTypeId 涓氬姟绫诲瀷id + * @return 涓氬姟绫诲瀷 + */ + @Override + public BtmTypeVO getDefaultAttrByBtmId(String btmTypeId) { + BtmTypeVO btmType = getBtmTypeById(btmTypeId); + if (btmType == null){ + return null; + } + btmType.setAttributes(btmTypeAttributeService.getDefaultAttribute(btmType)); + return btmType; + } + + /** + * 鎸夌収涓氬姟绫诲瀷id鑾峰彇鎵�鏈夌殑灞炴�� + * + * @param btmTypeId 涓氬姟绫诲瀷id + * @return 涓氬姟绫诲瀷 + */ + @Override + public BtmTypeVO getAllAttributeByBtmId(String btmTypeId) { + BtmTypeVO btmType = getBtmTypeById(btmTypeId); + if (btmType == null){ + return null; + } + btmType.setAttributes(btmTypeAttributeService.getAllAttribute(btmType)); + return btmType; + } + + /** + * 鎸夌収涓氬姟绫诲瀷涓婚敭鑾峰彇鎵�鏈夌殑灞炴�� + * + * @param btmTypeOid 涓氬姟绫诲瀷涓婚敭 + * @return 涓氬姟绫诲瀷 + */ + @Override + public BtmTypeVO getAllAttributeByBtmOid(String btmTypeOid) { + BtmTypeVO btmType = getBtmTypeByOid(btmTypeOid); + if (btmType == null){ + return null; + } + btmType.setAttributes(btmTypeAttributeService.getAllAttribute(btmType)); + return btmType; + } } -- Gitblit v1.9.3