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

结 论

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

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

相关推荐
Q_192849990611 分钟前
基于Spring Boot的九州美食城商户一体化系统
java·spring boot·后端
ZSYP-S40 分钟前
Day 15:Spring 框架基础
java·开发语言·数据结构·后端·spring
Yuan_o_1 小时前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
程序员一诺2 小时前
【Python使用】嘿马python高级进阶全体系教程第10篇:静态Web服务器-返回固定页面数据,1. 开发自己的静态Web服务器【附代码文档】
后端·python
DT辰白2 小时前
如何解决基于 Redis 的网关鉴权导致的 RESTful API 拦截问题?
后端·微服务·架构
thatway19893 小时前
AI-SoC入门:15NPU介绍
后端
陶庵看雪3 小时前
Spring Boot注解总结大全【案例详解,一眼秒懂】
java·spring boot·后端
Q_19284999063 小时前
基于Spring Boot的图书管理系统
java·spring boot·后端
ss2733 小时前
基于Springboot + vue实现的汽车资讯网站
vue.js·spring boot·后端
一只IT攻城狮4 小时前
华为云语音交互SIS的使用案例(文字转语音-详细教程)
java·后端·华为云·音频·语音识别