warm-flow工作流,新增权限监听器,动态设置
本文介绍warm-flow工作流,权限监听器,办理中动态设置流程权限
git地址:https://gitee.com/warm_4/warm-flow.git
1、实现一下接口
public interface Listener extends Serializable {
/** 开始监听器,当前任务开始前执行 */
String LISTENER_START = "start";
/** 结束监听器,当前任务完成后执行 */
String LISTENER_END = "finish";
/** 分派办理人监听器,分派后执行 */
String LISTENER_ASSIGNMENT = "assignment";
/** 权限监听器,办理任务动态设置权限 */
String LISTENER_PERMISSION = "permission";
void notify(ListenerVariable variable);
}
public class FinishListener implements Listener {
private static final Logger log = LoggerFactory.getLogger(StartListener.class);
@Override
public void notify(ListenerVariable variable) {
log.info("完成监听器:{}", variable);
Instance instance = variable.getInstance();
Map<String, Object> testLeaveMap = variable.getVariable();
log.info("完成监听器结束;{}", "任务完成");
}
}
2、页面配置监听器,传递后台通过逗号分割不同监听器 监听器类型和监听器路径,上下一一对应
3、参数传递
public class PermissionListener implements Listener {
private static final Logger log = LoggerFactory.getLogger(PermissionListener.class);
@Override
public void notify(ListenerVariable variable) {
log.info("权限监听器开始;{}", variable);
Instance instance = variable.getInstance();
List<NodePermission> nodePermissionList = new ArrayList<>();
NodePermission nodePermission1 = new NodePermission();
NodePermission nodePermission2 = new NodePermission();
NodePermission nodePermission3 = new NodePermission();
// 动态传入组件权限标识
nodePermission1.setNodeCode("1");
nodePermission1.setPermissionFlag("role:1,role:2,role:100");
nodePermission2.setNodeCode("2");
nodePermission2.setPermissionFlag("role:1,role:2,role:100");
nodePermission3.setNodeCode("3");
nodePermission3.setPermissionFlag("role:1,role:2,role:101");
nodePermissionList.add(nodePermission1);
nodePermissionList.add(nodePermission2);
nodePermissionList.add(nodePermission3);
variable.setNodePermissionList(nodePermissionList);
Map<String, Object> variableMap = variable.getVariable();
TestLeave testLeave = (TestLeave) variableMap.get("testLeave");
log.info("权限监听器结束");
}
}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
CudaText 1.211.4 发布,跨平台的文本编辑器
CudaText 是一个跨平台的文本编辑器,用 Object Pascal 编写。它是开源项目,启动速度相当快,它可以通过 Python 插件进行扩展,借助 EControl 引擎还带来了功能丰富的语法分析器。 CudaText 1.211.4 正式发布,更新内容如下: 添加:可以使用新选项“scrollbar_size”调整滚动条(应用程序主题滚动条)宽度 添加/更改:当 find-dialog“Hi”选项打开,并且文档为“big”时(选项“find_hi_max_lines”有效,或水平滚动条宽度超过 400 个字符),仅在可见屏幕区域显示 Hi_All 标记,并在滚动时更新标记;这不会显著降低编辑器的运行速度 添加:find-dialog“Hi” 选项:在屏幕可见区域查找 huge lines 的速度更快了(仅处理行的可见部分) 修复:在约 600K 行文件中运行“select all”+“delete”时 freezing 多秒的问题 更多详情可查看:https://cudatext.github.io/history.txt
-
下一篇
JimuReport 积木报表 v1.7.4 正式版本发布,免费的 JAVA 报表工具
项目介绍 一款免费的数据可视化报表,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于 excel 操作风格,通过拖拽完成报表设计。 秉承 “简单、易用、专业” 的产品理念,极大的降低报表开发难度、缩短开发周期、节省成本、解决各类报表难题。 领先的企业级 We 报件,采用纯 Web 在线技术,专注于解决企业报表快速制作难题。 当前版本:v1.7.4 | 2024-04-01 集成依赖 <dependency> <groupId>org.jeecgframework.jimureport</groupId> <artifactId>jimureport-spring-boot-starter</artifactId> <version>1.7.4</version> </dependency> 升级日志 围绕使用体验进行了优化和亮点新功能升级、修复 issue 问题并重点解决老版 JeecgBoot 与...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装Nodejs环境