OA辦公自動(dòng)化系統(tǒng)文檔_第1頁(yè)
OA辦公自動(dòng)化系統(tǒng)文檔_第2頁(yè)
OA辦公自動(dòng)化系統(tǒng)文檔_第3頁(yè)
OA辦公自動(dòng)化系統(tǒng)文檔_第4頁(yè)
OA辦公自動(dòng)化系統(tǒng)文檔_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、OA辦公自動(dòng)化系統(tǒng)報(bào)告目錄OA辦公自動(dòng)化系統(tǒng)報(bào)告1摘要2Abstract31 需求分析41.1 可行性分析41.1.1 經(jīng)濟(jì)可行性41.1.2 技術(shù)可行性41.2 需求分析41.2.1目標(biāo)分析51.3.2 結(jié)構(gòu)分析61.3.3功能分析71:業(yè)務(wù)流程圖72項(xiàng)目概要設(shè)計(jì)分析102.1:項(xiàng)目概要分析102.1.1:用例分析102.1.2:流程分析122.1.3:關(guān)系分析143:項(xiàng)目詳細(xì)設(shè)計(jì)163.1:業(yè)務(wù)對(duì)象模型設(shè)計(jì)163.1.1:業(yè)務(wù)對(duì)象提取163.1.2:關(guān)系設(shè)計(jì)183.2:功能邏輯順序設(shè)計(jì)193.3:數(shù)據(jù)庫(kù)設(shè)計(jì)223.3.1:數(shù)據(jù)庫(kù)概念設(shè)計(jì)223.3.2:表結(jié)構(gòu)設(shè)計(jì)243.4:界面設(shè)計(jì)274:

2、代碼設(shè)計(jì)294.1:配置文件代碼設(shè)計(jì)294.2:Dao層的代碼設(shè)計(jì)324.3:Service層代碼的實(shí)現(xiàn)384.4:action層代碼的實(shí)現(xiàn)434.5:頁(yè)面js和Ajax部分代碼485項(xiàng)目總結(jié)51摘要本次項(xiàng)目編寫(xiě)的辦公自動(dòng)化系統(tǒng)(OA)是一個(gè)比較成熟的系統(tǒng),它主要負(fù)責(zé)公司日常工作管理的事務(wù)。包括了用戶(hù)權(quán)限管理、員工管理、日常管理、考勤管理、辦公用品管理、客戶(hù)管理、合同管理、報(bào)銷(xiāo)管理共八個(gè)部分。基本實(shí)現(xiàn)了公司無(wú)紙化辦公。在開(kāi)發(fā)過(guò)程中,我們以小組為單位進(jìn)行。技術(shù)方面使用的是Struts2+Spring+Hibernate(MVC)三框架技術(shù),數(shù)據(jù)庫(kù)使用Mysql,前臺(tái)頁(yè)面與后臺(tái)交互使用了部分Jqu

3、ery腳本和Ajax技術(shù)。頁(yè)面布局和基本彈窗提醒使用CSS+DIV+JavaScript技術(shù)在小組中我負(fù)責(zé)的模塊是員工管理和日常管理。其中員工管理包括了員工管理、部門(mén)管理和培訓(xùn)管理三大功能,分別實(shí)現(xiàn)了員工信息的添加刪除修改,普通查詢(xún)以及多條件查詢(xún),部門(mén)信息的增添修改刪除和查詢(xún)。員工培訓(xùn)申請(qǐng)的提交審批以及安排等等。完整地系統(tǒng)是對(duì)現(xiàn)存的OA系統(tǒng)的簡(jiǎn)化版本。關(guān)鍵字: OA辦公自動(dòng)化 員工管理 日常管理AbstractThe project prepared by the office automation system (OA) is a relatively mature system , whi

4、ch is mainly responsible for the daily management of the affairs of the company . Includes user rights management , staff management, daily management , attendance management, office supplies management, customer management , contract management, claims management of eight parts. The basic realizati

5、on of the company's paperless office. In the development process, we as a team unit . Technical aspects of using Struts2 + Spring + Hibernate (MVC) three framework technology, database using Mysql, front page and back interactive use some Jquery scripts and Ajax technologies . Page layout and ba

6、sic popup reminder to use CSS + DIV + JavaScript technology In the group I was responsible for staff management module and daily management . Which includes staff management staff management , departmental management and training management three functions, respectively, to achieve the add delete mo

7、dify employee information , general inquiries and multi- criteria query , the department added modification and deletion of information and queries. Staff training applications submitted for approval and arranging and so on.Complete the existing system is a simplified version of OA system .Keywords

