天天看点

activiti自定义流程之整合(七):完成我的申请任务

在上一篇的获得我的申请中,可以看到js代码中还包含了预览和完成任务的代码,既然上一篇已经罗列了相关代码,这里也就不重复。

那么需要补充的是,在上边的完成任务的js代码中,我们还调用了gettaskform请求,目的是从后台获取提交任务时的其他数据,例如指定下一个处理人等,当然了,根据不同的业务逻辑可能有所变化。

那么这个请求对应的后台代码如下,如果弄明白了整个数据库的设计,那么对于这些代码就很容易明白。

这里边的findformbyformname方法在前边的章节中讲过,就是很简单的根据一个字段查询整条记录的操作。

那么这里补充的说明完了,下一步就是提交申请,把任务交到下一个人的手上,也就是上边的js中的complete.do请求,这个请求的后台代码如下:

因为这一个完成任务的方法和之后处理别人提交给自己的任务方法共用了,因此我便同时列出查询别人提交给我的任务的后台代码,如下:

我觉得这里边最重要的便是如何判断究竟是别人提交给我的,还是我自己申请的任务,而这里边如果用流程节点flowelevent来判断的话,会出现一些问题,因为我操作的过程中发现,当一个任务后便的连线不唯一时,各个节点的顺序也是不固定的,endevent并不一定就在最后边,因此还需要从其他的地方进行判断。

如果有需要了解的朋友,可以把之前的那个我的申请列表的代码和这个一起拿到eclipse中对比一下,然后大概就能了解个七七八八了。

那么对于我的任务,也就是别人提交给我的任务列表,其相关的前端代码,与我的申请的前端代码非常类似,我也就不列出了。

还有之后的历史任务等等,也都可以结合之前的内容,只要了解了流程节点的结构,以及各个表的关联关系,那么简单实现自定义应该就不是太难。难得就是真正的要逻辑非常缜密,然后更加智能。

继续阅读