- 名词定义
英文 | 中文 | 备注 |
Nodeid | 节点id | |
Nodetype | 节点类型 | 0:创建节点
1:审批节点 2:提交节点 3:归档 |
Isbill | 是否为单据 | 0 :表单(老表单)
1 :单据(新表单和系统单据) |
workflowid | 流程id | |
Formid | 表单id | |
Requestid | 请求id | |
Fieldid | 字段id | |
Fieldname | 字段数据库名称 | |
Isdetail | 是否为明细 | |
Viewtype | 主子段还是明细字段 | 0 主字段
1 明细字段 |
- 表单数据存储
- 表单基本信息存放表
select id,formname,formdesc from workflow_formbase
id | 表单id |
formname | 表单名称 |
formdesc | 表单描述 |
- 表单组成
- 表单字段:
select formid,fieldid,isdetail,groupid from workflow_formfield order by formid,isdetail,groupid,fieldid |
formid | 表单id |
fieldid | 字段id |
Isdetail | 是否为明细字段
1:代表是(字段来至于Workflow_Formdictdetail) 其它值,代表该字段为主字段(Workflow_formdict) |
Groupid | 当isdetial=1的时候,groupid代表明细表序号,比如:
0 代表第一个明细表 1 代表第二个明细表 …… |
- 字段信息
- 主字段:
select * from Workflow_formdict
- 明细字段:
select * from Workflow_Formdictdetail
- 数据表
- 主字段数据
select * from workflow_form
- 明细字段数据
select * from workflow_formdetail
通过groupid区分不同明细表数据
- 主字段数据和明细字段数据的关联关系
workflow_form.requestid = workflow_formdetail.requestid
- 单据
- 单据的基本信息
select b.indexdesc,a.* from workflow_bill a,htmllabelindex b where a.namelabel = b.id
表单id < 0 自定义表单
表单id > 0 系统单据
- 字段
select * from workflow_billfield order by billid,viewtype,detailtable
billid | 表单id |
Viewtype | 0 主字段
1 明细字段 |
detailtable | 明细表表名,也就表示该字段属于哪个明细表 |
- 数据表
- 主字段数据表
select id,tablename from workflow_bill
Id | 表单id |
Tablename | 表名 |
- 明细字段数据
select billid,tablename from workflow_billdetailtable
billid | 表单id |
Tablename | 表名 |
- 主表和明细表关联关系
select id,detailkeyfield from workflow_bill
id | 表单id |
detailkeyfield | 主表和明细表的关联字段
一般情况下,如果detailkeyfield为空,那么detailkeyfield默认为mainid。 例子formtable_main_10.id = formtable_main_10_dt1. mainid |
- 示例
- 通过workflowid查找当前请求数据存储的位置
以workflowid = 5 为例,该流程为内部留言流程
- 第一步,查询流程基础信息
Select id,workflowname,formid,isbill from workflow_base where id = 5 |
查询结果如下:
Formid = 3, Isbill=0 参照第一部分的名词定义我们可以得知,留言流程使用的是formid=3的老表单。
- 第二步,查询流程所在的表和字段信息
参照第二部分的表单数据存储。
表单字段
select formid,fieldid,isdetail,groupid from workflow_formfield where formid = 3 order by formid,isdetail,groupid,fieldid |
数据存储
主表
Select a.* from workflow_form a,workflow_requestbase b where a.requestid = b.requestid and b.workflowid = 5 |
明细
Select * from workflow_formdetail a,workflow_requestbase b where a.requestid = b.requestid and b.workflowid = 5 |
- 通过requestid查找当前流程数据存储的位置
假设requestid = 249
- 第一步 查找workflowid
select workflowid from workflow_requestbase where requestid = 249 |
查询结果
- 第二步 查找流程的基本信息
第一步里面找到了workflowid = 52
Formid = -13, Isbill=1 参照第一部分的名词定义我们可以得知,出差申请流程使用的是formid=-13的新表单
- 第三步查询流程所在的表和字段信息
参照第二部分的表单数据存储。
表单字段
select * from workflow_billfield where billid = -13 |
结果如下:
数据存储
表名
select tablename,detailkeyfield from workflow_bill where id = -13
select tablename from Workflow_billdetailtable where billid = -13 |
查询结果如下:
说明:
主表表名:formtable_main_13
明细表表名:formtable_main_13_dt1,formtable_main_13_dt2,
formtable_main_13_dt3
主表和明细表的关联字段为:mainid,主表.id = 明细表.mainid
- 查看当前请求的数据
上面已经找出了对应的主表和明细表,下面就是查看数据
主表数据
select * from workflow_requestbase a,formtable_main_13 b where a.requestid = b.requestId and a.requestid = 294 |
明细表数据
select * from formtable_main_13 a,formtable_main_13_dt1 b where a.id = b.mainid
select * from formtable_main_13 a,formtable_main_13_dt2 b where a.id = b.mainid …… |
- 流程的其它信息表
–请求基本信息表(标题,创建人,创建时间,流程类型等等),通过requestid查找
select * from workflow_requestbase –请求操作者表(流程当前未操作者,已操作者等信息),通过requestid查找 select * from workflow_currentoperator –请求流转日志表(流程处理人处理过的审批意见),通过requestid查找 select * from workflow_requestLog –请求的查看日志 select * from workflow_requestviewlog –下拉字段的值,通过fieldid,isbill查找 Select * from workflow_selectitem –浏览框字段值的来源 Select b.indexdesc,a.* from workflow_browserurl a,HtmlLabelIndex b where a.labelid = b.id |
转载请注明:赫非域 » ecology流程存储数据说明