基于 Web的工資管理系統(tǒng)的設計與實現(xiàn)_第1頁
基于 Web的工資管理系統(tǒng)的設計與實現(xiàn)_第2頁
基于 Web的工資管理系統(tǒng)的設計與實現(xiàn)_第3頁
基于 Web的工資管理系統(tǒng)的設計與實現(xiàn)_第4頁
基于 Web的工資管理系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、本科生畢業(yè)論文(設計) 基于 Web 的工資管理系統(tǒng)的設計與實 現(xiàn) 姓名 學號 專業(yè) 指導教師 2011 年 5 月 25 日 摘要 隨著現(xiàn)代企業(yè)管理制度的建立和軟件產(chǎn)業(yè)的迅速發(fā)展,企業(yè)人事勞資管理系統(tǒng)已成 為企業(yè)進行日常管理工作的重要工具,加強人事勞資管理類軟件的開發(fā)和運作已成為提 高企業(yè)管理效率的重要手段,而工資管理是企業(yè)人事勞資管理的重要組成部分。 本文論述了基于 Web 的工資管理系統(tǒng)的開發(fā)和實現(xiàn)過程,主要包括系統(tǒng)開發(fā)技術、 系統(tǒng)需求分析、系統(tǒng)概要分析與設計、系統(tǒng)詳細設計與實現(xiàn)等。重點介紹了數(shù)據(jù)庫的設 計及系統(tǒng)的實現(xiàn)過程,此外還介紹了系統(tǒng)框架結(jié)構。本系統(tǒng)采用了目前較為流行的 SSH 組

2、合框架開發(fā)技術。在表示層采用 Struts 技術實現(xiàn)了經(jīng)典的 MVC 模式,規(guī)范了表 示層的開發(fā)過程。在業(yè)務層中,使用 Spring 組件技術,用容器管理表示層的控制器和數(shù) 據(jù)層的數(shù)據(jù)訪問對象,以提高系統(tǒng)的可擴展性能。在數(shù)據(jù)持久層,使用 Hibernate 框架 技術,實現(xiàn)了數(shù)據(jù)與業(yè)務的分離,降低了系統(tǒng)的耦合度。開發(fā)結(jié)果表明,將 Struts、Spring 和 Hibernate 技術整合為一種組合型多框架,極大的提高了系統(tǒng)的可維 護性、可擴展性、可移植性和組件的復用性。 關鍵詞:工資管理;SSH 框架;MVC 模式 Abstract With the establishment of mod

3、ern enterprise management system and the rapid development of software industry, business personnel labor management system has become the daily management of an important tool to strengthen the personnel labor management class software development and operation of business management to improve eff

4、iciency has become an important means of and wages of personnel management is an important part of labor management. This papers discusses the Web-based payroll system in the development and implementation process, including system development technology, system requirements analysis, system profili

5、ng and design, detailed design and implementation. Focuses on database design and system implementation process, the framework also introduces the system structure. The system uses a combination of the current framework of the more popular SSH development technology. In the presentation layer using

6、Struts technology to achieve the classic MVC pattern, the presentation layer specification of the development process. In the business layer, the use of Spring component technology, with container-managed presentation layer of the controller and the data layer data access objects to improve system s

7、calability. In the data persistence layer, Hibernate framework using technology to achieve the separation of data and services, reducing the system coupling. The results show that the development will be Struts, Spring and Hibernate technology integration as a combination of multi frame, greatly imp

8、roving system maintainability, scalability, portability and reusability of components. Key Words: payroll management, SSH framework, MVC mode 目錄 1 引 言 .1 1.1 編寫目的 .1 1.2 項目背景 .1 1.3 系統(tǒng)概述 .1 1.3.1 系統(tǒng)說明 .1 1.3.2 具體要求 .1 1.3.3 系統(tǒng)設置 .2 2 系統(tǒng)開發(fā)技術 .3 2.1 JSP 程序設計語言簡介.3 2.2 JAVA 程序設計語言簡介.3 2.3 SSH 框架簡介.3 2.

9、4 MYSQL 數(shù)據(jù)庫簡介.4 2.5 TOMCAT 服務器簡介.4 3 系統(tǒng)需求分析 .5 3.1 系統(tǒng)設計目標 .5 3.2 系統(tǒng)角色 .5 3.2.1 普通用戶 .5 3.2.2 管理員 .5 3.3 系統(tǒng)需求模塊 .5 3.3.1 登錄模塊 .5 3.3.2 前臺瀏覽模塊 .5 3.3.3 后臺管理模塊 .6 3.4 系統(tǒng)設計的特點 .6 4 系統(tǒng)概要分析與設計 .7 4.1 系統(tǒng)總體結(jié)構 .7 4.2 前臺功能分析與設計 .7 4.3 后臺功能分析與設計 .8 4.4 數(shù)據(jù)庫分析與設計 .8 4.4.1 數(shù)據(jù)庫設計 .9 4.4.2 表設計 .9 5 系統(tǒng)詳細設計與實現(xiàn) .12 5.

