李漣,易鐵祥,鄒毅輝
(湖南省火電建設公司,湖南株洲412000)
火電工程項目建設具有資金密集、技術密集、資源密集等特點,隨著機組容量的增大,需要的物資材料的品種和數(shù)量也越來越多。對于火電建設企業(yè),目前火電建設項目普遍存在前期策劃時間少、工期緊、質(zhì)量要求高等特點,要在有限的時間內(nèi)處理大量的物資管理信息,做到快速、準確傳遞,單靠傳統(tǒng)的人力手工已無能為力,同時,由于各工程項目部分散在各地,更增加了物資管理的難度,因此對企業(yè)的物資管理水平、效率及降低成本等,提出更高的要求。
近年來,隨著計算機及網(wǎng)絡技術的發(fā)展,基于計算機和網(wǎng)絡技術的信息管理系統(tǒng)得到了各火電建設企業(yè)的重視,而物資管理系統(tǒng)是其重要的子系統(tǒng)之一,也具有特殊性,其相應的系統(tǒng)開發(fā)必須根據(jù)其特點進行。文中結合湖南火電建設公司物資管理系統(tǒng)的開發(fā),重點對系統(tǒng)的結構與主要功能及具體的實現(xiàn)技術進行研究與探討。
物資管理系統(tǒng)作為火電建設企業(yè)信息管理的一個模塊,它的主要功能包括:數(shù)據(jù)的錄入、修改、刪除,各種格式的附件上傳及下載,物資需用計劃、合同簽訂、合同付款等電子審批流程,輸出EXCEL等格式的報表,根據(jù)組合查詢方式對數(shù)據(jù)進行統(tǒng)計、匯總、分析。本系統(tǒng)包括計劃管理,合同管理,帳務管理,憑證管理,物資報表,物資查詢、系統(tǒng)管理7個部分。
計劃管理是匯總各部門的物資需用計劃,確定需求總量,結合現(xiàn)有的庫存情況,生成相應的物資采購計劃或調(diào)撥計劃。計劃管理共分為物資需用計劃、物資采購計劃及器材調(diào)撥計劃3種。物資需用計劃包括需用計劃編制、需用計劃修改及需用計劃查詢;物資采購計劃包括采購計劃編制、采購計劃維護、詢價清單編制及詢價清單維護;調(diào)撥計劃包括物資的調(diào)出和物資的調(diào)入,器材調(diào)撥必須先由計劃員編制調(diào)撥計劃,然后再由計劃員將調(diào)撥計劃交給保管員發(fā)料或收料。
對各類物資合同進行管理,包括合同的錄入、修改、維護及合同的審批、付款審批等。合同管理包括合同列表、合同審批、合同付款、付款審批、合同詢價情況、合同收料情況。
對物資的領用、入庫、庫存進行管理和統(tǒng)計,同時根據(jù)架子管、跳板等周轉性材料與工程材料的管理差別,單獨設一個子項目進行管理。帳務管理包括收料管理、發(fā)料管理、調(diào)撥管理、周轉材料管理4個部分。其中收料管理包括驗收登記、物資收料、收料統(tǒng)計修改;發(fā)料管理包括預發(fā)登記、物資發(fā)料、按需用計劃發(fā)料、發(fā)料統(tǒng)計修改;調(diào)撥管理包括調(diào)撥計劃發(fā)料、調(diào)撥統(tǒng)計修改;周轉材料管理包括周轉材料維護、周轉材料租用、租用單據(jù)修改、周轉材料回收、回收單據(jù)修改、周轉材料取費、周轉材料費用統(tǒng)計、周轉材料數(shù)量統(tǒng)計。
憑證管理包括材質(zhì)證書、合格證以及收料、發(fā)料、調(diào)撥單據(jù)的稽核。對于材質(zhì)證書和合格證由于廠家一般只提供紙質(zhì)文件,為了查詢方便,可以將其掃描后再錄入其電子文本。在收料與發(fā)料時錄入材質(zhì)證書的編號,就可以查詢出該材質(zhì)證書的收料發(fā)料情況。單據(jù)稽核時可以一條條的單據(jù)稽核,也可以將當前表格中的單據(jù)一次稽核通過。
物資管理系統(tǒng)單據(jù)眾多,關系比較復雜,物資報表就顯得比較重要,物資報表分四大類,包括初始統(tǒng)計,收料報表,消耗報表,綜合報表,共有14個子項,且能根據(jù)不同的組合方式生成各種報表,以EXCEL等方式實現(xiàn)報表的輸出,統(tǒng)計結果實現(xiàn)“所見即所得”。
物資查詢具有多個字段組合查詢的功能,并且能夠進行統(tǒng)計匯總,以EXCEL等方式輸出統(tǒng)計結果,包括部門統(tǒng)計查詢、供貨單位查詢、現(xiàn)有材料庫存、價格平臺信息。
主要為運行物資材料管理系統(tǒng)前的初始參數(shù)設置,系統(tǒng)參數(shù)包括物資材料庫、物資編碼、統(tǒng)計碼維護、工程項目編碼維護等。為了實現(xiàn)全公司范圍內(nèi)物資管理,首先必須保證每條物資記錄的唯一性,即保證物資編碼、工程項目編碼等編碼的唯一性。
系統(tǒng)的開發(fā)采用Visual Studio 2005語言、SQL Server2008數(shù)據(jù)庫。公司總部設置中央服務器,存放公用數(shù)據(jù)和各項目部上傳數(shù)據(jù),并對各項目部的數(shù)據(jù)進行分析和匯總;各項目部設立局域網(wǎng)并安裝服務器,運行本項目部的數(shù)據(jù),并通過Internet與公司總部進行聯(lián)系和數(shù)據(jù)交換;員工外出或出差時,可以通過遠程終端訪問總部或項目部服務器,系統(tǒng)結構見圖1。

