郭琰
(陜西省水利電力勘測(cè)設(shè)計(jì)研究院陜西西安710001)
水文資料信息管理系統(tǒng)的開發(fā)及應(yīng)用
郭琰
(陜西省水利電力勘測(cè)設(shè)計(jì)研究院陜西西安710001)
本文簡(jiǎn)述了水文資料信息管理系統(tǒng)的開發(fā)及應(yīng)用。從技術(shù)角度出發(fā),以vs2012、.net framework、SQLserver2012為編程工具,使用c#和sql編程語(yǔ)言,完成本系統(tǒng)的全部功能。本文對(duì)于系統(tǒng)需求和功能等方面進(jìn)行了詳細(xì)分析,闡述了系統(tǒng)的開發(fā)難點(diǎn)和重點(diǎn),以供系統(tǒng)用戶和其他開發(fā)人員應(yīng)用參考。
水文資料信息管理系統(tǒng);PD F;開發(fā)應(yīng)用
在水文作業(yè)分析工作中,需要查閱大量的水文資料,由于許多單位的水文資料大多都是紙質(zhì)的,查詢、瀏覽資料,復(fù)印、摘錄信息等均較為繁雜,攜帶更為不便。于此同時(shí),基于現(xiàn)有部分水文資料實(shí)現(xiàn)了無(wú)紙化,所以開發(fā)水文資料管理系統(tǒng)對(duì)數(shù)字無(wú)紙化的水文資料進(jìn)行管理是非常必要的。
本系統(tǒng)用戶對(duì)象分為兩類,管理員和一般用戶。系統(tǒng)主要方便用戶對(duì)所需水文資料的查閱和打印,提升用戶的查找速度和準(zhǔn)確性。
水文資料信息管理系統(tǒng)的配置要求:
(1)操作系統(tǒng):WindowsXp系統(tǒng)及以上等;
(2)硬件配置:大于或等于8G內(nèi)存,硬盤需要容量在200G以上,優(yōu)質(zhì)的顯卡;
(3)特定技術(shù):.net+SQLserver;
(4)工具:vs2010、.net framework、SQLserver2012;
(5)編程語(yǔ)言:c#、sql;
(6)數(shù)據(jù)庫(kù):SQLserver2012。
水文資料信息管理系統(tǒng)工作流程見(jiàn)水文資料信息管理系統(tǒng)工作流程圖(圖1)。
3.1 登陸
(1)登陸頁(yè)面
要求頁(yè)面簡(jiǎn)約,僅設(shè)兩個(gè)登陸框:用戶名和密碼,用戶名不超過(guò)15個(gè)字符,密碼失敗次數(shù)不設(shè)置上限。頁(yè)面同時(shí)設(shè)置兩個(gè)按鈕:登陸、取消。響應(yīng)時(shí)間控制在1s之內(nèi)。登錄成功即響應(yīng)Response.Redirect(“管理員管理界面.aspx”);
圖1 水文資料信息管理系統(tǒng)工作流程圖
(2)登陸失敗頁(yè)面
跳轉(zhuǎn)至“登陸失敗,重新返回登陸”頁(yè)面。3.2功能模塊簡(jiǎn)述
查詢者模塊
該模塊分為查閱和截圖打印部分。
管理員
該模塊分為增加、刪除、改動(dòng)、查詢水文資料,以及統(tǒng)計(jì)人員信息。
4.1 查詢者模塊
4.1.1 查閱。通過(guò)年代、卷數(shù)、水文資料名稱選擇查詢水文資料,任何字段都未輸入就會(huì)按年代列出全部水文資料。
(1)年代只限年份。
(2)卷數(shù)可以從1到100。
(3)水文資料使用模糊查找。
更新處理時(shí)間限制在2s之內(nèi)??砂促Y料年份索引、排序;排序可由小到大,也可以由大到小。數(shù)據(jù)顯示時(shí)按每個(gè)文件顯示,一個(gè)文件顯示1頁(yè),可以前后翻閱,更新速度在0.3s之內(nèi)。
4.1.2 頁(yè)面打印
通過(guò)插件接口將需要的頁(yè)面打印出來(lái)。
4.2 管理員模塊
(1)增加水文資料:批量向數(shù)據(jù)庫(kù)中傳入圖片地址等文件信息。
(2)刪除水文資料:批量刪除文件地址等信息。
(3)修改水文資料:手動(dòng)替換文件地址,單個(gè)手動(dòng)進(jìn)行。
(4)查詢水文資料:同查詢者的查詢功能。
(5)統(tǒng)計(jì)人員信息:通過(guò)登錄的數(shù)據(jù)對(duì)每日、每月、每年的人員動(dòng)作信息進(jìn)行統(tǒng)計(jì)。
表1 管理員表
表2 管理員日志表
表3 詳細(xì)的水文資料數(shù)據(jù)表
因?yàn)樵O(shè)計(jì)是數(shù)據(jù)庫(kù)中只存入圖片地址,所以吞吐量較小,速度較快。默認(rèn)排序按年代由大到小排列。
數(shù)據(jù)庫(kù)設(shè)計(jì)需3個(gè)表:
(1)管理員表(表1)
主鍵為管理員ID,登記登錄時(shí)間和退出時(shí)間,時(shí)間格式為年月日-時(shí)間。
(2)管理員日志(表2)
主鍵為管理員ID,管理員動(dòng)作為管理員在登入時(shí)間內(nèi)在系統(tǒng)中做出的行為,如表2中的“刪除了編號(hào)為4589623的文件”等。
(3)水文資料表(表3)
主鍵為編號(hào),編號(hào)為唯一碼。存放地址可以是任意硬盤地址,但是最好是統(tǒng)一安排。
本系統(tǒng)需要一臺(tái)計(jì)算機(jī)和一臺(tái)打印機(jī),必要時(shí)需要服務(wù)器支持。考慮到資料的保密要求,只能進(jìn)行水文資料的抄錄或者打印,需要授權(quán)拷貝文件。
質(zhì)量要求屬性如下:
軟件的實(shí)用性和穩(wěn)定性。軟件能夠無(wú)故障的運(yùn)行。對(duì)軟件進(jìn)行修改較為容易,軟件可用性強(qiáng),風(fēng)格簡(jiǎn)明統(tǒng)一。
重復(fù)利用性:其他資料也可以按本系統(tǒng)進(jìn)行管理、可測(cè)試性(查找缺陷較為容易)、可移植性高。
在水文資料信息管理系統(tǒng)中可以對(duì)文件進(jìn)行預(yù)覽和打印,只有管理員有增加刪除修改查詢數(shù)據(jù)及記錄日志的功能。其他用戶只可以查詢、預(yù)覽和打印,不允許拷貝走文檔或者將文檔發(fā)往其它地址。
在用C#語(yǔ)言進(jìn)行軟件開發(fā)時(shí),插件和控件的使用是非常重要且方便的,它可以較大幅度的提高編程效率,同時(shí)提高編程質(zhì)量。
編程的重點(diǎn)及體會(huì)如下:
(1)關(guān)于數(shù)據(jù)綁定。gridview的數(shù)據(jù)綁定,它可以快速的綁定database,直接可視化點(diǎn)擊關(guān)聯(lián)數(shù)據(jù)庫(kù),手寫代碼也適用,使用SqlDataSource如下:
<asp:SqlDataSource ID=“SqlDataSource2”runat=“server”
ConnectionString=“<%$ConnectionStrings:水文資料地址數(shù)據(jù)庫(kù)ConnectionString%>”SelectCommand=“SELECT DISTINCT[卷數(shù)] FROM[swxt]”>
</asp:SqlDataSource>
(2)關(guān)于flexpaper插件的使用。Flexpaper是一個(gè)開源輕量級(jí)的在瀏覽器上顯示各種文檔的組件,使在Flex中顯示PDF成為可能,可以在vs2010中嵌入系統(tǒng)中。Flexpaper的主要功能是將swf格式的文件顯示、放大、縮小、打印和定位等。因?yàn)楸鞠到y(tǒng)要求將掃描文件預(yù)覽和打印,所以在系統(tǒng)中選擇使用了flexpaper插件。但由于flexpaper只能識(shí)別swf格式的文件,所以需要將掃描的PDF文件轉(zhuǎn)換成swf格式的文件。
(3)關(guān)于數(shù)據(jù)格式轉(zhuǎn)換和傳輸。編程中使用flexpaper插件時(shí),遇到的難點(diǎn)是怎么樣轉(zhuǎn)換數(shù)據(jù)然后進(jìn)行傳輸。在參考了flexpaper的API之后,使用PDF2SWF在DOS下的轉(zhuǎn)化命令轉(zhuǎn)換文件類型,將PDF文件轉(zhuǎn)換成為swf格式文件。下載并且安裝SwfTools2.轉(zhuǎn)換PDF到SWF,可以通過(guò)命令行的方式如下C: DATA2014第一卷Paper3.pdf-o Paper3.swf進(jìn)行轉(zhuǎn)換操作。在數(shù)據(jù)傳輸時(shí),通過(guò)使用filepath進(jìn)行數(shù)據(jù)地址的傳輸<cc1:ShowPdfID=“ShowPdf1”runat=“server”FilePath=“pdf/abc. pdf”/>
(4)關(guān)于數(shù)據(jù)導(dǎo)入。將儲(chǔ)存在服務(wù)器的數(shù)據(jù)導(dǎo)入flexpaper的接口,在flexpaper中使用同一個(gè)專用文件地址存儲(chǔ)這個(gè)要轉(zhuǎn)換的文件,將此文件名稱使用同一個(gè)專用的文件名稱及地址,這樣相當(dāng)于每次讀入內(nèi)存的文件被新的文件覆蓋,因此可以省下大量的存儲(chǔ)空間,并且優(yōu)化系統(tǒng)的內(nèi)存占用。
(5)關(guān)于日志。本系統(tǒng)中會(huì)自動(dòng)在數(shù)據(jù)庫(kù)中記錄管理員動(dòng)作,但是統(tǒng)計(jì)用戶的行為是需要管理員登錄受理的。比如,張三借了一本水文年鑒,管理員會(huì)在日志中記錄下詳細(xì)信息。此信息會(huì)按照日期和內(nèi)容自動(dòng)命名日志文件,在固定地址生成新的txt文件,這部分關(guān)鍵代碼如下所示:
System.Windows.Forms.SaveFileDialog obj= newSystem.Windows.Forms.SaveFileDialog();
obj.F=“(*.txt)|*.txt|”+“(*.*)|*.*”;
obj.Name=“文件”+DateTime.Now. ToString(“yyyyMMddHHmm”)+“.txt”;
StreamWriter FileWriter=newStreamWriter (obj.Name,true);F.Write(this.TextBox1.Text);
綜上所述,水文資料信息管理系統(tǒng)很好地解決了繁雜的紙質(zhì)水文資料的查詢、瀏覽、摘錄、打印等電子化問(wèn)題,可方便用戶對(duì)所需資料的查閱、摘錄或打印,提升用戶的查找速度和準(zhǔn)確性。同時(shí),該系統(tǒng)也可用于其它行業(yè)的紙質(zhì)資料、文件及圖書等數(shù)字化管理。陜西水利
(責(zé)任編輯:暢妮)
TP39
A