8、:OA office automation daily management of staff management1 需求分析1.1 可行性分析1.1.1 經(jīng)濟(jì)可行性對(duì)于一個(gè)具有一定規(guī)模的企業(yè)來(lái)說(shuō)辦公自動(dòng)化部分是十分重要的,同時(shí)也有一定的復(fù)雜性。若是沒(méi)有相應(yīng)的系統(tǒng)支持,會(huì)花費(fèi)大量的人力物力以及時(shí)間資源。并且容易出現(xiàn)問(wèn)題,一個(gè)好的辦公自動(dòng)化,則可以避免這種情況的發(fā)生。它可以解放企業(yè)在這方面所花費(fèi)的大量資源,并且提供更高效更合理的管理邏輯。提高了企業(yè)的經(jīng)濟(jì)效率。1.1.2 技術(shù)可行性小組編寫(xiě)的網(wǎng)站管理系統(tǒng)可以實(shí)現(xiàn)。企業(yè)的信息共享,方便了公司對(duì)員工的出勤考察,薪酬管理,辦公用品、日志管理的完善。同

9、時(shí)使得管理更加合理化和公正化。避免了人員手動(dòng)管理帶來(lái)的速度慢、準(zhǔn)確性不高的缺點(diǎn),為企業(yè)的員工提供更加方便和便捷的工作環(huán)境。其中我負(fù)責(zé)的系統(tǒng)管理和獎(jiǎng)懲管理,則可以規(guī)范化企業(yè)的管理流程,有利于提高企業(yè)的相關(guān)信息保密性,同時(shí)避免了相關(guān)信息被不具有相關(guān)權(quán)限的人修改。同時(shí)也方便了管理人員對(duì)員工的一年工作獎(jiǎng)懲情況統(tǒng)計(jì),為員工查詢(xún)自己的獎(jiǎng)懲情況提供依據(jù)。1.2 需求分析當(dāng)今社會(huì),企業(yè)內(nèi)部人力資源管理和辦公管理越來(lái)越完善,這方便了辦公自動(dòng)化管理系統(tǒng)的搭建。而由于辦公自動(dòng)化系統(tǒng)的操作簡(jiǎn)單。功能全面??梢杂糜趯?duì)企業(yè)員工信息的存儲(chǔ),對(duì)員工日常工作生活的管理,有利于管理人員對(duì)員工的薪資和出勤、工作任務(wù)的完成情況、新員

10、工的招收、辭職員工的處理等方面做出更快更好的處理響應(yīng)。一個(gè)好的辦公自動(dòng)化系統(tǒng)可以提高企業(yè)的效率,使得管理更加網(wǎng)絡(luò)化、科學(xué)化。這一部分主要完成了整個(gè)系統(tǒng)的目標(biāo)、結(jié)構(gòu)、功能等方面的分析和整個(gè)系統(tǒng)結(jié)構(gòu)的劃分,為以后的詳細(xì)設(shè)計(jì)打好基礎(chǔ),也為小組的分工提供依據(jù)。1.2.1目標(biāo)分析小組編寫(xiě)的是一個(gè)公司的辦公自動(dòng)化管理系統(tǒng),通過(guò)分析,對(duì)該系統(tǒng)的目標(biāo)有了如下的認(rèn)識(shí)和總結(jié):總目標(biāo)l 對(duì)公司職員的考勤、培訓(xùn)、日常提供管理l 對(duì)單個(gè)員工的詳細(xì)資料和獎(jiǎng)懲情況提供查詢(xún)的操作l 對(duì)公司非公開(kāi)資料提供有一定安全性的存儲(chǔ)l 系統(tǒng)設(shè)計(jì)合理,結(jié)構(gòu)合理,符合設(shè)計(jì)要求功能目標(biāo)1) 員工管理:提供員工信息的查詢(xún)、按員工id查詢(xún)、錄入、

11、修改、刪除操作2) 日常管理:提供培訓(xùn)的申請(qǐng),日志的添加查詢(xún)審批。3) 考勤管理:通過(guò)員工每日的簽到可以完成對(duì)員工考勤和請(qǐng)假信息的統(tǒng)計(jì)4) 辦公管理:對(duì)公司的資源(會(huì)議室,公車(chē),辦公品)的調(diào)配和相應(yīng)資源的申請(qǐng)。5) 報(bào)銷(xiāo)管理:?jiǎn)T工填寫(xiě)報(bào)銷(xiāo)單,管理員或者經(jīng)理審核報(bào)銷(xiāo)單,批準(zhǔn)或者打回報(bào)銷(xiāo)單6) 客戶(hù)管理:管理員填寫(xiě)客戶(hù)單,保存客戶(hù)信息,同時(shí)保存練習(xí)人信息。7) 合同管理:管理員保存合同信息和合同簽署人信息。8) 權(quán)限管理:超級(jí)管理員和管理員的權(quán)限管理,實(shí)現(xiàn)管理員的添加刪除、系統(tǒng)登陸等操作。性能目標(biāo)(1) 使用系統(tǒng)可以提高對(duì)員工的管理效率,提高公司的整體運(yùn)行效率(2) 使用該系統(tǒng)提高了公司管理的合理

