搜档网
当前位置:搜档网 › 通达OA工作流分析

通达OA工作流分析

通达OA工作流分析
通达OA工作流分析

通达OA工作流分析

(本文由OA软件用户经研究撰写,仅供参考)

1>建立组织机构、角色、用户

1.2>前台截图

1.3>后台结构

1.3.1>SQL分析

select * from department;

select * from user_priv;

select * from [user];

1.3.2>数据分析

1.3.

2.1>部门表(department)

1.3.

2.3>角色表(user_priv)

1.3.

2.2>用户表(user)

2>建立表单(flow_form_type)

2.1>建立过程

在软件中的建立过程省略,此部分不是重点,因为我们要开发的软件想做到表单自定义还不现实。

2.2>SQL分析

select * from flow_form_type where form_id=25

2.3>结果记录

3>流程及步骤设置

3.1>建立流程分类(flow_sort):

3.1.1>建立过程

使用系统自带的默认流程分类不变

3.1.2>SQL分析

select * from flow_sort

3.1.3>结果记录

3.2>建立流程(flow_type):

3.2.1>建立过程

a>在工作流设置->定义流程,点击“新建流程”;

b>在编辑流程“基本属性”时,定义“流程分类”为“生产”,定义“流程排序号”为0,

定义“流程名称”为“物资需求计划”,定义“流程类型”为“固定流程”,

定义“表单”为“物资需求计划”,定义“允许附件”为“是”;

c>在编辑流程“监控人员”时,定义“[供应部] 张三”为监控人员;

3.2.2>SQL分析

select * from flow_type where flow_id=31

3.2.3>结果记录

结果:在flow_type表生成1条记录:

3.3>建立流程步骤(flow_process):

3.3.1>建立过程

过程:a>在工作流设置->定义流程->(找到物资需求计划流程)->编辑该流程的各项属性->流程步骤

b>在编辑流程步骤的基本属性时,定义序号(PRCS_ID )、步骤名称(PRCS_NAME )、下一可选步骤(PRCS_TO );

c>定义每个特定的PRCS_ID 下的可写字段;

d>定义每个特定的PRCS_ID 下的经办人员;

e>定义每个特定的PRCS_ID 下的经办部门;

f>定义每个特定的PRCS_ID 下的经办角色;

3.3.2>SQL 分析

select * from flow_process where flow_id=31

3.3.3>结果记录

4>工作流的实际使用

4.1>

“zhangsan ”新建工作

4.1.1>建立过程

a>以用户名为“zhangsan ”登录系统;

b>“公共事务-〉工作流”,选择“新建工作”(只有流程第一步骤的经办人,才能新建该流程的工作);

c>“zhangsan ”点击选择“物资需求计划”流程(新建一个“工作”),填写“文号/说明”(默认使用流称名称及系统当前时间)并点击“新建”、“返回”;

d>返回后,该工作将成为自己的“未接收工作”(是“待办工作”中的一种),用户也可以委托流程第一步骤的其他经办人代为办理;

4.1.2>SQL 分析

--工作流运行

select * from flow_run

select * from flow_run_data

select * from flow_run_prcs

select * from flow_run_feedback

4.1.3>结果记录

4.1.3.1>建立工作(flow_run)

4.1.3.2>定义工作可写字段 (flow_run_data)

4.1.3.3>工作过程日志(flow_run_prcs)

4.1.3.4>签办反馈留言(flow_run_feedback)

4.2>“zhangsan ”待办工作

“待办工作”分为两种:“未接收工作”、“办理中的工作”、“已办结的工作”

4.2.1>“zhangsan ”“未接收工作”

4.2.1.1>“zhangsan ”“委托”“未接收工作”

4.2.1.1.1>建立过程

过程:a>“zhangsan ”点击“委托”,系统列举出flow_process 中定义的PRCS_ID=1的所有PRCS_USER (除zhangsan 自己以外),供“zhangsan ”选择;

b>“zhangsan ”选择“lisi ”,并点击“确定”后,“zhangsan ”的待办工作列表自动显示为空,但是“lisi ”的待办工作列表自动显示RUN_ID=1的这项工作;

