| | |
| | | package com.vci.web.service.impl; |
| | | |
| | | import com.vci.client.common.providers.ClientServiceProvider; |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.omd.atm.AttributeDef; |
| | | import com.vci.corba.omd.btm.BizType; |
| | | import com.vci.corba.omd.ltm.LinkType; |
| | | import com.vci.pagemodel.*; |
| | | import com.vci.starter.web.annotation.log.VciUnLog; |
| | | import com.vci.starter.web.enumpck.BooleanEnum; |
| | | import com.vci.starter.web.exception.VciBaseException; |
| | | import com.vci.starter.web.pagemodel.BaseResult; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | | import com.vci.starter.web.pagemodel.PageHelper; |
| | | import com.vci.starter.web.pagemodel.Tree; |
| | | import com.vci.starter.web.util.BeanUtil; |
| | | import com.vci.starter.web.util.VciBaseUtil; |
| | | import com.vci.starter.web.util.VciDateUtil; |
| | | import com.vci.web.pageModel.*; |
| | | import com.vci.web.service.*; |
| | | import com.vci.web.util.ConcurrentDateFormat; |
| | | import com.vci.web.util.Func; |
| | | import com.vci.web.util.PlatformClientUtil; |
| | | import com.vci.web.util.WebUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | /** |
| | | * 平台的调用工具类 |
| | | */ |
| | | //@Autowired |
| | | //private PlatformClientUtil platformClientUtil; |
| | | @Autowired |
| | | private PlatformClientUtil platformClientUtil; |
| | | |
| | | /** |
| | | * 属性的服务 |
| | |
| | | @VciUnLog |
| | | public List<OsBtmTypeVO> selectAllBtm() { |
| | | try { |
| | | // return btmDO2VOs(Arrays.stream(platformClientUtil.getBtmService().getAllBtmItem("")).collect(Collectors.toList())); |
| | | // return btmDO2VOs(Arrays.stream(ServiceProvider.getOMDService().getBTMService().getAllBtmItem("")).collect(Collectors.toList())); |
| | | return btmDO2VOs(Arrays.stream(ClientServiceProvider.getOMDService().getBTMService().getBizTypes("")).collect(Collectors.toList())); |
| | | return btmDO2VOs(Arrays.stream(platformClientUtil.getBtmService().getBizTypes("")).collect(Collectors.toList())); |
| | | } catch (PLException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * 修改业务类型中对应属性名的属性 |
| | | * @param apName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | @Override |
| | | public boolean alterAp(String apName) throws PLException { |
| | | String[] btmNames = null; |
| | | List<String> btmNameList = new ArrayList<String>(); |
| | | AttributeDef abItem = null; |
| | | try { |
| | | abItem = platformClientUtil.getAttributeService().getAttributeDefByName(apName); |
| | | } catch (PLException e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | if(abItem == null || abItem.equals("")){ |
| | | return true; |
| | | } |
| | | try { |
| | | btmNames = platformClientUtil.getBtmService().getBTNamesByAPName(apName); |
| | | } catch (PLException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | if(btmNames == null || btmNames.length <= 0){ |
| | | return true; |
| | | } |
| | | |
| | | btmNameList = Arrays.asList(btmNames); |
| | | 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(); |
| | | logger.error(erreMsg); |
| | | throw new PLException("500",new String[]{erreMsg}); |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * 判断该属性是否已经在业务类型中产生了数据 |
| | | * @param abName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | @Override |
| | | public boolean hasInstance(String abName) throws PLException { |
| | | String[] btmNames = platformClientUtil.getBtmService().getBTNamesByAPName(abName); |
| | | if(btmNames == null || btmNames.length == 0){ |
| | | return false; |
| | | } |
| | | for(int i = 0; i < btmNames.length; i++){ |
| | | String btmName = btmNames[i]; |
| | | boolean flag; |
| | | flag = platformClientUtil.getBtmService().hasData(btmName); |
| | | if(flag){ |
| | | return flag; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * 获取名字以filter开始的业务类型(for 查询),主要用于属性池的业务类型选择对话框 |
| | | * 获取全部业务类型,传参filter为"" |
| | | * @param btmName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | @Override |
| | | public BizType[] getBizTypes(String btmName) throws PLException { |
| | | if(null == btmName){ |
| | | btmName = ""; |
| | | } |
| | | return platformClientUtil.getBtmService().getBizTypes(btmName); |
| | | } |
| | | |
| | | /** |
| | | * 参照业务类型 |
| | | * |
| | | * @param conditionMap 查询条件 |
| | |
| | | ervo.setTabRelViewList(relationVOList); |
| | | return ervo; |
| | | } |
| | | /** |
| | | * 获取所有业务类型(树形结构) |
| | | * @return 查询结果 |
| | | */ |
| | | @Override |
| | | public BaseResult<List<Tree>> getTreeBizTypes() throws PLException { |
| | | List<Tree> rootTreeList = new ArrayList<>(); |
| | | BizType[] bizTypes = getBizTypes(""); |
| | | BizType btItem = null; |
| | | for(int i = 0; i < bizTypes.length; i++){ |
| | | btItem = bizTypes[i]; |
| | | if(btItem.fName.equals("")){ |
| | | Tree tree = new Tree(); |
| | | tree.setOid(btItem.oid); |
| | | tree.setParentName(null); |
| | | tree.setParentId(null); |
| | | tree.setLeaf(true); |
| | | tree.setText(btItem.description); |
| | | tree.setAttributes(WebUtil.objectToMapString(btItem)); |
| | | tree.setChildren(getChildren(bizTypes,btItem)); |
| | | rootTreeList.add(tree); |
| | | } |
| | | } |
| | | |
| | | return BaseResult.success(rootTreeList); |
| | | } |
| | | |
| | | private List<Tree> getChildren(BizType[] bizTypes,BizType parentBIzType){ |
| | | List<Tree> trees= new ArrayList<>(); |
| | | for (BizType bizType : bizTypes) { |
| | | if(StringUtils.isBlank(bizType.fName)){ |
| | | continue; |
| | | } |
| | | if(bizType.fName.equals(parentBIzType.name)){ |
| | | Tree tree = new Tree(); |
| | | tree.setOid(bizType.oid); |
| | | tree.setParentName(parentBIzType.fName); |
| | | tree.setParentId(parentBIzType.oid); |
| | | tree.setLeaf(true); |
| | | tree.setText(bizType.description); |
| | | tree.setAttributes(WebUtil.objectToMapString(bizType)); |
| | | tree.setChildren(getChildren(bizTypes,bizType)); |
| | | trees.add(tree); |
| | | } |
| | | } |
| | | return trees; |
| | | } |
| | | |
| | | /** |
| | | * 将业务类型拼接json |