陳 穎
(天津市冶金科技信息研究所,天津300050)
天津冶金集團OA系統二次開發
陳 穎
(天津市冶金科技信息研究所,天津300050)
針對天津冶金集團OA系統產品功能、業務流程無法滿足企業發展需要的問題,在充分立用現有資源的基礎上,使用.NET技術對OA系統進行二性開發,使該系統實現了最佳應用效果,提高了集團工作效率,節約了開發成本。
OA辦公系統;.NET技術;二次開發;實現
天津冶金集團(控股)有限公司辦公自動化系統(以下簡稱OA系統)是天津冶金集團于2001年基于NT4.0操作平臺自主研發的一套B/S架構的OA辦公軟件。在使用初期,OA系統在節約成本、提升集團各部室辦公效率方面發揮了很大作用。但由于當時開發技術和開發環境的局限性,以及十余年期間集團辦公流程變動等諸多原因,OA系統已不能全面滿足冶金集團自動化辦公的需求。
經過深入調查了解,發現OA系統在運行中存在如下幾方面的問題:
2.1 日期查詢控件無法正常運行,系統反饋的查詢記錄雜亂無序
行政辦登記發文、行政辦發文登記記錄、行政辦下發發文、黨辦發文登記、黨辦發文登記記錄、發文管理、行文中發文、待轉發文、簽發發文、發文檔案、收文登記、收文登記記錄、收文管理、行文中收文、待轉收文、完結收文、收文檔案等操作界面中,查詢日期控件均無法正常運行,需人工手動輸入日期后,才能實現相關查詢、提交表單功能,同時,系統反饋的查詢記錄雜亂無序。
2.2 發文打印功能與行政辦下發公文功能冗余重復
分配公司行政文書、公司秘書角色的OA帳戶中,發文打印功能與行政辦下發公文功能冗余重復。
2.3 帳戶時常無法正常登錄
系統用戶的帳戶時常無法正常登錄。
2.4 無法進行檔案信息化管理
OA系統自2001年上線以來,數據庫中已存儲大量公文數據,但歸檔工作信息化無法實現,檔案公文網上不能查詢、借閱,檔案管理人員無法進行檔案信息化管理。
在可行性研究和需求分析工作完成后,對OA系統展開二次開發工作。
3.1 二次開發原則
針對上述存在問題,本次對OA系統的二次開發是基于充分利用OA系統現有資源,不改變其原有體系結構,合理設置系統功能的原則,對系統進行適用性改造和功能性擴充。
3.2 適用性改造
針對2.1節問題,修復系統源文件中的錯誤代碼。開發日期控件,對行政辦登記發文、行政辦發文登記記錄、行政辦下發發文、黨辦發文登記、黨辦發文登記記錄、發文管理、行文中發文、待轉發文、簽發發文、發文檔案、收文登記、收文登記記錄、收文管理、行文中收文、待轉收文、完結收文、收文檔案等操作界面對應的源文件中原有日期控件代碼部分進行替換。
修改sql查詢語句,實現查詢結果按數據表中某字段值排序,以發文登記記錄查詢語句為例:


從發文記錄數據表fajl數據表中,通過約束條件進行查詢后,查詢結果以xdate字段值做降序排列。如未達到約束條件,查詢結果以xvhao字段做升序排列。具體反映在軟件運行過程中,用戶通過設置選擇范圍,單擊查詢按鈕后,系統反饋的查詢記錄信息以發文起草時間降序排列,最新發文在列表頂部顯示。如數據庫中無符合條件的查詢結果,則所有發文記錄按發文序號升序排列顯示,如圖1所示。

圖1 發文登記記錄查詢結果
針對2.2節問題,修改webmanager數據庫中相關的i_role數據表,刪除打印管理角色中發文打印權限記錄對應的role_power項數值。
針對2.3節問題,通過分析數據庫日志得知,數據庫中存儲用戶帳戶數據信息的ren數據表中數據記錄不定期被不明程序隨機刪除。
SQL server數據庫提供保證數據完整性的方法——觸發器(trigger),作為與表事件相關的特殊的存儲過程,其執行僅由事件來觸發,如對一個表進行insert、delete、update操作時就可激活觸發器執行。利用觸發器上述工作原理,我們編寫相關代碼如下,當不明程序企圖對ren數據表進行delete操作時,激活該觸發器執行,從而達到禁止刪除該數據表中數據記錄這一行為發生。
代碼如下:
CREATE TRIGGER [TRIGGER forbid] ON dbo. ren
FOR delete
as
IF @@ROWCOUNT > 0
BEGIN
ROLLBACK TRANSACTION
RAISERROR ('不能刪除該表的數據!',16,10);
RETURN
END
return
3.3 功能性擴充
針對2.4節的問題設計開發檔案管理子系統。
3.3.1 檔案管理子系統架構(見圖2)
子系統架構設計中,采用.NET Framework框架結構,并依據B/S分層模式將系統分為4層,自上到下分別為:
3.3.1.1 表述層
通過web頁面,提供良好的人機交互界面。
3.3.1.2 業務邏輯層
實現檔案管理、檔案查詢、檔案借閱、信息統計、系統維護等業務邏輯。
3.3.1.3 O/R映射層
通過ADO.net控件完成業務邏輯層與數據庫層之間映射關系。
3.3.1.4 數據庫層
負責存放和管理應用的持久性業務數據[1]。

