| | |
| | | import com.vci.client.mw.ClientSessionUtility; |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.omd.atm.AttributeDef; |
| | | import com.vci.corba.omd.ltm.LinkType; |
| | | import com.vci.corba.omd.vrm.VersionRule; |
| | | import com.vci.dto.OsAttributeDTO; |
| | | import com.vci.dto.OsEnumDTO; |
| | | import com.vci.dto.OsEnumItemDTO; |
| | | import com.vci.omd.dataType.VTDataType; |
| | | import com.vci.pagemodel.OsEnumItemVO; |
| | | import com.vci.pagemodel.OsEnumVO; |
| | | import com.vci.pagemodel.OsUsedAttributeVO; |
| | | import com.vci.omd.objects.OtherInfo; |
| | | import com.vci.pagemodel.*; |
| | | import com.vci.po.OsAttributePO; |
| | | import com.vci.po.OsEnumPO; |
| | | import com.vci.starter.poi.bo.ReadExcelOption; |
| | |
| | | import com.vci.starter.web.annotation.log.VciUnLog; |
| | | import com.vci.starter.web.enumpck.VciFieldTypeEnum; |
| | | import com.vci.starter.web.exception.VciBaseException; |
| | | import com.vci.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.starter.web.pagemodel.BaseResult; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | | import com.vci.starter.web.pagemodel.*; |
| | | import com.vci.starter.web.util.*; |
| | | import com.vci.model.OsAttributeDO; |
| | | import com.vci.pagemodel.OsAttributeVO; |
| | | import com.vci.web.enumpck.PortalVITypeFlag; |
| | | import com.vci.web.properties.UsedNames; |
| | | import com.vci.web.service.OsAttributeServiceI; |
| | | import com.vci.web.service.OsBaseServiceI; |
| | |
| | | * 默认属性的映射,key是小写 |
| | | */ |
| | | private static Map<String,OsAttributeVO> defaultAttributeVOMap = new HashMap<>(); |
| | | |
| | | @Override |
| | | public List<Tree> getTreeAttributesByBtmName(TreeQueryObject treeQueryObject) { |
| | | List<Tree> rootTreeList=new ArrayList<>(); |
| | | |
| | | Map<String, String> conditionMap = treeQueryObject.getConditionMap(); |
| | | if (conditionMap == null) { |
| | | conditionMap = new HashMap<>(); |
| | | } |
| | | String typeName = StringUtils.isBlank(conditionMap.get("typeName")) ? "" : conditionMap.get("typeName"); |
| | | if (StringUtils.isBlank(typeName)) { |
| | | VciBaseUtil.alertNotNull(typeName,"业务类型名称"); |
| | | } |
| | | try { |
| | | String typeFlag=StringUtils.isBlank(conditionMap.get("typeFlag"))?"":conditionMap.get("typeFlag"); |
| | | PortalVITypeFlag portalVITypeFlag= PortalVITypeFlag.getByName(typeFlag); |
| | | Short viTypeFlag=-1; |
| | | if(portalVITypeFlag!=null){ |
| | | viTypeFlag=portalVITypeFlag.getIntVal(); |
| | | } |
| | | boolean isDefault =Boolean.parseBoolean(conditionMap.get("isDefault")); |
| | | Tree tree = new Tree("root", "【" + typeName + "】属性信息", "root"); |
| | | tree.setLevel(0); |
| | | rootTreeList.add(tree); |
| | | getChildTree(rootTreeList,typeName, viTypeFlag,isDefault); |
| | | }catch (Throwable e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return rootTreeList; |
| | | } |
| | | |
| | | /** |
| | | * 够着属性树节点 |
| | | * @param parentTreeList |
| | | * @param refTypeName |
| | | * @param refFlag |
| | | * @param isDefault |
| | | * @throws Exception |
| | | */ |
| | | private void getChildTree(List<Tree> parentTreeList,String refTypeName,int refFlag,boolean isDefault) throws Exception { |
| | | for (Tree pTree : parentTreeList) { |
| | | if (pTree.getLevel()>= 3) { |
| | | continue; |
| | | } |
| | | Object o= pTree.getData(); |
| | | String pName=pTree.getText(); |
| | | boolean isOsAttributeVO=false; |
| | | if(o instanceof OsAttributeVO){ |
| | | isOsAttributeVO=true; |
| | | OsAttributeVO osAttributeVO=(OsAttributeVO)o; |
| | | String other = osAttributeVO.getOther(); |
| | | OtherInfo otherInfo = OtherInfo.getOtherInfoByText(other); |
| | | refFlag = otherInfo.getRefFlag(); |
| | | refTypeName = otherInfo.getRefTypeName(); |
| | | } |
| | | List<OsAttributeVO> childOsAttributeVOList=new ArrayList<>(); |
| | | if (refFlag != -1) { |
| | | // pName: 为参照属性名加上路径 |
| | | childOsAttributeVOList=getOsAttributeVOSByBtName(refTypeName,refFlag,isDefault); |
| | | if(!CollectionUtils.isEmpty(childOsAttributeVOList)) { |
| | | List<Tree> childTreeList= new ArrayList<>(); |
| | | boolean finalIsOsAttributeVO = isOsAttributeVO; |
| | | childOsAttributeVOList.stream().forEach(childOsAttributeVO->{ |
| | | Tree childTree = new Tree(childOsAttributeVO.getOid(), childOsAttributeVO.getId(), childOsAttributeVO); |
| | | childTree.setOid(childOsAttributeVO.getOid()); |
| | | childTree.setParentName(pTree.getText()); |
| | | childTree.setParentId(pTree.getOid()); |
| | | childTree.setLevel(pTree.getLevel()+1); |
| | | childTree.setLeaf(true); |
| | | if(finalIsOsAttributeVO) { |
| | | childTree.setText(pName + "." + childOsAttributeVO.getId()); |
| | | }else{ |
| | | childTree.setText(childOsAttributeVO.getId()); |
| | | } |
| | | if (childTree.getLevel()>= 3) { |
| | | childTree.setLeaf(true); |
| | | } |
| | | childTreeList.add(childTree); |
| | | }); |
| | | if(childTreeList.size()>0){ |
| | | pTree.setChildren(childTreeList); |
| | | pTree.setExpanded(false); |
| | | getChildTree(childTreeList,refTypeName,refFlag,isDefault); |
| | | }else{ |
| | | pTree.setLeaf(true); |
| | | pTree.setExpanded(true); |
| | | } |
| | | |
| | | } |
| | | }else{ |
| | | pTree.setExpanded(true); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 获取默认的属性 |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<OsAttributeVO> getOsAttributeVOSByBtName(String btName, int typeFlag) throws Exception{ |
| | | public List<OsAttributeVO> getOsAttributeVOSByBtName(String btName, int typeFlag,boolean isDefault) throws Exception{ |
| | | VciBaseUtil.alertNotNull(btName,"参数不允许为空",typeFlag,"参数不允许为空"); |
| | | List<OsAttributeVO> attributeVOS=new ArrayList<>(); |
| | | |
| | | try { |
| | | AttributeDef[] attributeDefs=new AttributeDef[]{}; |
| | | List<AttributeDef> attributeDefList=new ArrayList<>(); |
| | | if(typeFlag==0){ |
| | | attributeDefs= platformClientUtil.getBtmService().getAttributeDefs(btName); |
| | | AttributeDef [] attributeDefs= platformClientUtil.getBtmService().getAttributeDefs(btName); |
| | | if(attributeDefs!=null){ |
| | | attributeDefList.addAll(Arrays.stream(attributeDefs).collect(Collectors.toList())); |
| | | } |
| | | if(isDefault){ |
| | | AttributeDef [] sysAttributeDefs=platformClientUtil.getBtmService().getSysAttributeDefs(); |
| | | if(sysAttributeDefs!=null){ |
| | | attributeDefList.addAll(Arrays.stream(sysAttributeDefs).collect(Collectors.toList())); |
| | | } |
| | | } |
| | | }else{ |
| | | attributeDefs=platformClientUtil.getLinkTypeService().getAttributes(btName); |
| | | AttributeDef [] attributeDefs=platformClientUtil.getLinkTypeService().getAttributes(btName); |
| | | if(attributeDefs!=null){ |
| | | attributeDefList.addAll(Arrays.stream(attributeDefs).collect(Collectors.toList())); |
| | | } |
| | | if(isDefault){ |
| | | AttributeDef[] sysAbItems = platformClientUtil.getLinkTypeService().getSysAttributeDefs(); |
| | | if(sysAbItems!=null){ |
| | | attributeDefList.addAll(Arrays.stream(sysAbItems).collect(Collectors.toList())); |
| | | } |
| | | } |
| | | } |
| | | attributeVOS=attributeDO2VOs(Arrays.asList(attributeDefs)); |
| | | attributeVOS=attributeDO2VOs(attributeDefList); |
| | | }catch (PLException e){ |
| | | throw new Exception("根据业务类型获取属性异常"+e.getMessage()); |
| | | } |