From 769e437befb3354c1113ca5b5c2b8240995078be Mon Sep 17 00:00:00 2001 From: yuxc <yuxc@vci-tech.com> Date: 星期二, 06 八月 2024 13:24:15 +0800 Subject: [PATCH] 新增获取业务全部属性类型接口 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 110 insertions(+), 0 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 ef49c4b..0d90146 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 @@ -4,12 +4,16 @@ import com.vci.corba.omd.atm.AttributeDef; import com.vci.corba.omd.btm.BizType; import com.vci.corba.omd.ltm.LinkType; +import com.vci.corba.omd.qtm.QTD; +import com.vci.omd.constants.AttributeConstants; 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; @@ -17,6 +21,7 @@ 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; @@ -25,6 +30,8 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -522,6 +529,109 @@ 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); + } + /** + * 鑾峰彇涓氬姟鍏ㄩ儴灞炴�х被鍨� + * @param btmName 涓氬姟绫诲瀷鍚嶇О + * @return 灞炴�х殑淇℃伅 + */ + @Override + public List<OsBtmTypeAttributeVO> getBizTypeQTDs(String btmName) throws PLException, ParseException { + VciBaseUtil.alertNotNull(btmName, "涓氬姟绫诲瀷缂栧彿"); + List<OsBtmTypeAttributeVO> osBtms = new ArrayList<>(); + //鏌ヨ绯荤粺榛樿灞炴�� + Map<String, AttributeDef> collect = Arrays.stream(platformClientUtil.getBtmService().getSysAttributeDefs()) + .collect(Collectors.toMap(str -> str.name, str -> str)); + for (String attrName : platformClientUtil.getBtmService().getSysAttributeNames()) { + AttributeDef sysAttributeDef = collect.get(attrName.toLowerCase()); + OsBtmTypeAttributeVO vo = new OsBtmTypeAttributeVO(); + vo.setOid(sysAttributeDef.oid); + vo.setAttrDataType(sysAttributeDef.vtDataType); + vo.setPkBtmType(btmName); + vo.setCreateTime(new Date(sysAttributeDef.createTime)); + vo.setCreator(sysAttributeDef.creator); + vo.setDefaultValue(sysAttributeDef.defValue); + vo.setDescription(sysAttributeDef.description); + vo.setRange(sysAttributeDef.rage); + vo.setId(attrName); + vo.setName(sysAttributeDef.label); + vo.setLastModifier(sysAttributeDef.modifier); + vo.setLastModifyTime(new Date(sysAttributeDef.modifyTime)); + osBtms.add(vo); + } + //鏌ヨ涓氬姟绫诲瀷涓嬬殑灞炴�� + AttributeDef[] attributeDefs = platformClientUtil.getBtmService().getAttributeDefs(btmName); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + for (AttributeDef attribute : attributeDefs) { + OsBtmTypeAttributeVO vo = new OsBtmTypeAttributeVO(); + vo.setOid(attribute.oid); + vo.setAttrDataType(attribute.vtDataType); + vo.setPkBtmType(btmName); + vo.setCreateTime(new Date(attribute.createTime)); + vo.setCreator(attribute.creator); + vo.setDefaultValue(attribute.defValue); + vo.setDescription(attribute.description); + vo.setRange(attribute.rage); + vo.setId(attribute.name); + vo.setName(attribute.label); + vo.setTs(formatter.parse(attribute.ts)); + vo.setLastModifier(attribute.modifier); + vo.setOwner(attribute.creator); + vo.setLastModifyTime(new Date(attribute.modifyTime)); + String maxLength = AttributeConstants.getOtherValueByType(attribute.other, AttributeConstants.LENGTH); + if(StringUtils.isNotBlank(maxLength)){ + vo.setAttributeLength(Integer.valueOf(maxLength)); + } + osBtms.add(vo); + } + return osBtms; + } + + 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; + } /** * 灏嗕笟鍔$被鍨嬫嫾鎺son -- Gitblit v1.9.3