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