ASP.NET公文管理系统的设计与实现

摘 要

随着网络信息化的高度发展,传统的以字符为主题的信息传播形式已不再满足需要。基于Web的办公系统显得越来越必要。本系统正是为了满足这样的需求而设计开发的。程序在Visual Studio 2003平台下使用VB.NET编程语言,数据库使用SQL SERVER 2000。

本公文系统实现了公文处理的自动化流转,包括公文起草、已发公文、待办公文、已办公文、公文委托、流程监控以及类别定制。系统完成了创建公文流的路径;起草的公文能按照已创建的公文流路径流转;能对其起草的公文进行统计及实时的监控;能够查看自己审批过的公文;能委托其他人代自己审批公文;能够添加、维护人员信息。

关键词 **:**公文管理系统;B/S模式;VB.NET;SQL SERVER

  1. 开发环境

1.1 NET框架

Visual Studio.NET是Microsoft公司推出的具有战略性发展的新一代开发平台,Visual Studio.NET框架将Microsoft公司所有编程语言的开发环境同意起来,并且可以创建、配置和运行Web服务以及Windows平台的应用。在.NET框架中,所有的编程语言,从高层JavaScript到低层的C++语言,一律是等同的,他们都将生成托管代码,并且可以一次编写,随处运行。.NET框架还可以使不同的语言进行交互,即一种语言可以使用另一种语言所编写的组件。

1.2 ASP.NET的工作原理

在多数场合下,可以将ASP.NET页面简单地看成一般的HTML页面,页面包含标记有特殊处理方式的一些代码段。当安装.NET时,本地的IIS Web服务器自动配置成查找扩展名为.aspx的文件,且用ASP.NET模块(名为aspnet_isapi.dll的文件)处理这些文件。

从技术上讲,ASP.NET模块分析ASPX文件的内容,并将文件内容分解成单独的命令以建立代码的整体结构。完成此工作后,ASP.NET模块将各命令放置到预定义的类定义中(不需要放在一起,也不需要按编写顺序放置)。然后使用这个类定义一个特殊的ASP.NET对象Page。该对象要完成的任务之一就是生成HTML流,这些HTML流可以返回到IIS,再从IIS返回到客户。简言之,在用户请求IIS服务器提供一个页面时,IIS服务器就根据页面上的文本、HTML和代码(这对我们来说是最重要的)建立该页面。

1.3 VB.NET

VB.NET采纳了包括Java在内的许多其它面相对象编程语言的功能和特点。Visual Basic .NET把基本数据类型(字符串、整型、双精度等等)转换成带有属性和方法的对象;它还引入了Java类型的错误捕获机制(用Try和Catch);VB.NET还把代码编译成微软中间语言(Microsoft Intermediate Language,IL);它还提供了基于XML的应用程序配置。更重要的是设计面向对象解决方案的能力可以用任何语言实现。在本文中,我将比较Visual Basic .NET语言和Java;不过与其它面相对象编程语言来说,VB.NET现在本质上在走它自己的路。

1.4 MVC介绍

MVC(Model/View/Controller)是一个设计模式,是国外用得比较多的一种设计模式, MVC包括三类对象。Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

模型(Model):模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑。

视图(View) :视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。

控制器(controller) :控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。

2.1 公文流的实现代码

取得当前用户待批的公文,根据当前用户ID取得当前用户待批的公文列表。

Public Function GetCurUserWaitDealDocList(ByVal StrStoreParam As String, ByVal UserID As String) As DataSet

Dim DocData As DataSet

'调用数据库访问对象,取得数据

With New DataAccess.WorkFlow.DataAccess. WorkFlowClass

DocData = .GetCurUserWaitDealDocList

(StrStoreParam, UserID)

End With

If Not DocData Is Nothing Then

'判断是否取得了数据

If DocData.Tables(0).Rows.Count <> 0 Then

GetCurUserWaitDealDocList = DocData

Else

GetCurUserWaitDealDocList = Nothing

End If

End If

End Function

4.2 数据管理代码

新增用户,保存用户输入的用户信息的实现代码。

Public Function AddUser(ByRef StoreParam As String, ByVal strUserName As String, ByVal strUserRealName As String, ByVal

strPassWord As String, ByVal strDepID As String) As String

Dim OperFlag As Integer

Dim returnValue As String

With New DataAccess.WorkFlow.DataAccess.Users

'取得操作的状态值

OperFlag = .AddUser(StoreParam, strUserName, strUserRealName, strPassWord, strDepID)

End With

If OperFlag <> 0 Then

returnValue = "添加成功!"

ElseIf OperFlag <> -1 Then

returnValue = "对不起,该用户名已经存在!"

Else

returnValue = "对不起,保存用户名时出现异常,请联系管理员!"

End If

AddUser = returnValue

End Function

结 论

公文管理系统建设并不是简单的技术引进,它的建立涉及部门的内部制度、资源分配、职责划分、人员素质等各个方面,受到多种因素的制约和影响。

本文是从软件开发的需要来研究软件过程模型的。所提出的软件模型,实现了公文管理系统的重要功能。实现了灵活定义工作流程。工作流程发生变化后,可以新建,也可在原流程图上做适当地修改。

相关推荐
凡人的AI工具箱9 分钟前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang
java亮小白199717 分钟前
Spring循环依赖如何解决的?
java·后端·spring
2301_8112743134 分钟前
大数据基于Spring Boot的化妆品推荐系统的设计与实现
大数据·spring boot·后端
草莓base1 小时前
【手写一个spring】spring源码的简单实现--容器启动
java·后端·spring
Ljw...1 小时前
表的增删改查(MySQL)
数据库·后端·mysql·表的增删查改
编程重生之路1 小时前
Springboot启动异常 错误: 找不到或无法加载主类 xxx.Application异常
java·spring boot·后端
薯条不要番茄酱1 小时前
数据结构-8.Java. 七大排序算法(中篇)
java·开发语言·数据结构·后端·算法·排序算法·intellij-idea
qq_174482857510 小时前
springboot基于微信小程序的旧衣回收系统的设计与实现
spring boot·后端·微信小程序
锅包肉的九珍10 小时前
Scala的Array数组
开发语言·后端·scala
心仪悦悦10 小时前
Scala的Array(2)
开发语言·后端·scala