10、1 系統(tǒng)登錄模塊 .12 5.2 前臺功能模塊 .12 5.2.1 查看個人信息模塊 .13 5.2.2 查看考勤記錄模塊 .13 5.2.3 查看工資明細模塊 .14 5.2.4 申請假期模塊 .15 5.2.5 修改密碼模塊 .15 5.3 后臺功能模塊 .16 5.3.1 員工信息管理模塊 .16 5.3.2 考勤記錄管理模塊 .18 5.3.3 工資管理模塊 .19 5.3.4 部門信息管理模塊 .21 5.3.5 崗位信息管理模塊 .21 總 結(jié) .23 參考文獻 .24 致 謝 .25 附 錄 .26 1 引 言 1 1. .1 1 編編寫寫目目的的 隨著計算機技術的發(fā)展,企業(yè)管理

11、越來越趨于自動化,而工資管理是企業(yè)管理的重 要組成部分,它與企業(yè)的財務管理、人事管理有著密切的聯(lián)系。由于企業(yè)員工工資結(jié)構 存在一定的規(guī)律性,工資發(fā)放在時間上和操作上存在一定的重復性,這使得企事業(yè)單位 工資管理計算機化成為可能。本系統(tǒng)在此基礎上實現(xiàn)了工資信息查詢、人員信息管理、 報表生成等功能。用戶只要使用 IE 瀏覽器訪問相關站點,輸入正確的用戶名和密碼成 功登錄后,普通用戶便可查詢自己的工資情況和其他相關信息。對管理員來說使用起來 也非常的方便快捷,可以進行科學、合理的對員工工資和人員進行管理。 1 1. .2 2 項項目目背背景景 項目名稱:基于 Web 的工資管理系統(tǒng)的設計與實現(xiàn) 項目的

12、提出者:馬春輝 開發(fā)者:馬春輝 項目簡介:本系統(tǒng)主要實現(xiàn)員工工資和員工信息管理。 1 1. .3 3 系系統(tǒng)統(tǒng)概概述述 1.3.1 系統(tǒng)說明 該系統(tǒng)著眼于員工工資業(yè)務的實際,對發(fā)放工資業(yè)務進行了細致的分析、研究,認 真分析其業(yè)務流程,采用靈活方便的計算處理方式,改變手工操作的繁雜、低效、不宜 操作、靈活性差的特點,提高其工作效率和效益。實現(xiàn)員工工資管理業(yè)務的制度化、現(xiàn) 代化的管理。工資管理系統(tǒng)是為了能夠迅速、準確地反映出用戶需要的各種信息,及時 方便的進行各種檢索,從而為決策者做出準確的判斷提供強有力的支持。計算機的使用 使得企業(yè)管理變得更加合理,更加規(guī)范,更加科學。 1.3.2 具體要求 系

13、統(tǒng)數(shù)據(jù)初始化;員工基本信息數(shù)據(jù)的查詢、添加、修改、刪除;企業(yè)工資結(jié)構的 基本設定;企業(yè)工資參數(shù)的設定與管理;員工考勤的管理;員工個人工資表的查詢;員 工工資的瀏覽、修改、添加、刪除;系統(tǒng)的維護包括用戶的操作權限、密碼修改。 1.3.3 系統(tǒng)設置 員工信息、部門信息、崗位信息、考勤記錄等只能被管理員修改,添加,刪除。 員工可以查看個人信息、考勤記錄、工資信息等。 2 系統(tǒng)開發(fā)技術 2 2. .1 1 J JS SP P 程程序序設設計計語語言言簡簡介介 JSP(Java Server Pages)是由 Sun Microsystems 公司倡導、許多公司參與一起 建立的一種動態(tài)網(wǎng)頁技術。JSP

14、技術是在傳統(tǒng)的網(wǎng)頁 HTML 文件中插入 Java 程序段 (Scriptlet)和 JSP 標記(tag),從而形成 JSP 文件,插入的 Java 程序段可以操作 數(shù)據(jù)庫、重新定向網(wǎng)頁等。JSP 頁面由 HTML 代碼和嵌入其中的 Java 代碼所組成。服務 器在頁面被客戶端請求以后對這些 Java 代碼進行處理,然后將生成的 HTML 頁面返回給 客戶端的瀏覽器。因此,客戶端只要有瀏覽器就能瀏覽。 JSP 技術的設計目的是使得構造基于 Web 的應用程序更加容易和快捷,而這些應用 程序能夠與各種 Web 服務器,應用服務器,瀏覽器和開發(fā)工具共同工作。 JSP 規(guī)范是 Web 服務器、應用

