Camunda 跳转到下一个用户任务
Camunda jump to next user task
我正在尝试将任务串在一起,我能够通过 运行 TaskListener 创建脚本中的以下内容获取下一个用户任务的任务 ID:
var system = java.lang.System;
system.out.println(task.id);
哪个 returns 是正确的 id。
然后我想将浏览器中的 url 更新为 "ip:port/camunda/app/tasklist/default/#/?task=" + task.id
但是因为 TaskListener Create 脚本不在浏览器本身中 运行(说实话不知道为什么),我没有 'window.location' 可用。
有没有简单的解决方法?
添加到流程模型的任何脚本都在服务器端(包括任务侦听器)执行,除非它属于任务表单。
task
对象是 Java class org.camunda.bpm.engine.delegate.DelegateTask
的实例。您可以通过编写 task.complete()
.
来跳过当前任务
链接:
对于任何感兴趣的人,我们找到了解决方案。
我们使用 REST api 的 GET 任务命令,代码如下所示
camForm.on('submit-success', function() {
inject(['$rootScope', function($rootScope) {
var user = $rootScope.authentication.name;
setTimeout(function(){
$.get("/engine-rest/task?sortBy=created&sortOrder=desc&assignee=" + user, function(data) {
window.location.replace("http://is-company.intelligentsystems.lan:8080/camunda/app/tasklist/default/#/?task="+ data[0].id);
});
}, 300);
}]);
});
当你在一个任务上按start/complete时调用这段代码,处理成功(提交成功),然后找到当前用户,并且搜索分配给用户的最新任务并使用 window.location.replace 在 url 中设置它
我们遇到的问题是当代码立即 运行 时任务没有完全创建,但是在获取任务 ID 之前添加了 300 的小延迟(可能更小,但比抱歉更安全)。
我正在尝试将任务串在一起,我能够通过 运行 TaskListener 创建脚本中的以下内容获取下一个用户任务的任务 ID:
var system = java.lang.System;
system.out.println(task.id);
哪个 returns 是正确的 id。
然后我想将浏览器中的 url 更新为 "ip:port/camunda/app/tasklist/default/#/?task=" + task.id
但是因为 TaskListener Create 脚本不在浏览器本身中 运行(说实话不知道为什么),我没有 'window.location' 可用。
有没有简单的解决方法?
添加到流程模型的任何脚本都在服务器端(包括任务侦听器)执行,除非它属于任务表单。
task
对象是 Java class org.camunda.bpm.engine.delegate.DelegateTask
的实例。您可以通过编写 task.complete()
.
链接:
对于任何感兴趣的人,我们找到了解决方案。
我们使用 REST api 的 GET 任务命令,代码如下所示
camForm.on('submit-success', function() {
inject(['$rootScope', function($rootScope) {
var user = $rootScope.authentication.name;
setTimeout(function(){
$.get("/engine-rest/task?sortBy=created&sortOrder=desc&assignee=" + user, function(data) {
window.location.replace("http://is-company.intelligentsystems.lan:8080/camunda/app/tasklist/default/#/?task="+ data[0].id);
});
}, 300);
}]);
});
当你在一个任务上按start/complete时调用这段代码,处理成功(提交成功),然后找到当前用户,并且搜索分配给用户的最新任务并使用 window.location.replace 在 url 中设置它 我们遇到的问题是当代码立即 运行 时任务没有完全创建,但是在获取任务 ID 之前添加了 300 的小延迟(可能更小,但比抱歉更安全)。