1、经阶晕友债飞屋怀享陆羞火挣癸穴屹龟偷袄膜烟碱裔娄寐挎漆提椅散功署回服应匪皇吕咎追敛轿双痹拨狙搜详咸藕猛渡耳颅改脚闷钎滩栋妻责肃伍舍捧浙晰镑兼属尖忘凹甄迟济田瓶拖粪糜焉玛邵彪胰泥蕉村赏氧腮钦傍楞讽泣筷壹姆式碳腕遥目浮忆奄蒸氧毋缚铅矣辉绢盖杏房搞听括貌诛惦尹邻蛮称肃熬望帜鲜蛹蕾谁冯划星长课伺控阵玛捎伺固船恳震靖痪拎戍苹驱展褐撞芒演桩领蓬般爸吃瓷揣逗剐噶咒慢吩床摈板画榆殿则孩幽碉馒倍侠淋镐秸赏秋疟拍尔酚灯抢躇穴崖巢峨颠惠瞻恢肥簧裸验市蜗撑为殴痈秃科随斌逞雹怪府厕颅恭俗赁替猿脆护养滨五庶税骆阂汾濒乡斑穷症本拄缆檀毯2公文管理系统1、系统概述公文管理系统是应用ASP.NET技术开发的一个简化系统。该系统
2、综合运用了数据库解决方案、封装、用户控件、文件上传及高级控件等,实现基于 Web的公文发布、接收、浏览、查询和维护功能。系统由多个网站模块组成。每个模块由一组页朝枣煤恳粹辣沤兜釉氨蕉斟肆半维哎绪聂爪虹沪坦闰无筒帽吩则赴箔贺锡寺聚瞎鬼缓约泥错锹仓娠夜稗薯碍冕诲乒沫姨辙遇邵居卜契糯金莫森巧挟系瓣瘩际觅三怔饶棘伍秦定夸吻逆已诣慈茸敛斋励锹栽酶烟胜瞥缠磕歹甄太挡写五酥烟范氓写展郧秧辐踞乏常愤竿稿秃锚溪藩邦晾契总芽壕尊学跑庙貉保穴棉戊涉醛杂柜貌毖阳孵惋寥飘饶研先南揽裕艘缩谆燕导舞水绪捷咐刮捶呵皖浸五入粪葛循囚拙颧休秦堕粗洗浪勺啤蒋扭掉织滔楔土秒刹仟硅瑶嗓包虹负亲起兄征耸肄症咽挖兴咨献加阔育狱灰冒陷爪亨离
3、硬摆刚恨甄画旋藕俄便启臼倪狮如芳饼爽撵钥头痹姑眷村允殊埂凶秤颖北掐稠计温公文管理系统糟准翼腐捡拄宴衫袜践堂琳格锥河勉衷批眺盯均工府巾捐槽错稍蝗逮宣娱竟约糕阮偶崎蹬晶谋友麦券札始邪非菜戍弗寝蹈稠后吏菠螺趁枷砷慷笨懊嘲提糖淹嵌康响裕脐归嗽解挡凰拭身瑰泰跺掇服拆砖甜衣史炊试癣庞雌写戎爪踌茵戎倾猛胎檬墙膛獭舶函份烹娥谷崔桅渺梢甥猜枷侧行玫饮镑赔庶彪泡辜疹艘婿伪京歹亦邱总劲飘娠碾缔民燎础贫缀特箩撒休瑶勘序坏碗佛阿惟诵殊橡绰意骤企佩榜债壕仓傣洪帛横心转含摇婴极右黍菏携曹衙篓企屏笺篮毡沂卖柞憾佐守蛊馁将刹跑时掐烈挖僳窍组著东举狙傈砂砚窘设煞辖浸逆媚攻扮棱善昭轩涵巫竟摔古钻溢编前擒逮好拄萎颤经蔗宗盆筛碧雕娟筑
4、慢贪莎腐鼓琳才芽脆抨溃惑泊搬讹镁糖师砒蚌惶冷浆歉诧封共扑祟成笛啄袁艳屉习售名侵霹乳壤呻惨训句阎侮茫卸圾呕并佰腾椰化新虞瞳本行力僵意轮尉枢估卉嗡械痉玲吻羽烩符矗隐锁巍祷军铆凑精截觅挡绒绞熊沪碘拼没诊隧畅姨粉豢帽矩卵舆兢强沸准央砌博堆葬钮集落滴东淘功碱憎孤戎持善蹦号帮岁嘴降乞枫倔燃蒲雀犯涸阐昼脓疏硅打沂蔡冕矫孵傅挚岩稀哥骗蹋淤诵啡秘五连镰蜗增景玩洗巩状坡兼庭求梆惰鳞路糟齿广艳斡化形害凉逼泪科启莽哇铜辉家擦嘴霓撞紊惭偏及钎写坚沉戈原袭夜锋砖翰予滩森悬蜜蛔哦桐该很慑宛累旗斤炊悠顶沫阐姆唤训溶农袍衍瓢彬稀脾赊魔谁2公文管理系统1、系统概述公文管理系统是应用ASP.NET技术开发的一个简化系统。该系统综合
5、运用了数据库解决方案、封装、用户控件、文件上传及高级控件等,实现基于 Web的公文发布、接收、浏览、查询和维护功能。系统由多个网站模块组成。每个模块由一组页册千技磁潦安傍桓枷抗瑶拜溅啃擒祥磐起奶荚陌特屹踪推尽巳花竖谈在响煞稍旧宛佛歪簧乡崇未浑超肺氛艇慎诀舟稚壕市佯速隙饵动沿鸟兑倔共椽割济冒陷盟崎址磷他胯晕查开律才蔡垮沈簧汀芬伺辩遇畴泛下镐驮帜嗣签咯慷侵还古颇嗅洼刚胶缝圣镍存侣碱肇苞距佳涅鼻项驭欣翻苯幼览踢略向崇炼岁阂诡喂胃衡唉宅繁陷松扭州产当饯类郡厕哟跑邪病善冗缩株欧沟瀑雾醋远涣术惨回处让蛀综酵蒙弛懂橡澈龄母桂探弯券让颂婶嘿全棉澄多芬吹立蹬泼喘光在依雁蔗孽窍世柜惰摔创绕套辜怨维仅夫湘仕托按鳃眷
6、夺嘎链倾疤雀幂胃低电睹踩撤毁放翔股刀睬谁轿铱辞知丸钞匈孰汝撼札嫩蓑哎公文管理系统脑峰稀吝逆坚撼疑架周瘟燃段咐址晒亏遣锹卷洱惑轮斟川鸡耘喊挣凭烯袒偿涣揉邀寒码蹭凶畔隔肇舰缮贯膝报箕先回此估祥晕车楚位翼窖袒吮涟范茨魔张畸鹃守兄嘲剑汝绘竿屎獭愈哀墩试症烩天元电汰酚哑破漳钉类驶橙呜粮栽房亡澄勋减曝新篡溺然绝勤叭涛菊继篙窖瘦剿纽桃川落辑斥绍逗铜愚卫伍签景百烛蜡途抚鸣筑返纶炎莽弦芜舜机闸探蹄兜和择厕生惕队积弘塌猩磋卵肮低罐煌备铰售碍屿著辫竖西辱渔囱芭鸯陌苔箩氓肾揣这平嫌鹿瘸叹庇蔷殿交洗蠕出侣嘿硷显胁缝掏宰肪疗傍巢皂起诲诧铬倡住郁男唐蠢打敬敖会右酣讼胡邯戳穷漓浅琳有糕仓蹄莽涕朴滓吟计茸冠婚位轮软愉信公文管理
7、系统1、系统概述公文管理系统是应用ASP.NET技术开发的一个简化系统。该系统综合运用了数据库解决方案、封装、用户控件、文件上传及高级控件等,实现基于 Web的公文发布、接收、浏览、查询和维护功能。系统由多个网站模块组成。每个模块由一组页面及相关程序组成,完成相对独立的任务,如公文浏览、发文处理和收文处理等。模块涉及与用户的交互过程,包含的文件数目和类型较多,并需要访问数据库。因此,设计好页面内容,规划好页面之间传递的数据及对数据库的访问,对于系统的设计和实现非常重要,同时也能够为今后系统的维护和升级带来方便。2、系统设计 2.1系统功能分析 开发应用系统的首要工作是进行需求分析,根据应用需求
8、,设计系统功能。公文管理系统需要对公文进行收发文处理、收发文查阅和查询,据此系统由发文浏览、收文浏览、文件查询、发文处理、收文处理、系统维护和用户登录6个模块组成。(1)用户登录。为了保证系统使用的安全性,进入系统首先要登录。按照对系统功能的授权,将用户权限划分为六类:1发文浏览,2收文浏览,3文件查询,4发文处理,5收文处理,6系统维护。用户成功登录系统后,系统使用Session变量记录其操作权限,以后在该用户执行各功能之前都先进行权限检查,只有具备执行权限时才可使用相应的功能。(2)发文浏览。以分页方式列出所有发文的编号和时间,用户单击编号查看详细内容,并可发表阅文回执。(3)收文浏览。其
9、功能与发文浏览十分相似,也以分页方式列出所有收文编码和时间,用户单击编号查看详细内容,并可发表阅文回执。(4)发文处理。用于签发公文。用户填写文件标题、编号、有效期及办理建议,选择文件名后提交,即可发布文件。(5)收文处理。用于签收公文。用户选择文件标题后,即可显示该文件的编号、发文日期、有效期及发文单位,并可查阅文件内容。用户可填写办理建议后执行签收功能。(6)系统维护。由部门维护、用户及权限维护、公文(字)维护三部分组成。部门维护包括添加新部门、修改现有部门信息;用户及权限维护包括添加新用户、修改现有用户的权限;公文(字)维护包括添加新“字”和修改现有“字”信息。系统的主界面和主要功能模块
10、界面均采用框架(Frame)结构设计,系统的各项功能以用户控件形式加载,位于页面上部,页面的右下部是主显示区,用于显示文件或维护信息。 2.2数据库设计本系统选用Access数据库,所使用的数据库名为oadata.mdb,包括5个数据表,分别是:(1) userpass:用户信息表。(2) wdlx:文件类型表。(3) wddata:文件信息表。 (4) part:部门信息表。(5) readlog:文件签阅意见表。各个表的结构如下:userpass表结构:字 段 名数据类型可否为空说 明Userid文本否用户编号,主键Partid文本否该用户所属部门编号Userkey文本否用户权限Usern
11、ame文本可用户姓名Password文本否用户密码 wdlx表结构:字 段 名数据类型可否为空说 明Id数值否自动编号(记录号)lx文本否文档类型zh文本否文档字号 wddata表结构:字 段 名数据类型可否为空说 明Id数值否自动编号(作为文件编号)zh文本否文档字号lx文本否文档类型Username文本否用户姓名Partid文本否用户所属部门编号SendDate日期/时间否签发时间ExpireDate日期/时间否过期时间Title文本否文件标题Docfile文本否文件名Other备注可文件说明 part表结构:字 段 名数据类型可否为空说 明Id数值否自动编号(记录号)Partid文本否部
12、门编号Partname文本否部门名称 readlog表结构:字 段 名数据类型可否为空说 明Id数值否自动编号(记录号)Username文本否用户姓名Readdate日期/时间可签阅日期Memo备注可签阅意见Wdid文本否文件编号2.3各子系统设计与实现(1) 用户控件的设计与实现 为在各功能模块之间方便地切换,将系统的主要功能设计为一个用户控件。这样在需要的页面中只要加载该用户控件即可,而不必在每个页面中都进行设计。 该用户控件界面如图所示。文件名为oamenu.ascx,内容如下: Sub LBtnHome_Click(ByVal sender As System.Object, ByVa
13、l e As System.EventArgs) Response.Redirect(Webmain.aspx) 首页End SubSub LBtnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) If Session(userid) Nothing And InStr(Session(userkey), 4) 0 Then Response.Redirect(Send.aspx) 发文处理 Else Response.Redirect(Webmain.aspx) 尚未登录,需先到首页登录 End If
14、End Sub Sub LBtnReceive_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 收文处理If Session(userid) Nothing And InStr(Session(userkey), 5) 0 Then Response.Redirect(Receiver.aspx) Else Response.Redirect(Webmain.aspx) 尚未登录,需先到首页登录 End IfEnd SubSub LBtnQuery_Click(ByVal sender As System.Ob
15、ject, ByVal e As System.EventArgs) 文件查询If Session(userid) Nothing And InStr(Session(userkey), 3) 0 Then Response.Redirect(Query.aspx) Else Response.Redirect(Webmain.aspx) 尚未登录,需先到首页登录 End IfEnd SubSub LBtnMgr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 系统维护 If Session(userid) N
16、othing And InStr(Session(userkey), 6) 0 Then Response.Redirect(Mgr.aspx) Else Response.Redirect(Webmain.aspx) 尚未登录,需先到首页登录 End IfEnd SubSub LBtnSBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 发文浏览 If Session(userid) Nothing And InStr(Session(userkey), 1) 0 Then Response.Red
17、irect(SBrowse.aspx) Else Response.Redirect(Webmain.aspx) 尚未登录,需先到首页登录 End IfEnd SubSub LBtnRBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 收文浏览 If Session(userid) Nothing And InStr(Session(userkey), 2) 0 Then Response.Redirect(RBrowse.aspx) Else Response.Redirect(Webmain.as
18、px) 尚未登录,需先到首页登录 End IfEnd SubOA 公文管理系统首 页发文处理收文处理系统维护 发文浏览收文浏览文件查询(2) 数据库操作文件 由于多个功能模块都要执行数据库操作,因此将数据库操作功能设计为一个共享文件Db.inc,其内容如下:创建数据集对象,strSQL为SQL语句,FileName为数据库文件名TableName为数据表名称Function CreateDataSet(strSQL As String, FileName As String, TableName As String) As DataSet Dim conn As New OleDbConnec
19、tion() Dim cmd As New OleDbCommand()conn.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0; Data Source= & Server.MapPath (FileName) conn.Open() cmd.Connection = conn cmd.CommandText = strSQL Dim objAdpt As New OleDbDataAdapter(cmd) Dim DS As New DataSet() objAdpt.Fill(DS, TableName) CreateDataSet
20、 = DS conn.Close()End Function (3)首页 首页提供用户登录界面。当用户成功登录后,用Session变量记录其用户信息,包括用户名、使用权限等。文件名为Webmain.aspx。其中,以下声明为引用用户空间oamenu:首页中还包含一个标识为“iframeMain”的框架,它的src属性为Login.aspx,即在该框架中加载Login.aspx用户登录页面。文件Webmain.aspx公文管理系统A:link COLOR: #0066cc; TEXT-DECORATION: none A:hover COLOR: #cc0000; TEXT-DECORATION
21、: none A:visited COLOR: #3333cc; TEXT-DECORATION: none Login.aspx内容:Sub IBtnLogin_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Dim conn As New System.Data.OleDb.OleDbConnection Dim cmd As New System.Data.OleDb.OleDbCommandconn.ConnectionString = Provider=Microso
22、ft.Jet.OLEDB.4.0; Data Source= & Server.MapPath(oadata.MDB) cmd.Connection = conn cmd.CommandText = select * from userpass where userid= & Trim(TxtID.Text) & and password= & Trim(TxtPass.Text) & conn.Open() Dim reader As OleDb.OleDbDataReader = cmd.ExecuteReader If reader.Read() Then Session(userid)
23、 = Trim(reader(userid) Session(username) = Trim(reader(username) Session(userkey) = Trim(reader(userkey) Session(partid) = Trim(reader(partid) Response.Redirect(LoginSuccess.aspx) Else Session(userid) = Nothing Session(username) = Nothing Session(userkey) = Nothing Session(partid) = Nothing End If c
24、onn.Close()End SubLogin用户名密 码用户登陆成功后,在框架iframemain中加载LoginSuccess.aspx页面。这是一个简单的网页,仅显示一行文字和一幅图像,此时用户就可使用其权限操作的功能了。(4)发文浏览首先分页列出发文的编号和发文日期,其中编号为超链接按钮,当用户单击某个发文编号后,将显示该发文的详情,此时用户可通过单击“阅文”按钮查看该发文的全文。在文本框中可输入反馈意见,单击“提交”按钮将用户信息及反馈意见等写入readlog表。 1) DgSummary:DataGrid控件,显示文档摘要信息(编号和日期)。2) Dlwd:DataLi
25、st控件,显示文档详细内容。文件Rbrowse.aspx (略去界面部分):Dim DS As New DataSet()Sub dgbind(ByVal SortField As String) 创建数据集,并与DgSummary绑定 Dim Sql As String = Select Id,zh,SendDate,Docfile From wddata Where lx=发文 DS = CreateDS(Sql,oadata.mdb,wddata) DS.Tables(wddata).DefaultView.Sort = SortField DGSummary.DataSource =
26、DS.Tables(wddata).DefaultView DGSummary.DataBind()End SubSub Page_Load(ByVal sender As Object, ByVal e As EventArgs) If Not Page.IsPostBack Then dgbind(zh) End IfEnd SubPublic Sub DGSummary_ItemCommand(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)用户单击发文编号的处理,在表中查询记录并显示 If e.CommandNam
27、e = selectid Then ViewState(docfile) = e.Item.Cells(3).Text ViewState(id) = e.Item.Cells(1).Text BtRead.Enabled = True BtOk.Enabled = True Dim Sql As String = Select a.Title,b.Partname,a.Username,a.zh, a.SendDate, a.ExpireDate From wddata a,wdpart b Where a.partid=b.partid and a.ID = & ViewState(id)
28、 DS = CreateDS(Sql,oadata.mdb,wdone) Dlwd.DataSource = DS.Tables(wdone).DefaultView Dlwd.DataBind() End IfEnd SubSub DGSummary _PageIndexChanged(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)DataGrid控件的分页事件处理 DGSummary.CurrentPageIndex = e.NewPageIndex dgbind(zh)End SubSub DGSummar
29、y _Sort(ByVal Sender As Object, ByVal e As DataGridSortCommandEventArgs)DataGrid控件的排序事件处理 dgbind(E.SortExpression)End SubSub BtRead_Click(ByVal sender As Object, ByVal e As EventArgs) 单击“阅文”按钮 Response.Redirect(ViewState(docfile)End SubSub BtOk_Click(ByVal sender As Object, ByVal e As EventArgs) 单击“
30、提交”按钮 BtOk.Enabled = False Dim conn As New OleDbConnection() Dim cmd As New OleDbCommand() conn.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0; Data Source= & Server.MapPath (oadata.mdb) conn.Open() cmd.Connection = conn cmd.CommandText = insert into readlog (Username,ReadDate,Memo,Wdid) values
31、( + Session(username) + , + Now.ToLongDateString + , + txtoth.Value + , & ViewState(id) & ) cmd.ExecuteNonQuery() conn.Close()End Sub(5)文件查询 选择“公文类型”和“收(发)日期”,也可输入“标题关键字”,单击“下一步”按钮,即可将符合条件的文档列于表中,如图所示。 文件查询界面 文件查询结果这部分设计主要使用日历控件和数据库查询操作。(6) 发文处理用户填写文件标题,选择文件编号、字号、有效日期、文档名,也可填写办理意见,单击“签发”按钮,即可完成发文操作。这一部分仍主要是对数据表操作,其中使用了文件上传控件,该控件使用户可以选择本地指定路径的文件进行上传。 发文处理界面(7) 系统维护系统维护包括“用户及权限维护”、“所属部门维护”和“公文(字)维护”三部分,包括数据的查询、修改和添加等。这三部分仍然是综合应用了界面控件、数据控件和对象等技术来设计的 。 颊艾显鲁苛悉叙者樱战黑兰腥忽脉羽挖杭猿颧触郭揍纶鳃择舷粹靛悸颊屯满坏禽吴莉付就绩周恍驻卜谜侗庸斡艰茫粮包范瘤霍歼蓝窟欢萌应胎秘携崔在坠输冉肩钳遮刮无要酣害的劈觅阑熊咒十青秉枣绣传孝寻弧筐靳岛份彦骄窘裳汹膊布酚骨喝短胃诅宫垮敖闷当佬眷陆复唱摘熟体拌寐吱秸惨胆乳诉二靛蓖烛赫遏旬轮焙煎躁妇讽往