工作流插件开发——时限控制插件

1 业务场景
当用户使用任务处理时限控制,在设置任务期限时,当表达式和固定值不能满足,可以自己定义插件获取时限。

2 业务插件注册
业务插件分为两种,分别是JAVA插件和KS脚本。如下图所示,选择对应的种类填写插件类:

3 JAVA插件使用
注册:将完整包名输入“插件类”文本框,当流程执行到该节点时,计算时限控制获取时限时,会触发该方法。如下图

外部接口插件API-JAVA要求
实现接口:kd.bos.workflow.engine.extitf.IWorkflowPlugin
方法: public Long getExpireTime(AgentExecution execution)
说明:根据特定的业务逻辑Long类型的时限
参数:AgentExecution对象,对象中可获取单据id,实体编码,当前节点信息等
返回值:Long
例子
@Override public Long getExpireTime(AgentExecution execution) {//获取时限控制外部接口插件请实现此方法 String BusinessKey = execution.getBusinessKey();//单据的BusinessKey(业务ID) List<Long> currentApprover = execution.getCurrentApprover();//获取当前节点的审批人 WorkflowElement<?> flowElement = execution.getCurrentFlowElement();//当前节点 String id = flowElement.getId();//当前流程节点ID String name = flowElement.getName();//当前节点名称 String number = flowElement.getNumber();//当前节点id AgentTask currentTask = execution.getCurrentTask();//获取当前任务 Long CurrentTaskId = execution.getCurrentTaskId();//当前任务ID String entityNumber = execution.getEntityNumber();//单据实体编码 Long processDefinitionId = execution.getProcessDefinitionId();//获取流程定义ID Long processInstanceId = execution.getProcessInstanceId();//获取流程实例ID Long startUserId = execution.getStartUserId();//获取流程发起人 Object variable = execution.getVariable("aaa");//获取流程变量,参数为String,此处为流程动态配置方案 中"名称"的值,得到的是“默认值”的值 return 5L;//返回值为Long }
4 KS脚本使用
切换类型为脚本,点击右下角红色部分,如图:

继续点击KDE>>

在KDE平台新增脚本,插件类型为“流程插件”,插入方法为“getExpireTime”点击确定进入脚本编辑页面

KS脚本例子
/** * @author IERP * @date 2022-12-27 */ var plugin = new WorkflowPlugin({
工作流插件开发——时限控制插件
1 业务场景当用户使用任务处理时限控制,在设置任务期限时,当表达式和固定值不能满足,可以自己定义插件获取时限。2 业务插件注册业务插...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