15、服務器、交易系統(tǒng)、以及開發(fā)工具供應商間廣泛合作的結(jié)果。在傳統(tǒng) 的網(wǎng)頁 HTML 文件(*htm,*.html)中加入 Java 程序片段(Scriptlet)和 JSP 標記(tag), 就構成了 JSP 網(wǎng)頁(*.jsp)。Web 服務器在遇到訪問 JSP 網(wǎng)頁的請求時,首先執(zhí)行其中 的程序片段,然后將執(zhí)行結(jié)果以 HTML 格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重 新定向網(wǎng)頁以及發(fā)送 email 等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都 在服務器端執(zhí)行,網(wǎng)絡上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低, 可以實現(xiàn)無 Plugin,無 ActiveX,無 Java App

16、let,甚至無 Frame。 2 2. .2 2 J Ja av va a 程程序序設設計計語語言言簡簡介介 Java 語言是美國 Sun 公司于 1995 年推出的一種簡單的、面向?qū)ο蟮?、分布式的?可解釋的、鍵壯的、安全的、結(jié)構的、中立的、可移植的、性能很優(yōu)異的多線程的、動 態(tài)的語言。其前身為 OAK 語言,是 SUN 公司為一些消費性電子產(chǎn)品而設計的一個通用環(huán) 境。他們最初的目的只是為了開發(fā)一種獨立于平臺的軟件技術。經(jīng)過 Sun 公司的工程師 的不懈努力以及全世界無數(shù)的編程愛好者的使用,Java 終于發(fā)展成為今天這樣一個集 桌面(J2SE)、網(wǎng)絡(J2EE)、移動平臺(J2ME)應用為一

17、體的功能強大的編程語言。目前 Java 由于其平臺無關及分布式特性,最重要的應用是在網(wǎng)絡應用上。 2 2. .3 3 S SS SH H 框框架架簡簡介介 SSH 框架是 Spring+Struts+Hibernate 組合框架的簡稱。 Spring 是一個開源框架,它由 Rod Johnson 創(chuàng)建。它是為了解決企業(yè)應用開發(fā)的 復雜性而創(chuàng)建的。Spring 使用基本的 JavaBean 來完成以前只可能由 EJB 完成的事情。 然而,Spring 的用途不僅限于服務器端的開發(fā)。從簡單性、可測試性和松耦合的角度 而言,任何 Java 應用都可以從 Spring 中受益。 Struts 是一種開

18、發(fā)源代碼的 Web 應用開發(fā)框架,Struts 架構 MVC(Model View Controller,模型-視圖-控制器),將視圖和模型分離,用戶界面和事務邏輯分離,簡 化了程序開發(fā)者的開發(fā)和維護工作,提高了系統(tǒng)的靈活性、重用性和可維護性。 Hibernate 是一個開放源代碼的對象關系映射框架,它對 JDBC 進行了非常輕量級 的對象封裝,使得 Java 程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate 可以應用在任何使用 JDBC 的場合,既可以在 Java 的客戶端程序使用,也可 以在 Servlet/JSP 的 Web 應用中使用,最具革命意義的是,Hiber

19、nate 可以在應用 EJB 的 J2EE 架構中取代 CMP,完成數(shù)據(jù)持久化的重任。 2 2. .4 4 M My ys sq ql l 數(shù)數(shù)據(jù)據(jù)庫庫簡簡介介 MySQL 是一個精巧的 SQL 數(shù)據(jù)庫管理系統(tǒng),雖然它不是開放源代碼的產(chǎn)品,但在某 些情況下你可以自由使用。由于它的強大功能、靈活性、豐富的應用編程接口(API) 以及精巧的系統(tǒng)結(jié)構,受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是 與 Apache 和 PHP/PERL 結(jié)合,為建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強大動力。MySQL 是 一個真正的多用戶、多線程 SQL 數(shù)據(jù)庫服務器。 2 2. .5 5 T To om mc

20、 ca at t 服服務務器器簡簡介介 Tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支 持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中, 任何一個感興趣的程序員都可以更改它或在其中加入新的功能。 Tomcat 是一個輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合 下被普遍使用,是開發(fā)和調(diào)試 JSP 程序的首選。對于一個初學者來說,可以這樣認為, 當在一臺機器上配置好 Apache 服務器,可利用它響應對 HTML 頁面的訪問請求。實際 上 Tomcat 部分是 Apache 服務器的擴展,但它是獨立運行的,所以當你運行 t

21、omcat 時,它實際上作為一個與 Apache 獨立的進程單獨運行的。 3 系統(tǒng)需求分析 3 3. .1 1 系系統(tǒng)統(tǒng)設設計計目目標標 員工工資管理系統(tǒng)用來對員工工資及員工相關信息進行管理。 本系統(tǒng)可以方便管理員管理員工工資及相關信息,為管理員提供高效的工作效率與 質(zhì)量保證等,主要包括管理員登錄、員工信息管理、工資結(jié)算管理、工資結(jié)構設置、考 勤信息管理、部門信息管理、崗位信息管理。 本系統(tǒng)還可以方便員工查看個人工資詳細情況,主要包括查看個人信息及個人工資 明細,并可以申請假期。 3 3. .2 2 系系統(tǒng)統(tǒng)角角色色 3.2.1 普通用戶 員工通過該系統(tǒng)可以查看個人相關信息、每月工資信息、每月

