From b8d0022a3c40c59322661e8eee568643fdeb9c50 Mon Sep 17 00:00:00 2001
From: xiejun <xiejun@vci-tech.com>
Date: 星期五, 13 九月 2024 10:25:12 +0800
Subject: [PATCH] 人员选择接口添加

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java |   35 +++++++++++++++++++++++++++++------
 1 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
index adbbf81..558679f 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
@@ -5,19 +5,17 @@
 import com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder;
 import com.thoughtworks.xstream.io.xml.XppDriver;
 import com.vci.corba.common.PLException;
+import com.vci.corba.framework.data.RoleRightInfo;
 import com.vci.corba.portal.data.*;
+import com.vci.pagemodel.*;
 import com.vci.starter.web.annotation.log.VciUnLog;
 import com.vci.starter.web.exception.VciBaseException;
-import com.vci.starter.web.util.BeanUtil;
-import com.vci.starter.web.util.LangBaseUtil;
-import com.vci.starter.web.util.VciBaseUtil;
-import com.vci.starter.web.util.VciDateUtil;
+import com.vci.starter.web.util.*;
 import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
 import com.vci.web.enumpck.UIComponentDisplayTypeEnum;
 import com.vci.web.enumpck.UIComponentTypeEnum;
 import com.vci.web.enumpck.UIFieldTypeEnum;
 import com.vci.web.enumpck.UILayoutAreaTypeEnum;
-import com.vci.web.pageModel.*;
 import com.vci.web.service.OsAttributeServiceI;
 import com.vci.web.service.OsBtmServiceI;
 import com.vci.web.service.UIEngineServiceI;
@@ -38,7 +36,7 @@
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static com.vci.web.constant.EnumIdConstant.LC_STATUS_SUBFIX;
+import static com.vci.constant.EnumIdConstant.LC_STATUS_SUBFIX;
 
 /**
  * UI寮曟搸鏈嶅姟锛屼互鍓嶅钩鍙板皝瑁呭埌action閲岀殑锛�
@@ -1382,6 +1380,31 @@
 	public List<UIButtonDefineVO> listButtonByComponent(String pkComponent){
 		try {
 			List<UIButtonDefineVO> buttonDefineVOS = buttonDO2VOs(Arrays.stream(platformClientUtil.getUIService().getPLTabButtonsByTableOId(pkComponent)).collect(Collectors.toSet())).stream().sorted(((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()))).collect(Collectors.toList());
+
+			Map<String,RoleRightInfo> allRightRoleMap = new HashMap<>();
+			RoleRightInfo[] bts = platformClientUtil.getFrameworkService().getRoleRightByUserName("bt");
+			Map<String,Long> rightMap = new HashMap<String,Long>();
+			for(RoleRightInfo obj:bts){
+				allRightRoleMap.put(obj.funcId, obj);
+				rightMap.put(obj.funcId,obj.rightValue);
+			}
+			//寰幆瀵规寜閽潈闄愯繘琛屽垽鏂紝娌℃湁鏉冮檺鐨勫皢绉婚櫎buttonDefineVOS瀵硅薄
+			Iterator<UIButtonDefineVO> buttonDefineVO = buttonDefineVOS.iterator();
+			while (buttonDefineVO.hasNext()){
+				UIButtonDefineVO buttonDefine = buttonDefineVO.next();
+				if(rightMap.containsKey(buttonDefine.getPkComponent())) {
+					Long rightValue = rightMap.get(buttonDefine.getPkComponent());
+					int nodeValue = buttonDefine.getOrderNum();
+					if (nodeValue >= 0 && nodeValue <= 63) {
+						//杩涜浣嶄笌鎿嶄綔锛屽鏋滅浉绛夊垯琛ㄧず鍏锋湁褰撳墠鎿嶄綔鐨勬潈闄�
+						long preValue = (rightValue >> nodeValue) & 1;
+						if (preValue != 1) {
+							buttonDefineVO.remove();
+						}
+					}
+				}
+			}
+
 			if(CollectionUtils.isEmpty(buttonDefineVOS)){
 				return buttonDefineVOS;
 			}

--
Gitblit v1.9.3