圖1 系統(tǒng)結構圖
為了便于管理和維護,本系統(tǒng)分為企業(yè)版和項目版,2個版本的應用程序及數(shù)據(jù)庫結構基本相同,公司總部和項目部服務器分別安裝數(shù)據(jù)庫和應用程序,企業(yè)版和項目版功能的主要差異是,根據(jù)對登陸系統(tǒng)的人員是公司總部還是項目部人員的識別,實現(xiàn)自動登陸企業(yè)版或?qū)捻椖堪妫⒖蛇x取不同的功能菜單。系統(tǒng)的開發(fā)采用較多的新技術,其主要特點及實現(xiàn)方式如下:
因此,知識可視化和網(wǎng)絡媒介素養(yǎng)教育的目的是一致的,都是為了知識的傳播和知識的創(chuàng)造。知識可視化是從知識呈現(xiàn)的形式上的視覺化來促進知識的傳播;網(wǎng)絡媒介素養(yǎng)教育是從技術手段上促進知識的傳播。如果把二者結合起來,快速傳播的網(wǎng)絡媒介技術承載著易懂的可視化的信息,人們既可以快速地獲取信息,又能快速地解讀信息,使得人們在信息時代中所面臨的更快、更多地掌握知識的難題得到了解決。
本系統(tǒng)采用智能客戶端開發(fā)程序,它利用B/S模式易維護的優(yōu)點和C/S模式響應速度快的優(yōu)點,是一種可擴展的能集成不同應用的桌面應用程序。在本系統(tǒng)中,具體的實現(xiàn)方式如下:
(1)自動更新程序
系統(tǒng)首次運行時,自動將物質(zhì)管理系統(tǒng)的程序下載到本地,從而充分利用本地資源,節(jié)約服務器資源,以后程序自動更新依靠IE的緩存機制來完成,即當運行一個應用程序時,IE向Web服務器發(fā)送一個HTTP請求,該請求獲取服務器上該程序的最新更新日期,如果該日期大于本地緩存程序的日期或者本地緩存中不存在該程序,則從服務器上下載,否則直接使用本地的程序。
(2)數(shù)據(jù)無縫轉換
系統(tǒng)在連接到網(wǎng)絡以及從網(wǎng)絡斷開連接時都能有效地工作,并且能夠在這2種情況之間無縫地轉換。為此,系統(tǒng)運行時,首先將系統(tǒng)常用的服務端大部分數(shù)據(jù)緩存到本地,就本系統(tǒng)而言,根據(jù)當時調(diào)用的功能菜單決定下載到本地的數(shù)據(jù),如進行物質(zhì)需用計劃編制時,將材料庫、工程項目編碼等數(shù)據(jù)調(diào)用到本地。處于在線狀態(tài)時,本地數(shù)據(jù)暫時保存在內(nèi)存中,當數(shù)據(jù)需要經(jīng)過操作后保存回遠程數(shù)據(jù)庫時,使用DataSet的數(shù)據(jù)適配器DataAdaTVer將變化的量返回數(shù)據(jù)庫操作,這樣既加快了本地的運行速度又節(jié)省了資源。如果應用程序在斷線的狀態(tài)下工作,則將數(shù)據(jù)保存回本地的數(shù)據(jù)存儲結構,待再次連線時,裝載到DataSet進行處理,從而實現(xiàn)數(shù)據(jù)無縫轉換。
本系統(tǒng)有大量的審批流程,如物資需用計劃、合同會簽、合同付款的審批等,為實現(xiàn)以上流程,采用了金福瑞公司的UCML.NET工作流二次開發(fā)平臺,大大提高了工作效率。UCML工作流參照WfMC相關工作流標準設計,主要包括4個部分:可視化流程設計、工作流引擎與服務、流程管理、可視化的工作流流程監(jiān)控。以項目部物資需用計劃審批流程為例,在UCML開發(fā)平臺中,工作流的設計完全實現(xiàn)了可視化,開發(fā)人員直接在工作流編輯器上設計流程圖,如圖2。

