From 678439f1165f38d4b722e850385a92dca8d695eb Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 25 十月 2024 14:59:10 +0800
Subject: [PATCH] 类型Action
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java | 198 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 195 insertions(+), 3 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
index d08bcbb..f2ba751 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
@@ -1,5 +1,7 @@
package com.vci.frameworkcore.compatibility.impl;
+import com.vci.corba.framework.data.DeptInfo;
+import com.vci.corba.framework.data.RoleInfo;
import com.vci.dto.SmUserDTO;
import com.vci.common.util.ThreeDES;
import com.vci.corba.common.PLException;
@@ -10,6 +12,7 @@
import com.vci.frameworkcore.compatibility.SmPwdStrategyQueryServiceI;
import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI;
import com.vci.frameworkcore.compatibility.SmUserQueryServiceI;
+import com.vci.frameworkcore.enumpck.OrgTypeEnum;
import com.vci.model.SmUserDO;
import com.vci.pagemodel.SmUserVO;
import com.vci.po.SmUserPO;
@@ -36,6 +39,7 @@
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.ss.formula.functions.T;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -117,7 +121,7 @@
/**
* 蹇呭~鍒�
*/
- private ArrayList<Integer> ColumnNameisRed = new ArrayList<Integer>();
+ private List<Integer> ColumnNameisRed = new ArrayList<Integer>();
/**
* 鐢ㄦ埛鍒嗛〉鏌ヨ鏃惰幏鍙栭儴闂ㄦ斁鍒拌繖閲岄伩鍏嶉噸澶嶆煡璇�
@@ -353,6 +357,7 @@
}else {
smRoleVOList = smRoleQueryService.listRoleByUserOid(userInfo.id,null);
}
+
smUserVO.setPkPerson(
Func.isEmpty(smRoleVOList) ?
null:smRoleVOList.stream().map(SmRoleVO::getOid).collect(Collectors.joining(","))
@@ -537,7 +542,11 @@
smRoleVOMap = smRoleQueryService.batchListRoleByUserOids(idList,null);
smPwdStrategyVOMap = smPwdStrategyQueryService.batchSmPwdStrategyByUserOids(idList);
dataGrid.setData(userInfoArr2VO(userInfos));
- //TODO: 杩欎釜缁熻鎬绘暟鏈夐棶棰橈紝甯﹁繃鍘荤殑鍙傛暟涓嶈兘鍍忎笂闈㈤偅涓猣etchUserInfoByCondition鏌ヨ涓�鏍风粺璁″鍗寸殑鎬绘暟
+ //鐢ㄥ畬浜嗘竻绌�
+ orgDepartmentVOMap = null;
+ smRoleVOMap = null;
+ smPwdStrategyVOMap = null;
+ //TODO: 杩欎釜缁熻鎬绘暟鏈夐棶棰橈紝甯﹁繃鍘荤殑鍙傛暟涓嶈兘鍍忎笂闈㈤偅涓猣etchUserInfoByCondition鏌ヨ涓�鏍风粺璁$殑鍗寸殑鎬绘暟
dataGrid.setTotal(
platformClientUtil.getFrameworkService().getUserTotalByCondition(
conditionMap.get("name"),
@@ -942,7 +951,169 @@
return treeList;
}
- /**
+ /**
+ * 鑾峰彇瑙掕壊鏁版嵁
+ * @param treeQueryObject
+ * @return
+ * @throws VciBaseException
+ */
+ @Override
+ public List<Tree> refPersonOrgTree(TreeQueryObject treeQueryObject) throws VciBaseException {
+ List<Tree> rootTreeList=new ArrayList<>();
+ Map<String,String> conditionMap=treeQueryObject.getConditionMap();
+ if(CollectionUtils.isEmpty(conditionMap)) {
+ conditionMap = new HashMap<>();
+ }
+ String dataType=StringUtils.isNotBlank(conditionMap.get("dataType"))?conditionMap.get("dataType"):"";//鏁版嵁绫诲瀷
+ String parentId=StringUtils.isNotBlank(conditionMap.get("parentId"))?conditionMap.get("parentId"):"";//鐖惰妭鐐�
+ String orgType=StringUtils.isNotBlank(conditionMap.get("orgType"))?conditionMap.get("orgType"):"";//鎺ュ彛鏌ヨ鍖呭惈鐨勭被鍨�
+ try {
+ initChildTree(dataType,orgType,parentId,rootTreeList);
+ } catch (PLException e) {
+ throw new VciBaseException("鐢ㄦ埛鏉冮檺閫夋嫨鏍戝姞杞藉け璐�:"+e.getMessage());
+ }
+ return rootTreeList;
+ }
+
+ /**
+ *
+ * @param dataType
+ * @param orgType
+ * @param parentId
+ */
+ private void initChildTree(String dataType,String orgType, String parentId, List<Tree>rootTreeList) throws PLException {
+ if(StringUtils.isBlank(parentId)){
+ Tree rootTree=new Tree("root","浜哄憳缁勭粐","root");
+ rootTree.setParentBtmName("root");
+ rootTree.setExpanded(true);
+ List<Tree> childList=new ArrayList<>();
+ if(OrgTypeEnum.ORG_TYPE_USER.getValue().equals(orgType)){//濡傛灉鏄汉鍛�
+ Tree userTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(),"鐢ㄦ埛",OrgTypeEnum.ORG_TYPE_USER.getValue(),OrgTypeEnum.ORG_TYPE_USER.getValue(),rootTree);
+ childList.add(userTree);
+ }else if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(orgType)){//濡傛灉鏄儴闂�
+ Tree departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"閮ㄩ棬",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),rootTree);
+ childList.add(departmentTree);
+ }else if(OrgTypeEnum.ORG_TYPE_ROLE.getValue().equals(orgType)){//濡傛灉鏄鑹�
+ Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"瑙掕壊",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),rootTree);
+ childList.add(roleTree);
+ }else{
+ Tree userTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(),"鐢ㄦ埛",OrgTypeEnum.ORG_TYPE_USER.getValue(),OrgTypeEnum.ORG_TYPE_USER.getValue(),rootTree);
+ childList.add(userTree);
+ Tree departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"閮ㄩ棬",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),rootTree);
+ childList.add(departmentTree);
+ Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"瑙掕壊",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),rootTree);
+ childList.add(roleTree);
+ }
+ if(childList.size()>0){
+ rootTree.setExpanded(true);
+ rootTree.setChildren(childList);
+ }
+ rootTreeList.add(rootTree);
+ }else{
+ if(OrgTypeEnum.ORG_TYPE_ROOT.getValue().equals(dataType)){//濡傛灉鐖惰妭鐐规湁鍊硷紝鍒欓渶瑕佸垽鏂槸鍔犺浇浠�涔堣妭鐐�
+ Tree rootTree=new Tree("root","浜哄憳缁勭粐","root");
+ rootTree.setParentBtmName("root");
+ rootTree.setExpanded(true);
+ if(OrgTypeEnum.ORG_TYPE_USER.getValue().equals(orgType)){//濡傛灉鏄汉鍛�
+ Tree userTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(),"鐢ㄦ埛",OrgTypeEnum.ORG_TYPE_USER.getValue(),OrgTypeEnum.ORG_TYPE_USER.getValue(),rootTree);
+ rootTreeList.add(userTree);
+ }else if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(orgType)){//濡傛灉鏄儴闂�
+ Tree departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"閮ㄩ棬",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),rootTree);
+ rootTreeList.add(departmentTree);
+ }else if(OrgTypeEnum.ORG_TYPE_ROLE.getValue().equals(orgType)){//濡傛灉鏄鑹�
+ Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"瑙掕壊",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),rootTree);
+ rootTreeList.add(roleTree);
+ }else{
+ Tree userTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(),"鐢ㄦ埛",OrgTypeEnum.ORG_TYPE_USER.getValue(),OrgTypeEnum.ORG_TYPE_USER.getValue(),rootTree);
+ rootTreeList.add(userTree);
+ Tree departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"閮ㄩ棬",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),rootTree);
+ rootTreeList.add(departmentTree);
+ Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"瑙掕壊",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),rootTree);
+ rootTreeList.add(roleTree);
+ }
+ }else if(OrgTypeEnum.ORG_TYPE_USER.getValue().equals(dataType)) {//濡傛灉浼犺繘鏉ョ殑鏄痷ser鑺傜偣
+ if(OrgTypeEnum.ORG_TYPE_USER.getValue().equals(parentId)) {
+ Tree userTree = initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(), "鐢ㄦ埛", OrgTypeEnum.ORG_TYPE_USER.getValue(), OrgTypeEnum.ORG_TYPE_USER.getValue(), null);
+ UserInfo[] infos = platformClientUtil.getFrameworkService().fetchUserInfo();
+ Arrays.stream(infos).forEach(info -> {
+ Tree childTree = initDataTreeNode(info.id, info.trueName + "(" + info.userName + ")", info, OrgTypeEnum.ORG_TYPE_USER.getValue(), userTree);
+ rootTreeList.add(childTree);
+ });
+ }
+ }else if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(dataType)) {//濡傛灉鏄儴闂�
+ DeptInfo[] deptInfos=new DeptInfo[]{};
+ Tree departmentTree=new Tree();
+ if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(parentId)) {
+ departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"閮ㄩ棬",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),null);
+ deptInfos = platformClientUtil.getFrameworkService().fetchDepartmentInfo();
+ }else{
+ deptInfos=platformClientUtil.getFrameworkService().fetchDepartmentInfoByParentId(parentId);
+ DeptInfo deptInfo=platformClientUtil.getFrameworkService().fetchDepartmentInfoById(parentId);
+ departmentTree=initDataTreeNode(deptInfo.id,deptInfo.name,deptInfo,OrgTypeEnum.ORG_TYPE_DEPT.getValue(),null);
+ }
+ if(!CollectionUtils.isEmpty(Arrays.asList(deptInfos))){
+ Tree finalDepartmentTree = departmentTree;
+ Arrays.stream(deptInfos).forEach(deptInfo -> {
+ Tree childTree=initDataTreeNode(deptInfo.id,deptInfo.name,deptInfo,OrgTypeEnum.ORG_TYPE_DEPT.getValue(), finalDepartmentTree);
+ rootTreeList.add(childTree);
+ });
+ }
+ if(!OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(parentId)) {
+ UserInfo[] infos = platformClientUtil.getFrameworkService().getUserByDeptId(parentId);
+ if (infos != null && infos.length > 0) {
+ Tree finalDepartmentTree = departmentTree;
+ Arrays.stream(infos).forEach(info -> {
+ Tree childTree = initDataTreeNode(info.id, info.trueName + "(" + info.userName + ")", info, OrgTypeEnum.ORG_TYPE_USER.getValue(), finalDepartmentTree);
+ rootTreeList.add(childTree);
+ });
+ }
+ }
+
+ }else if(OrgTypeEnum.ORG_TYPE_ROLE.getValue().equals(dataType)) {//濡傛灉鏄鑹�
+ if(OrgTypeEnum.ORG_TYPE_ROLE.getValue().equals(parentId)){
+ Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"瑙掕壊",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),null);
+ RoleInfo[] roleInfos=platformClientUtil.getFrameworkService().fetchRoleInfo();
+ if(roleInfos!=null&&roleInfos.length>0) {
+ Arrays.stream(roleInfos).forEach(info -> {
+ Tree childTree = initDataTreeNode(info.id, info.name, info, OrgTypeEnum.ORG_TYPE_ROLE.getValue(), roleTree);
+ rootTreeList.add(childTree);
+ });
+ }
+ }else{
+ RoleInfo roleInfo=platformClientUtil.getFrameworkService().fetchRoleInfoById(parentId);
+ Tree roleTree=initDataTreeNode(roleInfo.id,roleInfo.name,roleInfo,OrgTypeEnum.ORG_TYPE_ROLE.getValue(),null);
+ UserInfo[] infos=platformClientUtil.getFrameworkService().fetchUserInfoByRoleId(roleInfo.id,roleInfo.type);
+ if(infos!=null&&infos.length>0) {
+ Arrays.stream(infos).forEach(info -> {
+ Tree childTree = initDataTreeNode(info.id, info.trueName + "(" + info.userName + ")", info, OrgTypeEnum.ORG_TYPE_USER.getValue(), roleTree);
+ rootTreeList.add(childTree);
+ });
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ *
+ * @param oid
+ * @param text
+ * @param o
+ * @param type
+ * @param parentTree
+ * @return
+ */
+ private Tree initDataTreeNode(String oid,String text,Object o,String type,Tree parentTree){
+ Tree ObjectTreeNode=new Tree(oid,text,o);
+ ObjectTreeNode.setParentBtmName(type);
+ if(parentTree!=null) {
+ ObjectTreeNode.setParentId(parentTree.getParentId());
+ ObjectTreeNode.setParentName(parentTree.getParentName());
+ }
+ return ObjectTreeNode;
+ }
+
+ /**
* 鏍¢獙瀵嗙爜鏄惁鐩稿悓锛屽湪鏂板钩鍙颁腑瀛樺偍鐨勫瘑鐮佹槸涓ゆmd5
* @param userOid 鐢ㄦ埛涓婚敭
* @param md5Password 宸茬粡md5鍔犲瘑涓�娆$殑瀵嗙爜--鑰佺殑骞冲彴閲屼笉鑳藉姞瀵�
@@ -1464,4 +1635,25 @@
return BaseResult.success("鐢ㄦ埛瀵煎叆鎴愬姛锛�");
}
+ /**
+ * 鏍规嵁瑙掕壊绫诲瀷鏌ヨ鐢ㄦ埛鍚�
+ * @param roleType
+ * @return
+ */
+ @Override
+ public List<String> queryUserNameByRoleType(String roleType) throws PLException {
+ List<String> userNameList = new ArrayList<>();
+ if(Func.isBlank(roleType)){
+ return userNameList;
+ }
+ String sql = "SELECT PLUSERNAME FROM PLUSER p WHERE PLUID IN " +
+ "(SELECT PLUSERUID FROM PLUSERROLE p WHERE PLROLEUID IN " +
+ "( SELECT PLUID FROM PLROLE p WHERE PLTYPE = "+ roleType + "))";
+ List<BusinessObject> cbos = boService.queryBySql(sql, null);
+ cbos.stream().forEach(cbo->{
+ userNameList.add(ObjectTool.getNewBOAttributeValue(cbo,"plusername"));
+ });
+ return userNameList;
+ }
+
}
--
Gitblit v1.9.3