ludc
2024-09-13 d79ba1d249da7e4a347107b06be2a2add00fad6e
Merge remote-tracking branch 'origin/master'
已修改8个文件
已添加2个文件
760 ■■■■ 文件已修改
Bin/Redis-6.2.10/dump.rdb 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/RoleRightDTO.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/enumpck/OrgTypeEnum.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/data.s.json 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/ItemTypeEnum.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java 347 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Bin/Redis-6.2.10/dump.rdb
Binary files differ
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/RoleRightDTO.java
@@ -36,10 +36,10 @@
    /**新增数据创建者,修改者,创建时间,修改时间,授权者***/
    private String createUser = "";
    private Date createTime = new Date();
    private String createTime= "";
    private String licensor = "";
    private String modifyUser = "";
    private Date modifyTime = new Date();
    private String modifyTime = "";
    public String getId() {
        return id;
@@ -89,11 +89,11 @@
        this.createUser = createUser;
    }
    public Date getCreateTime() {
    public String getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }
@@ -113,11 +113,11 @@
        this.modifyUser = modifyUser;
    }
    public Date getModifyTime() {
    public String getModifyTime() {
        return modifyTime;
    }
    public void setModifyTime(Date modifyTime) {
    public void setModifyTime(String modifyTime) {
        this.modifyTime = modifyTime;
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java
@@ -160,6 +160,15 @@
     */
    List<Tree> refTreeUsers(TreeQueryObject treeQueryObject) throws VciBaseException;
    /***
     * äººå‘˜æƒé™é€‰æ‹©æ ‘
     * @param treeQueryObject
     * @return
     * @throws VciBaseException
     */
    List<Tree> refPersonOrgTree(TreeQueryObject treeQueryObject) throws VciBaseException;
    /**
     * æ ¡éªŒå¯†ç æ˜¯å¦ç›¸åŒï¼Œåœ¨æ–°å¹³å°ä¸­å­˜å‚¨çš„密码是两次md5
     * @param userOid ç”¨æˆ·ä¸»é”®
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;
@@ -942,7 +946,168 @@
        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)) {//如果传进来的是user节点
                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加密一次的密码--老的平台里不能加密
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java
@@ -348,4 +348,19 @@
        }
    }
    /**
     * ç”¨æˆ·æƒé™é€‰æ‹©æ ‘
     * @param treeQueryObject æ ‘形数据的查询对象,包括查询条件,上级主键,是否多选等,即允许使用SmUserVO里的所有属性作为查询条件,也可以使用pkRole.xxx,pkDepartment.xxx,pkDuty.xxx这样来查询
     * @return æ™®é€šç”¨æˆ·ï¼ˆä¸åŒ…含三员,也不包含停用的)的树形数据,已经转换过上下级关系,请获取其中的treeData属性
     * @throws VciBaseException æŸ¥è¯¢å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常,如果是老的项目里不抛出异常
     */
    @RequestMapping(value = "/refPersonOrgTree",method = RequestMethod.GET)
    public BaseResult<Tree> refPersonOrgTree(TreeQueryObject treeQueryObject) throws VciBaseException{
        List<Tree> userTreeList = userQueryService.refPersonOrgTree(treeQueryObject);
        return  BaseResult.tree(userTreeList);
        //老的项目依然是添加try catch,方法里不抛出异常
        //BaseResult.fail("这里返回前端的错误信息");
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/enumpck/OrgTypeEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,112 @@
package com.vci.frameworkcore.enumpck;
import com.vci.starter.web.enumpck.BaseEnum;
/**
 * @author xj
 * @date 2024-09-12
 * äººå‘˜é€‰æ‹©ç»„织类型
 */
public enum OrgTypeEnum  implements BaseEnum {
    /**
     * æ ¹æŽ¥ç‚¹
     */
    ORG_TYPE_ROOT("root","人员组织"),
    /**
     * æŸ¥è¯¢æ‰€æœ‰ç±»åž‹ï¼šäººå‘˜ï¼Œéƒ¨é—¨ï¼Œè§’色
     */
    ORG_TYPE_ALL("all","所有"),
    /**
     * éƒ¨é—¨
     */
    ORG_TYPE_DEPT("department","部门"),
    /**
     * è§’色
     */
    ORG_TYPE_ROLE("role","角色"),
    ORG_TYPE_USER("user","人员");
    /**
     * æžšä¸¾çš„值
     */
    private String value;
    /**
     * æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     */
    private String text;
    /**
     * èŽ·å–æžšä¸¾å€¼
     * @return æžšä¸¾å€¼
     */
    @Override
    public String getValue() {
        return value;
    }
    /**
     * è®¾ç½®æžšä¸¾å€¼
     * @param value æžšä¸¾å€¼
     */
    public void setValue(String value) {
        this.value = value;
    }
    /**
     * èŽ·å–æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     * @return  æ˜¾ç¤ºæ–‡æœ¬
     */
    @Override
    public String getText() {
        return text;
    }
    /**
     * è®¾ç½®æ˜¾ç¤ºæ–‡æœ¬
     * @param text æ˜¾ç¤ºæ–‡æœ¬
     */
    public void setText(String text) {
        this.text = text;
    }
    /**
     * æž„造函数
     * @param value å€¼
     * @param text æ˜¾ç¤ºæ–‡æœ¬
     */
    private OrgTypeEnum(String value, String text){
        this.value = value;
        this.text = text;
    }
    /**
     * æ ¹æ®åç§°èŽ·å–å¯¹åº”çš„æžšä¸¾å€¼
     * @param text åç§°
     * @return æžšä¸¾å€¼
     */
    public static String getValueByText(String text){
        for(OrgTypeEnum wenum : OrgTypeEnum.values()){
            if(wenum.getText().equalsIgnoreCase(text)){
                return wenum.getValue();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     * @param value æžšä¸¾å€¼
     * @return åç§°
     */
    public static String getTextByValue(String value){
        for(OrgTypeEnum wenum : OrgTypeEnum.values()){
            if(wenum.getValue().equalsIgnoreCase(value)){
                return wenum.getText();
            }
        }
        return "";
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java
@@ -506,7 +506,7 @@
     */
    @PostMapping( "/authorizedUI")
    @VciBusinessLog(operateName = "UI授权")
    public BaseResult authorizedUI(UIAuthorDTO uiAuthorDTO){
    public BaseResult authorizedUI(@RequestBody UIAuthorDTO uiAuthorDTO){
        try {
            return uiManagerService.authorizedUI(uiAuthorDTO)?BaseResult.success("授权成功!"):BaseResult.fail("授权失败!");
        }catch (Throwable e) {
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/data.s.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
{
    "code": 200,
    "data": null,
    "exceptionClassName": null,
    "exceptionCode": null,
    "exceptionObjs": null,
    "finishTime": 1726130668800,
    "msg": "",
    "msgObjs": null,
    "obj": null,
    "requestTraceId": null,
    "success": true,
    "total": 0,
    "traceId": "71bfe687-1112-47c3-9fe5-45ae9f7b7228",
    "treeData": [
        {
            "attributes": {},
            "checked": false,
            "children": [
                {
                    "attributes": {},
                    "checked": false,
                    "children": [],
                    "data": "user",
                    "expanded": false,
                    "href": null,
                    "icon": null,
                    "iconCls": null,
                    "index": null,
                    "leaf": false,
                    "level": 0,
                    "oid": "user",
                    "parentBtmName": "user",
                    "parentId": null,
                    "parentName": null,
                    "showCheckbox": false,
                    "text": "用户"
                },
                {
                    "attributes": {},
                    "checked": false,
                    "children": [],
                    "data": "department",
                    "expanded": false,
                    "href": null,
                    "icon": null,
                    "iconCls": null,
                    "index": null,
                    "leaf": false,
                    "level": 0,
                    "oid": "department",
                    "parentBtmName": "department",
                    "parentId": null,
                    "parentName": null,
                    "showCheckbox": false,
                    "text": "部门"
                },
                {
                    "attributes": {},
                    "checked": false,
                    "children": [],
                    "data": "role",
                    "expanded": false,
                    "href": null,
                    "icon": null,
                    "iconCls": null,
                    "index": null,
                    "leaf": false,
                    "level": 0,
                    "oid": "role",
                    "parentBtmName": "role",
                    "parentId": null,
                    "parentName": null,
                    "showCheckbox": false,
                    "text": "角色"
                }
            ],
            "data": "root",
            "expanded": true,
            "href": null,
            "icon": null,
            "iconCls": null,
            "index": null,
            "leaf": false,
            "level": 0,
            "oid": "root",
            "parentBtmName": "root",
            "parentId": null,
            "parentName": null,
            "showCheckbox": false,
            "text": "人员组织"
        }
    ]
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/ItemTypeEnum.java
@@ -183,7 +183,7 @@
            if (isText) {
                value = itemTypeEnum.getText();
            } else {
                value = itemTypeEnum.getText();
                value = itemTypeEnum.getValue();
            }
        }
        return value;
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
@@ -1,8 +1,10 @@
package com.vci.web.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSON;
import com.vci.common.utility.ObjectUtility;
import com.vci.corba.common.PLException;
import com.vci.corba.common.data.UserEntityInfo;
import com.vci.corba.framework.data.RoleRightInfo;
import com.vci.corba.omd.btm.BizType;
import com.vci.corba.portal.PortalService;
@@ -39,6 +41,7 @@
import javax.annotation.Resource;
import java.io.File;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import java.util.regex.Pattern;
@@ -57,6 +60,11 @@
    @Resource
    private PlatformClientUtil platformClientUtil;
    /**
     * è§’色
     */
    @Resource
    private SmRoleQueryServiceI smRoleQueryServiceI;
    /***
     * æ˜¯å¦æ˜¯ç®¡ç†å‘˜
     */
@@ -136,7 +144,7 @@
    public List<PLUILayout> getUIContextDataByBtName(String btemName,String context) throws PLException {
        VciBaseUtil.alertNotNull(btemName,"业务类型");
        List<PLUILayout> pluiLayoutList=new ArrayList<>();
        List<String> contextList= VciBaseUtil.str2List(context);
        List<String> contextList= new ArrayList<>();
        if(StringUtils.isNotBlank(context)){
            contextList=VciBaseUtil.str2List(context);
        }else{
@@ -1354,7 +1362,7 @@
          String userName= WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
            RoleRightInfo[] rightInfos= platformClientUtil.getFrameworkService().getRoleRightList(roleId,userName);
            List<RoleRightVO>  roleRightVOList=roleRightDOO2VOS(Arrays.asList(rightInfos));
            roleRightVOMap=roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO));
            roleRightVOMap=roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO,(oldValue,newOldValue)->oldValue));
        }
        BizType[] bizTypes=osBtmServiceI.getBizTypes(type);
        List<Tree> treeList=new ArrayList<>();
@@ -1372,12 +1380,10 @@
            bizTypeTree.setShowCheckbox(true);
            bizTypeTree.setParentBtmName(bizTypes[i].name);
            childList.add(bizTypeTree);
            if(roleRightVOMap.containsKey(bizTypes[i].oid)){
                List<PLUILayout>contextList=getUIContextDataByBtName(bizTypes[i].name,context);
                List<Tree> btmChildList=new ArrayList<>();
                btmChildList.add(bizTypeTree);
                setChildNode(btmChildList,contextList,roleRightVOMap,showCheckBox);
            }
            List<PLUILayout>contextList=getUIContextDataByBtName(bizTypes[i].name,context);
            List<Tree> btmChildList=new ArrayList<>();
            btmChildList.add(bizTypeTree);
            setChildNode(btmChildList,contextList,roleRightVOMap,showCheckBox);
        }
        rootNode.setChildren(childList);
        treeList.add(rootNode);
@@ -1405,48 +1411,96 @@
        treeQueryObject.setConditionMap(conditionMap);
        List<Tree> treeList=this.getUIAuthor(treeQueryObject);
        HashMap<String,Tree> allTreeMap=new HashMap<>();
        Map<String,RoleRightVO> roleRightVOMap=new HashMap<>();
        Map<String,RoleRightDTO> roleRightVOMap=new HashMap<>();
        if(!CollectionUtil.isEmpty(treeList)){
            if(StringUtils.isNotBlank(uiAuthorDTO.getRoleId())){
                String userName= WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
                RoleRightInfo[] rightInfos= platformClientUtil.getFrameworkService().getRoleRightList(uiAuthorDTO.getRoleId(),userName);
                List<RoleRightVO>  roleRightVOList=roleRightDOO2VOS(Arrays.asList(rightInfos));
                roleRightVOMap=roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO));
                roleRightVOMap=roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVOO2DTO(roleRightVO),(oldValue,newValue)->oldValue));
            }
            convertTreeDOO2Map(treeList,allTreeMap);
            List<RoleRightDTO> roleRightDTOList=new ArrayList<>();
            List<Tree>  selectTreeList= uiAuthorDTO.getSelectTreeList();
            getSelectedRoleRightObjs(uiAuthorDTO.getRoleId(),selectTreeList,allTreeMap,roleRightDTOList);
            getSelectedRoleRightObjs(uiAuthorDTO.getRoleId(),selectTreeList,allTreeMap,roleRightVOMap,roleRightDTOList);
            SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread();
            String currentUserName = sessionInfo.getUserId();
            boolean isDeveloper= rightControlUtil.isDeveloper(currentUserName);
            List<RoleRightInfo>  roleRightInfoList= roleRightDTOO2InfoS(roleRightDTOList);
            UserEntityInfo info=new UserEntityInfo();
            info.modules="UI授权";
            info.userName=currentUserName;
            try {
             res= platformClientUtil.getFrameworkService().saveRoleRight(roleRightInfoList.toArray(new RoleRightInfo[]{}),uiAuthorDTO.getRoleId(),currentUserName,info);
            }catch (PLException e){
                throw  new Exception("保存失败:"+e.getMessage());
            }
        }
        return res;
    }
    /**
     *
     *根据权限计算上下权限
     * @param roleOid
     * @param selectTreeList
     * @param allTreeMap
     * @param roleRightDTOList
     */
    private void getSelectedRoleRightObjs(String roleOid,List<Tree>  selectTreeList,HashMap<String,Tree> allTreeMap,  List<RoleRightDTO> roleRightDTOList){
    private void getSelectedRoleRightObjs(String roleOid,List<Tree>  selectTreeList,HashMap<String,Tree> allTreeMap,Map<String,RoleRightDTO> allRoleRightDTOMap,  List<RoleRightDTO> roleRightDTOList){
        Date date=new Date();
        Map<String,RoleRightDTO> roleRightDTOMap=new HashMap<>();
        selectTreeList.stream().forEach(tree -> {
            RoleRightDTO roleRightDTO=new RoleRightDTO();
            String id=ObjectUtility.getNewObjectID36();
            Object data=  tree.getData();
            if(data instanceof String){
                getRightValue(roleOid,tree,allTreeMap,false,roleRightDTOMap);//向下获取所有模块的权限值
            }else if (!(data instanceof PLTabButton)) {//业务类型
                getRightValue(roleOid,tree,allTreeMap,true,roleRightDTOMap);//向上处理
                getRightValue(roleOid,tree,allTreeMap,false,roleRightDTOMap);//向下处理(包含当前节点)
            }else if (data instanceof PLTabButton) {//按钮
        if(!CollectionUtil.isEmpty(selectTreeList)){
            selectTreeList.stream().forEach(tree -> {
                String oid=tree.getOid();
                if(allTreeMap.containsKey(oid)){
                    tree=   allTreeMap.get(oid);
                   Object data= tree.getData();
                    if (data instanceof String) {
                        getRightValue(roleOid, tree, allTreeMap, false, roleRightDTOMap);//向下获取所有模块的权限值
                    } else if (!(data instanceof PLTabButton)) {//业务类型
                        getRightValue(roleOid, tree, allTreeMap, true, roleRightDTOMap);//向上处理
                        getRightValue(roleOid, tree, allTreeMap, false, roleRightDTOMap);//向下处理(包含当前节点)
                    } else if (data instanceof PLTabButton) {//按钮
                        String parrentId=tree.getParentId();
                        if(allTreeMap.containsKey(parrentId)){
                            SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread();
                            String currentUserName = sessionInfo.getUserId();
                            boolean isDeveloper= rightControlUtil.isDeveloper(currentUserName);
                            Tree parentNode= allTreeMap.get(parrentId);
                            String funcId = parentNode.getOid();
                            getRightValue(roleOid,tree, allTreeMap, true, roleRightDTOMap);//向上处理该操作父级的上级模块权限(不包含父节点)
                            if(!roleRightDTOMap.containsKey(funcId)){
                                RoleRightDTO roleRightDTO = new RoleRightDTO();
                                roleRightDTO.setId(ObjectUtility.getNewObjectID36());//主键
                                roleRightDTO.setFuncId(funcId);
                                if(isDeveloper) {
                                    roleRightDTO.setRightType((short) 1);//权限类型 æƒé™ç±»åž‹ï¼Œè¶…级管理员给管理员授权为1,管理员给普通用户授权为2
                                }else{
                                    roleRightDTO.setRightType((short) 2);
                                }
                                roleRightDTO.setRightValue(1);// æƒé™å€¼ï¼Œæ²¡æœ‰æ“ä½œçš„æ¨¡å—权限值存储为0
                                roleRightDTO.setRoleId(roleOid);//角色ID
                                roleRightDTO.setCreateUser(currentUserName);//创建者
                                roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),""));//创建时间
                                roleRightDTO.setModifyUser(currentUserName);//修改者
                                roleRightDTO.setModifyTime(VciDateUtil.date2Str(new Date(),""));//修改时间
                                roleRightDTO.setLicensor("");
                                if(!roleRightDTOMap.containsKey(funcId)){
                                    roleRightDTOMap.put(funcId, roleRightDTO);
                                }
                                roleRightDTOMap.put(funcId, roleRightDTO);
                            }
                        }
            }
        });
                    }
                }
            });
          /*  allRoleRightDTOMap.putAll(roleRightDTOMap.entrySet().stream()
                    .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::  getValue)));*/
         List<RoleRightDTO>    newRoleRightDTOList=Optional.ofNullable(roleRightDTOMap).orElseGet(()->new HashMap<String,RoleRightDTO>()).values().stream().collect(Collectors.toList());
            roleRightDTOList.addAll(newRoleRightDTOList);
        }
    }
    /**
@@ -1457,28 +1511,28 @@
        SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread();
        String currentUserName = sessionInfo.getUserId();
        boolean isDeveloper= rightControlUtil.isDeveloper(currentUserName);
        String parentOid=node.getParentId();
        if(allTreeMap.containsKey(parentOid)){
            String id=ObjectUtility.getNewObjectID36();
            Tree parentNode =allTreeMap.get(parentOid);
            Object parentData=  parentNode.getData();
            if(isUp) {//向上获取,存储每个上级模块的权限值
                while (!"root".equals(parentNode.getData())){
        String id=ObjectUtility.getNewObjectID36();
        Object data=node.getData();
        if(isUp) {//向上获取,存储每个上级模块的权限值
            while (!"root".equals(node.getData())){
                data=node.getData();
               String oid=node.getOid();
                if(allTreeMap.containsKey(oid)){
                    String funcId = "";
                    if (parentData instanceof BizType) {
                        BizType bizType = (BizType) parentData;
                    if (data instanceof BizType) {
                        BizType bizType = (BizType) data;
                        funcId = bizType.name;
                    } else if (parentData instanceof PLUILayout) {
                        PLUILayout context = (PLUILayout)parentData;
                    } else if (data instanceof PLUILayout) {
                        PLUILayout context = (PLUILayout)data;
                        funcId = context.plOId;
                    } else if (parentData instanceof PLTabPage) {
                        PLTabPage tab = (PLTabPage) parentData;
                    } else if (data instanceof PLTabPage) {
                        PLTabPage tab = (PLTabPage) data;
                        funcId = tab.plOId;
                    } else if (parentData instanceof PLPageDefination){
                        PLPageDefination pageDef = (PLPageDefination) parentData;
                    } else if (data instanceof PLPageDefination){
                        PLPageDefination pageDef = (PLPageDefination) data;
                        funcId = pageDef.plOId;
                    } else if (parentData instanceof PLTabButton) {
                        PLTabButton but = (PLTabButton)parentData;
                    } else if (data instanceof PLTabButton) {
                        PLTabButton but = (PLTabButton)data;
                        funcId = but.plOId;
                    }
                    RoleRightDTO roleRightDTO = new RoleRightDTO();
@@ -1492,74 +1546,77 @@
                    roleRightDTO.setRightValue(1);// æƒé™å€¼ï¼Œæ²¡æœ‰æ“ä½œçš„æ¨¡å—权限值存储为0
                    roleRightDTO.setRoleId(roleId);//角色ID
                    roleRightDTO.setCreateUser(currentUserName);//创建者
                    roleRightDTO.setCreateTime(new Date());//创建时间
                    roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),""));//创建时间
                    roleRightDTO.setModifyUser(currentUserName);//修改者
                    roleRightDTO.setModifyTime(new Date());//修改时间
                    roleRightDTO.setModifyTime(VciDateUtil.date2Str(new Date(),""));//修改时间
                    roleRightDTO.setLicensor("");
                    if(!rightMap.containsKey(funcId)){
                        rightMap.put(funcId, roleRightDTO);
                    }
                }
            }else{
                String funcId = "";
                if(parentData instanceof String){
                    funcId = (String)parentData;
                } else if (parentData instanceof BizType) {
                    BizType bizType = (BizType)parentData;
                    funcId = bizType.name;
                } else if (parentData instanceof PLUILayout) {
                    PLUILayout context = (PLUILayout)parentData;
                    funcId = context.plOId;
                } else if (parentData instanceof PLTabPage) {
                    PLTabPage tab = (PLTabPage) parentData;
                    funcId = tab.plOId;
                } else if (parentData instanceof PLPageDefination){
                    PLPageDefination pageDef = (PLPageDefination) parentData;
                    funcId = pageDef.plOId;
                } else if (parentData instanceof PLTabButton) {
                    PLTabButton but = (PLTabButton)parentData;
                    funcId = but.plOId;
                }
                if(!(parentData instanceof PLPageDefination)) {//子节点不是操作
                    if(!rightMap.containsKey(funcId)&&!funcId.equals("root")){
                        RoleRightDTO roleRightDTO = new RoleRightDTO();
                        roleRightDTO.setFuncId(funcId);
                        if(isDeveloper) {
                            roleRightDTO.setRightType((short) 1);//权限类型 æƒé™ç±»åž‹ï¼Œè¶…级管理员给管理员授权为1,管理员给普通用户授权为2
                        }else{
                            roleRightDTO.setRightType((short) 2);
                        }
                        roleRightDTO.setRightValue(0);//没有操作的模块权限值存储为0
                        roleRightDTO.setRoleId(roleId);
                        roleRightDTO.setCreateUser(currentUserName);
                        roleRightDTO.setCreateTime(new Date());
                        roleRightDTO.setModifyUser(currentUserName);
                        roleRightDTO.setModifyTime(new Date());
                        roleRightDTO.setLicensor("");
                        rightMap.put(funcId, roleRightDTO);
                    }
                    for(int i = 0;i < parentNode.getChildren().size();i++){
                        //对每个子向下递归遍历
                        getRightValue(roleId,parentNode.getChildren().get(i),allTreeMap,false,rightMap);
                    }
                }else {
                    if(!rightMap.containsKey(funcId)){
                        RoleRightDTO roleRightDTO = new RoleRightDTO();
                        roleRightDTO.setFuncId(funcId);
                        roleRightDTO.setRightType((short)2); // è®¾ç½®UI权限
                        roleRightDTO.setRightValue(countRightValue(parentNode,true));//没有操作的模块权限值存储为0
                        roleRightDTO.setRoleId(roleId);
                        roleRightDTO.setCreateUser(currentUserName);
                        roleRightDTO.setCreateTime(new Date());
                        roleRightDTO.setModifyUser(currentUserName);
                        roleRightDTO.setModifyTime(new Date());
                        roleRightDTO.setLicensor("");
                        rightMap.put(funcId, roleRightDTO);
                    oid= node.getParentId();
                    if(allTreeMap.containsKey(oid)) {
                        node=allTreeMap.get(oid);
                    }
                }
            }
        }else {
            String funcId = "";
            if (data instanceof String) {
                funcId = (String) data;
            } else if (data instanceof BizType) {
                BizType bizType = (BizType) data;
                funcId = bizType.name;
            } else if (data instanceof PLUILayout) {
                PLUILayout context = (PLUILayout) data;
                funcId = context.plOId;
            } else if (data instanceof PLTabPage) {
                PLTabPage tab = (PLTabPage) data;
                funcId = tab.plOId;
            } else if (data instanceof PLPageDefination) {
                PLPageDefination pageDef = (PLPageDefination) data;
                funcId = pageDef.plOId;
            } else if (data instanceof PLTabButton) {
                PLTabButton but = (PLTabButton) data;
                funcId = but.plOId;
            }
            if (!(data instanceof PLPageDefination)) {//子节点不是操作
                if (!rightMap.containsKey(funcId) && !funcId.equals("root")) {
                    RoleRightDTO roleRightDTO = new RoleRightDTO();
                    roleRightDTO.setFuncId(funcId);
                    if (isDeveloper) {
                        roleRightDTO.setRightType((short) 1);//权限类型 æƒé™ç±»åž‹ï¼Œè¶…级管理员给管理员授权为1,管理员给普通用户授权为2
                    } else {
                        roleRightDTO.setRightType((short) 2);
                    }
                    roleRightDTO.setRightValue(0);//没有操作的模块权限值存储为0
                    roleRightDTO.setRoleId(roleId);
                    roleRightDTO.setCreateUser(currentUserName);
                    roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),""));
                    roleRightDTO.setModifyUser(currentUserName);
                    roleRightDTO.setModifyTime(VciDateUtil.date2Str(new Date(),""));
                    roleRightDTO.setLicensor("");
                    rightMap.put(funcId, roleRightDTO);
                }
                for (int i = 0; i < node.getChildren().size(); i++) {
                    //对每个子向下递归遍历
                    getRightValue(roleId, node.getChildren().get(i), allTreeMap, false, rightMap);
                }
            } else {
                if (!rightMap.containsKey(funcId)) {
                    RoleRightDTO roleRightDTO = new RoleRightDTO();
                    roleRightDTO.setFuncId(funcId);
                    roleRightDTO.setRightType((short) 2); // è®¾ç½®UI权限
                    roleRightDTO.setRightValue(countRightValue(node, true));//没有操作的模块权限值存储为0
                    roleRightDTO.setRoleId(roleId);
                    roleRightDTO.setCreateUser(currentUserName);
                    roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),""));
                    roleRightDTO.setModifyUser(currentUserName);
                    roleRightDTO.setModifyTime(VciDateUtil.date2Str(new Date(),""));
                    roleRightDTO.setLicensor("");
                    rightMap.put(funcId, roleRightDTO);
                }
            }
        }
    }
@@ -1596,6 +1653,13 @@
        });
    }
    /***
     * éåŽ†å­èŠ‚ç‚¹
     * @param parentTree
     * @param contextList
     * @param roleRightVOMap
     * @param isShowCheckBox
     */
    private void setChildNode(List<Tree> parentTree, List<PLUILayout>contextList,Map<String,RoleRightVO> roleRightVOMap,boolean isShowCheckBox){
        Optional.ofNullable(parentTree).orElseGet(()->new ArrayList<Tree>()).stream().forEach(pTree -> {
            Object funcObj=  pTree.getData();
@@ -1713,6 +1777,24 @@
        });
    }
    /**
     * UI角色对象转换
     * @param vos
     * @return
     */
    private List<RoleRightDTO> roleRightVOO2DTOS(List<RoleRightVO> vos){
        List<RoleRightDTO> roleRightVOS=new ArrayList<>();
        Optional.ofNullable(vos).orElseGet(()->new ArrayList<>()).stream().forEach(vo -> {
            RoleRightDTO dto=roleRightVOO2DTO(vo);
            roleRightVOS.add(dto);
        });
        return roleRightVOS;
    }
    /**
     * UI角色对象转换
     * @param infos
@@ -1727,7 +1809,25 @@
        return roleRightVOS;
    }
    /**
     * UI角色对象转换
     * @param dtos
     * @return
     */
    private List<RoleRightInfo> roleRightDTOO2InfoS(List<RoleRightDTO> dtos){
        List<RoleRightInfo> roleRightInfoList=new ArrayList<>();
        Optional.ofNullable(dtos).orElseGet(()->new ArrayList<>()).stream().forEach(dto -> {
            RoleRightInfo info= null;
            try {
                info = roleRightDTOO2Info(dto);
            } catch (Exception e) {
                e.printStackTrace();
            }
            roleRightInfoList.add(info);
        });
        return roleRightInfoList;
    }
    /**
     * UI角色对象转换
     * @param info
@@ -1746,6 +1846,45 @@
        vo.setModifyTime(VciDateUtil.date2Str(VciDateUtil.long2Date(info.modifyTime),""));
        vo.setModifyUser(info.modifyUser);
        return vo;
    }
    /**
     * UI角色对象转换
     * @param vo
     * @return
     */
    private RoleRightDTO  roleRightVOO2DTO(RoleRightVO vo){
        RoleRightDTO dto=new RoleRightDTO();
        dto.setId(vo.getId());
        dto.setCreateTime(vo.getCreateTime());
        dto.setCreateUser(vo.getCreateUser());
        dto.setRoleId(vo.getRoleId());
        dto.setRightType(vo.getRightType());
        dto.setLicensor(vo.getLicensor());
        dto.setRightValue(vo.getRightValue());
        dto.setFuncId(vo.getFuncId());
        dto.setModifyTime(vo.getModifyTime());
        dto.setModifyUser(vo.getModifyUser());
        return dto;
    }
    /**
     * UI角色对象转换
     * @param dto
     * @return
     */
    private RoleRightInfo  roleRightDTOO2Info(RoleRightDTO dto) throws Exception {
        RoleRightInfo info=new RoleRightInfo();
        info.id=StringUtils.isBlank(dto.getId())?"":dto.getId();
        info.createTime=StringUtils.isBlank(dto.getCreateTime())?new Date().getTime():VciDateUtil.getTime(VciDateUtil.str2Date(dto.getCreateTime(),""));
        info.createUser=StringUtils.isBlank(dto.getCreateUser())?"":dto.getCreateUser();
        info.roleId=StringUtils.isBlank(dto.getRoleId())?"":dto.getRoleId();
        info.rightType=dto.getRightType();
        info.licensor =StringUtils.isBlank(dto.getLicensor())?"":dto.getLicensor();
        info.rightValue=dto.getRightValue();
        info.funcId=StringUtils.isBlank(dto.getFuncId())?"":dto.getFuncId();
        info.modifyTime=StringUtils.isBlank(dto.getModifyTime())? new Date().getTime() :VciDateUtil.getTime(VciDateUtil.str2Date(dto.getModifyTime(),""));
        info.modifyUser=StringUtils.isBlank(dto.getModifyUser())?"":dto.getModifyUser();
        return info;
    }
    /**
@@ -2449,7 +2588,7 @@
                }
            } else {
                // é“¾æŽ¥ç±»åž‹ä¸ºç©ºæ—¶ï¼Œåªéœ€è¦æ£€æŸ¥ä¸šåŠ¡ç±»åž‹ä¸‹çš„æŸ¥è¯¢æ¨¡æ¿æ˜¯å¦æœ‰æ•ˆ
                if(!(super.checkQTNameTxtIsOk("查询模板", queryTemplateName, btmType,true))){
                if(!(super.checkQTNameTxtIsOk("查询模板", queryTemplateName, btmType))){
                    res = false;
                    return res;
                }