方志丹
(廣東電網(wǎng)有限責任公司汕頭供電局,廣東汕頭515041)
根據(jù)持證上崗管理辦法的要求,崗位勝任能力評價合格證書是內(nèi)部員工的上崗證書,也是員工能力素質(zhì)評價的重要依據(jù)。崗位勝任能力評價的考核對象覆蓋全體專業(yè)技術(shù)類和技能類人員,以年度、季度間隔常態(tài)化開展,考核項目包括知識、技能、潛能3個維度共34個項目,其中,考生在某一維度下所有項目均須取得合格成績,方可通過該維度的評價,通過3個維度的評價則代表通過本次崗評,成績有效期為3年。
在崗評實際開展過程中,考生可能出現(xiàn)但不限于以下情況:通過或不通過本次崗評;本次崗評為補考;無須參加部分項目的考試(免考或認定);本次崗評缺考;部門、班組或崗位等級變更,重新進行崗評。因此,在各次崗評成績匯總統(tǒng)計表中,為了記錄上述考試情況,相應項目的成績欄會以不同的符號加以標記區(qū)分,如直接填寫分數(shù)、填寫小橫杠“—”、填寫“缺考”、留空等。在人員和項目數(shù)量繁多的情況下,對這些情形進行判斷和處理工作量巨大,為此,本文利用相關信息技術(shù),提出一種對各項成績結(jié)果進行自動匯總和更新的解決方案。
1.1.1 C#與.NET編程
作為一種基于現(xiàn)代面向?qū)ο笤O計方法的語言,C#的體系結(jié)構(gòu)和方法論反映了.NET基礎方法論,其特定語言功能依賴于.NET基類。.NET基類內(nèi)容豐富,直觀且易用,可完成此前需要經(jīng)Windows API實現(xiàn)的大部分工作,極大地提升開發(fā)人員的效率[1]。
ASP.NET是目前主流網(wǎng)絡開發(fā)技術(shù)之一,具有高效的運行性能、簡易且靈活、可管理性強、生產(chǎn)效率高,使網(wǎng)絡程序開發(fā)傾向于智能化,運行更為流暢[2-3]。
1.1.2 NPOI組件
NPOI是一套用于在.NET環(huán)境讀寫Excel、Word等文檔的開源組件,其框架支持大部分Excel的特性(如單元格樣式、數(shù)據(jù)格式、公式等)和文件格式(xls、xlsx),支持文件導入和導出,可在沒有安裝Office或相應環(huán)境的機器上對Excel文檔進行讀寫操作。利用NPOI,可根據(jù)實際需要編寫不同的程序?qū)崿F(xiàn)相應的功能。
由于本工具的目標用戶為人力資源部專責,適合采用便于通過瀏覽器直接訪問的B/S架構(gòu)進行系統(tǒng)搭建。將歷年各次崗評的結(jié)果統(tǒng)計依次導入程序,通過程序中設定好的判斷邏輯對人員、項目、分數(shù)、時間、特殊情況等因素進行自動識別處理,對各條成績記錄做添加或更新操作并寫入數(shù)據(jù)庫,同時向用戶展示匯總更新后的規(guī)范化統(tǒng)計結(jié)果,用戶可查看或?qū)С鑫募M行下一步的分析處理工作。
本工具的系統(tǒng)架構(gòu)如圖1所示,一方面,ASP.NET頁面向用戶提供表格文件導入功能,后臺程序?qū)Ρ砀駜?nèi)的數(shù)據(jù)進行識別處理,獲取人員信息、考試成績和時間等參數(shù),并通過數(shù)據(jù)庫接口寫入系統(tǒng)數(shù)據(jù)庫中;另一方面,后臺程序從數(shù)據(jù)庫中讀取相關數(shù)據(jù),在前端頁面的表格組件中進行數(shù)據(jù)展示,并向用戶提供文件導出功能。根據(jù)各次崗評成績統(tǒng)計結(jié)果和所有項目的統(tǒng)計需求,本文采用的數(shù)據(jù)庫表結(jié)構(gòu)設計如表1所示。
圖1 系統(tǒng)架構(gòu)示意圖
表1 數(shù)據(jù)庫表結(jié)構(gòu)
本文使用基于Visual Studio環(huán)境的ASP.NET編程進行程序開發(fā),系統(tǒng)主界面樣式如圖2所示,其中,采用第三方DevExpress組件中的GridView表格控件作為數(shù)據(jù)展示主體,以取得更優(yōu)的界面優(yōu)化和用戶體驗效果;使用標準FileUpload控件用于用戶文件上傳;文件上傳后,依次完成將數(shù)據(jù)庫數(shù)據(jù)整體備份到CSV表格、對上傳文件進行列名和成績識別、將識別結(jié)果組合成SQL語句并執(zhí)行數(shù)據(jù)庫操作。邏輯步驟如下:
(1)創(chuàng)建一個包含空白Sheet的Workbook對象,Sheet中各列的排列與數(shù)據(jù)庫表結(jié)構(gòu)一致;
(2)從第一行起掃描,直到檢測到標題行,如“身份證號”“員工編號”“姓名”等用戶信息字段名及“SB”“SS”“G”“PA”等考試項目名,記錄這些字段所在列數(shù),后續(xù)讀取到的數(shù)據(jù)將根據(jù)這些列數(shù)存放到Sheet相應列中;
(3)從標題行下一行起作為內(nèi)容行,逐行掃描,將各項數(shù)據(jù)按照上一步獲取的列數(shù)對應關系填入Sheet的各列中,將考試時間格式化為數(shù)據(jù)庫規(guī)范xxxx/xx/xx,對于成績項,以如下規(guī)則進行轉(zhuǎn)換:“缺考”替換為0,小橫杠“—”替換為-2,空格替換為-3,其他格式替換為-5留待處理;
(4)完成上述對上傳文件的遍歷讀取轉(zhuǎn)換,即完成上傳文件數(shù)據(jù)轉(zhuǎn)換為格式規(guī)范的Sheet對象的操作,此時Sheet的每一行數(shù)據(jù)均為規(guī)范化的單個員工所有項目的考試情況,逐行讀取后可將各個單元格的數(shù)據(jù)作為參數(shù)組合成數(shù)據(jù)庫SQL語句,以便在后續(xù)的數(shù)據(jù)庫讀寫中進行下一步操作。
圖2 系統(tǒng)主界面
對于數(shù)據(jù)庫操作,本文采用PLSQL構(gòu)建數(shù)據(jù)表和編寫存儲過程腳本。此處數(shù)據(jù)庫除執(zhí)行ASP.NET后臺程序所調(diào)用的常規(guī)讀寫操作,還需要對已完成數(shù)值化轉(zhuǎn)換(即正常分數(shù)和代表特殊情況的負數(shù))的成績信息進行判斷,相應存儲過程腳本執(zhí)行邏輯如下:
(1)比對輸入數(shù)據(jù)與已有數(shù)據(jù),如果員工編號、申報班組、申報等級均相同,當新考試時間晚于原考試時間且新舊考試成績不同,或當新考試時間早于原考試時間且兩次成績相同,則將數(shù)據(jù)替換為新考試成績和新考試時間;否則直接插入整行數(shù)據(jù)。
(2)對于知識、技能、潛能三個維度,如果維度下每一項成績均達到80分及以上,則該維度為通過;如果成績處在(0,80)區(qū)間則為不通過;當三個維度均通過時,本次崗評方為通過,反之不通過。
(3)由于原始成績數(shù)據(jù)中僅有“缺考”須視為不通過(已替換為0分),因此已置為負數(shù)的其余情況默認為通過,保留數(shù)值供后續(xù)統(tǒng)計處理。
完成以上存儲過程腳本的編寫,上傳文件處理邏輯第四步即可對其進行調(diào)用執(zhí)行,至此可完成文件導入讀取、數(shù)據(jù)識別轉(zhuǎn)換和庫表寫入全過程的數(shù)據(jù)處理。
基于上述數(shù)據(jù)處理執(zhí)行流程,將2014—2016年各次技能人員崗位勝任能力評價結(jié)果匯總表(共約5 000條記錄)依次導入,得到最終匯總結(jié)果并在前端頁面展示,如圖3所示。
圖3 2014—2016年各次崗評結(jié)果匯總
經(jīng)過比對檢查,驗證程序可正確處理以下情形:
(1)添加新的人員考試記錄;
(2)區(qū)分考生單項、維度及崗評總體成績是否通過;
(3)考生再次參加相同班組、崗位及項目的考試且成績不同,以最新成績?yōu)闇剩?/p>
(4)考生再次參加相同班組、崗位及項目的考試但成績相同,以最早時間為準;
(5)對考生被標記為“免考”或“認定”的項目,默認為通過;
(6)對考生被標記為“缺考”的項目,視為0分;
(7)考生申報班組或崗位等級變更并參加考試,作為新考試記錄進行添加。
將該工具應用于崗位勝任能力評價結(jié)果統(tǒng)計的實際業(yè)務中,取得了顯著成效。以往使用手工方式進行表格數(shù)據(jù)的篩選、查詢、比對和復制,人力資源部人才評價專責需要花費2 h以上時間對每月約100條考生考試記錄進行處理,且數(shù)據(jù)繁多密集易導致不同程度的誤操作。通過該工具,針對上文2014—2016年的各次崗評結(jié)果,從用戶導入文件、程序執(zhí)行匯總到展示最終結(jié)果,耗時僅約2 min,在完成效率和準確率方面具有明顯的提升效果,切實滿足了用戶的業(yè)務需求。
崗評數(shù)據(jù)是培訓評價工作開展的基礎,沒有準確的基礎數(shù)據(jù)支撐,一切工作都無從談起,以信息技術(shù)為支撐建立起有效的數(shù)據(jù)信息化管理機制,是提高工作質(zhì)量和效率的重要途徑。本文提出的解決方案和實用工具在實際應用中體現(xiàn)了處理速度快和準確率高的優(yōu)勢,借助其技術(shù)原理和解決思路,在相關領域的信息技術(shù)應用中可進行下一步的研究及開發(fā)工作。