22、考勤信息,可以修改 密碼,并可以向上級申請假期。 3.2.2 管理員 管理員通過該系統(tǒng)可以管理員工信息(包括增加、刪除、修改、查看員工信息)、管 理員工工資信息(包括查看員工工資信息、工資結(jié)算、設置工資結(jié)構)、管理部門信息 (包括對部門信息的增刪改查)、管理崗位信息(包括對崗位信息的增刪改查)。 3 3. .3 3 系系統(tǒng)統(tǒng)需需求求模模塊塊 3.3.1 登錄模塊 關聯(lián)角色:員工、管理員。 需求描述:員工登錄該系統(tǒng)進入前臺瀏覽頁面,管理員登錄該系統(tǒng)進入后臺管理頁 面。 備注說明:只有合法用戶才能進入相關界面。 3.3.2 前臺瀏覽模塊 關聯(lián)角色:員工。 需求描述:員工可以查看個人詳細信息、工資信

23、息、考勤信息,可以申請假期。 備注說明:員工只能查看個人相關信息。 3.3.3 后臺管理模塊 關聯(lián)角色:管理員。 需求描述:管理員可以進行員工信息管理、員工工資管理、部門信息管理、崗位信 息管理、工資管理(包括工資結(jié)算、工資結(jié)構設置)。 3 3. .4 4 系系統(tǒng)統(tǒng)設設計計的的特特點點 采用 MVC(Model、View、Control)架構,結(jié)合 SSH(Spring+Struts+Hibernate)框架 實現(xiàn)系統(tǒng)的功能。 MVC:當前非常流行的一種系統(tǒng)架構模式。MVC 作為模式:提供一個原則,可以按 照模型(model)、界面(view)、控制(control)等角色把一個應用系統(tǒng)的各個

24、部分 之間的耦合解脫、分割開來。 MVC(Model-view-controller pattern)模式由三部分組成:模型(Model):是一 組表示應用系統(tǒng)商業(yè)邏輯的對象。它通常包括表示商業(yè)抽象的類(如:賬號、采購等等) 和現(xiàn)實世界的對象(如職員、客戶等)。視圖(View):是用一種向用戶表達信息的具 體方式。要理解視圖的捷徑是把視圖想象成為一個具體的網(wǎng)頁或者屏幕,它能夠給用戶 提供一組互相有關的信息。 控制(Controller):是應用系統(tǒng)處理具體流程和導向的 核心部分。它把模型對象給出的信息翻譯成視圖可以理解的形式,并且處理系統(tǒng)流程的 走向,例如視圖在下一個回應中將會給用戶什么樣的反

25、饋。 MVC 的關鍵是商業(yè)模型的設計與實現(xiàn)可以獨立于應用系統(tǒng)的結(jié)構設計與實現(xiàn)(控制) 和界面的設計與實現(xiàn)(視圖)。 本系統(tǒng)采用的是 SSH(Struts + Spring + Hibernate)三層架構。Struts 用于表 現(xiàn)層,負責頁面數(shù)據(jù)提取,頁面動作響應。Spring 是一種輕量級的框架模型,主要負 責業(yè)務邏輯層的對象創(chuàng)建,表現(xiàn)層的 Action 的創(chuàng)建,以及持久層的 DAO 的創(chuàng)建。 Hibernate 負責把內(nèi)存中的數(shù)據(jù)對象保存到數(shù)據(jù)庫中。 在 SSH 三層架構中,主要用 Struts 來實現(xiàn)對頁面的響應就頁面跳轉(zhuǎn)。當用戶向服 務器發(fā)送某一個請求,這個請求會被服務器(Tomcat

26、)接收到,服務器會根據(jù)請求的內(nèi) 容,將這個請求發(fā)送給相應的 Servlet 實例進行處理。Servlet 會根據(jù)其內(nèi)容,去生成 相應的 Action 實例。本程序中,Struts 將 Action 的創(chuàng)建工作交給了 Spring 的代理類 來完成,創(chuàng)建這個實例后,將這個實例注入,由 Struts 調(diào)用 Action 中的相應方法。 Action 中可以配置一個或多個 Service 對象,Action 調(diào)用 Service 中的方法進行業(yè)務 處理。Service 中通常會有一個或多個 DAO 的對象,DAO 繼承了 Hibernate 的借口,用 來處理數(shù)據(jù)庫的操作。而 Action,Serv

