From e937d0111a52e2c13c50bbc3386d20a12d125899 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 06 九月 2024 10:54:54 +0800
Subject: [PATCH] 链接类型查询模板
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java | 136 +++++++++++++++++++++++++++++++++++++++++----
1 files changed, 124 insertions(+), 12 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
index c8facba..ec96cc5 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
@@ -7,14 +7,14 @@
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;
@@ -25,12 +25,10 @@
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;
@@ -135,6 +133,101 @@
* 榛樿灞炴�х殑鏄犲皠锛宬ey鏄皬鍐�
*/
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);
+ }
+ }
+
+ }
/**
* 鑾峰彇榛樿鐨勫睘鎬�
@@ -1142,17 +1235,36 @@
* @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());
}
--
Gitblit v1.9.3