摘要:針對電力企業工會實施信息化、分級化管理的需求,該文介紹了電力公司下屬供電企業工會工作開展的現狀與存在的問題。在.NET環境下實現了基于Web方式的工會管理系統,較好的解決了工會工作中數據處理及數據統計的實際問題。
關鍵詞:Web應用;NET;水晶報表
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2009)25-7147-02
The Realization of Union Management System
HUANG Kun
(Sichuan Electric Vocational And Technical College,Chengdu 610072,China)
Abstract: According to the implementation of information technology and management needs of classification in Power enterprise unions, This article describes the power supply enterprise unions affiliated power companies to carry out the work of the status quo and existing problems. In the. NET environment to achieve Web-based management system for the trade union, solve the problem of the union work in the data processing and data statistics.
Key words:web application; .NET; crystal reports
在我國電力企業中,數字化、信息化的發展很不平衡。作為主業的生產與營銷部門在工作的決大部分環節都實現了信息化,而各單位的工會工作仍停留在較低的信息化水平上。資料管理、信息傳遞、信息共享仍延用傳統手段,大多數工作仍停留在手工方式或電子表格的簡單處理。由于各電業局工會的日常業務相當復雜。如何快速地交換信息,以協調各個環節,為職工提供準確、高效、優質的服務,是一個急需解決的問題。因此為電業局工會設計一個通用的工會管理系統可以使電業局工會更好的開展工作并方便對基層供電局工會進行管理,共享信息,避免重復勞動,并簡化電業局及基層供電局工會的相關考核,大大降低工會標準化建設的難度。本文將對工會管理系統的設計與實現流程進行詳細描述。
1 系統結構設計
1.1 模塊設計
工會工作相當復雜,涵蓋了職工的會員各項基本信息、計劃生育工作、幫助困難職工、企業職工互助。為職工辦實事等多項工作,數據量大,數據更新快,工作非常繁瑣, 需要對數據的取值范圍嚴格按經濟活動分析的指標進行限定[1]。根據工會日常工作的內容及要求,工會管理系統分為圖1所描述的七個模塊。
1.2 功能需求
按照工會工作的目標任務與要求,系統需要實現以下相關功能:
1)數據編輯功能;
2)數據瀏覽、查詢功能;
3)數據統計功能;
4)圖表處理功能;
5)報表輸出功能;
6)用戶管理功能;
由于工會工作相對繁瑣,每個模塊又分為多個子模塊。
2 開發環境
本系統采用.NET開發環境進行設計。.NET是一個全面集成的開發環境,是一種在Windows平臺上編程的新架構。它提供面向對象編程的模式,是一個基類庫,對動態Web頁面有更好的支持,并提供了高效的數據訪問,用于編寫、調試代碼、把代碼編譯為程序集進行發布。同時引入了程序集的概念,替代了傳統的DLL。為Windows生成的應用程序通常都依賴一個或多個動態鏈接庫。通常這些動態鏈接庫是與其他應用程序所共享的組件。有時還包含在系統注冊表中已注冊的組件對象模型內。但這些組件被更新或安裝不正確是,現有的程序都將中斷。而.NET有一個安全分界線:應用程序域。一個單一的進程可以包含多個程序域,來自一個域的對象不能和其它域的對象直接互操作。應用程序域可以作為統一進程中的多個應用程序的安全邊界,也可用于動態加載代碼[2]。因此.NET框架試圖通過使用程序集來代替動態鏈接庫和可執行文件概念的自描述模塊。
Web服務正從最初的描述、公布、交互向新的階段發展。從而支持健壯的業務交互和精巧的業務協作[3-4]。Web服務提供者的可調用服務,可以是原子的Web服務,也可以是服務組合[5]。本系統的開發基于ASP.NET,采用三層體系結構,分別包括:
1)表示層(USL):主要表示為Web方式。該層主要包括提供給用戶訪問的界面,用戶的操作都在這一層進行。
2)業務邏輯層(BLL):主要用于實現工會管理各項工作的業務邏輯。
3)數據訪問層(DAL):主要是工會工作所涉及到的各項數據實現存儲以及查詢的操作。
三層結構是將業務邏輯獨立出來,即數據訪問層只能被業務邏輯層訪問,業務邏輯層只能被表示層訪問,用戶通過表示層將請求傳送給業務邏輯層,業務邏輯層完成相關業務規則和邏輯,并通過數據訪問層訪問數據庫獲得數據,然后按照相反的順序依次返回將數據顯示在表示層。
數據庫采用SQL Server 2005企業版。以ADO.NET組件數據庫訪問組件做為接口,通過它實現ASP.NET對數據庫的訪問。用ADO.NET可以使服務器端的腳本通過ODBC存取和操縱數據庫服務器的數據。使用ADO.NET的對象可以建立和管理數據庫的連接,從數據庫服務器請求和獲取數據,執行更新、刪除、添加數據、獲取ODBC的錯誤信息等。
3 設計與實現
3.1 系統架構
為了方便各級供電局在異地使用本系統,根據系統設計的方案客戶端采用瀏覽器進行操作,處理的數據集中提交到服務器上,查詢數據也通過訪問Web服務器提取后發送到客戶端。因此系統采用的是瀏覽器+Web服務器+數據庫服務器的方式進行開發。圖2描述了工會管理系統的架構。
3.2 數據庫表設計
由于各工會日常業務瑣碎,數據庫中需要設計的表也相對較多,因此系統所處理的數據量相對也是較大的。根據工會日常工作以及所需上報的報表,在進行數據庫的設計時需根據它們之間的關系予以業務邏輯的劃分。根據對日常工作內容及報表的分析以及對其業務流程的分解,系統的數據庫設計是較為復雜的。
根據數據庫的邏輯設計方案,系統采用面向對象設計方法實現數據庫和表的創建,數據庫依據數據的用途將表劃分為會員基礎資料、組織信息、會員交費情況、女工及子女、用戶信息幾大部分。由于數據的統計量非常大,需要動態的生成或打印報表,因此在設計不同類型報表的時候系統采用了動態生成臨時表的方式,把這類臨時表作為一個中傳站,使得在實現時可以方便的利用水晶報表工具生成報表。圖3描述了部分的數據庫表以及表之間的關系。
3.3 功能模塊設計
根據需求分析的結果,在系統中包含了勞動及生產保護、標準化建設、民主管理、文體管理、女工管理、會員管理、用戶管理幾大部分、分別實現數據編輯、數據查詢、統計報表輸出的功能,用戶能夠在錄入數據后動態的查詢數據以及自動生成報表,簡化了用戶的工作。
3.3.1 數據編輯
數據編輯包括勞動及生產保護、標準化建設、民主管理、文體管理、女工管理、會員管理、用戶管理等幾個模塊。不同級別的用戶在登錄后只能訪問與其工作權限相關的信息。在數據編輯模塊中,以會員的個人信息作為其他資料的基礎,由于會員的基本資料相當復雜,除了會員的身份信息之外還包含了與會員工作相關的詳細信息,如果是女工,還有其參加工作以后的多項信息,因此在處理會員資料時要能根據錄入時會員的性別動態的加載添加項。以會員證號為主鍵,其他與會員相關的表以會員證號為外鍵,實現級聯操作。用戶登錄以后,在Web頁面中可以自己對該頁面信息進行瀏覽,用戶用戶點擊“添加”按鈕即可錄入該部門所提供的數據并提交。以女工補充信息為例,在進行會員信息的添加與編輯時對數據進行有效的校驗,其算法為圖4所示。
3.3.2 數據查詢
對于任何信息管理系統來說,查詢模塊都是非常重要且必不可少的模塊。一般情況下,用戶可根據界面中提供的控件選擇相應的條件進行查詢操作根據將要訪問的數據存儲器類型,.NET框架包含了兩個數據提供程序:OLE DB.NET數據提供程序與SQL Server.NET數據提供程序。.NET數據提供程序的任務是用合適的數據填充DataSet對象,并為該數據提供到這個數據庫的接口。本系統采用SQL Server 2000數據庫,查詢時使用的數據提供程序為SQL Server.NET。系統中各個模塊的數據瀏覽界面都提供了數據查詢的功能,根據不同的模塊設置了包括日期、單位、類別等多種查詢的條件。用戶在查詢時只需在下拉列表框中選擇相應的查詢條件即可,服務器會實時更新查詢結果返回給客戶端。
3.3.3 統計報表
系統采用水晶報表在瀏覽器中輸出類似ECXEL表格格式的頁面并提供報表的直接打印或下載兩種方式。同時在報表實現時嚴格的控制用戶權限是實現一個安全而又容易管理的報表系統的重要條件。在設計報表系統時,同樣根據用戶的成員身份,在用戶可以訪問頁面的超鏈接中顯示用戶有權限訪問的報表。實現方式為建立一個報表文件,然后通過水晶報表的數據庫引擎連接相應的dataset臨時表,設計好報表式樣并綁定數據源,并設置在報表中將要接受的參數字段的名稱。報表的標題與文字域及報表尾均動態生成。由于工會工作涉及很多材料,因此報表中行高也需要動態變化,不能以Recordnumber屬性絕對指定每頁的行數,而以節作為分頁的條件。報表主要包括以下幾部分:
1)標題、表頭。這個部分中的文字是動態設置的,根據電業局中不同級別的用戶產生與用戶自身權限相符的表頭,采用會話方式以及向水晶報表傳遞值類型參數的方式相結合實現。
2)動態文字域。這個部分中的內容是動態生成的,需要從數據庫中讀取。而且這個部分是不固定的,可以隨著數據記錄長度的變化而變化,并動態判斷每節的長度并分頁。
3)表尾。表尾主要記錄報表日期,報表制作者等信息。
4 結束語
針對供電企業工會工作的具體工作流程,筆者在系統設計中充分考慮了系統使用者的計算機操作水平,工會相對繁瑣工作所需采集的各項指標,認真劃分了整個部門工作的業務邏輯,解決了基層供電局與電業局分級管理的問題。對工會管理系統的設計可以將工會的日常工作信息化、規范化,以及能夠自動生成相應的統計報表,對其工作效率的提高起到了較好的作用。
參考文獻:
[1] 飛思科技產品研發中心.SQL server2000系統管理[M].北京:電子工業出版社,2001.
[2] 張南平,劉思津.基于.NETRemoting框架的分布式車輛調度系統[J].計算機技術與發展,2008,18(4):217-220.
[3] Microsoft MSDN Library [EB/OL].2008 Microsoft Corporation,Http://msdn.
[4] 陳世展,馮志勇.Web服務組合的新基點[J].計算機應用與研究,2008,25(5):1378-1381.
[5] 周志致,高春鳴.Web服務事務模型與協議研究[J].計算機應用,2008,28(4):1035-1038.