12、性和安全性(3) 只限于內(nèi)部員工對(duì)系統(tǒng)的操作,非本公司員工無(wú)法操作項(xiàng)目運(yùn)行環(huán)境安裝有瀏覽器的windows2000/windows xp/windows 7項(xiàng)目開(kāi)發(fā)環(huán)境項(xiàng)目是在Myeclipse的環(huán)境下開(kāi)發(fā)編寫(xiě)的,部分網(wǎng)頁(yè)的編寫(xiě)使用了Dreamweaver服務(wù)器:Tomcat,數(shù)據(jù)庫(kù):Mysql數(shù)據(jù)庫(kù)1.3.2 結(jié)構(gòu)分析本部分是對(duì)系統(tǒng)的一個(gè)模塊劃分,便于組員分配工作1.3.3功能分析這部分是根據(jù)系統(tǒng)的需求來(lái)分析該系統(tǒng)的功能。其中我負(fù)責(zé)的是員工管理和日常管理兩部分的功能實(shí)現(xiàn)。下面是從用例、流程等方面說(shuō)明我負(fù)責(zé)部分的功能1:業(yè)務(wù)流程圖業(yè)務(wù)流程圖讓我們更清晰的認(rèn)識(shí)到整個(gè)系統(tǒng)的各個(gè)功能模塊的劃分,下面

13、是次系統(tǒng)的業(yè)務(wù)流程圖管理員登陸流程:普通員工登陸流程:2項(xiàng)目概要設(shè)計(jì)分析2.1:項(xiàng)目概要分析概要設(shè)計(jì)主要包括了項(xiàng)目開(kāi)發(fā)前期對(duì)項(xiàng)目涉及的用例以及相互之間的關(guān)系進(jìn)行分析,同時(shí)對(duì)每個(gè)模塊需要實(shí)現(xiàn)的流程和邏輯作出設(shè)計(jì)和分析2.1.1:用例分析一: 員工管理用例分析用戶(hù)管理分為兩個(gè)部分:?jiǎn)T工管理、部門(mén)管理,其中員工管理部分,管理員可以對(duì)員工進(jìn)行添加操作,可以根據(jù)員工的姓名,入職時(shí)間,所在部門(mén)等條件查詢(xún)符合要求的員工,可以對(duì)不需要的員工信息進(jìn)行刪除,對(duì)已錄入員工信息進(jìn)行變更。員工方面則可以在登陸之后修改自己的賬號(hào)密碼部門(mén)管理中,管理員可以根據(jù)部門(mén)編號(hào)查詢(xún)部門(mén),可以在需要的情況下添加新的部門(mén)信息,也可以刪除

14、已合并或者重組的部門(mén),可以修改部門(mén)信息。以下是員工管理的整體用例圖二: 日常管理用例分析1:日志管理 員工每天完成自己的工作之后,需要提交一個(gè)日志,員工登錄系統(tǒng)后,選擇日志管理界面,點(diǎn)擊新建日志,會(huì)有彈出窗或者新跳轉(zhuǎn)一個(gè)頁(yè)面進(jìn)入日志的編寫(xiě)界面,在員工完成日志的編輯之后點(diǎn)擊提交按鈕,會(huì)在后臺(tái)數(shù)據(jù)庫(kù)中添加一條日志記錄,同時(shí)日志的狀態(tài)自動(dòng)設(shè)置為未審核,級(jí)別為null。 日志管理員需要登錄系統(tǒng),進(jìn)入日志管理頁(yè)面查詢(xún)?nèi)罩?,查?xún)狀態(tài)為未審核的日志,在每條日志記錄的操作欄中會(huì)有詳細(xì)信息的按鈕,點(diǎn)擊可閱讀日志全文,在日志閱讀界面(彈窗或者跳轉(zhuǎn))下方會(huì)有一個(gè)級(jí)別單選按鈕組(優(yōu)良差)選擇后點(diǎn)擊審核,會(huì)自動(dòng)把日志狀

