Welcome 微信登录

首页 / 网页编程 / ASP.NET / asp.net中的报销多级审批工作流

asp.net中的报销多级审批工作流2011-11-04 博客园 姜敏最近正在学习工作流,正好从网上搜索到一个Asp.net工作流(WWF+LINQ)的例子,之前学习MOSS时接触 过工作流,不过那是针对MOSS的工作流,我一直从事B/S架构开发,知道工作流可用于很多环境,其中就包含 asp.net,这让我非常想做一个这样的实例。看了它的源码,大部分都觉的非常不错,不过也有些个人认为 不太满意的地方,这可能是因为作者考虑到只是一个简单的demo,没有必要注意一些非技术方面的细节问 题。

项目介绍:一个报销二级审批工作流,数据层操作采用LINQ TO SQL,虽然MS不再发展示它。

第一级:员工提交报销表给PM(经理),如果数目大于1000RMB,经理如果选择通过审批,工作流会到副 总的二级审批,同时经理可以直接选择拒绝。

第二级:PV(副总),副总收到PM的审批后,可以选择通过或者是拒绝,如果通过,工作流会提交到财 务。由财务最后结束工作流。

流程图如下:

我创建的工作流与原作者的源码有以下几点不同:

1:原文的工作流采用的是状态机工作流,而这里我采用顺序工作流。

2:把数据操作部分和业务逻辑以及页面层功能完全分开,即,只要是和数据访问,操作相关的代码只 允许出现在数据处理层中,而业务逻辑层以及页面层均不允许,页面层只和业务逻辑层沟通,不允许直接 访问数据处理层。

3:工程的命名上有改动,例如:

解决方案名称:ApproveWorkFlow, 页面层叫ApproveWorkFlow.Web。

4:对相关的方法做了适当的改进。

5:增加方法以及文档注释。

项目结构图如下: