泛微ECOLOGY9-如何实现人员自动添加至角色成员中并及时刷新角色表缓存信息

实现效果:实现效果

1. 用户/业务需求

相关应用及数据权限需要根据前端模块管理员新建/删除数据的人员数据进行开启或关闭,不要多处,多次频繁维护相关人员权限。

2. 需求分析

同步该模块下的人员信息,自动根据该模块人员发放和关闭相关权限。

3. 实现思路

1.构建建模人员基本信息,用来记录权限人员;
2.新增该模块人员角色信息,角色成员同步上述模块中的人员;
3.相关应用及数据权限使用上述角色。

4. 解决方案

构建建模人员基础信息及角色成员同步

角色设置
4.1 新建角色,记住新建角色的ID
角色信息
ESB中心配置
4.2 新建接口-执行JAVA代码:
自定义JAVA代码
调用服务类代码:

package com.weaver.esb.package_20240810083232;

import java.util.*;
import weaver.systeminfo.systemright.CheckUserRight; // Import CheckUserRight class
import weaver.hrm.cachecenter.bean.RolemembersComInfo; // Import RolemembersComInfo class

public class class_20240810083232 {

    public static Map<String, String> execute(Map<String, Object> params) {
      	Object dataObj = params.get("data");
        // Create an instance of CheckUserRight to call non-static methods
        CheckUserRight checkUserRight = new CheckUserRight();
        
        // Call non-static methods using the instance
        checkUserRight.removeMemberRoleCache();
        checkUserRight.removeRoleRightdetailCache();
        
        RolemembersComInfo rolemembersComInfo = new RolemembersComInfo();
        rolemembersComInfo.removeCache();
        
        Map<String, String> ret = new HashMap<>();
        ret.put("code", "1");
        return ret;
    }
}

4.2.1定义请求\响应参数:
请求参数:data(无效参数默认为空)
响应参数:无
请求\响应参数
4.2.2新建接口-执行SQL语句
下面两个语句中的UR值为4.1中新建角色的ID;
${userid}‘为人员ID是该接口定义的请求参数。

人员插入角色信息表执行语句:INSERT INTO hrmrolemembers (ROLEID,RESOURCEID,ROLELEVEL,resourcetype)VALUES('UR',${userid},'2','1')
删除角色信息表人员执行语句:delete from hrmrolemembers where roleid='UR' and resourceid=${userid}
如下图所示:
人员插入角色信息表
4.2.3新建事件
请求参数
响应参数
4.2.4新建应用
依次插入上面添加的接口,如下图所示:
选择接口
接口配置中添加插入和删除接口的执行条件,如下图所示:
接口配置1
接口配置2
响应配置

4.3建模引擎构建表单、模块和查询
表单信息:
表单字段根据实际情况添加;
建模表单信息
模块信息:
新建用户启用/禁用页面拓展按钮
基本信息-链接目标地址:javascript:submitMult();(用于数据变更后自动刷新页面信息)
基本信息
权限-条件设置:此处为开启按钮,需要设置用户状态为禁用显示开启按钮
权限
接口动作1:更新用户状态为启用,操作类型为DML
自定义DML语句:update uf_users set yhzt=‘1’ where id=’{?id}’
解析:update 表名 set 更新字段=‘更新值’ where id=‘主表数据ID’
接口动作1
接口动作2:人员插入角色成员表中并更新角色信息表缓存信息。操作类型为ESB,引用4.2.3中新建的事件。操作的值为固定值,插入为0删除为1,用于触发ESB应用中关联的不同接口。
接口动作2
4.4建模引擎-查询
基础:代码块插入下面代码,用于4.3中模块新增自定义按钮的链接目标地址调用

<script type="text/javascript">
function submitMult() {
  var ids = ModeList.getCheckedID();
        ModeList.reloadTableAll();
}
</script>

查询基础
自定义按钮:右键选择页面拓展,选择4.3中启用/禁用的按钮,添加到查询列表上,如下图所属:
页面拓展

总结:

4.3模块信息中绑定的两个接口动作可以整合到一个应用中执行。
不做角色信息表刷新,在移动端引用角色会有缓存,导致不生效问题,使用SQL语句插入或删除角色成员必须要做缓存清理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图图闹海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值