审批的流程要可以由用户自定义,流程定义好后,在执行的过程中有可能会直接跳转到最后一个环节,以前没有做过这方面的,也看了一些关于工作流的资料,但是还是不够清楚,数据库都不知道怎么设计,哪位有示例的,请指点,哈哈
解决方案 »
- 请问DataGridView如何在输入完值后获取所输入的内容
- 在怎么添加sheet2,和sheet3
- 自定义组件 (继承ListView) 里面设置透明色时加入以下代码,结果是透明了,但是里面的文字也看不到了,请问咋整?
- 这个正则表达式怎么写?
- DataGrid的Updata()命令的使用?
- 谁告诉我这是为什么
- 请问一下我在VS2010中创建好了EF的EDMX文件,然后怎么样才能让其在SQLSERVER生成数据库呢?
- 关于js中使用ActiveXObject问题。js调用封装的dll问题。
- 2个DataTable合并交集的问题。
- 这个Text的值怎么在窗体间传递交换呢?耗时2周,未解其中缘由,急!
- 数据库中查询效率问题
- 用.net如何制作安装程序
可以去参照下轻量级工作流引擎的标准. 最终还是通过参数去扭转流程.
定义操作,步骤,步骤参数,变迁规则等. Sql+windows Service+Page 实现
[email protected]
谢谢了
表一:流程步骤表(客户制定)包括以下字段,有其他需要可以追加
id name index power
0 流程1 0 0
1 流程2 1 0
2 流程3 2 1
3 流程4 3 0
4 流程5 4 0
id是代表此流程id name是流程名称 index是表示处理流程的顺序,按照此顺序进行流程处理,正常情况下没有跳转,另外根据你的情况可以在某些情况下直接结束这个流程,就是用power字段0部可以,1可以结束
其实中途结束流程,可以和用户权限组来进行判断,就不需要这个power字段在你的job表中就会有一个workstate字段对应这个流程表,察看是在哪个处理流程了
个人想法
对于流程的控制,如果存在很多特殊情况下,先不考虑特殊情况,先把正常情况流程走通,然后增加控制字段或者表来进行特殊情况判断,这样可能效率低,但是好理解!一家之言,高手来点评指正
我现在建的表:
sys_flow_template:
tempid 模板ID
tempname 模板名sys_template_node:
tempid 模板ID
nodeid 节点ID
nodename 节点名下面可能要建个 业务类型对应模板ID的表。但是我现在还是不能够融会贯通起来,哪位高手能详细的讲解一下吗,如果能给出数据库结构那就更好了
不过我要晚上比较晚才会上,公司不能用
呵呵你不急的话,晚上联系我
你的那中做法我知道,但是我这里的情况比较特殊,审批的流程是由用户自己来定义的
流程名 process_name char
节点id node int
节点名 node_name char
用户名user_name char
权限 user_priority int
唯一id sub_process_id int
这样可以对应可以配置各类流程,并且在流程中在配置环节,一级二级审核什么的。
ID √ √ bigint 8 19 0 实际审批项目流程,主键标识值
LinkExecItem bigint 8 19 0 √ 所属实际审批项目
LinkFlow bigint 8 19 0 √ 所属审批流程
FlowName varchar 64 64 0 √ 流程名称
FlowStep bigint 8 19 0 √ 步骤顺序
Content varchar 512 512 0 √ 审批内容
IUser bigint 8 19 0 √ 审批用户标识
SUser varchar 64 64 0 √ 审批用户名称
TimeApprove datetime 8 23 3 √ 审批时间
c_approve_exec_item
ID √ √ bigint 8 19 0 实际审批项目,主键标识符,
LinkItem bigint 8 19 0 所属审批项目
Title varchar 255 255 0 √ 标题
TableName varchar 64 64 0 √ 此审批项目所关联的表
PrimaryValue varchar 64 64 0 √ 审批表主键值
ApproveState int 4 10 0 √ 审批状态(开始/正在进行/完成)
TimeStart datetime 8 23 3 √ 开始时间
TimeEnd datetime 8 23 3 √ 结束时间
FileName varchar 64 64 0 √ 附件文件名,当使用附件时,表名数据字段失效.,
Annex image 16 2147483647 0 √ 审批的附件
c_approve_exec_log
ID √ √ bigint 8 19 0 审批流程执行日志,主键标识符
LinkExecItem bigint 8 19 0 √ 所属当前执行审批项目关联
IUser bigint 8 19 0 √ 审批人标识符
SUser varchar 64 64 0 √ 审批人
TimeExec datetime 8 23 3 √ 执行时间
LogContent varchar 255 255 0 √ 日志信息
c_approve_flow
ID √ √ bigint 8 19 0 审批项目流程,主键标识符,
LinkItem bigint 8 19 0 与审批项目关联
FlowName varchar 255 255 0 √ 审批流程名称
PowerValue bigint 8 19 0 √ 审批此流程所需的权限值
OrderID bigint 8 19 0 √ 流程顺序号
c_approve_item
ID √ √ bigint 8 19 0 审批项目,主键标识符
ItemName varchar 255 255 0 √ 审批项目名称
Term int 4 10 0 √ 审批期限(天)
UrlName varchar 255 255 0 √ 显示审批内容地址
TableName varchar 64 64 0 √ 待审批表名称
IsDefault bit 1 1 0 √ 是否该表默认选项
c_approve_power
ID √ bigint 8 19 0 审批权限表 唯一标识号
PowerName varchar 64 64 0 √ 权限名称
Explain varchar 255 255 0 √ 权限说明
OrderID bigint 8 19 0 √ 权限排列顺序
--------------------
www.notsoft.cn