From 79dd20bae9e8af17d5d66b67da4ca6ebc56cd9dd Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 26 六月 2024 11:15:43 +0800
Subject: [PATCH] 用户管理:部门接口修改上传

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
index d225f6e..0f3131a 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
@@ -1,11 +1,14 @@
 package com.vci.frameworkcore.compatibility.impl;
 
+import com.vci.corba.omd.data.BusinessObject;
 import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI;
 import com.vci.frameworkcore.constant.FrameWorkBtmTypeConstant;
 import com.vci.frameworkcore.enumpck.RoleClassifyEnum;
 import com.vci.frameworkcore.enumpck.RoleControlAreaEnum;
 import com.vci.frameworkcore.model.SmRoleForPlatform1;
+import com.vci.frameworkcore.pagemodel.OrgDepartmentVO;
 import com.vci.frameworkcore.pagemodel.SmRoleVO;
+import com.vci.omd.utils.ObjectTool;
 import com.vci.starter.web.constant.QueryOptionConstant;
 import com.vci.starter.web.exception.VciBaseException;
 import com.vci.starter.web.pagemodel.DataGrid;
@@ -24,6 +27,7 @@
 import org.springframework.util.CollectionUtils;
 
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import static com.vci.frameworkcore.constant.FrameWorkBusLangCodeConstant.DATA_OID_NOT_EXIST;
@@ -59,6 +63,7 @@
 		}
 		return platformRole2SmRoleVO(role);
 	}