15、態(tài)設(shè)置為已審核,同時(shí)會(huì)將級(jí)別加入數(shù)據(jù)庫(kù)員工可以登錄系統(tǒng)后點(diǎn)擊我的日志,可以根據(jù)登陸的id查看自己的日志,也可以選擇一定的日志區(qū)間來(lái)查看某段時(shí)間內(nèi)的日志下面是日常管理的用例圖2.1.2:流程分析在權(quán)限管理中,主要是對(duì)項(xiàng)目中某個(gè)功能的工作流程作出比較詳細(xì)的規(guī)劃員工管理流程分析:?jiǎn)T工管理中,主要是管理員的操作,通過(guò)登錄時(shí)判斷是否是管理員可以擁有不同權(quán)限。其中,管理員可以根據(jù)員工的姓名、入職時(shí)間、性別、部門(mén)來(lái)查詢(xún)特定的員工,可以修改,刪除和添加員工信息,可以查詢(xún)部門(mén)信息,可以添加部門(mén),刪除部門(mén)和修改部門(mén)信息。在部門(mén)管理中,還可以根據(jù)部門(mén)查看部門(mén)所有的員工信息。而普通員工登陸之后,可以在輸入密碼之后修改

16、自己的登陸密碼,但是無(wú)法進(jìn)行其他操作。以下是員工管理流程圖:日常管理流程分析:在日常管理中分為兩部分,員工操作和日志管理員操作在員工操作中,員工能夠上傳當(dāng)天的工作日志,同時(shí)可以根據(jù)登陸時(shí)的id查看自己的所有工作日志,而且可以根據(jù)日期區(qū)間的選擇查看相應(yīng)日期區(qū)間內(nèi)的日志內(nèi)容 在管理員操作中,管理員登陸日志模塊后,首先看到的是前一天的日志以及審核狀況,在該頁(yè)面中管理員可以根據(jù)自身的需要查找相應(yīng)的日志,也可以對(duì)日志進(jìn)行評(píng)級(jí)。下面是日常管理的流程圖2.1.3:關(guān)系分析員工管理關(guān)系分析每一個(gè)員工都包含了自身的信息,包括員工號(hào)姓名,部門(mén)號(hào)等等的信息,同時(shí)每個(gè)部門(mén)也包括人數(shù),部門(mén)經(jīng)理,部門(mén)號(hào),部門(mén)名稱(chēng)等等的一

17、系列屬性。而管理員則是對(duì)他們信息進(jìn)行維護(hù)管理的操作下面是員工管理的E-R圖日常管理關(guān)系分析 日常管理中,員工和管理員都分別對(duì)日志進(jìn)行操作,其中管理員是對(duì)日志進(jìn)行審核,而員工是對(duì)日志進(jìn)行添加和查看,下面是日常管理的E-R圖:3:項(xiàng)目詳細(xì)設(shè)計(jì)進(jìn)行了項(xiàng)目的整體分析和自己所負(fù)責(zé)部分的邏輯分析之后,我們需要對(duì)項(xiàng)目進(jìn)行詳細(xì)的設(shè)計(jì)了。,對(duì)于項(xiàng)目的詳細(xì)設(shè)計(jì)我們分為n 業(yè)務(wù)對(duì)象模型設(shè)計(jì)n 數(shù)據(jù)庫(kù)設(shè)計(jì)n 功能邏輯設(shè)計(jì)n 界面設(shè)計(jì)3.1:業(yè)務(wù)對(duì)象模型設(shè)計(jì)在業(yè)務(wù)對(duì)象邏輯設(shè)計(jì)中我們會(huì)首先提取出業(yè)務(wù)對(duì)象,并對(duì)對(duì)業(yè)務(wù)對(duì)象的屬性,基本操作以及相互之間的關(guān)聯(lián)關(guān)系和組合關(guān)系等進(jìn)行設(shè)計(jì)。同時(shí)我們也會(huì)根據(jù)需要,對(duì)業(yè)務(wù)對(duì)象進(jìn)行優(yōu)化。3

18、.1.1:業(yè)務(wù)對(duì)象提取在OA辦公自動(dòng)化系統(tǒng)中,我負(fù)責(zé)的模塊是員工管理和日常管理。在這兩個(gè)模塊中涉及到的對(duì)象包括 普通員工、管理員、部門(mén)、日志文件等等對(duì)象,以下是我提取的業(yè)務(wù)對(duì)象。每一個(gè)業(yè)務(wù)對(duì)象都有自己特有的屬性,根據(jù)系統(tǒng)的系能分析和對(duì)每個(gè)業(yè)務(wù)對(duì)象進(jìn)行分析,以下是每個(gè)業(yè)務(wù)對(duì)象的性質(zhì)表以及每個(gè)業(yè)務(wù)對(duì)象所包含的操作業(yè)務(wù)對(duì)象名稱(chēng)具有屬性可完成操作員工員工編號(hào)、員工姓名、登錄密碼、性別、出生日期、聯(lián)系方式、所屬部門(mén)、直接上級(jí)、入職時(shí)間、離職時(shí)間、職務(wù)員工可以登錄系統(tǒng)后完成對(duì)自己密碼的更改,可以查詢(xún)自己之前提交的日志,可以在工作結(jié)束后提交當(dāng)天的工作日志管理員員工編號(hào)、員工姓名、登錄密碼、性別、出生日期、聯(lián)

