我现在想通过自己写方法去查询某一流程实例的所有节点各自处理完成的时间,显示到界面。我逐一将JBPM的数据表都打开看了,没有找到在那张表里面有这个信息。请熟悉JBPM数据表的朋友帮忙解答下,谢谢!

解决方案 »

  1.   

    jbpm_taskinstance 里有节点创建和结束时间
      

  2.   


    非常感谢你的帮助。
    这个表里面的记录是跟流程实例ID号有关联,记录了当前流程实例历史流动记录,我是这样子理解的不过我需要的是能够通过流程实例ID号+节点号查询到当前流程实例的这个节点完成时间是什么时候。
    而上面那张表只与流程实例ID号关联,具体到节点的关联就没有了,难道只能通过节点名称去匹配吗?
      

  3.   


    这个做的确实不错,我们项目用的是JBPM3.2
      

  4.   

    jbpm_processinstance 是流程实例表吧
    jbpm_taskinstance 是任务实例吧。。
      

  5.   

    我现在的功能页面数据显示是这样子的开始[处理时间] ->>填单[处理时间] ->>审批[处理时间] ->>采购[处理时间] ->>归档[处理时间] ->>
    结束[处理时间]系统默认显示出当前流程实例的所有环节信息,如果其中有环节已经处理过,则显示他的处理时间,没处理过的就不用显示处理时间。
    通过以下语句可只能得到当前流程实例所有处理过的环节信息以及环节处理时间,这样子对于未处理的环节就不好控制了。
    select * from jbpm_taskinstance where procinst_=流程实例ID号
    我现在的想法是,先通过流程实例号,获取到流程定义模型
    select processdefinition_ from JBPM_PROCESSINSTANCE where id_=流程实例ID号
    然后通过这个流程模型ID号得到当前流程实例的所有环节
    select * from jbpm_node where processdefinition_=流程模型ID号
    再得到所有环节后,就想通过环节ID号+流程实例号,去查询环节的处理时间,在这一步由于不知道他们之间在哪存在关联,问题的不到解决。
      

  6.   

    你这样要是真不行,就自己建一个日志表,手动维护。
    在用户提交审批的时候 往这个表中放数据 至于你用业务主键 还是用流程实例ID 任务实例ID 关联 都可以