27、ice,DAO 的創(chuàng)建與注入,都是由 Spring 的 Bean 工廠來實現(xiàn)的。 4 系統(tǒng)概要分析與設計 4 4. .1 1 系系統(tǒng)統(tǒng)總總體體結(jié)結(jié)構構 本系統(tǒng)主要由登錄模塊、前臺員工瀏覽模塊、后臺管理員管理模塊構成。普通員工 正確登錄后進入前臺員工瀏覽界面,管理員正確登錄后進入后臺管理員管理界面。 系統(tǒng)結(jié)構圖如圖 4-1 所示: 圖 4-1 系統(tǒng)結(jié)構圖 4 4. .2 2 前前臺臺功功能能分分析析與與設設計計 前臺功能主要有員工查看個人信息、查看工資明細、查看考勤信息、申請假期、修 改登錄密碼等。 前臺頁面設計如圖 4-2 所示: 圖 4-2 前臺頁面跳轉(zhuǎn)圖 4 4. .3 3 后后臺臺功功能

28、能分分析析與與設設計計 后臺功能主要有員工信息管理(包括增加、刪除、修改、查看員工信息)、員工工 資管理(包括查看員工工資、設置崗位工資結(jié)構、工資結(jié)算等)、考勤記錄管理(考勤 內(nèi)容有出差、加班、請假、遲到早退、曠工等)、部門信息管理(包括增加、刪除、修 改、查看員工信息)、崗位信息管理(包括增加、刪除、修改、查看崗位信息)。 后臺頁面設計如圖 4-3 所示: 圖 4-3 后臺頁面跳轉(zhuǎn)圖 4 4. .4 4 數(shù)數(shù)據(jù)據(jù)庫庫分分析析與與設設計計 由于企業(yè)組織結(jié)構呈樹形,即一個企業(yè)有多個部門;一個部門有多個崗位,一個崗 位對應一個崗位工資結(jié)構,每個崗位有多個員工;每個員工有多條考勤記錄和工資發(fā)放 記錄

29、,一個員工對應一個系統(tǒng)用戶身份。從上往下看,基本都是一對多或一對一的關系, 而在本系統(tǒng)中我使用了 Hibernate 技術和 Java 編程思想,在建立實體抽象時,分別作 了一些對應的引用來實現(xiàn)數(shù)據(jù)庫表之間的關聯(lián),這樣不僅充分運用了面向?qū)ο缶幊痰乃?想,并簡化了表的結(jié)構,使得數(shù)據(jù)庫管理更合理化。 4.4.1 數(shù)據(jù)庫設計 建立數(shù)據(jù)庫 employeemanage,包含的表如圖 4-4 所示: 圖 4-4 數(shù)據(jù)庫表圖 4.4.2 表設計 部門表如圖 4-5 所示: 圖 4-5 部門表 崗位表如圖 4-6 所示: 圖 4-6 崗位表 員工表如圖 4-7 所示: 圖 4-7 員工表 崗位工資結(jié)構表如圖

30、 4-8 所示: 圖 4-8 崗位工資結(jié)構表 用戶表如圖 4-9 所示: 圖 4-9 用戶表 工資記錄表如圖 4-10 所示: 圖 4-10 工資記錄表 考勤記錄表如圖 4-11 所示: 圖 4-11 考勤記錄表 考勤表如圖 4-12 所示: 圖 4-12 考勤表 5 系統(tǒng)詳細設計與實現(xiàn) 系統(tǒng)功能模塊主要有登錄模塊、前臺功能模塊、后臺功能模塊等。 5 5. .1 1 系系統(tǒng)統(tǒng)登登錄錄模模塊塊 系統(tǒng)用戶輸入正確的用戶名和密碼可登錄系統(tǒng)。若為普通員工則進入前臺瀏覽首頁, 若為管理員則進入后臺管理頁面。 系統(tǒng)登錄頁面如圖 5-1 所示: 圖 5-1 系統(tǒng)登錄頁面 實現(xiàn)代碼部分如下: String i