圖2 工作流程圖
為了實現(xiàn)全公司范圍內(nèi)的物資管理,需要進行公司本部和各項目部的數(shù)據(jù)的交換。本系統(tǒng)通過SQL Server 2008的復制功能實現(xiàn)公司范圍內(nèi)的數(shù)據(jù)交換,具體的策略如下。
為了便于數(shù)據(jù)的復制,企業(yè)版和項目版的數(shù)據(jù)庫結構基本相同。根據(jù)具體功能和要求的不同,對不同的數(shù)據(jù)采用了不同的復制方式,如為了實現(xiàn)全公司范圍內(nèi)的物資管理及數(shù)據(jù)的統(tǒng)計和分析,對于系統(tǒng)公用的數(shù)據(jù)如物資編碼、項目部名稱、工程名稱、部門名稱、班組名稱,均建立單獨的數(shù)據(jù)庫表單,由公司總部數(shù)據(jù)庫服務器發(fā)表,各項目部數(shù)據(jù)庫服務器預訂,從而實現(xiàn)項目部以上數(shù)據(jù)的自動更新,全公司數(shù)據(jù)的統(tǒng)一。
(2)采用不同的復制時間
根據(jù)不同數(shù)據(jù)的實時性要求,采用不同的復制時間。如公用數(shù)據(jù)、物資需用計劃數(shù)據(jù)等每天復制1次,而其它一些不常用報表類的數(shù)據(jù)則每周復制1次,以此來減輕服務器的工作負擔,同時為了少占用高峰期資源,復制設置在凌晨進行。
本系統(tǒng)中,有大量的報表需要輸出和打印,采用將數(shù)據(jù)導出生成XML文件,然后將XML文件轉換為EXCEL等格式文件方式來實現(xiàn)。采用XML+XSLT技術實現(xiàn)導出功能,具有速度快,節(jié)約本地及服務器資源,并且能生成各種格式文件等優(yōu)點,具體的實現(xiàn)分2步:
(1)將數(shù)據(jù)導出生成XML文件,利用DataSet的公共方法GetXml來實現(xiàn)。

(2)將XML文件轉換成EXCEL文件,此處采用XSLT技術,首先設計好XSLT模板,然后利用C#+XSLT實現(xiàn)。

至此,就將XML文件轉換成了所需的EXCEL或者其它格式文件。
本系統(tǒng)中,經(jīng)常有大的文件,如供貨廠家的資質(zhì)證明材料掃描件需要上傳錄人數(shù)據(jù)庫中,而IIS6出于安全考慮,對于默認請求大小有很嚴格的限制,雖然可以通過修改 metabase.xml的ASPMaxRequestEntityAllowed的值來修改運行的最大請求大小,但是在實際運行中,通過IIS上傳的文件大小超過4M時容易出現(xiàn)種種問題。本系統(tǒng)中,上傳大文件的解決方案就是將大文件切塊上傳,通過修改配置文件將需要上傳的文件分割成1M大小數(shù)據(jù)塊,然后通過Web Service上傳到服務器中。此解決方案主要需要解決2個問題:
(1)分割文件,主要通過Stream的Read和Seek方法實現(xiàn)讀取文件的指定位置指定長度的數(shù)據(jù),從而實現(xiàn)將一個整體文件分成多個數(shù)據(jù)段上傳。
(2)服務端對數(shù)據(jù)庫的操作,借助于UPDATETEXT實現(xiàn)對數(shù)據(jù)庫text,ntext及image列部分進行修改。示例語句如下:

在實際應用中,配合使用進度條,上傳200 M大小的文件很穩(wěn)定,上傳速度也比較理想。
采用智能客戶端技術開發(fā)物資管理系統(tǒng),綜合了B/S模式易維護性的優(yōu)點和C/S模式響應速度快的優(yōu)點,UCML工作流、數(shù)據(jù)復制、XML+XSLT、大附件上傳等技術的應用有利于提高系統(tǒng)的整體性能,其解決方案也可為類似軟件的開發(fā)提供借鑒。本物資管理系統(tǒng)已經(jīng)在湖南省火電建設公司多個建設工程中使用,并取得了良好的應用效果。