19、系方式、所屬部門(mén)、直接上級(jí)、入職時(shí)間、離職時(shí)間、職務(wù)管理員在登錄系統(tǒng)后,可以對(duì)員工的信息進(jìn)行增加刪除修改等等操作,可以根據(jù)自身需求通過(guò)不同條件查詢(xún)員工信息同時(shí)管理員可以管理部門(mén)信息,可以根據(jù)部門(mén)查看員工信息。日志管理方面,管理員可以管理日志,可以對(duì)日志進(jìn)行評(píng)價(jià)部門(mén)部門(mén)編號(hào)、部門(mén)名稱(chēng)、部門(mén)職能、負(fù)責(zé)人、當(dāng)前人數(shù)部門(mén)信息可以被管理員修改和查詢(xún),與員工之間有關(guān)系日志日志編號(hào)、提交人、提交日期、日志內(nèi)容、工作難點(diǎn)、擔(dān)任職務(wù)、日志狀態(tài)、日志級(jí)別日志是被員工提交,被管理員評(píng)價(jià),可以查看詳細(xì)信息3.1.2:關(guān)系設(shè)計(jì)同一個(gè)系統(tǒng)中,實(shí)體與實(shí)體之間難免存在著聯(lián)系,不同的實(shí)體之間的對(duì)應(yīng)關(guān)系是不同的,下面是我負(fù)責(zé)模塊

20、的實(shí)體之間的關(guān)系敘述l 部門(mén)與員工之間存在著一對(duì)多的關(guān)系,一個(gè)部門(mén)可以有多個(gè)員工。l 員工與日志之間存在一對(duì)多的關(guān)系,員工在正常出勤的情況下每天都需要提交工作日志l 員工表還包括員工職位,這與職位表也存在著多對(duì)一的關(guān)系,例如職位為經(jīng)理的員工就不止一個(gè)l 員工對(duì)應(yīng)的功能有多對(duì)多的關(guān)系,一個(gè)功能可以有多個(gè)員工擁有,一個(gè)員工也可以擁有多個(gè)功能根據(jù)以上分析,下面是實(shí)體之間的關(guān)系圖3.2:功能邏輯順序設(shè)計(jì) 在系統(tǒng)的設(shè)計(jì)過(guò)程中,設(shè)計(jì)者需要考慮人(管理員)與系統(tǒng)之間的交互情況,同時(shí)要清楚的知道各個(gè)對(duì)象之間信息交互的時(shí)序關(guān)系以及邏輯聯(lián)系。在我負(fù)責(zé)的模塊中,用戶(hù)登錄之后會(huì)判斷是否是管理員,若是管理員,主頁(yè)面顯示

21、管理員所有的權(quán)限操作,若不是,則顯示員工所有的權(quán)限操作。在首頁(yè)進(jìn)行相應(yīng)的功能選擇之后,就會(huì)進(jìn)入相應(yīng)的功能界面,在功能界面中進(jìn)行相應(yīng)對(duì)象的增刪改查操作,或者相應(yīng)的業(yè)務(wù)操作,比如員工管理可以添加員工,而日志管理中管理員可以對(duì)日志進(jìn)行審核操作等等。操作完成后等待下次操作。下面是員工管理部分的邏輯順序圖下面是部門(mén)管理的邏輯順序圖:日志管理邏輯順序管理員登陸之后,點(diǎn)擊日志審核,首先看到的是前一天所有員工提交的日志,在日志查詢(xún)界面上,管理員可以根據(jù)需要輸入多條件,在查詢(xún)結(jié)果后面的操作列上有日志審核按鈕。管理員可以點(diǎn)擊進(jìn)入到日志審核界面。在日志審核界面上管理員可以閱讀日志詳細(xì)信息,并且對(duì)日志進(jìn)行評(píng)級(jí)。同時(shí)將

