获取流程请求数据存储位置
一、目标
- 如何根据workflowid(流程id)获取流程请求数据存储的数据表名称
- 如何根据requestid(流程请求id)获取对应流程请求的数据
二、方法
1、如何确定流程的workflowid
要知道特定流程的workflowid可通过以下两种方式知道:
(1)新建流程时,可以在地址栏上找到对应的workflowid请求参数,如下图所示:
(2)在该流程的路径设置处,右键点击【显示页面地址】,可查询wfid请求参数的值,如下图所示:
2、根据workflowid获取对应流程数据存储的数据表名
在ecology中,对于新表单的数据存储策略为:某个流程的主表数据由一个独立的表进行存储,明细表由不同的数据表进行存储,因此,某个流程的数据表数量=1+明细表个数;
(1)可通过以下sql查询主表表名
select tablename from workflow_bill where id=(select formid from workflow_base where id=41) |
![]() |
(其中,41为workflowid )
(2)可通过以下sql查询明细表表名:
select tablename from workflow_billdetailtable where billid=(select formid from workflow_base where id=41) |
![]() |
(其中,41为workflowid )
3、如何确定流程请求的requestid
可通过已办事宜或流程监控功能,查看已经提交的流程,在打开表单后,即可在地址栏看到requestid请求参数的值,如下图所示:
4、根据requestid查找对应的请求数据
(1)查询主表字段数据,通过第2步获取到的主表名称和requestid获取对应数据,如下示例:
select * from formtable_main_2 where requestid=4 |
![]() |
(其中,formtable_main_2为主表名称,4为requestid )
(2)查询明细表字段数据,通过第2步获取到的明细名称和requestid获取对应数据,有几个明细表,就要重复此步骤几次,如下示例:
select * from formtable_main_2_dt1 where mainid =(select id from formtable_main_2 where requestid=4) |
![]() |
(其中,formtable_main_2_dt1为明细表名称,4为requestid )