趙貴福
(西京學(xué)院,陜西西安,710123)
如今社會計(jì)算機(jī)技術(shù)和其他科學(xué)技術(shù)飛速發(fā)展,讓我們的社會發(fā)生巨大變化。各種通信軟件和出行工具的誕生使得各種數(shù)據(jù)爆炸式增長,人們對數(shù)據(jù)的管理效率和處理速度的提升的渴求越來越強(qiáng)烈。尤其是在企業(yè)中各種數(shù)據(jù),包括企業(yè)最基本的員工信息。隨著員工的增多、人員流動的頻率加快,員工信息的管理和修改也越來越復(fù)雜。
人們?yōu)榱诉M(jìn)一步降低管理人員使用數(shù)據(jù)庫來管理企業(yè)員工的門檻,開發(fā)出來各種各樣的更加人性化的程序來供管理人員使用。管理人員不必是計(jì)算機(jī)技術(shù)的學(xué)者,即使不懂計(jì)算機(jī)也能很快學(xué)會使用。
我國企業(yè)的OA系統(tǒng)產(chǎn)業(yè)是從上世紀(jì)七十年代末期開始興起的,早已不再是單機(jī)時(shí)代的輔助辦公模式,而是從初期階段的以數(shù)據(jù)處理為核心的傳統(tǒng)模式,經(jīng)過近半個世紀(jì)的發(fā)展,跨越了“以工作流為核心”的協(xié)同辦公階段,進(jìn)入了“以信息共享、資源共享、及時(shí)通信”為核心的全新現(xiàn)代化辦公模式。
但是對于企業(yè)的管理來說,管理人員的要求也不僅僅是對于企業(yè)中員工的管理,還應(yīng)該包括員工基本請假報(bào)銷管理,員工對于自己賬號的管理,管理員對于部門的管理等等。所以本系統(tǒng)設(shè)計(jì)出了一個集這些功能于一身的系統(tǒng)。
本系統(tǒng)功能需求分析:首先實(shí)現(xiàn)的就是對于所有員工的管理,企業(yè)一般都會有部門的分工,所以要實(shí)現(xiàn)一個部門管的功能。管理人員對于員工請假的管理也是一個比較重要的事情,所以在人事管理中還有一個請假管理功能。在員工管理、部門管理和請假管理中需要實(shí)現(xiàn)對于員工信息、部門信息、請假信息的增刪改查。查詢的時(shí)候應(yīng)該要有根據(jù)條件查詢的功能,避免數(shù)據(jù)量過大而難以找到自己想要的數(shù)據(jù)。
企業(yè)OA集成辦公系統(tǒng)中加入對財(cái)務(wù)處理的模塊,每個員工可以通過系統(tǒng)進(jìn)行選擇,提前錄入報(bào)銷原因并填寫其他的報(bào)銷信息進(jìn)行預(yù)報(bào)銷申請,由管理員進(jìn)行審批。若審批成功,報(bào)銷申請報(bào)銷者就可以帶著發(fā)票等去財(cái)務(wù)進(jìn)行下一步報(bào)銷。節(jié)約了申請報(bào)銷者的時(shí)間和提高了財(cái)務(wù)部門處理報(bào)銷信息的效率。
系統(tǒng)賬戶的管理,每一個員工都有一個唯一的員工編號,由管理員進(jìn)行新員工的添加,有了員工編號之后就能使用該員工編號申請登錄系統(tǒng)所需要的系統(tǒng)賬戶。賬戶應(yīng)該能修改其基本及信息和登錄系統(tǒng)使用的密碼。超級管理員還有添加其他部門管理人員和添加新角色的功能,并且相應(yīng)的給該角色賦予權(quán)限。
如圖1所示。
圖1
在企業(yè)OA集成辦公系統(tǒng)中使用navicat-forMysql一共設(shè)計(jì)八張MySQL表:部門信息表、員工信息表、請假信息表、菜單信息表、報(bào)銷信息表、權(quán)限信息表、角色信息表和用戶信息表。
(1)部門信息表中包括部門的信息:部門編號、部門名稱、部門位置、部門負(fù)責(zé)人、創(chuàng)建時(shí)間。用于存儲所有部門的信息。如表1所示。
表1 部門信息表
(2)員工信息表中包括員工ID、員工標(biāo)號、員工姓名、部門編號、員工性別、學(xué)歷、郵箱、電話號、入職時(shí)間、創(chuàng)建時(shí)間。用于儲存所有的員工信息。如表2所示。
表2 員工信息表
(3)請假信息表中包含表的唯一標(biāo)志請假ID,請假編號,請假申請者,請假類型,請假原因簡介,請假開始時(shí)間,請假結(jié)束時(shí)間,提交狀態(tài),創(chuàng)建時(shí)間。用于儲存所有的請假信息。如表3所示。
表3 假期信息表
(4)菜單表中包含菜單ID,菜單名稱,菜單地址,菜單父節(jié)點(diǎn),創(chuàng)建時(shí)間。用于儲存用戶功能的菜單。如表4所示。
表4 菜單信息表
(5)報(bào)銷信息表中包含報(bào)銷ID,報(bào)銷編號,報(bào)銷申請者,報(bào)銷類型,報(bào)銷簡介,報(bào)銷金額,報(bào)銷時(shí)間,提交狀態(tài)。用于儲存所有的報(bào)銷信息。如表5所示。
表5 報(bào)銷信息表
(6)權(quán)限表中包含權(quán)限ID,角色I(xiàn)D,菜單ID創(chuàng)建時(shí)間。用于保存所有的權(quán)限信息,動態(tài)控制每個用戶顯示的菜單。如表6所示。
表6 權(quán)限信息表
(7)角色信息表中包含角色I(xiàn)D,角色名稱,創(chuàng)建時(shí)間。用于保存所有的角色名稱。如表7所示。
表7 角色信息表
系統(tǒng)總體使用的是Struct2的框架模式,是一個基于經(jīng)典的MVC的設(shè)計(jì)模式的Web框架。
圖2
登錄的實(shí)現(xiàn)邏輯:界面有一個動態(tài)的背景圖,用戶名和密碼框使用jQuery進(jìn)行非空和非法字符的檢查,若驗(yàn)證失敗則不發(fā)送請求在頁面提示用戶。驗(yàn)證碼由隨機(jī)數(shù)生成的一個簡單的算式組成,在前端頁面中把正確的驗(yàn)證碼寫入到session中,通過表單把用戶輸入的用戶名密碼驗(yàn)證碼傳入到后臺驗(yàn)證,驗(yàn)證失敗提示用戶失敗,驗(yàn)證成功提示用戶登錄成功,然后跳轉(zhuǎn)到系統(tǒng)的首頁。
首頁實(shí)現(xiàn)邏輯:首頁使用盒子模型畫出三個部門:頭部,菜單部分,工作區(qū)。
圖3
頭部右側(cè)可以顯示當(dāng)前登陸的賬號,左側(cè)的菜單區(qū)根據(jù)當(dāng)前登錄賬號動態(tài)查出其權(quán)限和權(quán)限對應(yīng)的菜單。用jQuery動態(tài)添加到j(luò)sp頁面中。右側(cè)的工作區(qū),嵌入了一個iframe框架,用于根據(jù)用戶點(diǎn)擊的不同菜單顯示不同的功能頁面。
圖4
2.3.1 部門管理
部門的jsp頁面使用table顯示所有的部門信息,最右邊一欄是功能區(qū),點(diǎn)擊三個圖片分別實(shí)現(xiàn)刪除,編輯信息,顯示詳細(xì)信息的功能。刪除某個部門的時(shí)候首先在數(shù)據(jù)庫中檢查有無員工屬于該部門,若有說明該部門下還有員工,提示不允許刪除,修改部門信息時(shí)候把該部門原有的信息帶入到修改信息的頁面。點(diǎn)擊新增部門時(shí)候部門編號是自動生成的不需要用戶自己填寫。
2.3.2 員工管理
員工管理的實(shí)現(xiàn)大體與部門管理相同,比部門管理多了一個根據(jù)條件篩選查詢的功能,根據(jù)用戶提交的請求表單中有無篩選調(diào)教用一個if語句判斷是否添加該查詢條件的sql語句,若兩個查詢條件都沒有選擇則查詢出所有。
2.3.3 請假管理
總體實(shí)現(xiàn)邏輯邏輯如刪除查看詳情添加等與員工管理相似,在請假管理子模塊根據(jù)條件查詢中多了一個賬戶的控制,若當(dāng)前登錄賬號不是管理員或者部門負(fù)責(zé)人則查詢查詢結(jié)果中只顯示自己的請假信息。按照條件查詢時(shí)查詢條件由下拉框中選擇。修改請假信息時(shí)先查詢當(dāng)前的提交狀態(tài),若提交狀態(tài)為已提交則提示用戶“已提交的不允許修改”轉(zhuǎn)跳回請假首頁。
報(bào)銷管理:按照條件查詢時(shí)若當(dāng)前用戶是管理員或部分負(fù)責(zé)人則顯示全部報(bào)銷信息,否則只顯示當(dāng)前登錄用戶的報(bào)銷信息。修改請假信息的時(shí)候首先判斷當(dāng)前的報(bào)銷信息的提交狀態(tài),若狀態(tài)為已提交,則提示用戶已提交的報(bào)銷申請不允許修改,轉(zhuǎn)跳回報(bào)銷首頁。
圖5
2.5.1 賬號維護(hù)
賬號維護(hù)的實(shí)現(xiàn)邏輯與其他基本類似,在本文上面已經(jīng)描述,不再重復(fù)贅述。操作列表中沒有查看詳情的功能因?yàn)橘~號信息比較少已經(jīng)全部顯示在賬號管理的首頁。只是在刪除賬號時(shí)添加了對賬號角色的判定,如果該賬號的角色是部門管理人員或這是管理員則提示用戶不允許刪除。
角色管理與權(quán)限管理模塊功能與本模塊類似,下面不再贅述。
2.5.2 密碼重置
要求用戶輸入原密碼、新密碼和新密碼的確認(rèn)密碼,進(jìn)行原密碼和兩次新密碼的判定,若原密碼正確并且新密碼和確認(rèn)密碼一致則修改成功,轉(zhuǎn)跳到登陸界面要求用戶重新登陸賬號。
2.5.3 系統(tǒng)退出
點(diǎn)擊退出系統(tǒng),彈出確認(rèn)框詢問用戶是否要退出系統(tǒng),點(diǎn)擊確認(rèn)后,清除session中用戶信息,退出系統(tǒng),跳轉(zhuǎn)到用戶登陸界面。
本次系統(tǒng)寫的是企業(yè)OA集成辦公系統(tǒng),顧名思義系統(tǒng)是針對企業(yè)管理來在設(shè)計(jì)的系統(tǒng),面臨的第一個問題就是用什么技術(shù)來寫系統(tǒng),在JavaWeb技術(shù)和asp.net中選擇,asp.net做起來比較方便快捷,其中有很多現(xiàn)成的控件來用,直接套用微軟提供的工具模板開發(fā)效率很高。但是由于微軟的asp.net不是開源的,只套用模板會顯得比較死板,只適合做一些中小型網(wǎng)站,而JavaWeb在大型網(wǎng)站中的表現(xiàn)比asp.net要好得多,有利于系統(tǒng)規(guī)模以后的擴(kuò)大。Java的jdbc訪問同一個數(shù)據(jù)庫也比asp.net要好很多。所以最終選擇了JavaWeb來編寫企業(yè)OA集成辦公系統(tǒng)。在系統(tǒng)分析階段通過上網(wǎng)搜查資料和企業(yè)的實(shí)地考察也為系統(tǒng)項(xiàng)目的編寫提供了很多有用的建議。