22、日志的狀態(tài)置為“已審核”。下面是日志管理部分的邏輯順序圖:3.3:數(shù)據(jù)庫(kù)設(shè)計(jì)根據(jù)項(xiàng)目需要,我們需要對(duì)項(xiàng)目的實(shí)體類(lèi)進(jìn)行相應(yīng)的數(shù)據(jù)庫(kù)設(shè)計(jì)。而數(shù)據(jù)庫(kù)設(shè)計(jì)又分為概念設(shè)計(jì)(包括了主外鍵約束,類(lèi)的持久化)、邏輯設(shè)計(jì)、以及物理設(shè)計(jì)等方面。首先先進(jìn)行的是數(shù)據(jù)庫(kù)的概念設(shè)計(jì), 3.3.1:數(shù)據(jù)庫(kù)概念設(shè)計(jì)首先進(jìn)行數(shù)據(jù)庫(kù)的概念設(shè)計(jì),下面是我們的數(shù)據(jù)庫(kù)設(shè)計(jì)表表名稱(chēng)表屬性表主鍵外鍵員工表員工ID,員工姓名,員工所屬部門(mén),員工職位,員工電話,入職時(shí)間,離職時(shí)間員工ID部門(mén)編號(hào) 職位編號(hào)部門(mén)表部門(mén)ID,部門(mén)名稱(chēng),部門(mén)領(lǐng)導(dǎo),部門(mén)職能,部門(mén)人數(shù)部門(mén)ID無(wú)日志表日志編號(hào),日志提交日期,日志提交員工,工作難點(diǎn),日志正文,日志狀態(tài),日

23、志級(jí)別日志編號(hào)員工ID功能表功能編號(hào),功能名稱(chēng),對(duì)應(yīng)職位功能編號(hào)對(duì)應(yīng)職位編號(hào)職位表職位編號(hào),職位名稱(chēng)職位編號(hào)無(wú)3.3.2:表結(jié)構(gòu)設(shè)計(jì)接下來(lái)是對(duì)各表的優(yōu)化和設(shè)計(jì),以及表字段類(lèi)型的設(shè)計(jì)和所占大小的設(shè)計(jì)。下面是我負(fù)責(zé)模塊涉及到的幾張表結(jié)構(gòu),包括了表之間的主外鍵關(guān)系和表字段的類(lèi)型等等。1:?jiǎn)T工表字段名中文名數(shù)據(jù)類(lèi)型是否主鍵是否外鍵可否空值Pk_emp_id員工編號(hào)Int是否否emp_name員工姓名Varchar(50)否否否emp_pass登錄密碼Varchar(225)否否否emp_sex性別Varchar(20)否否是emp_birth出生日期Date否否是emp_phone聯(lián)系方式Varcha

24、r(225)否否是Fk_bm_id所屬部門(mén)int否是否emp_boss直接上級(jí)Varchar(50)否否是emp_rztime入職時(shí)間Date否否是emp_lztime離職時(shí)間Date否否是emp_zw職務(wù)Varchar(50)否否是2:部門(mén)表字段名中文名數(shù)據(jù)類(lèi)型是否主鍵是否外鍵可否空值Pk_bm_id部門(mén)編號(hào)Int是否否bm_name部門(mén)名稱(chēng)varchar(50)否否否bm_zn部門(mén)職能varchar(225)否否否bm_fzr負(fù)責(zé)人varchar(50)否否否Bm_rs當(dāng)前人數(shù)int否否否3:日志表字段名中文名數(shù)據(jù)類(lèi)型是否主鍵是否外鍵可否空值Pk_Rz_id日志編號(hào)int是否否Fk_emp

25、_id提交人int否是否Rz_date提交日期date否否是Rz_main日志內(nèi)容text否否是Rz_diff工作難點(diǎn)Varchar(225)否否是Rz_zw擔(dān)任職務(wù)Varchar(50) 否否否Rz_zt日志狀態(tài)Varchar(50)否否是Rz_jb日志級(jí)別Varchar(20)否否是4:功能表字段名中文名數(shù)據(jù)類(lèi)型是否主鍵是否外鍵可否空值Pk_gn_id功能編號(hào)Int是否否Gn_name功能名Varchar(50)否否否Fk_user_zw職位varchar(50)否是否5:職位表字段名中文名數(shù)據(jù)類(lèi)型是否主鍵是否外鍵可否空值Pk_dz_id職位編號(hào)Int是否否Fk_user_zw職位名稱(chēng)va

