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