From 28ca3d9f9e6e7eeeb7a7f2a7f50012350f3934c3 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 13 十一月 2024 18:07:11 +0800 Subject: [PATCH] 优化业务数据的查询接口;修改业务数据保存和编辑接口没有保存基础默认属性问题。 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java | 91 +++++++++++++++++++++++++++++++++++++-------- 1 files changed, 75 insertions(+), 16 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java index c73204c..4b60a12 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java @@ -152,7 +152,22 @@ @VciUnLog public List<OsBtmTypeVO> selectAllBtm() { try { - return btmDO2VOs(Arrays.stream(platformClientUtil.getBtmService().getBizTypes("")).collect(Collectors.toList())); + return btmDO2VOs(Arrays.stream(platformClientUtil.getBtmService().getBizTypes("")).collect(Collectors.toList()),null); + } catch (PLException e) { + throw new RuntimeException(e); + } + } + + /** + * 鏌ヨ鎵�鏈夌殑涓氬姟绫诲瀷 + * + * @return 涓氬姟绫诲瀷瀵硅薄 + */ + @Override + @VciUnLog + public List<OsBtmTypeVO> selectAllBtm(Map<String, OsAttributeVO> attributeVOMap) { + try { + return btmDO2VOs(Arrays.stream(platformClientUtil.getBtmService().getBizTypes("")).collect(Collectors.toList()),attributeVOMap); } catch (PLException e) { throw new RuntimeException(e); } @@ -168,6 +183,16 @@ public Map<String, OsBtmTypeVO> selectAllBtmMap() { return Optional.ofNullable(self.selectAllBtm()).orElseGet(() -> new ArrayList<OsBtmTypeVO>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(), t -> t, (o1, o2) -> o1)); } + /** + * 鏌ヨ鎵�鏈夌殑涓氬姟绫诲瀷鏄犲皠 + * + * @return key 鏄笟鍔$殑鑻辨枃鍚嶇О鐨勫皬鍐� + */ + @Override + @VciUnLog + public Map<String, OsBtmTypeVO> selectAllBtmMap(Map<String, OsAttributeVO> attributeVOMap) { + return Optional.ofNullable(self.selectAllBtm(attributeVOMap)).orElseGet(() -> new ArrayList<OsBtmTypeVO>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(), t -> t, (o1, o2) -> o1)); + } /** * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� @@ -176,10 +201,10 @@ * @return 鏄剧ず瀵硅薄 */ @Override - public List<OsBtmTypeVO> btmDO2VOs(Collection<BizType> btmItems) { + public List<OsBtmTypeVO> btmDO2VOs(Collection<BizType> btmItems,Map<String, OsAttributeVO> attributeVOMap) { List<OsBtmTypeVO> VOS = new ArrayList<>(); Optional.ofNullable(btmItems).orElseGet(() -> new ArrayList<>()).stream().forEach(btmItem -> { - OsBtmTypeVO vo = btmDO2VO(btmItem); + OsBtmTypeVO vo = btmDO2VO(btmItem,attributeVOMap); VOS.add(vo); }); return VOS; @@ -192,7 +217,7 @@ * @return 鏄剧ず瀵硅薄 */ @Override - public OsBtmTypeVO btmDO2VO(BizType btmItem) { + public OsBtmTypeVO btmDO2VO(BizType btmItem, Map<String, OsAttributeVO> attributeVOMap) { OsBtmTypeVO vo = new OsBtmTypeVO(); if (btmItem != null) { vo.setOid(btmItem.oid); @@ -221,12 +246,12 @@ vo.setDelimiter(btmItem.delimiter); vo.setfName(btmItem.fName); vo.setVersionRule(String.valueOf(btmItem.verRuleName)); - if (StringUtils.isNotBlank(vo.getRevisionRuleName()) || vo.isInputRevisionFlag()) { + if (StringUtils.isNotBlank(vo.getRevisionRuleId()) || vo.isInputRevisionFlag()) { vo.setRevisionFlag(true); } vo.setLifeCycleIds(Arrays.stream(btmItem.lifeCycles).collect(Collectors.joining(","))); vo.setApNameArray(btmItem.apNameArray); - List<OsAttributeVO> attributeVOS = attributeService.listAttrByIds(Arrays.stream(btmItem.apNameArray).collect(Collectors.toList())); + List<OsAttributeVO> attributeVOS = attributeService.listAttrByIds(Arrays.stream(btmItem.apNameArray).collect(Collectors.toList()),attributeVOMap); List<OsBtmTypeAttributeVO> btmTypeAttributeVOS = new ArrayList<>(); Optional.ofNullable(attributeVOS).orElseGet(() -> new ArrayList<>()).stream().forEach(attributeVO -> { OsBtmTypeAttributeVO btmTypeAttributeVO = new OsBtmTypeAttributeVO(); @@ -287,6 +312,38 @@ return null; } return self.selectAllBtmMap().getOrDefault(id.toLowerCase(), null); + } + + /** + * 浣跨敤绫诲瀷鍚嶈幏鍙栦笟鍔$被鍨�,鏌ヤ笉鍒扮洿鎺ユ姤閿� + * @param btmName 绫诲瀷鍚� + * @return 涓氬姟绫诲瀷 + * @throws + */ + @Override + public OsBtmTypeVO getBtmByName(String btmName) throws PLException{ + if(Func.isBlank(btmName)){ + throw new PLException("500",new String[]{"鏌ヨ鏉′欢绫诲瀷鍚嶄笉鑳戒负绌猴紒"}); + } + BizType bizType = platformClientUtil.getBtmService().getBizTypeByName(btmName); + if(Func.isEmpty(bizType) || Func.isBlank(bizType.oid)){ + throw new PLException("500",new String[]{"鏍规嵁銆�"+btmName+"銆戞湭鏌ヨ鍒板搴斾笟鍔$被鍨嬶紒"}); + } + return btmDO2VO(bizType,null); + } + + /** + * 浣跨敤缂栧彿鑾峰彇涓氬姟绫诲瀷 + * + * @param id 缂栧彿 + * @return 涓氬姟绫诲瀷 + */ + @Override + public OsBtmTypeVO getBtmById(String id,Map<String, OsAttributeVO> attributeVOMap) { + if (StringUtils.isBlank(id)) { + return null; + } + return self.selectAllBtmMap(attributeVOMap).getOrDefault(id.toLowerCase(), null); } /** @@ -366,7 +423,7 @@ return new ArrayList<>(); } BizType bizType = bizTypes[0]; - OsBtmTypeVO btmTypeVO = btmDO2VO(bizType); + OsBtmTypeVO btmTypeVO = btmDO2VO(bizType,null); List<OsBtmTypeAttributeVO> attributes = btmTypeVO.getAttributes(); if (attributes == null) { attributes = new ArrayList<>(); @@ -457,7 +514,6 @@ /** * 鍒ゆ柇璇ュ睘鎬ф槸鍚﹀凡缁忓湪涓氬姟绫诲瀷涓骇鐢熶簡鏁版嵁 - * * @param abName * @return * @throws PLException @@ -646,7 +702,7 @@ List<Tree> rootTreeList = new ArrayList<>(); BizType[] bizTypes = getBizTypes(""); OsBtmTypeVO osBtmTypeVO = null; - List<OsBtmTypeVO> osBtmTypeVOS = btmDO2VOs(Arrays.asList(bizTypes)); + List<OsBtmTypeVO> osBtmTypeVOS = btmDO2VOs(Arrays.asList(bizTypes),null); for (int i = 0; i < osBtmTypeVOS.size(); i++) { osBtmTypeVO = osBtmTypeVOS.get(i); @@ -656,6 +712,7 @@ tree.setParentName(null); tree.setParentId(null); tree.setLeaf(true); + tree.setId(osBtmTypeVO.getId()); tree.setText(osBtmTypeVO.getDescription()); tree.setAttributes(WebUtil.objectToMapString(osBtmTypeVO)); tree.setChildren(getChildren(osBtmTypeVOS, osBtmTypeVO)); @@ -917,14 +974,14 @@ String[] unRemovableFields = null; List<String> unRemovableFields_ = null; //闇�瑕佺Щ闄ょ殑灞炴�� - List<String> removableFields = null; + List<String> removableFields = new ArrayList<>(); //淇敼鍓嶄笟鍔$被鍨嬪湪鏁版嵁搴撲腑宸插瓨鍦ㄧ殑鎵�鏈夊睘鎬� - String[] apNameArray = btmTypeDTO.getApNameArray().split(","); + List<String> apNameArray = Func.toStrList(btmTypeDTO.getApNameArray()); Set<String> dbApNameArray = Arrays.stream(dbBizType.apNameArray) .collect(Collectors.toSet()); //杩囨护鍑洪渶瑕佺Щ闄ょ殑灞炴�� - removableFields = Arrays.stream(apNameArray) - .filter(ap -> !dbApNameArray.contains(ap)) // 杩囨护涓嶅湪 dbApSet 涓殑鍏冪礌 + removableFields = dbApNameArray.stream() + .filter(ap -> !apNameArray.contains(ap)) // 杩囨护涓嶅湪 dbApSet 涓殑鍏冪礌 .collect(Collectors.toList()); // 褰撲笟鍔$被鍨嬭〃涓煇灞炴�у凡缁忔湁鍊�, 涓嶅垹闄よ灞炴��, 灏嗗凡缁忕Щ闄ょ殑灞炴�ф坊鍔犲洖鏉� unRemovableFields = platformClientUtil.getBtmService().getUnRemovableFields(id, removableFields.toArray(new String[0])); @@ -933,7 +990,9 @@ if (this.hasInstanceByBtmName(id)) { //涓氬姟绫诲瀷宸叉湁瀹炰緥, 鍙兘鍒犻櫎娌℃湁鏁版嵁鐨勫垪 if (unRemovableFields != null && unRemovableFields.length > 0) { - unRemovableFields_ = Arrays.asList(unRemovableFields); + //绉婚櫎浜嗕笉鍙慨鏀圭殑灞炴�х洿鎺ユ姤閿欙紝灏变笉寰�涓嬫墽琛屼簡 + throw new VciBaseException("涓氬姟绫诲瀷宸叉湁瀹炰緥, 鍙兘鍒犻櫎娌℃湁鏁版嵁鐨勫垪"); + /*unRemovableFields_ = Arrays.asList(unRemovableFields); for (int i = 0; i < removableFields.size(); i++) { String abName = removableFields.get(i); if (unRemovableFields_.contains(abName)) { @@ -941,7 +1000,7 @@ lastAttrList.add(abName); } } - } + }*/ } } } @@ -1537,7 +1596,7 @@ //boolean flag = DDLToolClient.getService().hasInstanceOralce(tableName); boolean flag = false; try { - flag = ClientServiceProvider.getOMDService().getBTMService().hasData(btmName); + flag = platformClientUtil.getBtmService().hasData(btmName); } catch (PLException e) { // TODO Auto-generated catch block e.printStackTrace(); -- Gitblit v1.9.3