4.2.1.1.2>SQL 分析

--工作流运行

select * from flow_run

select * from flow_run_data

select * from flow_run_prcs

select * from flow_run_feedback

4.2.1.1.3>结果记录

4.2.1.1.3.1>建立工作(flow_run)

本表数据不变

4.2.1.1.3.2>定义工作可写字段 (flow_run_data)

本表数据不变

4.2.1.1.3.3>工作过程日志(flow_run_prcs)

说明:在flow_run_prcs 表,系统把PRCS_ID=1的记录的USER_ID 从“zhangsan ”更新为“lisi ”

“zhangsan ”和“lisi ”可以把RUN_ID=1的这项工作互相委托多次(踢皮球),系统所做的就是把flow_run_prcs 表中的USER_ID 不断地在“zhangsan ”和“lisi ”这两个名字之间切换。 我们假设最终的经办人仍然是“zhangsan ”,下一次出现本表记录时,USER_ID=“zhangsan ”。

4.2.1.1.3.4>签办反馈留言(flow_run_feedback)

本表数据不变

4.2.1.2>“zhangsan”“办理”“未接收工作”

4.2.1.2.1>建立过程

过程:a>“zhangsan”点击“办理”,这时RUN_ID=1的这项工作立即变为“办理中的工作”了

4.2.1.2.2>SQL分析

--工作流运行

select * from flow_run

select * from flow_run_data

select * from flow_run_prcs

select * from flow_run_feedback

4.2.1.2.3>结果记录

4.2.1.2.3.1>建立工作(flow_run)

本表数据不变

4.2.1.2.3.2>定义工作可写字段 (flow_run_data)

本表数据不变

4.2.1.2.3.3>工作过程日志(flow_run_prcs)

4.2.1.2.3.4>签办反馈留言(flow_run_feedback)

本表数据不变

4.2.2>“zhangsan”“办理中的工作”

4.2.2.1>“zhangsan”“办理”“办理中的工作”

4.2.2.1.1>建立过程

过程:a>第2次点击办理:在flow_run_prcs表,把PRCS_ID=1的记录的PRCS_TIME从“NULL”更新为“2005-10-21 14:49:51.000”,把PRCS_FLAG从1更新为2

b>...

c>第N次点击办理:系统在flow_run_prcs表中数据均不变

d>...

e>第1次保存并返回在表单可写字段中填写的数据:系统往flow_run_data写数据;

f>...

g>第N次保存并返回在表单可写字段中填写的数据:系统修改flow_run_data中数据;

h>...

i>第1次保存“签办反馈区”填写的数据:系统往flow_run_feedback写数据;

j>...

k>第N次保存“签办反馈区”填写的数据:系统修改flow_run_feedback中数据;

l>...

4.2.2.1.2>SQL分析

--工作流运行

select * from flow_run

select * from flow_run_data

select * from flow_run_prcs

select * from flow_run_feedback

4.2.2.1.3>结果记录

4.2.2.1.3.1>建立工作(flow_run)

本表数据不变

4.2.2.1.3.2>定义工作可写字段 (flow_run_data)

结果(flow_run_data表):8行记录的ITEM_DATA字段均填写“zhangsan”在表单可写字段中填写的值;

4.2.2.1.3.3>工作过程日志(flow_run_prcs)

本表数据不变

4.2.2.1.3.4>签办反馈留言(flow_run_feedback)

结果(flow_run_feedback表):产生“zhangsan”在“签办反馈区”填写的数据:

主键

没有主键

字段类型[int][varchar] (20)[text][text][text][datetime]是否为空NOT NULL NOT NULL NULL NULL NULL NULL

字段注释工作编号用户ID留言内容附件编号附件名称修改时间字段名称RUN_ID USER_ID CONTENT ATTACHMENT_ID ATTACHMENT_NAME EDIT_TIME

表中数据1zhangsan“zhangsan

”点击“办

理”1818642005,《mrpII管理技

术》..doc*

2005-10-21