26、rchar(50)否是否為了方便數(shù)據(jù)庫(kù)存儲(chǔ),不容易導(dǎo)致錯(cuò)誤,所有表名和屬性名均由英文書(shū)寫(xiě)。最終數(shù)據(jù)庫(kù)各表之間關(guān)系和表屬性的總結(jié)如下圖:3.4:界面設(shè)計(jì)登陸界面設(shè)計(jì)首頁(yè)截圖在登陸后會(huì)進(jìn)入到系統(tǒng)首頁(yè),根據(jù)登陸者不同的權(quán)限,會(huì)看到不同的首頁(yè)菜單,下面是管理員的首頁(yè)菜單下面是普通員工的首頁(yè)菜單普通用戶(hù)登錄之后看到的菜單比管理員的功能要少很多,因?yàn)槠胀ㄓ脩?hù)沒(méi)有響應(yīng)的權(quán)限員工界面:在員工界面,可以查詢(xún)所有員工,可以根據(jù)員工id,所在部門(mén),性別,入職時(shí)間等條件進(jìn)行多條件查詢(xún)??梢蕴砑訂T工,對(duì)員工信息進(jìn)行修改等操作員工修改界面:密碼修改界面部門(mén)界面部門(mén)界面包括了部門(mén)的增加和查詢(xún)以及刪除功能日志界面日志包括員工

27、查看日志和管理員查看日志兩部分,管理員還可以根據(jù)不同的條件對(duì)日志進(jìn)行查詢(xún)管理員日志界面日志添加界面4:代碼設(shè)計(jì)4.1:配置文件代碼設(shè)計(jì)配置文件中的Spring部分我是使用注解的形式進(jìn)行編寫(xiě)的,并對(duì)Spring配置文件進(jìn)行了拆分。而對(duì)應(yīng)的hibernate是利用Spring的注入,Struts2則是利用Xml文件的動(dòng)態(tài)匹配方法實(shí)現(xiàn)的,以下是代碼Action的Spring配置文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http:/www.springframework

28、.org/schema/beans"xmlns:xsi="/2001/XMLSchema-instance" xmlns:p="/schema/p"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans http:/www.springfr

29、/schema/beans/spring-beans-2.5.xsd/schema/context /schema/context/spring-context-2.5.xsd"><context:annotation-config /><context:component-scan base-package="N.employee.action"></context:component-sc

30、an> <context:component-scan base-package="N.department.action"></context:component-scan><context:component-scan base-package="N.Rz.action"></context:component-scan> </beans>Service部分的配置文件<?xml version="1.0" encoding="UTF-8"?

31、><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance" xmlns:p="/schema/p"xmlns:context="/schema/context"xsi:schemaLocation="http:/www.

32、/schema/beans /schema/beans/spring-beans-2.5.xsd/schema/context /schema/context/spring-context-2.5.xsd"><context:annotation-config /><context:component-scan base-package="N

33、.employee.service.impl" /> <context:component-scan base-package="N.department.service.impl" /> <context:component-scan base-package="N.Rz.service.impl" /></beans>Dao層的Spring配置文件以及hibernate的相關(guān)配置<?xml version="1.0" encoding="UTF-8"?&

34、gt;<beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance" xmlns:p="/schema/p"xmlns:context="/schema/context"xsi:schemaLocation="http:/www.s

35、/schema/beans /schema/beans/spring-beans-2.5.xsd/schema/context /schema/context/spring-context-2.5.xsd"><context:annotation-config /><context:component-scan base-package="N.

36、employee.dao.impl" /><context:component-scan base-package="N.department.dao.impl" /> <context:component-scan base-package="N.Rz.dao.impl" /><!- Hibernate -><!- 屬性文件加載器 -><bean id="propertyConfigurer"class="org.springframework.bean

37、s.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><list><value>classpath:perties</value></list></property></bean><!- 配置dbcp數(shù)據(jù)源 -><bean id="datasource" class="mons.dbcp.BasicDataSource

38、"><property name="driverClassName" value="$jdbc.driverClassName"></property><property name="url" value="$jdbc.url"></property><property name="username" value="$jdbc.username"></property><proper

39、ty name="password" value="$jdbc.password"></property><!- 設(shè)置事務(wù)自動(dòng)提交 -><property name="defaultAutoCommit" value="true" /></bean><!- 配置sessionFactory -><bean id="sessionFactory"class="org.springframework.orm.hiber

40、nate3.LocalSessionFactoryBean"><property name="dataSource"><ref bean="datasource"></ref></property><!- hibernate參數(shù)配置 -><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hiberna

41、te.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.format_sql">true</prop><prop key="hibernate.hbm2ddl.auto">update</prop></props></property><!- java類(lèi) <value>WebRoot

42、/WEB-INF/classes/com/yourcompany/pojo</value> -><!- 配置對(duì)象關(guān)系映射文件(通用方式) -><property name="mappingDirectoryLocations"><list><value>classpath:Nice/com/pojo</value></list></property></bean></beans>Struts.xml配置文件中的代碼設(shè)計(jì)<!DOCTYPE str

