一. 功能描述
流程中心里面的脚本(节点前后置脚本)除了可以在产品已有的脚本方法类里面添加之外,还可以在引入外部系统的脚本,
只需要写好脚本并验证通过之后,把脚本打成Jar包之后,就可以导入进来系统中使用。
二. 操作步骤
操作指引如下:
1、新增一个项目模块依赖bpm-runtime或者bpm
2、添加一个脚本类
脚本类如果是人员脚本要实现com.hotent.base.groovy.IUserScript接口,常用脚本则实现com.hotent.base.groovy.IScript接口。并且加@Component注解。图中方法的作用是把当然用户作为节点审批人。注意IUserScript接口的返回值需要为Set<BpmIdentity>类型
3、将步骤1中的模块打成jar包
如果依赖runtime模块,打包时需要去掉runtime模块pom里的build命令
注:如果是使用idea可以参考下面连接去将我们编写的程序代码打成一个jar,
将程序jar与 依赖jar分开。
https://blog.csdn.net/qq_27848369/article/details/80533619
4、配置步骤3生成的jar
在管理端页面。流程管理-辅助功能-扩展jar包管理模块,选择步骤3生成的jar包。
5、发布jar包
在jar包管理列表点击发布jar包,发布成功之后可在已发布脚本页面查看所有的发布成功的脚本类。脚本类名作为唯一标识,如有重复后发布的会覆盖之前的。
6、把扩展的脚本类配置成系统脚本
7、测试新增的脚本
8、把扩展的脚本配置到流程里
9、发起流程验证脚本
10、脚本的删除(辅助功能-已发布脚本)
在扩展jar包管理界面点击删除,会删除该jar包配置。如果jar下有已发布的脚本类。属于该jar包下的脚本类和脚本类下的人员脚本配置也会一并删除。配了该脚本的流程会运行异常。所以删除jar包需谨慎,可在已发布脚本类列表页面查看该脚本类所属的jar包描述。
11、流程前后置脚本使用自己扩展的脚本
扩展jar包里面写的脚本
新建流程,并在前后置脚本中使用刚刚的脚本
发起流程之后填写主字段1和主字段2,最终会调用我们扩展的脚本更新主字段3的值。
三.注意事项
注意:1. 外部项目必须依赖我们的bpm-runtime模块。
2. 脚本类如果是人员脚本类型就必须要实现com.hotent.base.groovy.IUserScript接口,如果是常用脚本类型则必须实现com.hotent.base.groovy.IScript接口。
而且必须都加@Component注解。
3.这里的jar是这个脚本类的jar包,并不是把外部系统整个项目打包的jar。