流程存储数据说明
- 名词定义
英文 |
中文 |
备注 |
Nodeid |
节点id |
|
Nodetype |
节点类型 |
0:创建节点 1:审批节点 2:提交节点 3:归档 |
Isbill |
是否为单据 |
0 :表单(老表单) 1 :单据(新表单和系统单据) |
workflowid |
流程id |
|
Formid |
表单id |
|
Requestid |
请求id |
|
Fieldid |
字段id |
|
Fieldname |
字段数据库名称 |
|
Isdetail |
是否为明细 |
|
Viewtype |
主子段还是明细字段 |
0 主字段 1 明细字段 |
- 表单数据存储
1.表单基本信息存放表
select id,formname,formdesc from workflow_formbase
id |
表单id |
formname |
表单名称 |
formdesc |
表单描述 |
2.表单组成
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 代表第二个明细表 …… |
3.字段信息
主字段:select * from Workflow_formdict
明细字段:select * from Workflow_Formdictdetail
4.数据表
主字段数据:select * from workflow_form
明细字段数据:select * from workflow_formdetail 通过groupid区分不同明细表数据
5.主字段数据和明细字段数据的关联关系
workflow_form.requestid = workflow_formdetail.requestid
- 单据
1.单据的基本信息
select b.indexdesc,a.* from workflow_bill a,htmllabelindex b where a.namelabel = b.id
表单id < 0 自定义表单
表单id > 0 系统单据
2.字段
select * from workflow_billfield order by billid,viewtype,detailtable
billid |
表单id |
Viewtype |
0 主字段 1 明细字段 |
detailtable |
明细表表名,也就表示该字段属于哪个明细表 |
3.数据表
主字段数据表 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 |
- 示例
1.通过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 |
2.通过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 |