胡勝利+武西康+萬晉軍
摘要:針對鳳臺縣水利局水資源管理公文依然采用手工管理的現狀,提出了公文自動生成系統(tǒng)的設計方案。根據系統(tǒng)需求分析,給出了系統(tǒng)結構設計,重點對其中的關鍵技術進行了詳細描述,包括自動生成公文和數據庫的存儲。系統(tǒng)采用OLE技術和RAD開發(fā)工具Delphi來實現,通過系統(tǒng)的實際運行,證明了方案的正確性。
關鍵詞:OLE;公文管理;Delphi;RAD
中圖分類號:TP317 文獻標識碼:A 文章編號:1009-3044(2016)04-0084-03
Research and Design of Document Management System Based on OLE
HU Sheng-li1, WU Xi-kang1, WAN Jin-jun2
(1. School of Computer Science And Engineering, Anhui University of Science and Technology, Huainan 232001, China; 2. Anhui Huainan Water Conservation Bureau, Huainan 232001, China)
Abstract: Aiming at the manual method for document in Fengtai water conservation bureau, the design of document management system is given. Firstly, according to the requirement analysis, it introduces the design of system structure. Secondly, the key points are described in detail, include the automatic creation of document and query of database. Finally, the system is realized by Delphi and OLE. It has been proved by application that the system has good reliability.
Key words: OLE; document management; Delphi; RAD
1 背景
目前,鳳臺縣水利局水資源管理中的許多文件依然采用手工管理方式。隨著水資源管理的日趨嚴格,公文數目逐漸增多,手工管理方式逐步無法滿足需要,如公文的查找效率較低。特別是管理人員記不清楚公文的具體年份、標題等內容時,在紙質歸檔公文中無法進行基于內容的模糊查詢。另外,紙質公文的管理、維護、防腐等也需要大量的人力、物力支持[1]。
本文利用OLE技術和數據庫管理技術,設計了一個公文自動管理系統(tǒng)。在不改變用戶公文撰寫流程的前提下,完成了電子公文的自動生成、打印、歸檔和查詢等功能,大大提高了管理和辦公的效率。
2 系統(tǒng)分析和設計
根據水資源公文管理的需要,系統(tǒng)功能包括公文的自動生成、公文存檔、公文查詢、系統(tǒng)設置四個主要模塊,如圖1所示。
1)公文的自動生成:根據現有的公文模板或已經歸檔的歷史公文來撰寫新的公文。用戶只需修改公文的相關內容即可,如公文發(fā)文時間、文號、標題等。公文格式執(zhí)行《國家行政機關公文格式》國家標準(GB/T9704-1999)[2]。
2)公文的存檔:將公文信息存入數據庫,以方便將來查詢。采用單個公文存儲和批量存儲兩種方式。另外,還可以將領導簽字照片等附件一同存儲,這樣可保證公文信息的完整性。
3)公文查詢:對已經存儲到數據庫中的公文進行歷史查詢。支持的方式有自定義條件的精確查詢、模糊查詢外和基于內容的查詢等多種方式,以提高查詢效率。
4)系統(tǒng)設置:完成系統(tǒng)各個功能模塊的設置。如部門管理模塊、用戶管理模塊、權限設置、數據庫連接模塊和數據備份模塊等。
3 關鍵技術
系統(tǒng)中關鍵部分的實現主要包括以下內容:1)公文的自動生成;2)公文在數據庫中的存取操作。
3.1 公文自動生成功能
公文的自動生成主要是利用各種現有的模板模板自動生成符合要求的各種文檔。目前現有的各種模板主要是水政執(zhí)法管理的各種文件,比如征收水土保持補償費的通知、水行政處罰告知書等。主要公文類型如圖2所示:
根據公文的文件格式,系統(tǒng)利用OLE技術來調用微軟的WORD軟件來完成公文自動生成[3,4]。主要實現步驟為:
1)在WORD軟件中定義各個公文的模板文件并存儲。比如取水行政許可決定書可命名保存為qushui.dot。
2)分別對各個模版文件中需要插入公文內容的地方設置書簽Bookmark。
3)利用OLE在代碼中打開模板文件,對定義的Bookmark進行內容賦值。
核心代碼如下:
var
wordapp:Variant;
try
wordapp:=GetActiveOleObject('word.Application'); //------------生成OLE對象
except
wordapp:=CreateOleObject('word.Application');
end;
for I := 1 to wordApp.ActiveDocument.Bookmarks.Count do
begin
ItemIndex := I;
vBookMark := wordApp.ActiveDocument.Bookmarks.Item(ItemIndex); //--定義書簽
if LowerCase(vBookMark.Name) = 'hedaocsnd' then
begin
vBookMark.Select();
wordApp.Selection.InsertAfter(trim(edit1.text)); // 插入公文內容
end;
end;
3.2 公文存儲在數據庫中的方式
為了能實現基于公文內容的查詢,提高查詢效率,系統(tǒng)除了將公文的關鍵字等信息保存在數據庫中外,還將正文內容以二進流的方式存儲到數據庫中。在Delphi中對數據流的操作通過TStream類實現,如圖3所示。使用TMemoryStream 和TBlobStream兩個子類來實現公文正文內容的存儲。
核心代碼如下:
var
MS: TMemoryStream;
str: string;
begin
MS := TMemoryStream.Create; // 生成TMemoryStream對象
edit1.text.savetostream(MS);
str.savetostream(MS)
ADOQuery2.SQL.Add('insert into 公文 values(:str)'); //把內容保存到數據庫中
ADOQuery2.parameters.parambyname('str').value.loadfromstream(MS);
end;
4 系統(tǒng)實現
系統(tǒng)采用Delphi 7.0作為開發(fā)工具[5],數據庫服務器安裝MS SQL 2005 Server。目前,該系統(tǒng)運行良好,有效地提高了公文的管理效率。公文生成的運行界面如圖4所示。
5 結束語
本文使用OLE和SQL數據庫技術設計,設計和實現了一個公文自動管理系統(tǒng),給出了系統(tǒng)的結構設計和實現的關鍵代碼。隨著互聯網的普及,公文的在線自動生成管理將是下一步研究的目標。
參考文獻:
[1] 單玉剛, 張榮茂. 面向電子政務的公文管理系統(tǒng)開發(fā)與應用[J]. 小型微型計算機系統(tǒng), 2003, 24(3): 606-607.
[2] 楊忠. 公文格式編輯自動化設計與實現[J]. 通訊世界, 2015(23).
[3] 梁海珍. 公文自動生成系統(tǒng)的設計與實現[J]. 計算機時代, 2008(9): 65-66.
[4] 楊武. 電子公文管理系統(tǒng)設計與實現[J]. 電腦知識與技術, 2008, 4(3): 631-632.
[5] 吳志輝. 用Delphi 開發(fā)共享軟件[M]. 北京: 化學工業(yè)出版社, 2009.