From a756aed2072b98ed02967ddf2b013fc77be65f94 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 31 十月 2024 09:42:19 +0800 Subject: [PATCH] 修改业务类型类型改变时和业务类型移除属性时校验逻辑 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java | 682 +++++++++++++++++++++++++++++++------------------------- 1 files changed, 379 insertions(+), 303 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 f573031..2eff972 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,8 +152,23 @@ @VciUnLog public List<OsBtmTypeVO> selectAllBtm() { try { - return btmDO2VOs(Arrays.stream(platformClientUtil.getBtmService().getBizTypes("")).collect(Collectors.toList())); - } catch (PLException e) { + 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); } } @@ -166,7 +181,17 @@ @Override @VciUnLog 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 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); + Optional.ofNullable(btmItems).orElseGet(() -> new ArrayList<>()).stream().forEach(btmItem -> { + OsBtmTypeVO vo = btmDO2VO(btmItem,attributeVOMap); VOS.add(vo); }); return VOS; @@ -192,9 +217,9 @@ * @return 鏄剧ず瀵硅薄 */ @Override - public OsBtmTypeVO btmDO2VO(BizType btmItem) { + public OsBtmTypeVO btmDO2VO(BizType btmItem, Map<String, OsAttributeVO> attributeVOMap) { OsBtmTypeVO vo = new OsBtmTypeVO(); - if(btmItem !=null){ + if (btmItem != null) { vo.setOid(btmItem.oid); vo.setCreator(btmItem.creator); vo.setLastModifier(btmItem.modifier); @@ -202,7 +227,7 @@ // btmItem.createTime鎷垮埌鐨勬槸鏃堕棿鎴筹紝浣嗘槸杩欏効瑕佺殑鏄緥濡�2017-12-27 09:32:20.034杩欐牱鐨勬牸寮忥紝鎵�浠ヤ笉璋冪敤杩欎釜鏂规硶锛屾敼璋冪敤鍏朵粬鏂规硶 //vo.setCreateTime(VciDateUtil.str2Date(String.valueOf(btmItem.createTime),VciDateUtil.DateTimeFormat)); vo.setCreateTime(Func.parse(btmItem.createTime, ConcurrentDateFormat.of(VciDateUtil.DateTimeFormat))); - vo.setLastModifyTime( Func.parse(btmItem.modifyTime, ConcurrentDateFormat.of(VciDateUtil.DateTimeFormat))); + vo.setLastModifyTime(Func.parse(btmItem.modifyTime, ConcurrentDateFormat.of(VciDateUtil.DateTimeFormat))); vo.setTs(Func.parse(btmItem.ts, ConcurrentDateFormat.of(VciDateUtil.DateTimeMillFormat))); } catch (Exception e) { e.printStackTrace(); @@ -221,29 +246,29 @@ 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.getRevisionRuleName()) || 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->{ + Optional.ofNullable(attributeVOS).orElseGet(() -> new ArrayList<>()).stream().forEach(attributeVO -> { OsBtmTypeAttributeVO btmTypeAttributeVO = new OsBtmTypeAttributeVO(); - BeanUtil.convert(attributeVO,btmTypeAttributeVO); + BeanUtil.convert(attributeVO, btmTypeAttributeVO); btmTypeAttributeVO.setPkBtmType(vo.getOid()); btmTypeAttributeVO.setBtmTypeId(vo.getId()); btmTypeAttributeVO.setAttributeDataType(attributeVO.getAttributeDataType()); btmTypeAttributeVO.setAttributeLength(attributeVO.getAttrLength()); btmTypeAttributeVO.setDefaultValue(attributeVO.getDefaultValue()); - if("secretgrade".equalsIgnoreCase(attributeVO.getId())){ + if ("secretgrade".equalsIgnoreCase(attributeVO.getId())) { vo.setSecretFlag(true); } - if(StringUtils.isNotBlank(attributeVO.getBtmTypeId())){ + if (StringUtils.isNotBlank(attributeVO.getBtmTypeId())) { btmTypeAttributeVO.setReferFlag(true); btmTypeAttributeVO.setReferBtmTypeId(attributeVO.getBtmTypeId()); } - if(StringUtils.isNotBlank(attributeVO.getEnumId())){ + if (StringUtils.isNotBlank(attributeVO.getEnumId())) { btmTypeAttributeVO.setEnumFlag(true); btmTypeAttributeVO.setEnumItemMap(enumService.getEnumValueMap(btmTypeAttributeVO.getEnumId())); } @@ -262,13 +287,13 @@ */ @Override public List<OsBtmTypeVO> listBtmByIds(Collection<String> btmIds) { - if(CollectionUtils.isEmpty(btmIds)){ + if (CollectionUtils.isEmpty(btmIds)) { return null; } Map<String, OsBtmTypeVO> btmTypeVOMap = self.selectAllBtmMap(); List<OsBtmTypeVO> btmTypeVOS = new ArrayList<>(); - btmIds.stream().forEach(id->{ - if(btmTypeVOMap.containsKey(id.toLowerCase())){ + btmIds.stream().forEach(id -> { + if (btmTypeVOMap.containsKey(id.toLowerCase())) { btmTypeVOS.add(btmTypeVOMap.get(id.toLowerCase())); } }); @@ -283,10 +308,23 @@ */ @Override public OsBtmTypeVO getBtmById(String id) { - if(StringUtils.isBlank(id)){ + if (StringUtils.isBlank(id)) { return null; } - return self.selectAllBtmMap().getOrDefault(id.toLowerCase(),null); + return self.selectAllBtmMap().getOrDefault(id.toLowerCase(), 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); } /** @@ -297,33 +335,33 @@ */ @Override public List<OsUsedAttributeVO> listBtmUsedInfo(String btmName) { - return listBtmUsedInfo(btmName,false); + return listBtmUsedInfo(btmName, false); } /** * 鑾峰彇涓氬姟绫诲瀷鐨勫湪鍝釜灞炴�т腑浣跨敤 * - * @param btmId 涓氬姟绫诲瀷 + * @param btmId 涓氬姟绫诲瀷 * @param hasLink 鏄惁鍖呭惈閾炬帴绫诲瀷涓� * @return 寮曠敤鐨勪俊鎭� */ @Override - public List<OsUsedAttributeVO> listBtmUsedInfo(String btmId, boolean hasLink){ - VciBaseUtil.alertNotNull(btmId,"涓氬姟绫诲瀷鐨勫悕绉�"); - List<OsAttributeVO> allReferThisBtmAttributes = Optional.ofNullable(attributeService.selectAllAttribute()).orElseGet(()->new ArrayList<>()).stream().filter(s->btmId.equalsIgnoreCase(s.getBtmTypeId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(allReferThisBtmAttributes)){ + public List<OsUsedAttributeVO> listBtmUsedInfo(String btmId, boolean hasLink) { + VciBaseUtil.alertNotNull(btmId, "涓氬姟绫诲瀷鐨勫悕绉�"); + List<OsAttributeVO> allReferThisBtmAttributes = Optional.ofNullable(attributeService.selectAllAttribute()).orElseGet(() -> new ArrayList<>()).stream().filter(s -> btmId.equalsIgnoreCase(s.getBtmTypeId())).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(allReferThisBtmAttributes)) { return null; } //鏍规嵁杩欎簺灞炴�э紝鎵惧畠浣跨敤鐨勪笟鍔$被鍨� - List<OsUsedAttributeVO> usedInfos= new ArrayList<>(); + List<OsUsedAttributeVO> usedInfos = new ArrayList<>(); List<OsBtmTypeVO> btmTypeVOMap = self.selectAllBtmMap().values().stream().collect(Collectors.toList()); List<OsLinkTypeVO> linkTypeVOS = linkTypeService.selectAllLinkMap().values().stream().collect(Collectors.toList()); - allReferThisBtmAttributes.stream().forEach(attribute->{ + allReferThisBtmAttributes.stream().forEach(attribute -> { //鍏朵粬鐨勪笟鍔$被鍨嬪寘鍚簡杩欎釜灞炴�х殑 List<OsBtmTypeVO> usedBtms = btmTypeVOMap.stream().filter(btmTypeVO -> !CollectionUtils.isEmpty(btmTypeVO.getAttributes()) && btmTypeVO.getAttributes().stream().anyMatch(s -> attribute.getId().equalsIgnoreCase(s.getId()))).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(usedBtms)){ - usedBtms.stream().forEach(btm->{ - btm.getAttributes().stream().filter(s->attribute.getId().equalsIgnoreCase(s.getId())).forEach(attrInBtm->{ + if (!CollectionUtils.isEmpty(usedBtms)) { + usedBtms.stream().forEach(btm -> { + btm.getAttributes().stream().filter(s -> attribute.getId().equalsIgnoreCase(s.getId())).forEach(attrInBtm -> { OsUsedAttributeVO usedAttributeVO = new OsUsedAttributeVO(); usedAttributeVO.setId(attrInBtm.getId()); usedAttributeVO.setName(attrInBtm.getName()); @@ -333,11 +371,11 @@ }); }); } - if(hasLink){ - List<OsLinkTypeVO> usedLinks = linkTypeVOS.stream().filter(linkTypeVO -> !CollectionUtils.isEmpty(linkTypeVO.getAttributes()) &&linkTypeVO.getAttributes().stream().anyMatch(s->attribute.getId().equalsIgnoreCase(s.getId())) ).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(usedLinks)){ - usedLinks.stream().forEach(link->{ - link.getAttributes().stream().filter(s->attribute.getId().equalsIgnoreCase(s.getId())).forEach(attrInBtm->{ + if (hasLink) { + List<OsLinkTypeVO> usedLinks = linkTypeVOS.stream().filter(linkTypeVO -> !CollectionUtils.isEmpty(linkTypeVO.getAttributes()) && linkTypeVO.getAttributes().stream().anyMatch(s -> attribute.getId().equalsIgnoreCase(s.getId()))).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(usedLinks)) { + usedLinks.stream().forEach(link -> { + link.getAttributes().stream().filter(s -> attribute.getId().equalsIgnoreCase(s.getId())).forEach(attrInBtm -> { OsUsedAttributeVO usedAttributeVO = new OsUsedAttributeVO(); usedAttributeVO.setId(attrInBtm.getId()); usedAttributeVO.setName(attrInBtm.getName()); @@ -360,15 +398,15 @@ */ @Override public List<OsBtmTypeAttributeVO> listAttributeByBtmId(String btmId) throws PLException { - VciBaseUtil.alertNotNull(btmId,"涓氬姟绫诲瀷鐨勭紪鍙�"); + VciBaseUtil.alertNotNull(btmId, "涓氬姟绫诲瀷鐨勭紪鍙�"); BizType[] bizTypes = platformClientUtil.getBtmService().getBizTypes(btmId); - if(Func.isEmpty(bizTypes)){ + if (Func.isEmpty(bizTypes)) { return new ArrayList<>(); } BizType bizType = bizTypes[0]; - OsBtmTypeVO btmTypeVO = btmDO2VO(bizType); + OsBtmTypeVO btmTypeVO = btmDO2VO(bizType,null); List<OsBtmTypeAttributeVO> attributes = btmTypeVO.getAttributes(); - if(attributes == null){ + if (attributes == null) { attributes = new ArrayList<>(); } return attributes.stream().sorted(((o1, o2) -> o1.getId().toLowerCase(Locale.ROOT).compareTo(o2.getId().toLowerCase(Locale.ROOT)))).collect(Collectors.toList()); @@ -383,12 +421,12 @@ @Override public List<OsBtmTypeAttributeVO> listAttributeByBtmIdHasDefault(String btmId) throws PLException { List<OsBtmTypeAttributeVO> attrVOs = listAttributeByBtmId(btmId); - if(attrVOs == null){ + if (attrVOs == null) { attrVOs = new ArrayList<>(); } - if(!CollectionUtils.isEmpty(attributeService.getDefaultAttributeVOs())) { + if (!CollectionUtils.isEmpty(attributeService.getDefaultAttributeVOs())) { List<OsBtmTypeAttributeVO> finalAttrVOs = attrVOs; - attributeService.getDefaultAttributeVOs().stream().forEach(attr->{ + attributeService.getDefaultAttributeVOs().stream().forEach(attr -> { OsBtmTypeAttributeVO attributeVO = new OsBtmTypeAttributeVO(); BeanUtil.convert(attr, attributeVO); attributeVO.setAttributeDataType(attr.getAttributeDataType()); @@ -412,6 +450,7 @@ /** * 淇敼涓氬姟绫诲瀷涓搴斿睘鎬у悕鐨勫睘鎬� + * * @param apName * @return * @throws PLException @@ -426,7 +465,7 @@ } catch (PLException e1) { e1.printStackTrace(); } - if(abItem == null || abItem.equals("")){ + if (abItem == null || abItem.equals("")) { return true; } try { @@ -434,21 +473,21 @@ } catch (PLException e) { e.printStackTrace(); } - if(btmNames == null || btmNames.length <= 0){ + if (btmNames == null || btmNames.length <= 0) { return true; } btmNameList = Arrays.asList(btmNames); - for(Iterator<String> i = btmNameList.iterator(); i.hasNext();){ + for (Iterator<String> i = btmNameList.iterator(); i.hasNext(); ) { String btmName = i.next(); try { platformClientUtil.getBtmService().modifyBTAttribute(btmName, apName); } catch (PLException e) { // TODO Auto-generated catch block e.printStackTrace(); - String erreMsg = "璋冩暣涓氬姟绫诲瀷涓��"+apName+"銆戝睘鎬ф椂鍑虹幇閿欒锛屽師鍥狅細"+e.getMessage(); + String erreMsg = "璋冩暣涓氬姟绫诲瀷涓��" + apName + "銆戝睘鎬ф椂鍑虹幇閿欒锛屽師鍥狅細" + e.getMessage(); logger.error(erreMsg); - throw new PLException("500",new String[]{erreMsg}); + throw new PLException("500", new String[]{erreMsg}); } } return false; @@ -463,14 +502,14 @@ @Override public boolean hasInstance(String abName) throws PLException { String[] btmNames = platformClientUtil.getBtmService().getBTNamesByAPName(abName); - if(btmNames == null || btmNames.length == 0){ + if (btmNames == null || btmNames.length == 0) { return false; } - for(int i = 0; i < btmNames.length; i++){ + for (int i = 0; i < btmNames.length; i++) { String btmName = btmNames[i]; boolean flag; flag = platformClientUtil.getBtmService().hasData(btmName); - if(flag){ + if (flag) { return flag; } } @@ -480,13 +519,14 @@ /** * 鑾峰彇鍚嶅瓧浠ilter寮�濮嬬殑涓氬姟绫诲瀷(for 鏌ヨ)锛屼富瑕佺敤浜庡睘鎬ф睜鐨勪笟鍔$被鍨嬮�夋嫨瀵硅瘽妗� * 鑾峰彇鍏ㄩ儴涓氬姟绫诲瀷锛屼紶鍙俧ilter涓�"" + * * @param btmName * @return * @throws PLException */ @Override public BizType[] getBizTypes(String btmName) throws PLException { - if(null == btmName){ + if (null == btmName) { btmName = ""; } return platformClientUtil.getBtmService().getBizTypes(btmName); @@ -494,18 +534,19 @@ /** * 涓氬姟绫诲瀷鍒楄〃鏌ヨ锛岄潪鏍戠粨鏋勶細鐢ㄤ簬UI瀹氫箟宸︿晶涓氬姟绫诲瀷鏌ヨ锛屽彧杩斿洖name鍜宭able + * * @param btmName * @return * @throws PLException */ @Override public Tree getBizTree(String btmName) throws PLException { - if(null == btmName){ + if (null == btmName) { btmName = ""; } Tree returnTree = new Tree(); BizType[] bizTypes = platformClientUtil.getBtmService().getBizTypes(btmName); - if(Func.isEmpty(bizTypes)){ + if (Func.isEmpty(bizTypes)) { return returnTree; } returnTree.setOid(""); @@ -514,13 +555,13 @@ List<Tree> trees = new ArrayList<>(); Arrays.stream(bizTypes).forEach(bizType -> { Tree tree = new Tree(); - tree.setText(bizType.name + " " +bizType.label); + tree.setText(bizType.name + " " + bizType.label); tree.setOid(bizType.oid); tree.setLeaf(true); tree.setParentName(bizType.fName); Map<String, String> atrrMap = new HashMap<>(); - atrrMap.put("name",bizType.name); - atrrMap.put("lable",bizType.label); + atrrMap.put("name", bizType.name); + atrrMap.put("lable", bizType.label); tree.setAttributes(atrrMap); trees.add(tree); }); @@ -537,7 +578,7 @@ */ @Override public DataGrid<OsBtmTypeVO> referDataGrid(Map<String, String> conditionMap, PageHelper pageHelper) { - DataGrid<OsBtmTypeVO> dataGrid = queryObjectServiceInfoBySql(conditionMap, pageHelper, "plbtmtype",OsBtmTypeVO.class,((data, obj) -> { + DataGrid<OsBtmTypeVO> dataGrid = queryObjectServiceInfoBySql(conditionMap, pageHelper, "plbtmtype", OsBtmTypeVO.class, ((data, obj) -> { obj.setTableName(VciBaseUtil.getTableName(obj.getId())); })); return dataGrid; @@ -552,7 +593,7 @@ @Override public OsBtmTypeVO selectByOid(String oid) { List<OsBtmTypeVO> btmTypeVOS = self.selectAllBtmMap().values().stream().collect(Collectors.toList()); - return Optional.ofNullable(btmTypeVOS).orElseGet(()->new ArrayList<>()).stream().filter(s->s.getOid().equalsIgnoreCase(oid)).findFirst().orElseGet(()->null); + return Optional.ofNullable(btmTypeVOS).orElseGet(() -> new ArrayList<>()).stream().filter(s -> s.getOid().equalsIgnoreCase(oid)).findFirst().orElseGet(() -> null); } /** @@ -564,8 +605,8 @@ @Override public String getNameById(String id) { OsBtmTypeVO btmTypeVO = getBtmById(id); - if(btmTypeVO == null){ - throw new VciBaseException("涓氬姟绫诲瀷[{0}]鍦ㄧ郴缁熼噷涓嶅瓨鍦�",new String[]{id}); + if (btmTypeVO == null) { + throw new VciBaseException("涓氬姟绫诲瀷[{0}]鍦ㄧ郴缁熼噷涓嶅瓨鍦�", new String[]{id}); } return btmTypeVO.getName(); } @@ -582,7 +623,7 @@ List<OsERNodeVO> nodeVOList = new ArrayList<>(); List<OsERRelationVO> relationVOList = new ArrayList<>(); //鐪嬪綋鍓嶈繖涓笟鍔$被鍨嬶紝鍙傜収浜嗗叾浠栫殑鍝簺涓氬姟绫诲瀷 .鎴戜滑涓嶆樉绀哄紩鐢ㄥ綋鍓嶄笟鍔$被鍨嬬殑涓氬姟绫诲瀷 - splicingBtmType2Json(nodeVOList, relationVOList, btmTypeVO,true); + splicingBtmType2Json(nodeVOList, relationVOList, btmTypeVO, true); loadAllLinkTypeByBtmType(nodeVOList, relationVOList, btmTypeVO); OsERVO osERVO = new OsERVO(); osERVO.setTabViewList(nodeVOList); @@ -604,25 +645,25 @@ List<OsUsedAttributeVO> usedAttributeVOS = listBtmUsedInfo(btmTypeVO.getId()); List<OsERNodeVO> nodeVOList = new ArrayList<>(); List<OsERRelationVO> relationVOList = new ArrayList<>(); - splicingBtmType2Json(nodeVOList, relationVOList, btmTypeVO,false); - if(!CollectionUtils.isEmpty(usedAttributeVOS)){ - usedAttributeVOS.stream().forEach(usedAttr->{ + splicingBtmType2Json(nodeVOList, relationVOList, btmTypeVO, false); + if (!CollectionUtils.isEmpty(usedAttributeVOS)) { + usedAttributeVOS.stream().forEach(usedAttr -> { //涓氬姟绫诲瀷鍜岄摼鎺ョ被鍨嬮兘鏈夊彲鑳� - if(BooleanEnum.TRUE.getValue().equalsIgnoreCase(usedAttr.getBusinessType())){ + if (BooleanEnum.TRUE.getValue().equalsIgnoreCase(usedAttr.getBusinessType())) { //涓氬姟绫诲瀷 OsBtmTypeVO linkBtmVO = self.selectAllBtmMap().get(usedAttr.getPkBtmType().toLowerCase(Locale.ROOT)); - splicingBtmType2Json(nodeVOList, relationVOList, linkBtmVO,false); + splicingBtmType2Json(nodeVOList, relationVOList, linkBtmVO, false); OsERRelationVO relationVO = new OsERRelationVO(); relationVO.setTo(btmTypeVO.getId() + " " + btmTypeVO.getName()); relationVO.setFrom(linkBtmVO.getId() + " " + linkBtmVO.getName()); relationVO.setToText("寮曠敤"); relationVOList.add(relationVO); - }else{ + } else { //鏄摼鎺ョ被鍨� OsLinkTypeVO linkTypeVO = linkTypeService.selectAllLinkMap().get(usedAttr.getPkBtmType().toLowerCase(Locale.ROOT)); List<OsLinkTypeVO> linkTypeVOList = new ArrayList<>(); linkTypeVOList.add(linkTypeVO); - splicingLinkType2Json(nodeVOList, relationVOList,linkTypeVOList,btmTypeVO,true); + splicingLinkType2Json(nodeVOList, relationVOList, linkTypeVOList, btmTypeVO, true); } }); } @@ -634,6 +675,7 @@ /** * 鑾峰彇鎵�鏈変笟鍔$被鍨嬶紙鏍戝舰缁撴瀯锛� + * * @return 鏌ヨ缁撴灉 */ @Override @@ -641,19 +683,20 @@ List<Tree> rootTreeList = new ArrayList<>(); BizType[] bizTypes = getBizTypes(""); OsBtmTypeVO osBtmTypeVO = null; - List<OsBtmTypeVO> osBtmTypeVOS = btmDO2VOs(Arrays.asList(bizTypes)); - for(int i = 0; i < osBtmTypeVOS.size(); i++){ + List<OsBtmTypeVO> osBtmTypeVOS = btmDO2VOs(Arrays.asList(bizTypes),null); + for (int i = 0; i < osBtmTypeVOS.size(); i++) { osBtmTypeVO = osBtmTypeVOS.get(i); - if(osBtmTypeVO.getfName().equals("")){ + if (osBtmTypeVO.getfName().equals("")) { Tree tree = new Tree(); tree.setOid(osBtmTypeVO.getOid()); 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)); + tree.setChildren(getChildren(osBtmTypeVOS, osBtmTypeVO)); rootTreeList.add(tree); } } @@ -663,12 +706,13 @@ /** * 鑾峰彇鎵�鏈変笟鍔$被鍨嬪悕绉伴泦鍚� + * * @return */ @Override public List<String> getAllBtmName() throws PLException { BizType[] bizTypes = platformClientUtil.getBtmService().getBizTypes(""); - if(null != bizTypes && bizTypes.length > 0){ + if (null != bizTypes && bizTypes.length > 0) { return Arrays.stream(bizTypes).map(bizType -> bizType.name).collect(Collectors.toList()); } return null; @@ -676,6 +720,7 @@ /** * 鑾峰彇涓氬姟鍏ㄩ儴灞炴�х被鍨� + * * @param btmName 涓氬姟绫诲瀷鍚嶇О * @return 灞炴�х殑淇℃伅 */ @@ -723,7 +768,7 @@ vo.setOwner(attribute.creator); vo.setLastModifyTime(new Date(attribute.modifyTime)); String maxLength = AttributeConstants.getOtherValueByType(attribute.other, AttributeConstants.LENGTH); - if(StringUtils.isNotBlank(maxLength)){ + if (StringUtils.isNotBlank(maxLength)) { vo.setAttributeLength(Integer.valueOf(maxLength)); } osBtms.add(vo); @@ -733,12 +778,13 @@ /** * dto杞琩o瀵硅薄 + * * @return */ - private BizType dto2BizType(OsBtmTypeDTO dto){ + private BizType dto2BizType(OsBtmTypeDTO dto) { BizType bizType = new BizType(); bizType.oid = dto.getOid(); - bizType.name =dto.getId(); + bizType.name = dto.getId(); bizType.isAbstract = dto.isAbstractFlag(); bizType.label = dto.getName(); bizType.fName = dto.getfName(); @@ -758,7 +804,7 @@ bizType.delimiter = (dto.getDelimiter() == null ? "" : dto.getDelimiter()); - bizType.verRuleName = Func.isBlank(dto.getVersionRule()) ? 0:Short.parseShort(dto.getVersionRule()); + bizType.verRuleName = Func.isBlank(dto.getVersionRule()) ? 0 : Short.parseShort(dto.getVersionRule()); //bizType.imageName = dto.get; //List<String> attrIdList = dto.getAttributesDTOList().stream().map(OsBtmTypeLinkAttributesDTO::getId).collect(Collectors.toList()); @@ -766,22 +812,23 @@ bizType.apNameArray = dto.getApNameArray().split(",");//attrIdList.toArray(new String[attrIdList.size()]); String userId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); long timeMillis = System.currentTimeMillis(); - bizType.creator = Func.isBlank(dto.getCreator()) ? userId:dto.getCreator(); - bizType.createTime = Func.isEmpty(dto.getCreateTime()) ? timeMillis:dto.getCreateTime().getTime(); + bizType.creator = Func.isBlank(dto.getCreator()) ? userId : dto.getCreator(); + bizType.createTime = Func.isEmpty(dto.getCreateTime()) ? timeMillis : dto.getCreateTime().getTime(); bizType.modifier = userId; bizType.modifyTime = timeMillis; - bizType.ts = Func.isEmpty(dto.getTs())? timeMillis:dto.getTs().getTime(); + bizType.ts = Func.isEmpty(dto.getTs()) ? timeMillis : dto.getTs().getTime(); return bizType; } /** * 鍒涘缓鏂扮殑涓氬姟绫诲瀷 + * * @return * @throws PLException */ @Override public boolean addBtmType(OsBtmTypeDTO btmTypeDTO) throws PLException { - VciBaseUtil.alertNotNull(btmTypeDTO,"鍒涘缓鐨勪笟鍔$被鍨嬪璞�"); + VciBaseUtil.alertNotNull(btmTypeDTO, "鍒涘缓鐨勪笟鍔$被鍨嬪璞�"); //涓氬姟绫诲瀷鍚嶇О妫�鏌� checkName(btmTypeDTO.getId()); //鐢熷懡鍛ㄦ湡妫�鏌� @@ -815,26 +862,27 @@ /** * 妫�鏌ヤ笟鍔$被鍨嬪悕绉版槸鍚﹀悎瑙� + * * @param btmName * @throws PLException */ private void checkName(String btmName) throws PLException { if (Func.isBlank(btmName)) { - throw new PLException("500",new String[]{"涓氬姟绫诲瀷鍚嶄笉鑳戒负绌�!"}); + throw new PLException("500", new String[]{"涓氬姟绫诲瀷鍚嶄笉鑳戒负绌�!"}); } if (!btmName.matches("[a-z A-Z]*")) { - throw new PLException("500",new String[]{"涓氬姟绫诲瀷鍚嶅彧鑳戒负鑻辨枃瀛楁瘝!"}); + throw new PLException("500", new String[]{"涓氬姟绫诲瀷鍚嶅彧鑳戒负鑻辨枃瀛楁瘝!"}); } int maxLength = platformClientUtil.getBtmService().getBTNameMaxLength(); if (btmName.length() > maxLength) { - throw new PLException("500",new String[]{"涓氬姟绫诲瀷鍚嶉暱搴︿笉鑳借秴杩�" + maxLength}); + throw new PLException("500", new String[]{"涓氬姟绫诲瀷鍚嶉暱搴︿笉鑳借秴杩�" + maxLength}); } if (platformClientUtil.getBtmService().checkRowIsExists(btmName)) { - throw new PLException("500",new String[]{"涓氬姟绫诲瀷鍚嶅凡缁忓瓨鍦�"}); + throw new PLException("500", new String[]{"涓氬姟绫诲瀷鍚嶅凡缁忓瓨鍦�"}); } } @@ -845,19 +893,20 @@ */ private void checkLifeCycle(OsBtmTypeDTO btmTypeDTO) throws PLException { if (Func.isBlank(btmTypeDTO.getLifeCycleId())) { - throw new PLException("500",new String[]{"鐢熷懡鍛ㄦ湡涓嶈兘涓虹┖"}); + throw new PLException("500", new String[]{"鐢熷懡鍛ㄦ湡涓嶈兘涓虹┖"}); } } /** * 閫夋嫨涓�绾х増鏈細蹇呴』閫夋嫨鎴栨墜宸ヨ緭鍏ョ増鏈彿瑙勫垯; 閫夋嫨浜岀骇鐗堟湰锛氬繀椤婚�夋嫨鎴栨墜宸ヨ緭鍏ョ増鏈彿瑙勫垯, (鐗堟鍙峰凡缁忛粯璁ら�夋嫨). + * * @return */ private void checkVersionInfo(OsBtmTypeDTO dto) throws PLException { //闇�瑕佹墜鍔ㄨ緭鍏ョ増鏈椂revisionRuleId涓嶈兘涓虹┖ if (dto.getRevLevel() == 1 || dto.getRevLevel() == 2) { if (Func.isBlank(dto.getRevisionRuleId()) && !dto.isInputRevisionFlag()) { - throw new PLException("500",new String[]{"鐗堟湰鍙疯鍒欎笉鑳戒负绌�"}); + throw new PLException("500", new String[]{"鐗堟湰鍙疯鍒欎笉鑳戒负绌�"}); } } } @@ -865,38 +914,40 @@ /** * 鐗堟湰鏈哄埗淇敼: 浠呭厑璁哥被鍨嬩粠"涓嶅彲淇"鍙樻洿鑷�"涓�绾х増鏈鐞嗘満鍒�","浜岀骇鐗堟湰绠$悊鏈哄埗杩涜璋冩暣"; "涓�绾х増鏈鐞嗘満鍒�"鍙樻洿鑷�"浜岀骇鐗堟湰绠$悊鏈哄埗"; * 涓ょ鏂瑰紡. + * * @param dbBizType 褰撳墠淇敼鍓嶇殑涓氬姟绫诲瀷锛堝簱涓瓨鍌ㄧ殑锛� - * @param dto 褰撳墠淇敼涓氬姟绫诲瀷 + * @param dto 褰撳墠淇敼涓氬姟绫诲瀷 * @throws PLException */ - private void checkRevLevel(BizType dbBizType,OsBtmTypeDTO dto) throws PLException { - if (dbBizType.revLevel == 1 && dto.getRevLevel()==0) { - throw new PLException("500",new String[]{"鐗堟湰鍙樻洿閿欒锛氫笉鑳戒粠涓�绾у彉涓轰笉鍙慨璁�"}); + private void checkRevLevel(BizType dbBizType, OsBtmTypeDTO dto) throws PLException { + if (dbBizType.revLevel == 1 && dto.getRevLevel() == 0) { + throw new PLException("500", new String[]{"鐗堟湰鍙樻洿閿欒锛氫笉鑳戒粠涓�绾у彉涓轰笉鍙慨璁�"}); } if (dbBizType.revLevel == 2 && (dto.getRevLevel() == 1 || dto.getRevLevel() == 0)) { - throw new PLException("500",new String[]{"鐗堟湰鍙樻洿閿欒锛氫笉鑳戒粠浜岀骇鍙樹负涓�绾ф垨涓嶅彲淇"}); + throw new PLException("500", new String[]{"鐗堟湰鍙樻洿閿欒锛氫笉鑳戒粠浜岀骇鍙樹负涓�绾ф垨涓嶅彲淇"}); } } /** * 淇敼涓氬姟绫诲瀷 + * * @param btmTypeDTO * @return * @throws PLException */ @Override public boolean updateBtmType(OsBtmTypeDTO btmTypeDTO) throws PLException { - VciBaseUtil.alertNotNull(btmTypeDTO,"淇敼鐨勪笟鍔$被鍨嬪璞�"); + VciBaseUtil.alertNotNull(btmTypeDTO, "淇敼鐨勪笟鍔$被鍨嬪璞�"); //妫�鏌ョ敓鍛藉懆鏈熸槸鍚﹀悎瑙� checkLifeCycle(btmTypeDTO); //鏌ヨ鏁版嵁搴撲腑鐨勪笟鍔$被鍨� String id = btmTypeDTO.getId(); BizType dbBizType = platformClientUtil.getBtmService().getBizTypeByName(id); - if(Func.isEmpty(dbBizType) || Func.isBlank(dbBizType.oid)){ - throw new PLException("500",new String[]{"褰撳墠淇敼鐨勪笟鍔$被鍨嬩笉瀛樺湪锛�"}); + if (Func.isEmpty(dbBizType) || Func.isBlank(dbBizType.oid)) { + throw new PLException("500", new String[]{"褰撳墠淇敼鐨勪笟鍔$被鍨嬩笉瀛樺湪锛�"}); } //妫�鏌ョ増鏈鍒欎慨鏀规槸鍚﹀悎瑙� - checkRevLevel(dbBizType,btmTypeDTO); + checkRevLevel(dbBizType, btmTypeDTO); checkVersionInfo(btmTypeDTO); //澶勭悊涓氬姟绫诲瀷涓嬬殑灞炴�� List<String> lastAttrList = new ArrayList<>(Arrays.asList(btmTypeDTO.getApNameArray().split(","))); @@ -904,14 +955,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])); @@ -920,7 +971,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)) { @@ -928,7 +981,7 @@ lastAttrList.add(abName); } } - } + }*/ } } } @@ -939,28 +992,29 @@ /** * 鍒犻櫎涓氬姟绫诲瀷 + * * @param btmTypeDTO * @return * @throws PLException */ @Override public boolean deleteBtmType(OsBtmTypeDTO btmTypeDTO) throws PLException { - VciBaseUtil.alertNotNull(btmTypeDTO,"鍒犻櫎鐨勪笟鍔$被鍨�"); + VciBaseUtil.alertNotNull(btmTypeDTO, "鍒犻櫎鐨勪笟鍔$被鍨�"); String btmName = btmTypeDTO.getId(); //鍙兘鍒犻櫎鍙跺瓙鑺傜偣 - if(Func.isNotBlank(btmTypeDTO.getfName())){ - throw new PLException("500",new String[]{"鍙兘鍒犻櫎鍙跺瓙鑺傜偣"}); + if (Func.isNotBlank(btmTypeDTO.getfName())) { + throw new PLException("500", new String[]{"鍙兘鍒犻櫎鍙跺瓙鑺傜偣"}); } // 涓氬姟绫诲瀷琚摼鎺ョ被鍨嬩娇鐢�, 涓嶈兘鍒犻櫎 List<String> usedNameList = linkTypeService.getUsedBtmLinkList(btmName); if (usedNameList != null && usedNameList.size() > 0) { - throw new PLException("500",new String[]{"璇ョ被鍨嬪凡琚摼鎺ョ被鍨嬩娇鐢紝绂佹鍒犻櫎"}); + throw new PLException("500", new String[]{"璇ョ被鍨嬪凡琚摼鎺ョ被鍨嬩娇鐢紝绂佹鍒犻櫎"}); } // 涓氬姟绫诲瀷宸茬粡鐢熸垚浜嗕笟鍔″璞�, 涓嶈兘鍒犻櫎 if (hasInstanceByBtmName(btmName)) { - throw new PLException("500",new String[]{"璇ョ被鍨嬪凡鏈夊疄渚嬶紝绂佹鍒犻櫎"}); + throw new PLException("500", new String[]{"璇ョ被鍨嬪凡鏈夊疄渚嬶紝绂佹鍒犻櫎"}); } - + BizType bizType = new BizType(); bizType.ts = btmTypeDTO.getTs().getTime(); bizType.oid = btmTypeDTO.getOid(); @@ -970,6 +1024,7 @@ /** * 涓�鑷存�ф鏌� + * * @return * @throws PLException */ @@ -977,9 +1032,9 @@ public BaseResult checkBtmConsistency() throws PLException { String[] result = platformClientUtil.getBtmService().btmConsistencyCheck(); Map<String, String> dbCheckMap = new HashMap<String, String>(); - for(int i = 0; i < result.length; i++){ + for (int i = 0; i < result.length; i++) { String info = result[i]; - if(info.equals("")){ + if (info.equals("")) { continue; } String[] infos = info.split("/DML"); @@ -987,9 +1042,9 @@ String dml = infos[1]; dbCheckMap.put(typeName, dml); } - if(dbCheckMap.size() < 1){ + if (dbCheckMap.size() < 1) { return BaseResult.successMsg("鏁版嵁搴撲腑鐨勮〃缁撴瀯涓庣被鍨嬩竴鑷�,鏃犻渶淇!!"); - }else{ + } else { //闇�瑕佷慨澶嶆椂灏遍渶瑕佺晫闈㈠敜璧峰璇濇杩涜澶勭悊 List<Map> list = new ArrayList<>(); list.add(dbCheckMap); @@ -1001,26 +1056,29 @@ /** * 涓�鑷存�ф鏌ヤ慨澶嶅姛鑳� + * * @param repairData * @return */ @Override public BaseResult executeRepair(String repairData) throws Exception { - Map<String, String> dbCheckMap = new ObjectMapper().readValue(repairData, new TypeReference<Map<String,String>>(){}); + Map<String, String> dbCheckMap = new ObjectMapper().readValue(repairData, new TypeReference<Map<String, String>>() { + }); List<String> list = this.getRepairDML(dbCheckMap); - if(list.size() < 1){ + if (list.size() < 1) { return BaseResult.success(); } try { String[] result = platformClientUtil.getBtmService().executeRepair(list.toArray(new String[0])); return BaseResult.success(result); - }catch (PLException e){ - return BaseResult.fail("涓氬姟绫诲瀷淇澶辫触锛屽師鍥狅細"+VciBaseUtil.getExceptionMessage(e)); + } catch (PLException e) { + return BaseResult.fail("涓氬姟绫诲瀷淇澶辫触锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e)); } } /** * 鍒涘缓瑙嗗浘 + * * @return * @throws PLException */ @@ -1031,6 +1089,7 @@ /** * 鍒犻櫎鏁版嵁鐣岄潰鐨勬煡璇� + * * @return 涓氬姟绫诲瀷锛岄摼鎺ョ被鍨� */ @Override @@ -1039,11 +1098,11 @@ List<String> allBtmName = this.getAllBtmName(); //鑾峰彇閾炬帴绫诲瀷鍚嶇О闆嗗悎 List<String> allLinkType = linkTypeService.getAllLtName(); - Map<String,List> map = new HashMap<>(); - map.put("btmType",allBtmName); - map.put("linkType",allLinkType); - map.put("table",tableList); - map.put("workFlow",workFlowTableList); + Map<String, List> map = new HashMap<>(); + map.put("btmType", allBtmName); + map.put("linkType", allLinkType); + map.put("table", tableList); + map.put("workFlow", workFlowTableList); List<Map> list = new ArrayList<>(); list.add(map); return BaseResult.dataList(list); @@ -1051,24 +1110,25 @@ /** * 鍒犻櫎鏁版嵁 - * @param btmNames 涓氬姟绫诲瀷鍚� + * + * @param btmNames 涓氬姟绫诲瀷鍚� * @param linkNames 閾炬帴绫诲瀷鍚� * @return * @throws PLException */ @Override - public List<Map> truncateTable(String[] btmNames,String[] linkNames) throws PLException { + public List<Map> truncateTable(String[] btmNames, String[] linkNames) throws PLException { List<Map> returnMapList = new ArrayList<>(); Map<String, List<String>> map = new HashMap<>(); - map.put("btmSuccess",new ArrayList<>()); - map.put("btmFail",new ArrayList<>()); - map.put("linkSuccess",new ArrayList<>()); - map.put("linkFail",new ArrayList<>()); - if(Func.isNotEmpty(btmNames)){ - for(int i = 0; i < btmNames.length; i++){ + map.put("btmSuccess", new ArrayList<>()); + map.put("btmFail", new ArrayList<>()); + map.put("linkSuccess", new ArrayList<>()); + map.put("linkFail", new ArrayList<>()); + if (Func.isNotEmpty(btmNames)) { + for (int i = 0; i < btmNames.length; i++) { String btName = btmNames[i]; try { - if(platformClientUtil.getBtmService().truncateTable(btName)){ + if (platformClientUtil.getBtmService().truncateTable(btName)) { //淇敼鎴愬姛璁板綍涓嬫垚鍔熺殑涓氬姟绫诲瀷鍚� map.get("btmSuccess").add(btName); } @@ -1080,12 +1140,12 @@ } } } - if(Func.isNotEmpty(linkNames)){ + if (Func.isNotEmpty(linkNames)) { //truncate閾炬帴绫诲瀷鏁版嵁 - for(int i = 0; i < linkNames.length; i++){ + for (int i = 0; i < linkNames.length; i++) { String ltName = linkNames[i]; try { - if(platformClientUtil.getLinkTypeService().truncateTable(ltName)){ + if (platformClientUtil.getLinkTypeService().truncateTable(ltName)) { map.get("linkSuccess").add(ltName); } } catch (PLException e1) { @@ -1101,6 +1161,7 @@ /** * 鍒犻櫎鍏ㄩ儴绫诲瀷 + * * @return * @throws PLException */ @@ -1108,7 +1169,7 @@ public BaseResult deleteAllType() throws PLException { DeleteType deleteType = new DeleteType(); //鑾峰彇寰呭垹闄ょ殑涓氬姟绫诲瀷 - List<BizType> delBtList = deleteType.getDelBtList(); + List<BizType> delBtList = deleteType.getDelBtList(); //鑾峰彇寰呭垹闄ょ殑閾炬帴绫诲瀷 List<LinkType> ltNames = deleteType.getDelLtList(); //鑾峰彇寰呭垹闄ょ殑灞炴�� @@ -1125,7 +1186,7 @@ platformClientUtil.getBtmService().deleteBtsAndTables(delBtList.toArray(new BizType[0])); } catch (PLException e) { e.printStackTrace(); - String exceptionMessage = "娓呴櫎涓氬姟绫诲瀷鍜屽搴旇〃鏍兼椂鍑虹幇寮傚父锛屽師鍥狅細"+VciBaseUtil.getExceptionMessage(e); + String exceptionMessage = "娓呴櫎涓氬姟绫诲瀷鍜屽搴旇〃鏍兼椂鍑虹幇寮傚父锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } @@ -1133,7 +1194,7 @@ ClientServiceProvider.getOMDService().getLinkTypeService().deleteLtsAndTables(ltNames.toArray(new LinkType[0])); } catch (PLException e) { e.printStackTrace(); - String exceptionMessage = "娓呴櫎閾炬帴绫诲瀷鏃跺嚭鐜板紓甯革紝鍘熷洜锛�"+VciBaseUtil.getExceptionMessage(e); + String exceptionMessage = "娓呴櫎閾炬帴绫诲瀷鏃跺嚭鐜板紓甯革紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } @@ -1142,7 +1203,7 @@ platformClientUtil.getAttributeService().deleteAttributeDefs(abs); } catch (PLException e) { e.printStackTrace(); - String exceptionMessage = "娓呴櫎灞炴�ф睜灞炴�ф椂鍑虹幇寮傚父锛屽師鍥狅細"+VciBaseUtil.getExceptionMessage(e); + String exceptionMessage = "娓呴櫎灞炴�ф睜灞炴�ф椂鍑虹幇寮傚父锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } @@ -1150,7 +1211,7 @@ platformClientUtil.getEnumService().deleteEnumTypes(delEnumList.toArray(new EnumType[0])); } catch (PLException e) { e.printStackTrace(); - String exceptionMessage = "娓呴櫎鏋氫妇绫诲瀷鏃跺嚭鐜板紓甯革紝鍘熷洜锛�"+VciBaseUtil.getExceptionMessage(e); + String exceptionMessage = "娓呴櫎鏋氫妇绫诲瀷鏃跺嚭鐜板紓甯革紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } @@ -1158,7 +1219,7 @@ platformClientUtil.getLifeCycleService().deleteLifeCycles(delLCList.toArray(new LifeCycle[0])); } catch (PLException e) { e.printStackTrace(); - String exceptionMessage = "娓呴櫎鐢熷懡鍛ㄦ湡鏃跺嚭鐜板紓甯革紝鍘熷洜锛�"+VciBaseUtil.getExceptionMessage(e); + String exceptionMessage = "娓呴櫎鐢熷懡鍛ㄦ湡鏃跺嚭鐜板紓甯革紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } @@ -1166,7 +1227,7 @@ platformClientUtil.getStatePoolService().deleteStatePools(delStateList.toArray(new StatePool[0])); } catch (PLException e) { e.printStackTrace(); - String exceptionMessage = "娓呴櫎鐘舵�佹睜鐘舵�佹椂鍑虹幇寮傚父锛屽師鍥狅細"+VciBaseUtil.getExceptionMessage(e); + String exceptionMessage = "娓呴櫎鐘舵�佹睜鐘舵�佹椂鍑虹幇寮傚父锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } @@ -1174,7 +1235,7 @@ platformClientUtil.getVersionService().deleteVersionRules(delVRList.toArray(new VersionRule[0])); } catch (PLException e) { e.printStackTrace(); - String exceptionMessage = "娓呴櫎鐗堟湰瑙勫垯鏃跺嚭鐜板紓甯革紝鍘熷洜锛�"+VciBaseUtil.getExceptionMessage(e); + String exceptionMessage = "娓呴櫎鐗堟湰瑙勫垯鏃跺嚭鐜板紓甯革紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } @@ -1183,12 +1244,13 @@ /** * 鏍规嵁涓氬姟绫诲瀷鍚嶇О鍜屽叾涓嬬殑灞炴�у悕绉拌幏鍙栧凡鏈夌殑绱㈠紩 + * * @param conditionMap 鏍规嵁鏌ヨ鏉′欢浼犲弬: typename:涓氬姟绫诲瀷鍚�; * @return */ @Override - public List<IndexObject> getIndexByCondition(Map<String,String> conditionMap) throws PLException { - if(Func.isEmpty(conditionMap)){ + public List<IndexObject> getIndexByCondition(Map<String, String> conditionMap) throws PLException { + if (Func.isEmpty(conditionMap)) { return new ArrayList<>(); } List<String> indexNameList = new ArrayList<String>(); @@ -1205,15 +1267,15 @@ //HashMap<String, String> indexmap = new HashMap<String, String>(); BusinessObject findBTMObjects[] = platformClientUtil.getQueryService().findBTMObjects(qtl.getId(), OQTool.qtTOXMl(qtl).asXML()); List<IndexObject> indexObjects = new ArrayList<>(); - for(int i = 0; i < findBTMObjects.length; i++) { + for (int i = 0; i < findBTMObjects.length; i++) { BusinessObject findBTMObject = findBTMObjects[i]; IndexObject indexObject = new IndexObject(); indexObject.setOid(findBTMObject.oid); indexObject.setDescription(findBTMObject.description); - indexObject.setCreateTime(Func.format(new Date(findBTMObject.createTime),DateUtil.PATTERN_DATE)); - indexObject.setIndexName(ObjectTool.getBOAttributeValue(findBTMObject,"indexname")); - indexObject.setTypeName(ObjectTool.getBOAttributeValue(findBTMObject,"typename")); - indexObject.setAttrNames(ObjectTool.getBOAttributeValue(findBTMObject,"attrname")); + indexObject.setCreateTime(Func.format(new Date(findBTMObject.createTime), DateUtil.PATTERN_DATE)); + indexObject.setIndexName(ObjectTool.getBOAttributeValue(findBTMObject, "indexname")); + indexObject.setTypeName(ObjectTool.getBOAttributeValue(findBTMObject, "typename")); + indexObject.setAttrNames(ObjectTool.getBOAttributeValue(findBTMObject, "attrname")); indexObjects.add(indexObject); } return indexObjects; @@ -1221,18 +1283,19 @@ /** * 鏍规嵁涓氬姟绫诲瀷鍚嶇О鍜屽叾涓嬬殑灞炴�у悕绉板垹闄ょ储寮� + * * @param btmName * @param indexName * @return */ @Override public boolean delIndex(String btmName, String indexName) throws PLException { - VciBaseUtil.alertNotNull(btmName,"涓氬姟绫诲瀷鍚�",indexName,"绱㈠紩鍚�"); + VciBaseUtil.alertNotNull(btmName, "涓氬姟绫诲瀷鍚�", indexName, "绱㈠紩鍚�"); Map<String, String> conditionMap = new HashMap<>(); - conditionMap.put("typename",btmName); - conditionMap.put("indexname",indexName); + conditionMap.put("typename", btmName); + conditionMap.put("indexname", indexName); List<IndexObject> bo2 = getIndexByCondition(conditionMap); - if(bo2!=null && bo2.size()>0) { + if (bo2 != null && bo2.size() > 0) { String[] indexAttr = {indexName}; boolean alterFlag = platformClientUtil.getBtmService().dropIndex(btmName, indexAttr); @@ -1243,7 +1306,7 @@ for (int i = 0; i < bo2.size(); i++) { String oid = bo2.get(i).getOid(); BusinessObject bo = platformClientUtil.getBOFactoryService().readBusinessObject(oid, "indexobject"); - platformClientUtil.getBOFactoryService().deleteBusinessObject(bo,1); + platformClientUtil.getBOFactoryService().deleteBusinessObject(bo, 1); } } return true; @@ -1251,12 +1314,13 @@ /** * 缁欎笟鍔$被鍨嬩笅鐨勬寚瀹氬睘鎬ф柊澧炵储寮� + * * @param indexObjectList * @return */ @Override public boolean addIndex(List<IndexObject> indexObjectList) throws PLException { - VciBaseUtil.alertNotNull(indexObjectList,"鏂板鐨勭储寮曚俊鎭�"); + VciBaseUtil.alertNotNull(indexObjectList, "鏂板鐨勭储寮曚俊鎭�"); String btmName = indexObjectList.get(0).getTypeName(); String indexNames = indexObjectList.stream().map(IndexObject::getIndexName).collect(Collectors.joining(",")); String[] oldindexAttr = {indexNames}; @@ -1264,23 +1328,23 @@ List<BusinessObject> boList = new ArrayList<>(); //鍏堟煡璇㈠綋鍓嶆坊鍔犵储寮曟槸鍚﹀凡缁忓瓨鍦紝濡傛灉瀛樺湪灏卞厛鍒犻櫎鍐嶆柊澧炲疄鐜版浛鎹㈡搷浣� Map<String, String> conditionMap = new HashMap<>(); - conditionMap.put("typename",btmName); + conditionMap.put("typename", btmName); //鍏堣繖鏍峰鐞嗭紝鍓嶇鐜板湪鍙仛浜嗗崟娆′繚瀛橈紝鎵�浠ヤ笉鐢╥n conditionMap.put("indexname", indexNames); List<IndexObject> indexObjects = getIndexByCondition(conditionMap); - if(indexObjects!=null && indexObjects.size()>0){ + if (indexObjects != null && indexObjects.size() > 0) { //绱㈠紩涓嶅瓨鍦ㄦ椂鍒犻櫎灏变細鎶ラ敊绱㈠紩涓嶅瓨鍦紝鎵�浠ヨ繖閲屾湁绱㈠紩鎵嶅幓鍒犻櫎 boolean b = platformClientUtil.getBtmService().dropIndex(btmName, oldindexAttr); - if(b){ - for(int i = 0; i < indexObjects.size(); i ++){ + if (b) { + for (int i = 0; i < indexObjects.size(); i++) { String oid = (String) indexObjects.get(i).getOid(); - bo = platformClientUtil.getBOFactoryService().readBusinessObject(oid,"indexobject"); - platformClientUtil.getBOFactoryService().deleteBusinessObject(bo,1); + bo = platformClientUtil.getBOFactoryService().readBusinessObject(oid, "indexobject"); + platformClientUtil.getBOFactoryService().deleteBusinessObject(bo, 1); } } } - for(int i = 0; i < indexObjectList.size(); i ++){ + for (int i = 0; i < indexObjectList.size(); i++) { IndexObject indexObject = indexObjectList.get(i); //bo = platformClientUtil.getBOFService().initBusinessObject("indexobject"); bo = boService.createCBOByBtmName("indexobject"); @@ -1290,11 +1354,11 @@ attributeValues.add(new AttributeValue("attrname", indexObject.getAttrNames())); bo.newAttrValList = attributeValues.toArray(new AttributeValue[attributeValues.size()]); bo.description = indexObject.getDescription(); - String[] indexAttr = {indexObject.getIndexName(),indexObject.getAttrNames()}; + String[] indexAttr = {indexObject.getIndexName(), indexObject.getAttrNames()}; //缁欐寚瀹氫笟鍔$被鍨嬬殑鎸囧畾灞炴�у垱寤虹储寮� boolean alterFlag = platformClientUtil.getBtmService().addIndex(btmName, indexAttr); //绱㈠紩鍒涘缓鎴愬姛涔嬪悗锛岄渶瑕佸瓨鍌ㄦ垚鍔熺储寮曞埌绱㈠紩琛ㄤ腑 - if(!alterFlag){ + if (!alterFlag) { return false; } boList.add(bo); @@ -1302,13 +1366,14 @@ //platformClientUtil.getBOFactoryService().createBusinessObject(bo,false,false); } //娣诲姞绱㈠紩淇℃伅鍒扮储寮曠殑涓氬姟琛ㄤ腑 - platformClientUtil.getBOFactoryService().batchCreateBusinessObject(boList.toArray(new BusinessObject[boList.size()]),false,false); + platformClientUtil.getBOFactoryService().batchCreateBusinessObject(boList.toArray(new BusinessObject[boList.size()]), false, false); return true; } /** * 瀵煎嚭涓氬姟绫诲瀷 * oid 涓氬姟绫诲瀷鍚嶇О + * * @return 鍒涘缓缁撴灉 */ @Override @@ -1319,7 +1384,7 @@ //璁剧疆鍒楀悕 List<String> columns = new ArrayList<>( Arrays.asList("绫诲瀷鍚嶇О", "鏍囩", "缁ф壙鑷�", "瀹炵幇绫�", "鎻忚堪", "鐗堟湰瑙勫垯", "鐗堟湰鍙疯鍒�", - "鏄惁鎵嬪伐杈撳叆","鍒嗛殧绗�", "鐗堟鍙疯鍒�","鐢熷懡鍛ㄦ湡", "澶囬�夌敓鍛藉懆鏈熷垪琛�","灞炴�у垪琛�") + "鏄惁鎵嬪伐杈撳叆", "鍒嗛殧绗�", "鐗堟鍙疯鍒�", "鐢熷懡鍛ㄦ湡", "澶囬�夌敓鍛藉懆鏈熷垪琛�", "灞炴�у垪琛�") ); try { new File(excelPath).createNewFile(); @@ -1327,25 +1392,25 @@ List<WriteExcelData> excelDataList = new ArrayList<>(); //璁剧疆鍒楀ご for (int index = 0; index < columns.size(); index++) { - excelDataList.add(new WriteExcelData(0,index, columns.get(index))); + excelDataList.add(new WriteExcelData(0, index, columns.get(index))); } HashSet<String> attributes = new HashSet<>(); int i = 0; for (String name : names.split(",")) { BizType bizType = platformClientUtil.getBtmService().getBizTypeByName(name); - excelDataList.add(new WriteExcelData(i+1,0, bizType.name)); - excelDataList.add(new WriteExcelData(i+1,1, bizType.label)); - excelDataList.add(new WriteExcelData(i+1,2, bizType.fName)); - excelDataList.add(new WriteExcelData(i+1,3, bizType.implClass)); - excelDataList.add(new WriteExcelData(i+1,4, bizType.description)); - excelDataList.add(new WriteExcelData(i+1,5, bizType.revLevel)); - excelDataList.add(new WriteExcelData(i+1,6, bizType.revRuleName)); - excelDataList.add(new WriteExcelData(i+1,7, bizType.revInput)); - excelDataList.add(new WriteExcelData(i+1,8, bizType.delimiter)); - excelDataList.add(new WriteExcelData(i+1,9, bizType.verRuleName)); - excelDataList.add(new WriteExcelData(i+1,10, bizType.lifeCycle)); - excelDataList.add(new WriteExcelData(i+1,11, String.join(",",bizType.lifeCycles))); - excelDataList.add(new WriteExcelData(i+1,12, String.join(",",bizType.apNameArray))); + excelDataList.add(new WriteExcelData(i + 1, 0, bizType.name)); + excelDataList.add(new WriteExcelData(i + 1, 1, bizType.label)); + excelDataList.add(new WriteExcelData(i + 1, 2, bizType.fName)); + excelDataList.add(new WriteExcelData(i + 1, 3, bizType.implClass)); + excelDataList.add(new WriteExcelData(i + 1, 4, bizType.description)); + excelDataList.add(new WriteExcelData(i + 1, 5, bizType.revLevel)); + excelDataList.add(new WriteExcelData(i + 1, 6, bizType.revRuleName)); + excelDataList.add(new WriteExcelData(i + 1, 7, bizType.revInput)); + excelDataList.add(new WriteExcelData(i + 1, 8, bizType.delimiter)); + excelDataList.add(new WriteExcelData(i + 1, 9, bizType.verRuleName)); + excelDataList.add(new WriteExcelData(i + 1, 10, bizType.lifeCycle)); + excelDataList.add(new WriteExcelData(i + 1, 11, String.join(",", bizType.lifeCycles))); + excelDataList.add(new WriteExcelData(i + 1, 12, String.join(",", bizType.apNameArray))); attributes.addAll(Arrays.asList(bizType.apNameArray)); i++; } @@ -1353,20 +1418,21 @@ ExcelUtil.writeDataToFile(excelPath, excelOption); //瀵煎嚭灞炴�� String attrPath = attributeService.exportAttributes("btmattr", - attributes.stream().collect(Collectors.joining(",")),true); + attributes.stream().collect(Collectors.joining(",")), true); //绉诲姩灞炴�у埌閾炬帴绫诲瀷鏂囦欢澶归噷闈㈠幓 - FileUtil.move(new File(attrPath), new File(defaultTempFolder),true); - FileUtil.del(attrPath.substring(0,attrPath.lastIndexOf("\\"))); - }catch (IOException e) { + FileUtil.move(new File(attrPath), new File(defaultTempFolder), true); + FileUtil.del(attrPath.substring(0, attrPath.lastIndexOf("\\"))); + } catch (IOException e) { throw new RuntimeException(e); } File zip = ZipUtil.zip(defaultTempFolder); FileUtil.del(defaultTempFolder + File.separator); - ControllerUtil.writeFileToResponse(response,zip.getAbsoluteFile()); + ControllerUtil.writeFileToResponse(response, zip.getAbsoluteFile()); } /** * 瀵煎叆涓氬姟绫诲瀷 + * * @param file 涓婁紶鐨勬枃浠� * @return */ @@ -1392,8 +1458,8 @@ } } //TODO锛氬鍏ュ睘鎬э紝浣嗘槸杩欎釜閫昏緫瀹為檯涓婂瓨鍦ㄤ竴浜涢棶棰橈紝瀵煎叆鐨勫睘鎬у彧鏄笟鍔$被鍨嬬殑灞炴�т笉搴旇鍘荤粰灞炴�ф睜瀵煎叆锛屽彲鑳芥槸鎯崇殑灞炴�т笉瀛樺湪鐨勫氨鏂板涓�娆� - BaseResult baseResult = attributeService.importAttributes(attrExcel,true); - if(!baseResult.isSuccess()){ + BaseResult baseResult = attributeService.importAttributes(attrExcel, true); + if (!baseResult.isSuccess()) { //鍒犻櫎涓婁紶鐨勬枃浠跺す FileUtil.del(defaultTempFolder + File.separator); return baseResult; @@ -1408,13 +1474,14 @@ return BaseResult.fail(FrameWorkLangCodeConstant.IMPORT_FAIL, new String[]{"娌℃湁瀵煎叆鐨勯摼鎺ユ枃浠躲�傚鍏ョ粓姝紒"}); } } - try{ + try { //1銆佽鍙杄xcel涓殑鏁版嵁锛岀粍鎴愬璞� ReadExcelOption excelOption = new ReadExcelOption(); - List<OsBtmTypePO> poList = ExcelUtil.readDataObjectFromExcel(btmExcel, OsBtmTypePO.class,excelOption,(value, po, fieldName)->{}); + List<OsBtmTypePO> poList = ExcelUtil.readDataObjectFromExcel(btmExcel, OsBtmTypePO.class, excelOption, (value, po, fieldName) -> { + }); //鍘婚櫎閮芥槸绌虹殑鎯呭喌 - if(CollectionUtils.isEmpty(poList)){ - return BaseResult.fail(ExcelLangCodeConstant.IMPORT_CONTENT_NULL,new String[]{}); + if (CollectionUtils.isEmpty(poList)) { + return BaseResult.fail(ExcelLangCodeConstant.IMPORT_CONTENT_NULL, new String[]{}); } //褰撳墠excel涓槸鍚﹂噸澶嶇敤鐨勫垽閲峂ap:锛坘ey锛氬垽閲嶅睘鎬э紝value锛氳鍙凤級 Map<String, String> excelReapeat = new HashMap<>(); @@ -1422,25 +1489,25 @@ //鍒ゆ柇蹇呭~灞炴�ф槸鍚︿负绌猴紝鐢ㄦ埛鏄惁宸插瓨鍦紝浠ュ強閮ㄩ棬鏄惁濉敊绛夋牎楠岄�昏緫 poList.stream().forEach(osBtmTypePO -> { - if(Func.isBlank(osBtmTypePO.getName())){//灞炴�у悕鍒ょ┖ - throw new VciBaseException("绗��"+osBtmTypePO.getRowIndex()+"銆戣锛宯ame"); - }else if(osBtmTypePO.getName().length() > maxLength){ - throw new VciBaseException("绗��"+osBtmTypePO.getRowIndex()+"銆戣锛屼笟鍔$被鍨嬪悕闀垮害涓嶈兘瓒呰繃" + maxLength); - }else if(!osBtmTypePO.getName().matches("^[A-Za-z]+$")){ - throw new VciBaseException("绗��"+osBtmTypePO.getRowIndex()+"銆戣锛屼笟鍔$被鍨嬪悕绉板彧鑳戒负鑻辨枃瀛楁瘝"); - }else if (osBtmTypePO.getName().length() > maxLength) { - throw new VciBaseException("绗��"+osBtmTypePO.getRowIndex()+"銆戣锛屼笟鍔$被鍨嬪悕闀垮害涓嶈兘瓒呰繃" + maxLength); - }else if(excelReapeat.containsKey(osBtmTypePO.getName())){//涓氬姟绫诲瀷鍚嶅湪琛ㄦ牸涓垽閲� - throw new VciBaseException("绗��"+excelReapeat.get(osBtmTypePO.getName())+"銆戣鍜岀銆�"+osBtmTypePO.getRowIndex()+"銆戣鏁版嵁锛屼笟鍔$被鍨嬪悕閲嶅"); - }else if (Func.isBlank(osBtmTypePO.getLifeCycle())) { - throw new VciBaseException("绗��"+osBtmTypePO.getRowIndex()+"銆戣锛岀敓鍛藉懆鏈熶笉鑳戒负绌�"); - }else if ("true".equalsIgnoreCase(osBtmTypePO.getRevInput()) && Func.isBlank(osBtmTypePO.getRevRuleName())) { - throw new VciBaseException("绗��"+osBtmTypePO.getRowIndex()+"銆戣锛岀増鏈彿瑙勫垯涓嶈兘涓虹┖"); + if (Func.isBlank(osBtmTypePO.getName())) {//灞炴�у悕鍒ょ┖ + throw new VciBaseException("绗��" + osBtmTypePO.getRowIndex() + "銆戣锛宯ame"); + } else if (osBtmTypePO.getName().length() > maxLength) { + throw new VciBaseException("绗��" + osBtmTypePO.getRowIndex() + "銆戣锛屼笟鍔$被鍨嬪悕闀垮害涓嶈兘瓒呰繃" + maxLength); + } else if (!osBtmTypePO.getName().matches("^[A-Za-z]+$")) { + throw new VciBaseException("绗��" + osBtmTypePO.getRowIndex() + "銆戣锛屼笟鍔$被鍨嬪悕绉板彧鑳戒负鑻辨枃瀛楁瘝"); + } else if (osBtmTypePO.getName().length() > maxLength) { + throw new VciBaseException("绗��" + osBtmTypePO.getRowIndex() + "銆戣锛屼笟鍔$被鍨嬪悕闀垮害涓嶈兘瓒呰繃" + maxLength); + } else if (excelReapeat.containsKey(osBtmTypePO.getName())) {//涓氬姟绫诲瀷鍚嶅湪琛ㄦ牸涓垽閲� + throw new VciBaseException("绗��" + excelReapeat.get(osBtmTypePO.getName()) + "銆戣鍜岀銆�" + osBtmTypePO.getRowIndex() + "銆戣鏁版嵁锛屼笟鍔$被鍨嬪悕閲嶅"); + } else if (Func.isBlank(osBtmTypePO.getLifeCycle())) { + throw new VciBaseException("绗��" + osBtmTypePO.getRowIndex() + "銆戣锛岀敓鍛藉懆鏈熶笉鑳戒负绌�"); + } else if ("true".equalsIgnoreCase(osBtmTypePO.getRevInput()) && Func.isBlank(osBtmTypePO.getRevRuleName())) { + throw new VciBaseException("绗��" + osBtmTypePO.getRowIndex() + "銆戣锛岀増鏈彿瑙勫垯涓嶈兘涓虹┖"); } try { BizType historyBtm = platformClientUtil.getBtmService().getBizTypeByName(osBtmTypePO.getName()); //宸叉湁姝ゆ暟鎹繘琛屽垹闄よ鐩� - if(historyBtm != null && !historyBtm.name.equals("")){ + if (historyBtm != null && !historyBtm.name.equals("")) { platformClientUtil.getBtmService().deleteBizType(historyBtm); } } catch (PLException e) { @@ -1448,7 +1515,7 @@ } //灞炴�у悕excel涓垽閲嶅鐞� - excelReapeat.put(osBtmTypePO.getName(),osBtmTypePO.getRowIndex()); + excelReapeat.put(osBtmTypePO.getName(), osBtmTypePO.getRowIndex()); BizType bizType = new BizType(); bizType.name = osBtmTypePO.getName(); bizType.label = osBtmTypePO.getLable(); @@ -1472,12 +1539,12 @@ throw new RuntimeException(e); } }); - }catch (Exception e){ - if(logger.isErrorEnabled()){ - logger.error("璇诲彇excel鍐呭鏃舵垨淇濆瓨涓氬姟绫诲瀷淇℃伅鏃跺嚭鐜颁簡閿欒锛屽叿浣撳師鍥狅細",VciBaseUtil.getExceptionMessage(e)); + } catch (Exception e) { + if (logger.isErrorEnabled()) { + logger.error("璇诲彇excel鍐呭鏃舵垨淇濆瓨涓氬姟绫诲瀷淇℃伅鏃跺嚭鐜颁簡閿欒锛屽叿浣撳師鍥狅細", VciBaseUtil.getExceptionMessage(e)); } e.printStackTrace(); - return BaseResult.fail(VciBaseUtil.getExceptionMessage(e),new String[]{},e); + return BaseResult.fail(VciBaseUtil.getExceptionMessage(e), new String[]{}, e); } //鍒犻櫎涓婁紶鐨勬枃浠跺す FileUtil.del(defaultTempFolder + File.separator); @@ -1486,12 +1553,13 @@ /** * 鑾峰彇闇�瑕佷慨澶嶇殑浼猻ql + * * @param dbCheckMap * @return */ private List<String> getRepairDML(Map<String, String> dbCheckMap) { List<String> list = new ArrayList<String>(); - for(Iterator<String> ite = dbCheckMap.keySet().iterator(); ite.hasNext();){ + for (Iterator<String> ite = dbCheckMap.keySet().iterator(); ite.hasNext(); ) { String type = ite.next(); String dml = dbCheckMap.get(type); list.add(type + "/DML" + dml); @@ -1509,24 +1577,24 @@ //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(); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); - throw new PLException("500",new String[]{exceptionMessage}); + throw new PLException("500", new String[]{exceptionMessage}); } return flag; } - private List<Tree> getChildren(List<OsBtmTypeVO> osBtmTypeVOS,OsBtmTypeVO parentBIzType){ - List<Tree> trees= new ArrayList<>(); + private List<Tree> getChildren(List<OsBtmTypeVO> osBtmTypeVOS, OsBtmTypeVO parentBIzType) { + List<Tree> trees = new ArrayList<>(); for (OsBtmTypeVO bizType : osBtmTypeVOS) { - if(StringUtils.isBlank(bizType.getfName())){ + if (StringUtils.isBlank(bizType.getfName())) { continue; } - if(bizType.getfName().equals(parentBIzType.getId())){ + if (bizType.getfName().equals(parentBIzType.getId())) { Tree tree = new Tree(); tree.setOid(bizType.getOid()); tree.setParentName(parentBIzType.getfName()); @@ -1534,7 +1602,7 @@ tree.setLeaf(true); tree.setText(bizType.getDescription()); tree.setAttributes(WebUtil.objectToMapString(bizType)); - tree.setChildren(getChildren(osBtmTypeVOS,bizType)); + tree.setChildren(getChildren(osBtmTypeVOS, bizType)); trees.add(tree); } } @@ -1544,12 +1612,12 @@ /** * 灏嗕笟鍔$被鍨嬫嫾鎺son * - * @param nodeVOList 瀵硅薄鑺傜偣鐨勪俊鎭� - * @param relationVOList 鍏崇郴鐨勪俊鎭� - * @param btmTypeVO 涓氬姟绫诲瀷鏄剧ず瀵硅薄 - * @param hasRefer 鍖呭惈鍙傜収 + * @param nodeVOList 瀵硅薄鑺傜偣鐨勪俊鎭� + * @param relationVOList 鍏崇郴鐨勪俊鎭� + * @param btmTypeVO 涓氬姟绫诲瀷鏄剧ず瀵硅薄 + * @param hasRefer 鍖呭惈鍙傜収 */ - private void splicingBtmType2Json(List<OsERNodeVO> nodeVOList, List<OsERRelationVO> relationVOList, OsBtmTypeVO btmTypeVO,boolean hasRefer) { + private void splicingBtmType2Json(List<OsERNodeVO> nodeVOList, List<OsERRelationVO> relationVOList, OsBtmTypeVO btmTypeVO, boolean hasRefer) { OsERNodeVO nodeVO = new OsERNodeVO(); nodeVO.setKey(btmTypeVO.getId() + " " + btmTypeVO.getName()); List<OsERNodePropertyVO> itemList = new ArrayList<>(); @@ -1557,15 +1625,15 @@ OsERNodePropertyVO nodePropertyVO = new OsERNodePropertyVO(); nodePropertyVO.setName(attribute.getId() + " " + attribute.getName()); nodePropertyVO.setKey("oid".equals(attribute.getId().toLowerCase())); - if(StringUtils.isNotBlank(attribute.getReferBtmTypeId())){ + if (StringUtils.isNotBlank(attribute.getReferBtmTypeId())) { //鍙傜収鐨勫睘鎬э紝璁剧疆涓洪粍鑹� nodePropertyVO.setColor("#FEDD32FF"); - }else{ + } else { nodePropertyVO.setColor("#000"); } itemList.add(nodePropertyVO); //鍒ゆ柇鍙傜収 - if(hasRefer) { + if (hasRefer) { selectReferenceBtmType(attribute, btmTypeVO, nodeVOList, relationVOList); } }); @@ -1576,9 +1644,9 @@ /** * 鍒ゆ柇涓氬姟绫诲瀷鐨勫睘鎬ф槸涓嶆槸鍙傜収绫诲瀷锛屽苟灏嗗弬鐓ф坊鍔犲埌ER鍥句腑 * - * @param attribute 涓氬姟绫诲瀷灞炴�� - * @param nodeVOList 鑺傜偣淇℃伅 - * @param btmTypeVO 涓氬姟绫诲瀷 + * @param attribute 涓氬姟绫诲瀷灞炴�� + * @param nodeVOList 鑺傜偣淇℃伅 + * @param btmTypeVO 涓氬姟绫诲瀷 * @param relationVOList 鍏崇郴淇℃伅 */ private void selectReferenceBtmType(OsBtmTypeAttributeVO attribute, OsBtmTypeVO btmTypeVO, @@ -1592,14 +1660,14 @@ nodeVO.setKey(referenceBtmType.getId() + " " + referenceBtmType.getName()); List<OsERNodePropertyVO> items = new ArrayList<>(); - if(referenceBtmType.getId().equalsIgnoreCase(btmTypeVO.getId())){ + if (referenceBtmType.getId().equalsIgnoreCase(btmTypeVO.getId())) { //鍙傜収鑷繁鐨勫唴瀹� OsERRelationVO relationVO = new OsERRelationVO(); relationVO.setTo(referenceBtmType.getId() + " " + referenceBtmType.getName()); relationVO.setFrom(btmTypeVO.getId() + " " + btmTypeVO.getName()); relationVO.setToText("鑷弬鐓�"); relationVOList.add(relationVO); - }else { + } else { referenceBtmAttributes.forEach(attr -> { OsERNodePropertyVO nodePropertyVO = new OsERNodePropertyVO(); nodePropertyVO.setName(attr.getId() + " " + attr.getName()); @@ -1622,23 +1690,23 @@ /** * 鍔犺浇涓氬姟绫诲瀷鎵�鍏宠仈鐨勯摼鎺ョ被鍨� * - * @param nodeVOList 鑺傜偣淇℃伅 + * @param nodeVOList 鑺傜偣淇℃伅 * @param relationVOList 鍏崇郴鐨勪俊鎭� - * @param btmTypeVO 涓氬姟绫诲瀷 + * @param btmTypeVO 涓氬姟绫诲瀷 */ private void loadAllLinkTypeByBtmType(List<OsERNodeVO> nodeVOList, List<OsERRelationVO> relationVOList, OsBtmTypeVO btmTypeVO) { Map<String, OsLinkTypeVO> linkTypeVOMap = linkTypeService.selectAllLinkMap(); Collection<OsLinkTypeVO> linkTypeVOS = linkTypeVOMap.values(); Set<OsLinkTypeVO> fromLinkTypeVOList = linkTypeVOS.stream().filter(link -> - Arrays.stream(link.getFromBtmType().split(",")).anyMatch(s->s.equalsIgnoreCase(btmTypeVO.getId())) + Arrays.stream(link.getFromBtmType().split(",")).anyMatch(s -> s.equalsIgnoreCase(btmTypeVO.getId())) ).collect(Collectors.toSet()); Set<OsLinkTypeVO> toLinkTypeList = linkTypeVOS.stream().filter(link -> - Arrays.stream(link.getToBtmType().split(",")).anyMatch(s->s.equalsIgnoreCase(btmTypeVO.getId()))).collect(Collectors.toSet()); + Arrays.stream(link.getToBtmType().split(",")).anyMatch(s -> s.equalsIgnoreCase(btmTypeVO.getId()))).collect(Collectors.toSet()); List<OsLinkTypeVO> linkTypeVOList = new ArrayList<>(); linkTypeVOList.addAll(fromLinkTypeVOList); linkTypeVOList.addAll(toLinkTypeList); if (!CollectionUtils.isEmpty(linkTypeVOList)) { - splicingLinkType2Json(nodeVOList, relationVOList,linkTypeVOList,btmTypeVO,false); + splicingLinkType2Json(nodeVOList, relationVOList, linkTypeVOList, btmTypeVO, false); } } @@ -1646,31 +1714,31 @@ /** * 灏嗛摼鎺ョ被鍨嬫嫾鎺ユ垚json * - * @param nodeVOList 鑺傜偣淇℃伅 - * @param relationVOList 鍏崇郴淇℃伅 - * @param linkTypeVOs 閾炬帴绫诲瀷 - * @param btmTypeVO 涓氬姟绫诲瀷鐨勬樉绀哄璞� - * @param used 鏄惁涓鸿浣跨敤 + * @param nodeVOList 鑺傜偣淇℃伅 + * @param relationVOList 鍏崇郴淇℃伅 + * @param linkTypeVOs 閾炬帴绫诲瀷 + * @param btmTypeVO 涓氬姟绫诲瀷鐨勬樉绀哄璞� + * @param used 鏄惁涓鸿浣跨敤 */ private void splicingLinkType2Json(List<OsERNodeVO> nodeVOList, List<OsERRelationVO> relationVOList, - List<OsLinkTypeVO> linkTypeVOs,OsBtmTypeVO btmTypeVO,boolean used) { + List<OsLinkTypeVO> linkTypeVOs, OsBtmTypeVO btmTypeVO, boolean used) { linkTypeVOs.forEach(link -> { List<OsLinkTypeAttributeVO> attributeList = link.getAttributes(); - OsERNodeVO nodeVO= new OsERNodeVO(); + OsERNodeVO nodeVO = new OsERNodeVO(); nodeVO.setKey(link.getId() + " " + link.getName()); List<OsERNodePropertyVO> items = new ArrayList<>(); attributeList.forEach(attr -> { OsERNodePropertyVO nodePropertyVO = new OsERNodePropertyVO(); nodePropertyVO.setName(attr.getId() + " " + attr.getName()); nodePropertyVO.setKey("oid".equals(attr.getId().toLowerCase())); - if(StringUtils.isNotBlank(attr.getReferBtmTypeId())) { + if (StringUtils.isNotBlank(attr.getReferBtmTypeId())) { nodePropertyVO.setColor("#FEDD32FF"); - }else { + } else { nodePropertyVO.setColor("#1c446f"); } items.add(nodePropertyVO); //鍒ゆ柇鍙傜収 - if(!used) { + if (!used) { selectReferenceLinkType(attr, link, nodeVOList, relationVOList); } }); @@ -1682,26 +1750,26 @@ nodeVOList.add(nodeVO); - if(used){ + if (used) { relationVO.setText("琚紩鐢�"); } //濡傛灉褰撳墠鐨刦rom绔紝閭d箞灏辨樉绀簍o绔殑 //濡傛灉褰撳墠鐨勬槸to绔殑锛岄偅涔堝氨鏄剧ずfrom绔殑鍐呭 - if(Arrays.stream(link.getFromBtmType().split(",")).anyMatch(s->s.equalsIgnoreCase(btmTypeVO.getId()))){ + if (Arrays.stream(link.getFromBtmType().split(",")).anyMatch(s -> s.equalsIgnoreCase(btmTypeVO.getId()))) { //杩欎釜鏄痜rom绔� - if(!used) { - relationVO.setToText("from绔�"); - } + if (!used) { + relationVO.setToText("from绔�"); + } //鎵捐繖涓摼鎺ョ被鍨嬬殑to绔殑涓氬姟绫诲瀷 - link.getToBtmTypeVOS().stream().forEach(toBtm->{ - splicingBtmType2JsonForLink(nodeVOList,relationVOList,link,toBtm,true); - }); - }else{ - if(!used) { + link.getToBtmTypeVOS().stream().forEach(toBtm -> { + splicingBtmType2JsonForLink(nodeVOList, relationVOList, link, toBtm, true); + }); + } else { + if (!used) { relationVO.setToText("to绔�"); } - link.getFromBtmTypeVOS().stream().forEach(fromBtm->{ - splicingBtmType2JsonForLink(nodeVOList,relationVOList,link,fromBtm,false); + link.getFromBtmTypeVOS().stream().forEach(fromBtm -> { + splicingBtmType2JsonForLink(nodeVOList, relationVOList, link, fromBtm, false); }); } relationVOList.add(relationVO); @@ -1710,11 +1778,12 @@ /** * 閾炬帴绫诲瀷鍏抽敭鐨勪笟鍔$被鍨� - * @param nodeVOList 瀵硅薄鍒楄〃 + * + * @param nodeVOList 瀵硅薄鍒楄〃 * @param relationVOList 鍏宠仈鍏崇郴鍒楄〃 - * @param link 閾炬帴绫诲瀷 - * @param btmTypeVO 涓氬姟绫诲瀷 - * @param to 鏄惁涓簍o绔� + * @param link 閾炬帴绫诲瀷 + * @param btmTypeVO 涓氬姟绫诲瀷 + * @param to 鏄惁涓簍o绔� */ private void splicingBtmType2JsonForLink(List<OsERNodeVO> nodeVOList, List<OsERRelationVO> relationVOList, OsLinkTypeVO link, OsBtmTypeVO btmTypeVO, boolean to) { OsERNodeVO nodeVO = new OsERNodeVO(); @@ -1732,7 +1801,7 @@ OsERRelationVO relationVO = new OsERRelationVO(); relationVO.setFrom(link.getId() + " " + link.getName()); relationVO.setTo(btmTypeVO.getId() + " " + btmTypeVO.getName()); - relationVO.setToText(to?"to绔�":"from绔�"); + relationVO.setToText(to ? "to绔�" : "from绔�"); relationVOList.add(relationVO); nodeVOList.add(nodeVO); } @@ -1740,12 +1809,12 @@ /** * 鍒ゆ柇閾炬帴绫诲瀷鐨勫睘鎬ф槸涓嶆槸鍙傜収绫诲瀷锛屽苟灏嗗弬鐓ф坊鍔犲埌ER鍥句腑 * - * @param attr 閾炬帴绫诲瀷鐨勫睘鎬� - * @param linkTypeVO 閾炬帴绫诲瀷鐨勫唴瀹� - * @param nodeVOList 鑺傜偣瀵硅薄 + * @param attr 閾炬帴绫诲瀷鐨勫睘鎬� + * @param linkTypeVO 閾炬帴绫诲瀷鐨勫唴瀹� + * @param nodeVOList 鑺傜偣瀵硅薄 * @param relationVOList 鍏崇郴瀵硅薄 */ - private void selectReferenceLinkType(OsLinkTypeAttributeVO attr, OsLinkTypeVO linkTypeVO,List<OsERNodeVO> nodeVOList, List<OsERRelationVO> relationVOList) { + private void selectReferenceLinkType(OsLinkTypeAttributeVO attr, OsLinkTypeVO linkTypeVO, List<OsERNodeVO> nodeVOList, List<OsERRelationVO> relationVOList) { if (StringUtils.isNotBlank(attr.getReferBtmTypeId())) { //鏄弬鐓х被鍨嬬殑 OsBtmTypeVO referenceBtmType = getBtmById(attr.getReferBtmTypeId()); @@ -1775,7 +1844,7 @@ /** * 灏佽鍒犻櫎鍏ㄩ儴绫诲瀷鐩稿叧鐨勬煡璇㈡柟娉曠殑鍐呴儴绫� */ - private class DeleteType{ + private class DeleteType { private List<String> exceptBts, exceptAbs, exceptEnums, exceptRev, exceptLCs, exceptStates; @@ -1786,20 +1855,21 @@ /** * 鑾峰彇闇�瑕佸垹闄ょ殑涓氬姟绫诲瀷 + * * @return */ public List<BizType> getDelBtList() throws PLException { List<BizType> list = new ArrayList<>(); BizType[] bts = platformClientUtil.getBtmService().getBizTypes(""); - for(BizType bt : bts){ + for (BizType bt : bts) { boolean exceptFlag = false; - for(String except : exceptBts){ - if(except.equalsIgnoreCase(bt.name)){ + for (String except : exceptBts) { + if (except.equalsIgnoreCase(bt.name)) { exceptFlag = true; break; } } - if(!exceptFlag){ + if (!exceptFlag) { list.add(bt); } } @@ -1808,6 +1878,7 @@ /** * 鑾峰彇闇�瑕佸垹闄ょ殑閾炬帴绫诲瀷 + * * @return */ public List<LinkType> getDelLtList() throws PLException { @@ -1817,6 +1888,7 @@ /** * 鑾峰彇寰呭垹闄ょ殑灞炴�� + * * @return */ public List<String> getDelAbList() { @@ -1829,26 +1901,26 @@ } //渚濇嵁淇濈暀鐨勭被鍨嬫瀯閫犱繚鐣欑殑灞炴�� exceptAbs = new ArrayList<String>(); - for(String except : exceptBts){ + for (String except : exceptBts) { String[] btmApNameArray = null; try { btmApNameArray = platformClientUtil.getBtmService().getAttributeNames(except); } catch (PLException e) { e.printStackTrace(); } - if(btmApNameArray != null){ - for(String abName : btmApNameArray){ - if(!exceptAbs.contains(abName)){ + if (btmApNameArray != null) { + for (String abName : btmApNameArray) { + if (!exceptAbs.contains(abName)) { exceptAbs.add(abName); } } } } //鏋勯�犲彲鍒犻櫎鐨勫睘鎬� - if(attribItems != null){ - for(AttributeDef ab : attribItems){ + if (attribItems != null) { + for (AttributeDef ab : attribItems) { String abName = ab.name; - if(!exceptAbs.contains(abName)){ + if (!exceptAbs.contains(abName)) { list.add(abName); } } @@ -1858,6 +1930,7 @@ /** * 鑾峰彇寰呭垹闄ょ殑鏋氫妇绫诲瀷 + * * @return */ public List<EnumType> getDelEnumList() { @@ -1867,15 +1940,15 @@ exceptEnums = new ArrayList<String>(); EnumType[] emItems = ClientServiceProvider.getOMDService().getEnumService().getEnumTypes("", 0, 0); AttributeDef[] abs = platformClientUtil.getAttributeService().getAttributeDefsByNames(exceptAbs.toArray(new String[0])); - for(AttributeDef ab : abs){ + for (AttributeDef ab : abs) { OtherInfo otherInfo = OtherInfo.getOtherInfoByText(ab.other); String enumName = otherInfo.getEnumName(); - if(enumName != null && !enumName.equals("") && !exceptEnums.contains(enumName)){ + if (enumName != null && !enumName.equals("") && !exceptEnums.contains(enumName)) { exceptEnums.add(enumName); } } - for(EnumType em : emItems){ - if(!exceptEnums.contains(em.name)){ + for (EnumType em : emItems) { + if (!exceptEnums.contains(em.name)) { list.add(em); } } @@ -1887,17 +1960,18 @@ /** * 鑾峰彇寰呭垹闄ょ殑鐢熷懡鍛ㄦ湡 + * * @return */ - public List<LifeCycle> getDelLCList(){ + public List<LifeCycle> getDelLCList() { List<LifeCycle> list = new ArrayList<LifeCycle>(); exceptLCs = new ArrayList<String>(); exceptStates = new ArrayList<String>(); - for(String btName : exceptBts){ + for (String btName : exceptBts) { try { BizType bt = platformClientUtil.getBtmService().getBizTypeByName(btName); String lcName = bt.lifeCycle; - if(lcName != null && !lcName.equals("") && !exceptLCs.contains(lcName)){ + if (lcName != null && !lcName.equals("") && !exceptLCs.contains(lcName)) { exceptLCs.add(lcName); } } catch (PLException e) { @@ -1911,15 +1985,15 @@ } catch (PLException e) { e.printStackTrace(); } - if(lcs != null){ - for(LifeCycle lc : lcs){ + if (lcs != null) { + for (LifeCycle lc : lcs) { String name = lc.name; - if(name != null && !name.equals("") && !exceptLCs.contains(name)){ + if (name != null && !name.equals("") && !exceptLCs.contains(name)) { list.add(lc); - }else{ + } else { //淇濈暀鐨勭姸鎬佹睜 Bound[] bounds = lc.bounds; - for(Bound bound : bounds){ + for (Bound bound : bounds) { String sName = bound.name; exceptStates.add(sName); } @@ -1931,9 +2005,10 @@ /** * 鑾峰彇寰呭垹闄ょ殑鐘舵�� + * * @return */ - public List<StatePool> getDelSPList(){ + public List<StatePool> getDelSPList() { List<StatePool> list = new ArrayList<StatePool>(); StatePool[] states = null; try { @@ -1941,10 +2016,10 @@ } catch (PLException e) { e.printStackTrace(); } - if(states != null){ - for(StatePool state : states){ + if (states != null) { + for (StatePool state : states) { String name = state.name; - if(name != null && !name.equals("") && !exceptStates.contains(name)){ + if (name != null && !name.equals("") && !exceptStates.contains(name)) { list.add(state); } } @@ -1954,16 +2029,17 @@ /** * 鑾峰彇寰呭垹闄ょ殑鐗堟湰瑙勫垯 + * * @return */ - public List<VersionRule> getDelVRList(){ + public List<VersionRule> getDelVRList() { List<VersionRule> list = new ArrayList<VersionRule>(); exceptRev = new ArrayList<String>(); - for(String btName : exceptBts){ + for (String btName : exceptBts) { try { BizType bt = platformClientUtil.getBtmService().getBizTypeByName(btName); String revName = bt.revRuleName; - if(revName != null && !revName.equals("") && !exceptRev.contains(revName)){ + if (revName != null && !revName.equals("") && !exceptRev.contains(revName)) { exceptRev.add(revName); } } catch (PLException e) { @@ -1976,10 +2052,10 @@ } catch (PLException e) { e.printStackTrace(); } - if(revs != null){ - for(VersionRule rev : revs){ + if (revs != null) { + for (VersionRule rev : revs) { String name = rev.name; - if(name != null && !name.equals("") && !exceptRev.contains(name)){ + if (name != null && !name.equals("") && !exceptRev.contains(name)) { list.add(rev); } } -- Gitblit v1.9.3