43、uts PUBLIC "-/Apache Software Foundation/DTD Struts Configuration 2.1.7/EN" "/dtds/struts-2.1.7.dtd"><struts><package name="Nice" extends="struts-default,json-default" namespace="/"><!- 部門(mén)表Action跳轉(zhuǎn)結(jié)果配置 ->&l

44、t;action name="departmentAction" class="N.department.action.departmentAction"><result name="login">login.jsp</result><result name="success">index.jsp</result><result name="findall">Template/find-form.jsp</result>

45、;<result name="addAfter">find-form.jsp</result><result name="updatefind">Template/depUpdate.jsp</result><result name="findall_update" type="json"></result></action><!- 員工表Action跳轉(zhuǎn)結(jié)果配置 -><action name="empl

46、oyeeAction" class="N.employee.action.EmployeeAction"> <result name="loginok">index.jsp</result><result name="loginfalse">login.jsp</result><result name="success">Template/employ.jsp</result><result name="find

47、all">Template/find-form.jsp</result><result name="change">Template/empUpdate.jsp</result><result name="update">Template/employ.jsp</result><result name="addlate">employ.jsp</result><result name="passchange"&

48、gt;Template/passChange.jsp</result><result name="changef" type="json"><param name="root">ajax</param></result><result name="ajaxlist" type="json"></result></action><action name="rzAction" c

49、lass="N.Rz.action.RzAction"> <result name="add">Rz_jsp/rzselect.jsp</result> <result name="qubyRzid">Rz_jsp/xxRz.jsp</result> <result name="tz">Rz_jsp/addrz.jsp</result> <result name="qutz">Rz_jsp/rzselect

50、.jsp</result> <result name="querybyid">Rz_jsp/rzselect.jsp</result> <result name="queryall">Rz_jsp/adminqu.jsp</result> <result name="tocheck">Rz_jsp/shRz.jsp</result> <result name="checkover">Rz_jsp/adminqu.jsp&

51、lt;/result></action></package></struts>4.2:Dao層的代碼設(shè)計(jì)員工Dao接口中的方法 public interface EmpDao public abstract void add(Employee employee);public abstract List findall();public abstract Employee findby(Integer empid);public abstract void delete(Integer empid);public abstract void updat

52、e(Employee employee);public abstract List findgroup();public abstract List query(Employee employee);public abstract List login(Employee employee);public abstract List sure(Employee loginemp);public abstract void changep(Employee employee);public abstract List bydep(Integer depid);public abstract Lis

53、t limits(Employee loginemp);public abstract List queryGn(Integer gid);員工Dao中的方法實(shí)現(xiàn)Repositorypublic class EmpDaoImpl extends HibernateDaoSupport implements EmpDao /創(chuàng)建sessionfactory的注入deset方法Resourcepublic void setSessionF(SessionFactory sessionFactory) super.setSessionFactory(sessionFactory);/添加方法Over

54、ridepublic void add(Employee employee) getHibernateTemplate().save(employee);/查詢(xún)所有方法Overridepublic List findall() List list = getHibernateTemplate().find("from Employee");return list;/根據(jù)id查詢(xún)Overridepublic Employee findby(Integer empid) Employee employee = getHibernateTemplate().get(Employe

55、e.class, empid);return employee;/刪除方法Overridepublic void delete(Integer empid) Employee employee=getHibernateTemplate().get(Employee.class, empid);getHibernateTemplate().delete(employee);/修改方法Overridepublic void update(Employee employee) getHibernateTemplate().update(employee);/前臺(tái)下拉菜單查詢(xún)方法Overridepub

56、lic List findgroup() List list1 = getHibernateTemplate().find("from Employee group by zw.pkZwId");return list1;/多條件查詢(xún)方法Overridepublic List query(Employee employee) StringBuffer buffer=new StringBuffer("from Employee as employee where 1=1 ");if(employee.getEmpName()!=null)buffer.a

57、ppend(" and employee.empName='");buffer.append(employee.getEmpName();buffer.append("'");if(employee.getDepartment().getPkBmId()!=null)buffer.append(" and employee.department.pkBmId=");buffer.append(employee.getDepartment().getPkBmId();if(employee.getEmpSex()!=nu

58、ll)buffer.append(" and employee.empSex='");buffer.append(employee.getEmpSex();buffer.append("'");if(employee.getEmpRztime()!=null)buffer.append(" and employee.empRztime='");buffer.append(employee.getEmpRztime();buffer.append("'");/getHibernateTemplate().find("from Employee where employee.empName=? and");List list2=getHibernateTemplate().find(buffer.toString();return list2;/登陸方法Overridepublic List login(Employee loginemp) StringBuffer hql=new StringBuffer(&q

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論