+
 	/**
      * 鎵归噺鑾峰彇瑙掕壊鐨勪俊鎭� 锛堟牴鎹鑹蹭富閿級
      * @param roleOidCollections 瑙掕壊涓婚敭鐨勯泦鍚堬紝鍙互瓒呰繃1000涓�
@@ -82,6 +87,7 @@
 		});
 		return 	platformRole2SmRoleVOs(roles);
 	}
+
 	/**
      * 鑾峰彇瑙掕壊鐨勫垪琛紝榛樿浼氫互瑙掕壊鍚嶅崌搴忔帓鍒楋紝瑙掕壊鐨勭紪杈戦〉闈㈠垪琛ㄤ笉瑕佷娇鐢ㄨ繖涓帴鍙�
      * @param queryMap 鏌ヨ鏉′欢
@@ -107,6 +113,7 @@
 		}
 		return dataGrid;
 	}
+
 	 /**
      * 鏍规嵁瑙掕壊涓婚敭鑾峰彇瑙掕壊鐨勫鍚�
      * @param roleOid 瑙掕壊涓婚敭
@@ -117,6 +124,7 @@
 		WebUtil.alertNotNull(roleOid,"瑙掕壊涓婚敭");
 		return getRoleByRoleOid(roleOid).getName();
 	}
+
 	 /**
      * 鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇鍏宠仈鐨勮鑹�
      * @param userOid 鐢ㄦ埛涓婚敭
@@ -168,6 +176,7 @@
 		}
 		return platformRole2SmRoleVOs(roles);
 	}
+
 	  /**
      * 鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇鍏宠仈鐨勮鑹�
      * @param userOid 鐢ㄦ埛涓婚敭
@@ -208,6 +217,7 @@
 		}
 		return gridRoles(queryMap,pageHelper);
 	}
+
 	 /**
      * 鑾峰彇鏈叧鑱旀煇涓敤鎴风殑瑙掕壊
      * @param userOid 鐢ㄦ埛涓婚敭
@@ -219,6 +229,7 @@
 			Map<String, String> queryMap) {
 		return listRoleByUserOid(userOid,queryMap,true);
 	}
+
 	/**
      * 鑾峰彇鏈叧鑱旀煇涓敤鎴风殑瑙掕壊
      * @param userOid 鐢ㄦ埛涓婚敭
@@ -231,6 +242,7 @@
 			Map<String, String> queryMap, PageHelper pageHelper) {
 		return gridRoleByUserOid(userOid,queryMap,pageHelper,true);
 	}
+
 	  /**
      * 鎵归噺鏍规嵁鐢ㄦ埛鐨勪富閿潵鑾峰彇瑙掕壊
      * @param userOidCollection 鐢ㄦ埛涓婚敭闆嗗悎
@@ -250,19 +262,22 @@
 			if(!CollectionUtils.isEmpty(roleVOS)){
 				roleVOList.addAll(roleVOS);
 				String sql = "select pluseruid,plroleuid from pluserrole where pluseruid in (" + WebUtil.toInSql(userOids.toArray(new String[0])) + ")";
-				List<com.vci.client.bof.ClientBusinessObject> cbos = boService.queryBySql(sql, null);
+				List<BusinessObject> cbos = boService.queryBySql(sql, null);
 				if(!CollectionUtils.isEmpty(cbos)){
 					cbos.stream().forEach(cbo->{
-						String userOid = cbo.getAttributeValue("pluseruid");
+						String userOid = ObjectTool.getNewBOAttributeValue(cbo,"pluseruid");
 						List<String> roleOids = userRoleOidMap.getOrDefault(userOid,new ArrayList<>());
-						roleOids.add(cbo.getAttributeValue("plroleuid"));
+						roleOids.add(ObjectTool.getNewBOAttributeValue(cbo,"plroleuid"));
 						userRoleOidMap.put(userOid,roleOids);
 					});
 				}
 			}
 		});
 		if(!CollectionUtils.isEmpty(roleVOList)){
-			Map<String, SmRoleVO> roleVOMap = roleVOList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
+			//杩欏効搴旇瀵箁oleVOList鍋氫竴娆″幓閲嶅鐞嗭紝鍥犱负鑲畾浼氭湁閲嶅鐨勮鑹茶鏌ュ嚭鏉�
+			Map<String, SmRoleVO> roleVOMap = roleVOList.stream()
+					.collect(Collectors.toMap(SmRoleVO::getOid, Function.identity(), (existing, replacement) -> existing));
+			//Map<String, SmRoleVO> roleVOMap = roleVOList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
 			Map<String, List<SmRoleVO>> userRoleVOMap = new HashMap<>();
 			userRoleOidMap.forEach((userOid,roleOids)->{
 				List<SmRoleVO> roleVOS = new ArrayList<>();
@@ -277,6 +292,7 @@
 		}
 		return new HashMap<>();
 	}
+
 	 /**
      * 鏍规嵁鏉冮檺涓婚敭鑾峰彇鍏宠仈鐨勮鑹�
      * @param functionOid 鏉冮檺涓婚敭
@@ -415,12 +431,12 @@
 			if(!CollectionUtils.isEmpty(roleVOS)){
 				roleVOList.addAll(roleVOS);
 				String sql = "select plroleoid,plfuncoid from plroleright where plfuncoid in (" + WebUtil.toInSql(userOids.toArray(new String[0])) + ")";
-				List<com.vci.client.bof.ClientBusinessObject> cbos = boService.queryBySql(sql, null);
+				List<BusinessObject> cbos = boService.queryBySql(sql, null);
 				if(!CollectionUtils.isEmpty(cbos)){
 					cbos.stream().forEach(cbo->{
-						String funcOid = cbo.getAttributeValue("plfuncoid");
+						String funcOid = ObjectTool.getBOAttributeValue(cbo,"plfuncoid");
 						List<String> roleOids = funcRoleOidMap.getOrDefault(funcOid,new ArrayList<>());
-						roleOids.add(cbo.getAttributeValue("plroleoid"));
+						roleOids.add(ObjectTool.getBOAttributeValue(cbo,"plroleoid"));
 						funcRoleOidMap.put(funcOid,roleOids);
 					});
 				}
@@ -442,6 +458,7 @@
 		}
 		return new HashMap<>();
 	}
+
 	 /**
      * 鍙傜収瑙掕壊鐨勫垪琛紝涓夊憳绠$悊鐨勪笁涓鑹蹭笉浼氭樉绀�
      * @param queryMap 鏌ヨ鏉′欢
@@ -455,6 +472,7 @@
 		//鑰佸钩鍙版病鏈夌敓鏁堢姸鎬�
 		return gridRoles(queryMap, pageHelper);
 	}
+
 	  /**
      * 瑙掕壊鐨勬爲褰㈠睍绀猴紝甯哥敤浜庤鑹查�夋嫨鐢ㄦ埛鐨勯〉闈娇鐢�
      * @param treeQueryObject 鏍戞煡璇㈠璞�

--
Gitblit v1.9.3