31、dentify=userService.login(user); if(identify.equals(admin) return adminLogin_succ; else if(identify.equals(emp) return empLogin_succ; else return login_fail; 5 5. .2 2 前前臺臺功功能能模模塊塊 前臺功能模塊主要由查看個人信息、考勤記錄、工資明細,申請假期,修改密碼等 模塊組成。 前臺首頁如圖 5-2 所示: 圖 5-2 前臺首頁 5.2.1 查看個人信息模塊 員工點擊個人詳細信息按鈕,可查看個人詳細信息。 個人信息頁面如圖 5-

32、3 所示: 圖 5-3 個人信息頁面 5.2.2 查看考勤記錄模塊 員工點擊考勤記錄按鈕,可查看個人考勤記錄信息。 考勤記錄頁面如圖 5-4 所示: 圖 5-4 個人考勤記錄頁面 5.2.3 查看工資明細模塊 員工點擊工資明細按鈕,可查看個人工資明細情況。工資主要由崗位基本工資、五 險一金、考勤相應獎罰金額等組成。 工資明細頁面如圖 5-5 所示: 圖 5-5 工資明細頁面 5.2.4 申請假期模塊 員工點擊申請假期按鈕,可進入假期申請頁面,需填寫請假理由、請假時間等信息。 申請假期頁面如圖 5-6 所示: 圖 5-6 申請假期頁面 實現(xiàn)代碼部分如下: userService.applyLea

33、ve(leaveInfors); 5.2.5 修改密碼模塊 員工點擊修改密碼按鈕,可以修改登錄密碼,需鍵入舊密碼、新密碼、新密碼確認 等信息。 修改密碼頁面如圖 5-7 所示: 圖 5-7 修改密碼頁面 實現(xiàn)代碼部分如下: User user=(User)this.getSession().getAttribute(user); User.setPassword(newPassword); userService.updateUser(user); 5 5. .3 3 后后臺臺功功能能模模塊塊 后臺功能模塊主要由員工信息管理、考勤記錄管理、工資管理、部門信息管理、崗 位信息管理等模塊組成。 5

34、.3.1 員工信息管理模塊 點擊員工信息管理菜單系統(tǒng)列出員工信息管理的子菜單,包括增加員工信息、刪除 員工信息、修改員工信息、查看員工信息等。 1 增加員工信息。需填寫員工姓名、性別、住址、聯(lián)系方式、電子郵箱、身份證 號等基本信息,并選擇員工所屬部門和崗位,還可以上傳照片,最后選擇提交, 信息合法即可添加成功,系統(tǒng)自動生成員工編號。 增加員工信息頁面如圖 5-8 所示: 圖 5-8 增加員工信息頁面 實現(xiàn)代碼部分如下: employeeService.addEmployee(post,employee); 2 刪除員工信息。點擊刪除員工信息菜單,系統(tǒng)列出員工列表,從列表中選擇或 直接搜索員工,

35、點擊刪除按鈕,確認刪除即可刪除該員工相關信息。 刪除員工信息頁面如圖 5-9 所示: 圖 5-9 刪除員工信息頁面 實現(xiàn)代碼部分如下: employeeService.deleteEmployee(empNOs); 3 修改員工信息。點擊修改員工信息菜單,系統(tǒng)列出員工列表,從列表中選擇或 直接搜索員工,點擊修改按鈕,系統(tǒng)列出該員工詳細信息,并可以進行修改。 修改員工信息頁面如圖 5-10 所示: 圖 5-10 修改員工信息頁面 實現(xiàn)代碼部分如下: employeeService.updateEmployee(empNO,employee); 4 查看員工信息。點擊查看員工信息菜單,系統(tǒng)列出員工

36、列表,從列表中選擇或 直接搜索員工,系統(tǒng)列出該員工的詳細信息。 查看員工信息頁面如圖 5-11 所示: 圖 5-11 查看員工信息頁面 實現(xiàn)代碼部分如下: List employeeList= employeeService.lookEmployee(); this.getRequest().setAttribute(employeeList,employeeLis t); 5.3.2 考勤記錄管理模塊 點擊考勤記錄管理菜單系統(tǒng)列出考勤管理子菜單,包括查看考勤記錄、加班管理、 出差管理、遲到管理、曠工管理、請假管理等。 1 查看考勤記錄。點擊查看考勤記錄菜單,可查看員工考勤記錄。 2 員工加班

37、管理。點擊加班管理菜單,可添加員工加班記錄。 3 員工出差管理。點擊出差管理菜單,可添加員工出差記錄。 4 員工遲到管理。點擊遲到管理菜單,可添加員工遲到記錄。 5 員工曠工管理。點擊曠工管理菜單,可添加員工曠工記錄。 6 員工請假管理。點擊請假管理菜單,可添加員工請假記錄。 員工加班管理頁面如圖 5-12 所示: 圖 5-12 員工加班管理頁面(check_extra.jsp) 實現(xiàn)代碼部分如下: checkRecordService.checkExtra(empNOs); 員工出差、遲到、曠工、請假等管理頁面與圖類似。 5.3.3 工資管理模塊 點擊工資管理菜單系統(tǒng)列出工資管理子菜單,主要

38、有工資發(fā)放記錄、設置崗位工資 結(jié)構、工資結(jié)算等。 1 查看員工工資發(fā)放記錄。點擊工資發(fā)放記錄菜單,可查看員工工資明細及發(fā)放 情況。 工資查看頁面如圖 5-13 所示: 圖 5-13 工資查看頁面(salary_look.jsp) 實現(xiàn)代碼部分如下: List salaryRecordList =salaryRecordService.lookSalaryRecords(department); this.getRequest().setAttribute(salaryRecordList, salaryRecordList); 2 設置崗位工資結(jié)構。點擊工資設置菜單,可設置崗位工資結(jié)構和各工資

39、項相應 金額。選擇崗位名稱,設置該崗位基本工資、醫(yī)療保險金額、養(yǎng)老保險金額、 失業(yè)保險金額、工傷保險金額、生育保險金額、住房公積金、出差補助、加班 獎金、請假扣額、遲到早退罰金、曠工罰金等。 工資結(jié)構設置頁面如圖 5-14 所示: 圖 5-14 工資結(jié)構設置頁面(salary_set.jsp) 實現(xiàn)代碼部分如下: postSalaryService.setPostSalary(post,posSalary); 3 工資結(jié)算。點擊工資結(jié)算菜單,可結(jié)算當月員工工資。 工資計算相關公式如下: 員工總工資=崗位基本工資+三金五險+考勤獎罰金額 公式 5-1 實際發(fā)放金額=崗位基本工資+考勤獎罰金額 公

40、式 5-2 工資結(jié)算頁面如圖 5-15 所示: 圖 5-15 工資結(jié)算頁面(salary_account.jsp) 實現(xiàn)代碼部分如下: salaryRecordService.accountSalary(String empNOs); 5.3.4 部門信息管理模塊 點擊部門信息管理菜單系統(tǒng)列出部門信息管理子菜單,主要有增加部門信息、刪除 部門信息、修改部門信息、查看部門信息等。 1 增加部門信息。點擊增加部門信息菜單,可增加部門信息。需填寫部門名稱, 部門描述等信息。點擊提交按鈕,信息合法即可添加成功,系統(tǒng)自動生成部門 編號。 2 刪除部門信息。點擊刪除部門信息菜單,系統(tǒng)列出部門信息列表,從列

41、表中選 擇或直接搜索部門,點擊刪除按鈕,確認刪除即可刪除該部門信息。 3 修改部門信息。點擊修改部門信息菜單,系統(tǒng)列出部門信息列表,可從列表中 選擇或直接搜索部門,點擊修改按鈕,系統(tǒng)列出該部門詳細信息并可以進行修 改。 4 查看部門信息。點擊查看部門信息菜單,系統(tǒng)列出部門信息列表,可從列表中 選擇或直接搜索部門,系統(tǒng)列出部門詳細信息。 修改部門信息頁面如圖 5-16 所示: 圖 5-16 修改部門信息頁面(dept_update.jsp) 實現(xiàn)代碼部分如下: departmentService.updateDepartment(department); 5.3.5 崗位信息管理模塊 點擊崗位信

42、息管理菜單系統(tǒng)列出崗位信息管理子菜單,主要有增加崗位信息、刪除 崗位信息、修改崗位信息、查看崗位信息等 1 增加崗位信息。點擊增加崗位信息菜單,可增加崗位信息。需填寫崗位名稱, 崗位描述等信息,并選擇崗位所屬部門。點擊提交按鈕,信息合法即可添加成 功,系統(tǒng)自動生成崗位編號。 2 刪除崗位信息。點擊刪除崗位信息菜單,系統(tǒng)列出崗位信息列表,從列表中選 擇或直接搜索崗位,點擊刪除按鈕,確認刪除即可刪除該崗位信息。 3 修改崗位信息。點擊修改崗位信息菜單,系統(tǒng)列出崗位信息列表,可從列表中 選擇或直接搜索崗位,點擊修改按鈕,系統(tǒng)列出該崗位詳細信息并可以進行修 改。 4 查看崗位信息。點擊查看崗位信息菜單

43、,系統(tǒng)列出崗位信息列表,可從列表中 選擇或直接搜索崗位,系統(tǒng)列出崗位詳細信息。 增加崗位信息頁面如圖 5-17 所示: 圖 5-17 增加崗位信息頁面(post_add.jsp) 實現(xiàn)代碼部分如下: postService.addPost(post,department); 總總 結(jié)結(jié) 畢業(yè)設計是我大學生涯的最后一次作業(yè),所以我很認真地對待畢業(yè)設計。實習期間 我去了大連安博參加實訓,通過實訓我學到了很多編程知識,這些為我的畢業(yè)設計打下 了基礎。由于已經(jīng)有過兩次項目經(jīng)驗,所以我做畢業(yè)設計時思路比較清晰。從項目需求 分析,到概要設計,到詳細設計,再到系統(tǒng)實現(xiàn),期間我搜集了很多相關的資料,這些 給了

44、我很多啟發(fā),使我的畢業(yè)設計越來越成熟。但是,做項目具體實現(xiàn)時還是遇到很多 問題,比如表結(jié)構設計不完善,表關聯(lián)設計不合理,這些都費了很大功夫,后來理清思 路,重新設計,把底層搭建好后,后期的工作才越來越順手。畢業(yè)論文是很重要的一部 分,到目前為止已基本完成,有不妥的地方請多多指教。 參參考考文文獻獻 1李代平軟件工程M北京:清華大學出版社,2006. 2BlochJ.Effective Java M北京:機械工業(yè)出版社,2003. 3張永強Java 程序設計應用教程M北 京:電子工業(yè)出版社,2007. 4孫鑫Java Web 開發(fā)詳解M北京: 電子工業(yè)出版社,2006. 5向傳杰JSPServl

45、et 基礎案例教程M北京:電子工業(yè)出版社,2006. 6劉曉華JSP 應用開發(fā)詳解(第三版)M北京: 電子工業(yè)出版社,2005. 7伯格斯坦JSP 設計M. 北 京:中國電力出版社,2002. 8鄧子云,張賜JSP 網(wǎng)絡編程從基礎到實踐M北京:電子工業(yè)出版社,2005. 9薩師煊,王珊數(shù)據(jù)庫系統(tǒng)概論M北京:高等教育出版社,1983. 10粟菊民Java Web 應用程序設計M北京:機械工業(yè)出版社,2007 11甘容,李明東.“人事工資管理信息系統(tǒng)員工工資信息查詢模塊的實現(xiàn)”. 甘肅科技,2007. 致致 謝謝 四年大學生活即將過去,在畢業(yè)設計這最后一程里有領導的關懷,有導師的指導, 有同學的幫

46、助,這段時間讓我學到了很多,收獲了很多,這對即將畢業(yè)的我來說是很寶 貴的財富。 在這里特別感謝畢業(yè)設計導師。從選題、開題報告、項目編寫乃至論文的撰寫都 是您給予我認真的、細致的、具體的指導,使我才能完成畢業(yè)設計和論文撰寫的工作。 也特別感謝小組成員的協(xié)助與支持,使我能夠順利及時地完成畢業(yè)設計。 感謝所有領導、老師、同學、朋友的幫助,在以后的學習和工作中我會嚴格要求自 己,并將把你們的無私幫助牢記在心。同時也感謝學院為我提供良好的環(huán)境使我順利完 成畢業(yè)設計。 最后,我要向百忙之中抽時間對本文進行審閱,評議和參與本人論文答辯的各位 老師表示感謝。 附附 錄錄 源源代代碼碼清清單單 實體類與數(shù)據(jù)庫表

47、映射文件如下(以 Employee.hbm.xml 為例): Dao 層接口實現(xiàn)類如下(以 EmployeeDaoImpl 類為例): package com.cc.dao.impl; import java.util.List; import org.hibernate.Query; import org.hibernate.SessionFactory; import com.cc.dao.EmployeeDao; import com.cc.entity.Employee; public class EmployeeDaoImpl implements EmployeeDao priva

48、te SessionFactory sessionFactory; /刪除員工信息 public void delete(Employee employee) this.sessionFactory.getCurrentSession().delete(employee); /按員工序列號查找員工 public Employee findEmployeeById(int employeeId) Employee emp=(Employee)this.sessionFactory.getCurrentSession().get(Employee.c lass, employeeId); retu

49、rn emp; /增加員工信息 public void insert(Employee employee) this.sessionFactory.getCurrentSession().save(employee); /修改員工信息 public void update(Employee employee) this.sessionFactory.getCurrentSession().update(employee); /查詢所有員工信息 SuppressWarnings(unchecked) public List findAllEmployee() / TODO Auto-genera

50、ted method stub Query query=this.sessionFactory.getCurrentSession().createQuery(from Employee); List empList=query.list(); return empList; /按員工編號查找員工 public Employee findEmployeeByNo(String empNo) String hql=from Employee where no=?; Query query=this.sessionFactory.getCurrentSession().createQuery(hq

51、l); query.setString(0, empNo); Employee emp=(Employee)query.uniqueResult(); return emp; /按員工姓名查找員工 SuppressWarnings(unchecked) public List findEmployeeByName(String empName) / TODO Auto-generated method stub String hql=from Employee where name like ?; Query query=this.sessionFactory.getCurrentSessio

52、n().createQuery(hql); query.setString(0, %+empName+%); List list=query.list(); return list; public SessionFactory getSessionFactory() return sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) this.sessionFactory = sessionFactory; Service 層接口實現(xiàn)類如下(以 EmployeeServiceImpl 為例):

53、package com.cc.service.impl; import java.util.Iterator; import java.util.List; import java.util.Set; import org.springframework.transaction.annotation.Transactional; import com.cc.dao.EmployeeDao; import com.cc.dao.PostDao; import com.cc.entity.Employee; import com.cc.entity.Post; import com.cc.serv

54、ice.EmployeeService; Transactional public class EmployeeServiceImpl implements EmployeeService private EmployeeDao employeeDao; private PostDao postDao; /增加員工信息 public void addEmployee(Employee employee, Post post) / TODO Auto-generated method stub Post p=postDao.findPostByName(post.getName(); emplo

55、yee.setPost(p); Set emps=p.getEmps(); Iterator it=emps.iterator(); Employee emp=new Employee(); emp.setNo(0); Employee empn=new Employee(); while(it.hasNext() empn=it.next(); if(empn.getNo().compareTo(emp.getNo()0) emp=empn; String eno=emp.getNo().substring(6); int no=Integer.parseInt(eno); no+; if(no10) eno=0+no; employee.setNo(p.getNo()+eno);/自動生成員工編號 employeeD

溫馨提示

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

評論

0/150

提交評論