javaweb人事管理系統(tǒng).doc
《javaweb人事管理系統(tǒng).doc》由會員分享,可在線閱讀,更多相關(guān)《javaweb人事管理系統(tǒng).doc(29頁珍藏版)》請在裝配圖網(wǎng)上搜索。
綜合課程實習(xí)說明書 課程名稱: 綜合課程實習(xí) 設(shè)計題目: 人事管理系統(tǒng) 專 業(yè): 計算機(jī)科學(xué)與技術(shù) 班級: 0601 學(xué)生姓名: 郭威 學(xué) 號: 0612030108 指導(dǎo)教師: 文志強(qiáng) 湖南工業(yè)大學(xué)科技學(xué)院教務(wù)部 制 2010年 1 月 15 日 目 錄 1 引言 1 1.1管理信息系統(tǒng)概述.........................................1 1.2 SQL2005介紹.............................................2 1.3框架介紹.................................................3 2 系統(tǒng)分析.....................................................6 2.1需求分析.................................................6 2.2系統(tǒng)目標(biāo).................................................6 2.3系統(tǒng)概況.................................................6 2.4系統(tǒng)性能要求.............................................6 3系統(tǒng)設(shè)計......................................................7 3.1概要設(shè)計.................................................7 3.2詳細(xì)設(shè)計................................................10 4系統(tǒng)實現(xiàn).....................................................14 4.1編程環(huán)境介紹............................................14 4.2系統(tǒng)運(yùn)行結(jié)果............................................14 5總結(jié)與體會...................................................25 參考文獻(xiàn)......................................................16 1 引言 人事管理是現(xiàn)代企業(yè)管理工作不可缺少的一部分,是適應(yīng)現(xiàn)代企業(yè)管理尺度的要求、推動企業(yè)勞動人事管理走向科學(xué)化、規(guī)范化的必要條件。只有人事管理規(guī)范了,才能在其他方面更好的發(fā)展。為了適應(yīng)現(xiàn)代企業(yè)或公司經(jīng)營發(fā)展的需要,人事管理也從以前的手工管理逐漸被規(guī)范化的管理信息系統(tǒng)所代替。眾所周知,當(dāng)今社會為信息社會,世界已進(jìn)入在計算機(jī)信息管理領(lǐng)域中激烈競爭的年代,因此,加強(qiáng)人事管理在單純依靠以手工管理的方法,不僅需要耗用大量的人力、物力、財力,而且工作效率低,而且難以達(dá)到預(yù)期的目的,為提高企業(yè)工作效率、保證企業(yè)人事管理質(zhì)量、快而準(zhǔn)確地為企業(yè)制定好的經(jīng)營方針與決策,,人事管理是當(dāng)今企事業(yè)單位中不可缺少的一部分.它適應(yīng)時代潮流,順應(yīng)時代發(fā)展,是現(xiàn)代企業(yè)制度發(fā)展的要求,推動企業(yè)人事管理科學(xué)化,規(guī)范化的必要條件“科學(xué)技術(shù)是第一 生產(chǎn)力”,只有人事管理規(guī)范化,其他事情才能辦好。適應(yīng)現(xiàn)代企事業(yè)單位管理規(guī)范化,經(jīng)營發(fā)展戰(zhàn)略的需要,人事管理也應(yīng)由原來的手工管理逐漸被規(guī)范化的信息管理系統(tǒng)所代替。 眾所周知,當(dāng)今社會是信息社會,特別是在我國加入WTO之后,信息更是科學(xué)化,迅速化,全球化。因此,要想加強(qiáng)人事管理,單純依靠以前的手工管理,不僅會浪費(fèi)大量的人力,物力,財力,而且效率不高,而且很難達(dá)到預(yù)期的目的。所以人事管理信息系統(tǒng)能夠為高層領(lǐng)導(dǎo)者提供準(zhǔn)確的人員信息,以便領(lǐng)導(dǎo)者了解企業(yè)各個部門的人員構(gòu)成,計算好人力成本,安排好工作計劃,使企業(yè)變的更高效,更具有生命力。 1.1 管理信息系統(tǒng)概述 20世紀(jì),隨著全球世界經(jīng)濟(jì)的發(fā)展,眾多經(jīng)濟(jì)學(xué)家紛紛提出了新的管理理論。20世紀(jì)50年代,西蒙提出管理依賴于信息和決策的思想。同時期的維納 發(fā)表了控制論,他認(rèn)為管理是一個控制過程。1958年,蓋爾寫到:“管理將以較低的成本得到及時準(zhǔn)確的信息,做到較好的控制”。這個時期,計算機(jī)開始用于會計工作。數(shù)據(jù)處理一詞已經(jīng)出現(xiàn)。 管理信息系統(tǒng)的創(chuàng)始人,明尼蘇達(dá)大學(xué)的管理學(xué)教授Gordon B. Davis在1985年給了管理信息系統(tǒng)一個較完整的定義,即“管理信息系統(tǒng)是一個利用計算機(jī)軟硬件資源以及數(shù)據(jù)庫的人-機(jī)系統(tǒng)。它能提供信息支持企業(yè)或組織的運(yùn)行,管理和決策功能?!边@個定義全面地說明了管理信息系統(tǒng)的目標(biāo),功能和組成,而且反映了管理信息系統(tǒng)在當(dāng)時達(dá)到的水平。 管理工作的成敗,取決于能否做出有效的決策,而決策的正確程度則取決于信息的質(zhì)量。計算機(jī)在管理中的應(yīng)用不僅僅只用于數(shù)據(jù)處理,而且輔助決策的工具。計算機(jī)能把生產(chǎn)、經(jīng)營過程中的巨大數(shù)據(jù)流收集、組織起來,經(jīng)過處理,轉(zhuǎn)換為對各部門不可缺少的數(shù)據(jù),經(jīng)過分析,使它變?yōu)楦骷壒芾砣藛T做出決策具有重要意義的信息。管理方面應(yīng)用計算機(jī)已經(jīng)發(fā)展成為專門的管理信息系統(tǒng)(Management Information System,簡稱MIS)。我國的管理信息系統(tǒng)應(yīng)用已從單項業(yè)務(wù)的信息管理,迅速向綜合的管理層和決策層的信息管理發(fā)展,應(yīng)用水平日趨提高。 1.2 SQL2005介紹 SQL(Structured Query Language),結(jié)構(gòu)化查詢語言。SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進(jìn)行溝通。按照ANSI(美國國家標(biāo)準(zhǔn)協(xié)會)的規(guī)定,SQL被作為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)都采用了SQL語言標(biāo)準(zhǔn)。雖然很多數(shù)據(jù)庫都對SQL語句進(jìn)行了再開發(fā)和擴(kuò)展,但是包括Select, Insert, Update, Delete, Create,以及Drop在內(nèi)的標(biāo)準(zhǔn)的SQL命令仍然可以被用來完成幾乎所有的數(shù)據(jù)庫操作。 SQL Server 是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個OS/2 版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚(yáng)鑣了,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。Sybase 則較專注于SQL Server在UNIX 操作系統(tǒng)上的應(yīng)用。 SQL Server 2005 是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能 (BI) 工具提供了企業(yè)級的數(shù)據(jù)管理。SQL Server 2005 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。 SQL Server 2005 數(shù)據(jù)引擎是本企業(yè)數(shù)據(jù)管理解決方案的核心。此外 SQL Server 2005 結(jié)合了分析、報表、集成和通知功能。這使您的企業(yè)可以構(gòu)建和部署經(jīng)濟(jì)有效的 BI 解決方案,幫助您的團(tuán)隊通過記分卡、Dashboard、Web services 和移動設(shè)備將數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個領(lǐng)域。 與 Microsoft Visual Studio、Microsoft Office System 以及新的開發(fā)工具包(包括 Business Intelligence Development Studio)的緊密集成使 SQL Server 2005 與眾不同。無論您是開發(fā)人員、數(shù)據(jù)庫管理員、信息工作者還是決策者,SQL Server 2005 都可以為您提供創(chuàng)新的解決方案,幫助您從數(shù)據(jù)中更多地獲益。 1.3 框架介紹 本系統(tǒng)采用Struts+Spring+Hibernate的框架實現(xiàn)。 SSH=Struts + Spring + Hibernat。其中,Struts進(jìn)行流程控制,Spring進(jìn)行業(yè)務(wù)流轉(zhuǎn),Hibernate進(jìn)行數(shù)據(jù)庫操作的封裝。 典型的J2EE三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗等工作放在中間層處理。客戶端不直接與數(shù)據(jù)庫交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫交互。 表現(xiàn)層是傳統(tǒng)的JSP技術(shù),自1999年問世以來,經(jīng)過多年的發(fā)展,其廣泛的應(yīng)用和穩(wěn)定的表現(xiàn),為其作為表現(xiàn)層技術(shù)打下了堅實的基礎(chǔ)。 中間層采用的是流行的Spring+Hibernate,為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種: Web層,就是MVC模式里面的“C”(controller),負(fù)責(zé)控制業(yè)務(wù)邏輯層與表現(xiàn)層的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的MVC框架采用Struts。 Service層(就是業(yè)務(wù)邏輯層),負(fù)責(zé)實現(xiàn)業(yè)務(wù)邏輯。業(yè)務(wù)邏輯層以DAO層為基礎(chǔ),通過對DAO組件的正面模式包裝,完成系統(tǒng)所要求的業(yè)務(wù)邏輯。 DAO層,負(fù)責(zé)與持久化對象交互。該層封裝了數(shù)據(jù)的增、刪、查、改的操作。 PO,持久化對象。通過實體關(guān)系映射工具將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)映射成對象,很方便地實現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫。 Spring的作用貫穿了整個中間層,將Web層、Service層、DAO層及PO無縫整合,其數(shù)據(jù)服務(wù)層用來存放數(shù)據(jù)。 1)Model部分 由ActionForm和JavaBean組成,其中ActionForm用于封裝用戶的請求參數(shù),封裝成ActionForm對象,該對象被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionFrom里面的請求參數(shù)處理用戶的請求。 JavaBean則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫訪問等。 2)View部分 該部分采用JSP實現(xiàn)。 Struts提供了豐富的標(biāo)簽庫,通過標(biāo)簽庫可以減少腳本的使用,自定義的標(biāo)簽庫可以實現(xiàn)與Model的有效交互,并增加了現(xiàn)實功能。對應(yīng)上圖的JSP部分。 3)Controller組件 Controller組件有兩個部分組成——系統(tǒng)核心控制器,業(yè)務(wù)邏輯控制器。 系統(tǒng)核心控制器,對應(yīng)上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標(biāo)注的Servlet。該控制器負(fù)責(zé)攔截所有的HTTP請求,然后根據(jù)用戶請求決定是否要轉(zhuǎn)給業(yè)務(wù)邏輯控制器。 業(yè)務(wù)邏輯控制器,負(fù)責(zé)處理用戶請求,本身不具備處理能力,而是調(diào)用Model來完成處理。對應(yīng)Action部分。 Spring: Spring是一個開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。 目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性 功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能 范圍:任何Java應(yīng)用 簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。 輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類。 控制反轉(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進(jìn)來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認(rèn)為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。 面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(auditing)和事務(wù)(transaction)管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對象只實現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負(fù)責(zé)(甚至是意識)其它的系統(tǒng)級關(guān)注點(diǎn),例如日志或事務(wù)支持。 容器——Spring包含并管理應(yīng)用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨(dú)的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。 框架——Spring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。 所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。 Hibernate: Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。 Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。 業(yè)務(wù)層 Web層 DAO Model Action Form DAOManager ActionServlet DAO 工廠 數(shù) 據(jù) 庫 視圖層 Jsp,Html 2 系統(tǒng)分析 2.1需求分析 人事管理是每個企業(yè)必不可少的。人事檔案管理系統(tǒng)一般包括對人事檔案的統(tǒng)計、查詢、更新、報表輸出等功能。 如果人工直接統(tǒng)計的話,工作量將十分龐大,特別是,如果企業(yè)員工有幾萬或幾十萬人時,人工統(tǒng)計將變得不可能想象。 用計算機(jī)可使人們從繁重而又單調(diào)的統(tǒng)計運(yùn)算中解脫出來,僅用一些簡單的操作便可及時準(zhǔn)確地獲得需要的信息。效率大大高于人工統(tǒng)計。 我們利用計算機(jī)替代手工操作建立的人事信息系統(tǒng),即計算機(jī)人事信息系統(tǒng),其主要功能可以歸納為以下三點(diǎn): 一是可以高效能、大容量地收集、處理、存貯人事信息,大幅度地提高人事管理信息系統(tǒng)的工作質(zhì)量和效率。 二是可以及時掌握整個人事管理系統(tǒng)的全面情況,提供系統(tǒng)的準(zhǔn)確的人事信息,可以促進(jìn)人事工作的規(guī)范化及各項管理制度與指標(biāo)體系的建立和健全,從而提高行政管理水平。 三是可以提供各種加工處理了的人事信息,以滿足人事管理的特殊要求,適應(yīng)新形勢對教職工隊伍提出的新要求,幫助選擇方案,實現(xiàn)優(yōu)化決策。 2.2系統(tǒng)目標(biāo) 通過人事管理系統(tǒng)可使管理者快速高效地完成企業(yè)日常事務(wù)中的人事工作,降低人事管理的成本,使管理者能集中精力實現(xiàn)企業(yè)戰(zhàn)略目標(biāo)。人事管理系統(tǒng)的具體目標(biāo)如下: 1) 企業(yè)人事管理的基本信息進(jìn)行管理。 2) 企業(yè)的員工信息(即人事管理功能)。 3) 實現(xiàn)為個人提供網(wǎng)絡(luò)工作平臺的功能。 4) 實現(xiàn)企業(yè)的應(yīng)聘信息的管理功能。 5) 實現(xiàn)企業(yè)員工培訓(xùn)的一系列相關(guān)信息的管理。 6) 員工薪酬信息管理。 7) 系統(tǒng)用戶信息的管理。 8) 系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。 2.3 系統(tǒng)功能分析 人事管理系統(tǒng)的主要任務(wù)是對人事檔案進(jìn)行整理,使得能方便快捷地對人事檔案進(jìn)行查詢、統(tǒng)計、更新,并且能按一定要求輸出報表。 通過該系統(tǒng),使企業(yè)的人事管理工作系統(tǒng)化、規(guī)范化、自動化,從而提高企業(yè)人事管理的效率。 2.4系統(tǒng)性能要求 1)系統(tǒng)安全、可靠; 2)功能齊全; 3)操作方便、界面友好; 4) 易于維護(hù)和擴(kuò)充。 3 系統(tǒng)設(shè)計 3.1概要設(shè)計 3.1.1系統(tǒng)流程圖 圖3.1 人事信息管理系統(tǒng)的系統(tǒng)運(yùn)行流程圖 3.1.2系統(tǒng)功能模塊 1)部門管理:對部門信息進(jìn)行添加、查詢及刪除操作。 2)員工管理:對員工信息進(jìn)行添加、修改、查詢及刪除操作。 3)招聘管理:對招聘人信息進(jìn)行添加、查詢、刪除及錄用操作。 4)培訓(xùn)管理:對培訓(xùn)信息進(jìn)行添加、查詢及刪除操作。 5)薪資管理:對薪資信息進(jìn)行添加、查詢及刪除操作。 6)獎懲管理:對員工獎勵,處罰信息進(jìn)行添加、查詢及刪除操作 3.1.3人事管理系統(tǒng)總體結(jié)構(gòu)圖 人事管理系統(tǒng)總體結(jié)構(gòu)圖如下圖所示: 人事管理系統(tǒng) 獎懲管理 獎勵管理 懲罰管理 招聘管理 員工管理 培訓(xùn)管理 薪資管理 部門信息管理 企業(yè)人才管理 招聘信息管理 培訓(xùn)信息管理 員工考勤管理 薪酬信息管理 部門管理 圖3.2人事信息管理系統(tǒng)總體結(jié)構(gòu)圖 3.1.4系統(tǒng)數(shù)據(jù)流圖 管理 查詢 員工 管理員 人事管理系統(tǒng) 員工信息 圖3.3 系統(tǒng)數(shù)據(jù)流圖 3.3.5系統(tǒng)分工 這次課程設(shè)計我主要做的是培訓(xùn)管理管理模塊、獎懲管理模塊和員工管理模塊。 3.3.6培訓(xùn)管理模塊ER圖 如圖3.4 培訓(xùn)編號 培訓(xùn)主題 培訓(xùn) 姓名 培訓(xùn)時間 培訓(xùn)地點(diǎn) 圖3.4培訓(xùn)管理ER圖 3.3.7獎罰管理模塊ER圖 如圖3.5 獎罰主題 獎罰編號 獎懲 獎金 獎罰時間 圖3.5獎罰管理ER圖 3.3.8員工管理模塊ER圖 如圖3.6 圖3.6員工信息E-R圖 員工信息 編號 流水號 姓名 性別 工種號 出生日期 民族 婚否 政治面貌 住址 電話號碼 畢業(yè)學(xué)校 就讀專業(yè) 從事工作時間 備注 創(chuàng)建此員工信息的帳戶名 工作類型 部門號 從事本公司工作時間 3.2詳細(xì)設(shè)計 3.2.1數(shù)據(jù)項設(shè)計和邏輯結(jié)構(gòu)設(shè)計 通過需求分析,可確定系統(tǒng)的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下: 1)培訓(xùn)管理模塊: 培訓(xùn)(編號、姓名、主題、時間、地點(diǎn)); 如圖3.7 字段名 數(shù)據(jù)類型 長度 是否主鍵 描述 id int 20 是 培訓(xùn)編號 name varchar 50 培訓(xùn)人 theme varchar 100 培訓(xùn)主題 time Date 培訓(xùn)時間 place varchar 100 培訓(xùn)地點(diǎn) 圖3.7培訓(xùn)數(shù)據(jù)表字典 2) 獎罰管理模塊: 獎罰(編號、主題、獎金、時間); 如圖3.8 字段名 數(shù)據(jù)類型 長度 是否主鍵 描述 id int 20 是 獎罰編號 theme varchar 100 獎罰主題 money int 10 獎金 time Date 獎罰時間 圖3.8獎罰數(shù)據(jù)表字典 3) 員工管理模塊: 員工(編號、流水號、姓名、性別、工種號、出生日期、民族、婚否、政治面貌、住址、電話號碼、畢業(yè)學(xué)校、就讀專業(yè)、從事工作時間、部門號、工作類型、從事公司工作時間、創(chuàng)建此員工信息的帳戶名、備注); 如圖3.9 圖3.9員工管理數(shù)據(jù)表字典 3.2.2培訓(xùn)管理模塊模塊 培訓(xùn)是員工培訓(xùn)技能的統(tǒng)一信息。系統(tǒng)操作管理員可以對培訓(xùn)員工進(jìn)行添加、查詢及刪除培訓(xùn)信息的操作。 培訓(xùn)管理 查詢培訓(xùn)信息 更新培訓(xùn)信息 3.10培訓(xùn)模塊結(jié)構(gòu)圖 3.2.3獎罰管理模塊模塊 獎罰管理是員工獎罰的統(tǒng)一信息。管理員對員工獎懲信息進(jìn)行添加、查詢及刪除操作。 獎罰管理 查詢獎罰信息 更新獎罰信息 3.11獎罰管理模塊結(jié)構(gòu)圖 3.2.4員工管理模塊 3.12員工管理模塊圖 4系統(tǒng)實現(xiàn) 4.1編程環(huán)境介紹 操作系統(tǒng):Microsoft Windows xp; 數(shù)據(jù)庫:SQL server 2005; 開發(fā)語言: Java。 4.2系統(tǒng)運(yùn)行結(jié)果 培訓(xùn)管理管理運(yùn)行結(jié)果如下圖。 3.13培訓(xùn)管理運(yùn)行結(jié)果 培訓(xùn)管理結(jié)果實現(xiàn)關(guān)鍵代碼: package com.wy.action; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import com.wy.dao.ObjectDao; import com.wy.form.TrainForm; public class TrainAction extends DispatchAction { private ObjectDao objectDao; public ObjectDao getObjectDao() { return objectDao; } public void setObjectDao(ObjectDao objectDao) { this.objectDao = objectDao; } // 培訓(xùn)察看操作 public ActionForward queryTrain(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { List list = objectDao.getObjectList("from TrainForm order by id desc"); request.setAttribute("list", list); return mapping.findForward("queryTrain"); } // 添加培訓(xùn)操作 public ActionForward deleteTrain(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String id=request.getParameter("id"); TrainForm trainForm=(TrainForm)objectDao.getObjectForm("from TrainForm where id="+id+""); this.objectDao.deleteObjectForm(trainForm); return this.queryTrain(mapping, form, request, response); } //添加培訓(xùn)操作 public ActionForward saveTrain(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { TrainForm trainForm=(TrainForm)form; this.objectDao.insertObjectForm(trainForm); return mapping.findForward("operationTrain"); } //培訓(xùn)詳細(xì)查詢 public ActionForward queryOneTrain(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String id=request.getParameter("id"); TrainForm trainForm=(TrainForm)objectDao.getObjectForm("from TrainForm where id="+id+""); request.setAttribute("trainForm", trainForm); return mapping.findForward("queryOneTrain"); } } 獎懲管理運(yùn)行結(jié)果如下圖。 3.14獎罰管理運(yùn)行結(jié)果 獎懲管理實現(xiàn)關(guān)鍵代碼: package com.wy.action; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import com.wy.dao.ObjectDao; import com.wy.form.CjForm; import com.wy.form.TrainForm; public class CjAction extends DispatchAction { private ObjectDao objectDao; public ObjectDao getObjectDao() { return objectDao; } public void setObjectDao(ObjectDao objectDao) { this.objectDao = objectDao; } // 獎懲察看操作 public ActionForward queryCj(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String information = "from CjForm order by id desc"; if (request.getParameter("type") != null) { String type = request.getParameter("type").trim(); information = "from CjForm where cj_type=" + type + " order by id desc"; request.setAttribute("type", type); } System.out.println("information:"+information); List list = objectDao.getObjectList(information); request.setAttribute("list", list); return mapping.findForward("queryCj"); } // 刪除獎懲操作 public ActionForward deleteCj(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String id = request.getParameter("id"); if (id == null) { CjForm cjForm = (CjForm) objectDao .getObjectForm("from CjForm where id=" + id + ""); this.objectDao.deleteObjectForm(cjForm); } return this.queryCj(mapping, form, request, response); } // 添加獎懲操作 public ActionForward saveCj(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { CjForm cjForm = (CjForm) form; this.objectDao.insertObjectForm(cjForm); return mapping.findForward("operationCj"); } // 獎懲詳細(xì)查詢 public ActionForward queryOneCj(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String id = request.getParameter("id"); CjForm cjForm = (CjForm) objectDao .getObjectForm("from CjForm where id=" + id + ""); request.setAttribute("cjForm", cjForm); return mapping.findForward("queryOneCj"); } } 員工管理運(yùn)行結(jié)果如下圖。 點(diǎn)擊員工管理,頁面會跳到員工查詢頁面。用戶可以根據(jù)分類部門查詢按鈕來查詢各個部門的員工情況,如圖3.14。 3.15員工管理運(yùn)行結(jié)果 管理員可以點(diǎn)擊頁面右下角的添加員工信息連接來添加員工信息:如圖3.15。 3.16添加員工運(yùn)行結(jié)果 員工管理模塊便于管理員對員工的信息進(jìn)行添加刪除與修改查詢。而且可以為普通用戶查詢員工信息給予一個方便的平臺。員工管理模塊的流程圖如下3.16所示: 員工管理實現(xiàn)關(guān)鍵代碼: package com.wy.action; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import com.wy.dao.ObjectDao; import com.wy.form.DepartmentForm; import com.wy.form.EmployeeForm; import com.wy.form.InviteJobForm; import com.wy.form.ManagerForm; import com.wy.tool.GetAutoNumber; public class EmployeeAction extends DispatchAction { private ObjectDao objectDao; public ObjectDao getObjectDao() { return objectDao; } public void setObjectDao(ObjectDao objectDao) { this.objectDao = objectDao; } // 轉(zhuǎn)向員工錄用的頁面 public ActionForward forwardEmploye(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { this.saveToken(request); String condition = "from EmployeeForm order by id desc"; List list = objectDao.getObjectList(condition); String autoNumber = "1"; if (list.size() != 0) { EmployeeForm employeeform = (EmployeeForm) list.get(0); Integer em_serialNumber = Integer.valueOf(employeeform.getId()) + 1; autoNumber = String.valueOf(em_serialNumber); } autoNumber = GetAutoNumber.getMaxNuber(autoNumber); request.setAttribute("departmentList", objectDao .getObjectList("from DepartmentForm")); EmployeeForm employeeForm =(EmployeeForm)form; String id = request.getParameter("id"); InviteJobForm inviteJobForm = (InviteJobForm) objectDao .getObjectForm("from InviteJobForm where id=" + id + ""); employeeForm.setEm_serialNumber(autoNumber);//將員工編號自動賦值 employeeForm.setEm_name(inviteJobForm.getName());//將員工姓名賦值 employeeForm.setEm_afterschool(inviteJobForm.getAfterSchool());//將員工的畢業(yè)學(xué)校自動賦值 employeeForm.setEm_sex(inviteJobForm.getSex());//將員工的性別賦值 employeeForm.setEm_born(inviteJobForm.getBorn());//將員工的出生日期賦值 employeeForm.setEm_address(inviteJobForm.getAddress());//將員工地址賦值 employeeForm.setEm_culture(inviteJobForm.getTeachSchool());//將員工的文化程度賦值 employeeForm.setEm_tel(inviteJobForm.getTel());//將員工電話賦值 employeeForm.setEm_speciality(inviteJobForm.getSpecialty());//將員工所學(xué)專業(yè)賦值 request.setAttribute("employeeForm", employeeForm); request.setAttribute("id", id); return mapping.findForward("forwardEmploy"); } //員工錄用 public ActionForward addEmployee(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { EmployeeForm employeeForm = (EmployeeForm) form; if (this.isTokenValid(request)) { this.resetToken(request); objectDao.insertObjectForm(employeeForm); } else { this.saveToken(request); request.setAttribute("result", "不能重復(fù)提交?。?!"); } request.setAttribute("id", request.getParameter("id")); return mapping.findForward("operationEmployee"); } // 員工查看詳細(xì)信息操作 public ActionForward queryOneEmployee(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String em_serialNumber = request.getParameter("em_serialNumber"); String condition = "from EmployeeForm where em_serialNumber=" + em_serialNumber + ""; EmployeeForm employeeForm = (EmployeeForm) objectDao .getObjectForm(condition); request.setAttribute("employeeForm", employeeForm); request.setAttribute("departmentList", objectDao .getObjectList("from DepartmentForm")); return mapping.findForward("queryOneEmployee"); } // 員工查看操作 public ActionForward queryEmployee(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { List list = null; String condition = "from EmployeeForm order by id desc"; if (request.getParameter("departmentId") != null) { String em_departmentId = request.getParameter("departmentId"); condition = "from EmployeeForm where em_departmentId=" + em_departmentId + " order by id desc"; request.setAttribute("departmentId", em_departmentId); } list = objectDao.getObjectList(condition); request.setAttribute("list", list); request.setAttribute("departmentList", objectDao .getObjectList("from DepartmentForm")); return mapping.findForward("queryEmployee"); } // 轉(zhuǎn)向添加員工的頁面 public ActionForward forwardInsertEmployee(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { this.saveToken(request); String condition = "from EmployeeForm order by id desc"; List list = objectDao.getObjectList(condition); String autoNumber = "1"; if (list.size() != 0) { EmployeeForm employeeform = (EmployeeForm) list.get(0); Integer em_serialNumber = Integer.valueOf(employeeform.getId()) + 1; autoNumber = String.valueOf(em_serialNumber); } autoNumber = GetAutoNumber.getMaxNuber(autoNumber); request.setAttribute("autoNumber", autoNumber); request.setAttribute("departmentList", objectDao .getObjectList("from DepartmentForm")); return mapping.findForward("forwardInsertEmployee"); } // 添加員工 public ActionForward saveEmployee(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { EmployeeForm employeeForm = (EmployeeForm) form; if (this.isTokenValid(request)) { this.resetToken(request); objectDao.insertObjectForm(employeeForm); } else { this.saveToken(request); request.setAttribute("result", "不能重復(fù)提交?。?!"); } return queryEmployee(mapping, form, request, response); } // 轉(zhuǎn)向修改員工的頁面 public ActionForward forwardUpdateEmployee(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { this.saveToken(request); String em_serialNumber = request.getParameter("em_serialNumber"); String condition = "from EmployeeForm where em_serialNumber=" + em_serialNumber + ""; EmployeeForm employeeForm = (EmployeeForm)- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- javaweb 人事管理系統(tǒng)
鏈接地址:http://www.820124.com/p-6643771.html