15:10:34.000

4.2.2.2>“zhangsan”“委托”“办理中的工作”

4.2.2.2.1>建立过程

过程:a>“zhangsan”点击“委托”,系统列举出flow_process中定义的PRCS_ID=1的所有PRCS_USER(除zhangsan自己以外),供“zhangsan”选择;

b>“zhangsan”选择“lisi”,并点击“确定”后,“zhangsan”的待办工作列表自动显示为空,但是“lisi”的待办工作列表自动显示RUN_ID=1的这项工作;

4.2.2.2.2>SQL分析

--工作流运行

select * from flow_run

select * from flow_run_data

select * from flow_run_prcs

select * from flow_run_feedback

4.2.2.2.3>结果记录

4.2.2.2.3.1>建立工作(flow_run)

本表数据不变

4.2.2.2.3.2>定义工作可写字段 (flow_run_data)

本表数据不变

4.2.2.2.3.3>工作过程日志(flow_run_prcs)

在flow_run_prcs表,把PRCS_ID=1的记录的USER_ID从“zhangsan”更新为“lisi”

表名flow_run_prcs

主键没有主键

字段类型[int][int][varchar]

(20)[datetime][datetime][varchar]

(1)

[int][varchar]

(20)

是否为空NOT NULL NULL NULL NULL NULL NULL NULL NULL

字段注释工作编号流程步骤编号用户ID办理时刻转交时刻处理标记(1

未办,2正办,3

办完,4结束)步骤号是否主办人

(1:主办,0:

经办)

字段名称RUN_ID PRCS_ID USER_ID PRCS_TIME DELIVER_TIME PRCS_FLAG FLOW_PRCS OP_FLAG 表中数据11lisi2005-10-21

14:49:51.000

NULL211

4.2.2.2.3.4>签办反馈留言(flow_run_feedback)

本表数据不变

4.2.2.3>“zhangsan”“转交下步”“办理中的工作”

4.2.2.3.1>建立过程

a>“zhangsan”点击“转交下步”,系统列举出可以转交的下一步骤有哪些;

可以指定下一步骤的“经办人”有哪些;

b>“zhangsan”选择下一步骤为“车间审批”,并指定下一步骤的“经办人”有两个:“李四”、“朗玉刚”;

并指定“主办人”为“李四”,然后点击“转交下一步骤”。

c>“转交下一步骤”后,该工作就会变为“已办结的工作”

4.2.2.3.2>SQL分析

--工作流运行

select * from flow_run

select * from flow_run_data

select * from flow_run_prcs

select * from flow_run_feedback

4.2.2.3.3>结果记录

4.2.2.3.3.1>建立工作(flow_run)

本表数据不变

4.2.2.3.3.2>定义工作可写字段 (flow_run_data)

本表数据不变

4.2.2.3.3.3>工作过程日志(flow_run_prcs)

系统做了以下的事:

a>把(RUN_ID=1, PRCS_ID=1, USER_ID= zhangsan)的记录的DELIVER_TIME,从NULL值改写为“2005-10-21 23:53:37.000”;

b>把(RUN_ID=1, PRCS_ID=1, USER_ID= zhangsan)的记录的PRCS_FLAG,从2改写为3;

c>插入(RUN_ID=1, PRCS_ID=2, USER_ID=lisi)和(RUN_ID=1, PRCS_ID=2, USER_ID=wangwu)两条记录;

4.2.2.3.3.4>签办反馈留言(flow_run_feedback)

本表数据不变

4.2.3>“zhangsan”“已办结的工作”

4.2.3.1>“zhangsan”不理会“已办结的工作”

说明:“已办结的工作”仍然会出现在“zhangsan”的“待办工作”中,但是正常情况下用户是不需要理会的,

因为下一步骤的“经办人”只要接收了该工作,那么“已办结的工作”就会自动从“zhangsan”的“待办工作”中消失。4.2.3.2>“zhangsan”“收回”“已办结的工作”

4.2.3.2.1>建立过程

a>因为在下一步骤尚未接收时可收回本步骤重新办理,所以“zhangsan”点击“收回”;