圖2 檔案管理子系統架構
3.3.2 檔案管理子系統工作流程(見圖3)
3.3.3 檔案管理子系統功能架構(見圖4)
3.3.3.1 檔案管理模塊
針對集團各部室所有行文,按年限進行分類歸檔。需要歸檔案室的公文,經過文件分類、文件移交打包,文件接收等操作,完成歸檔工作。對不需要歸檔案室的公文,各部門自行歸檔。
3.3.3.2 檔案查詢模塊
通過部門、年限、題名、關鍵詞、文號(總收文號、原編字號、轉發號、發文號)等約束條件,為OA用戶提供檔案信息和檔案記錄情況查詢。
3.3.3.3 檔案借閱模塊
完成OA用戶檔案網上借閱和歸還功能,同時提供給檔案管理員檔案流出方向、歸還情況等信息分析。針對逾期不還的檔案,具有強制收回借閱者該檔案借閱權限的功能。檔案借閱流程見圖5。
3.3.3.4 信息統計模塊
具有檔案借閱信息統計和檔案分類信息統計兩項功能。
3.3.3.5 系統維護模塊
備份檔案數據和操作日志;為OA用戶分配檔案借閱權限。
3.3.4 與OA接口
實現OA系統中數據自動歸檔到檔案管理系統,實現文檔一體化管理。即OA中的所有行文通過接口自動轉入到檔案管理系統,從而減少了檔案人員重復再次錄入的過程,很大程度降低了檔案收錄的工作量。

圖3 檔案管理子系統工作流程

圖4 檔案管理子系統功能架構

圖5 檔案借閱流程圖
4.1 單元測試
單元測試(unit testing)是指對軟件中的最小可測試單元進行檢查和驗證[2]。對于單元測試中單元的含義,一般來說,要根據實際情況去判定其具體含義,在本文里我們定義OA系統的每個功能模塊為最小可測試單元。
在編寫單元測試代碼時要考慮到所測試方法的代碼覆蓋率必須達到100%、所測試的代碼內部的狀態、被測試代碼所使用的外部設備的狀態等3個方面。
使用Microsoft Visual Studio 2005中測試專用組件來完成OA系統的單元測試工作。該組件能夠提供給單元測試、壓力測試、代碼覆蓋率等測試相關的功能,無需再借用第三方的測試工具來進行這些測試。
4.2 集成測試
集成測試,即組裝測試或聯合測試,是單元測試的邏輯擴展。在已經完成的單元測試的基礎上,將所有模塊按照系統結構圖組裝成為子系統或系統后,進行集成測試,保證各部分工作是否達到或實現相應技術指標及要求。這就有效防止某些模塊雖能獨立工作,但連接起來并不一定能正常工作的情況的發生。集成測試是以《軟件概要設計規格說明》作為主要標準。
4.3 試運行
在冶金集團機房依托現有網絡環境設備,在空閑的聯想服務器上完成軟件設置工作,搭建OA系統運行的模擬環境,如表1所示。運行二次開發后的OA系統程序,按需求說明的條款,集團用戶逐一驗證和落實系統的功能模塊和性能要求。在試運行6個月無誤后,系統正式上線。

表1 系統運行環境
OA系統二次開發正式上線運行后,以2012年為例,冶金集團累計發布公文1 008件,其中發文401件,收文607件。對人勞部、財務部、審計部等20余部室公文進行歸檔處理,總計歸入檔案室492件,其中永久194件,長期63件,短期235件。
對比市場同類產品,僅購買網絡版檔案管理軟件一項就需花費人民幣85萬元,加之無需重新錄入多年來的電子檔案,大大降低了人力成本。二次開發OA系統,市場上同類軟件公司針對客戶此種個性化需求,會提高相應的開發成本。同時,如外包給市場上軟件公司還存在集團公司文件商業機密保密問題。
綜上所述,天津冶金集團OA系統二次開發工作的實施,在提高集團工作效率、節約成本方面效果顯著。
[1] 顧宗林.IPv6網絡數據流監測技術的分析與測試[D].北京:北京交通大學,2008.
Secondary Development and Implementation of Office Automation System in Tianjin Metallurgy Group
CHEN Ying
(Tianjin City Metallurgy Science and Technology Information Institute, Tianjin 300050, China)
The product function and business process of Office Automation System in Tianjin Metallurgy Group could not meet the requirement of enterprise development. On basis of making full use of existing resources, Office Automation System is developed for the second time with .NET technology to achieve best application effect. The working efficiency in the group is improved and development cost saved.
Office Automation System; .NET technology; secondary development; realization
10.3969/j.issn.1006-110X.2014.05.012
2014-05-10
2014-06-07
陳穎(1981—),女,天津人,工程師,主要從事網絡信息化方面的研究工作。