b>“收回”后,用户“zhangsan”可以重新进行“待办工作”的“办理中的工作”中的三种操作:

4.2.2.1>“zhangsan”“办理”“办理中的工作”

4.2.2.2>“zhangsan”“委托”“办理中的工作”

4.2.2.3>“zhangsan”“转交下步”“办理中的工作”

4.2.3.2.2>SQL分析

--工作流运行

select * from flow_run

select * from flow_run_data

select * from flow_run_prcs

select * from flow_run_feedback

4.2.3.2.3>结果记录

4.2.3.2.3.1>建立工作(flow_run)

本表数据不变

4.2.3.2.3.2>定义工作可写字段 (flow_run_data)

本表数据不变

4.2.3.2.3.3>工作过程日志(flow_run_prcs)

系统做了以下的事:

a>把(RUN_ID=1, PRCS_ID=1, USER_ID= zhangsan)的记录的DELIVER_TIME,从NULL值改写为“2005-10-21 23:53:37.000”;

b>把(RUN_ID=1, PRCS_ID=1, USER_ID= zhangsan)的记录的PRCS_FLAG,从3改写为2;

4.2.3.2.3.4>签办反馈留言(flow_run_feedback)

本表数据不变

4.3>“wangwu”待办工作

4.3.1>“wangwu”“未接收工作”

4.3.1.1>“wangwu”“委托”“未接收工作”

本步骤为会签步骤,不能指定代办人

4.3.1.2>“wangwu”“办理”“未接收工作”

系统做了以下的事:

a>把(RUN_ID=1, PRCS_ID=1, USER_ID= zhangsan)的记录的PRCS_FLAG,从3改写为4;

b>把(RUN_ID=1, PRCS_ID=1, USER_ID= zhangsan)的记录的DELIVER_TIME,从2005-10-21 23:53:37.000改为2005-10-22 00:34:08.000;

c>把(RUN_ID=1, PRCS_ID=2, USER_ID=wangwu)的记录的PRCS_FLAG,从1改写为2;

两条记录;

4.3.2>“wangwu”“办理中的工作”

不是“主办人”只能委托和填写签办反馈意见

4.3.3>“wangwu”“已办结的工作”

不是主办人不能“收回”

4.4>“lisi”待办工作

4.4.1>“lisi”“未接收工作”

4.4.1.1>“lisi”“委托”“未接收工作”

本步骤为会签步骤,不能指定代办人

4.4.1.2>“lisi”“办理”“未接收工作”

系统做了以下的事:

a>

b>

c>把(RUN_ID=1, PRCS_ID=2, USER_ID= lisi)的记录的PRCS_FLAG,从1改写为2;

两条记录;

4.4.2>“lisi”“办理中的工作”

4.4.2.1>“lisi”“办理”“办理中的工作”

4.4.2.2>“lisi”“委托”“办理中的工作”

本步骤为会签步骤,不能指定代办人

4.4.2.3>“lisi”“转交下步”“办理中的工作”

系统做了以下的事:

a>把(RUN_ID=1, PRCS_ID=2, USER_ID= lisi)和(RUN_ID=1, PRCS_ID=2, USER_ID= wangwu)的记录的PRCS_FLAG,从2改写为3;

b>把(RUN_ID=1, PRCS_ID=2, USER_ID= lisi)和(RUN_ID=1, PRCS_ID=2, USER_ID= wangwu)的记录的PRCS_FLAG,从2改写为3;

c>把(RUN_ID=1, PRCS_ID=2, USER_ID= lisi)和(RUN_ID=1, PRCS_ID=2, USER_ID= wangwu)的记录的DELIVER_TIME填写为当前系统时间;

d>插入一行(RUN_ID=1, PRCS_ID=3, USER_ID= admin)

两条记录;

4.4.3>“lisi”“已办结的工作”

可以“收回”,然后重新“转交下步”,具体过程略

4.5>“admin”待办工作

未接收的可以办理、委托;

办理中的可以办理、委托、转交下步;

相关主题