




已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
I 畢業(yè)設(shè)計(論文) 基基于于 j js sp p(j ja av va a)工工資資管管理理系系統(tǒng)統(tǒng)的的設(shè)設(shè)計計和和開開發(fā)發(fā) 姓 名 系 別、 專 業(yè) 導(dǎo) 師 姓 名、職 稱 完 成 時 間 摘 要 隨著現(xiàn)代企業(yè)管理制度的建立和軟件產(chǎn)業(yè)的迅速發(fā)展,企業(yè)人事勞資管理系統(tǒng)已成 為企業(yè)進行日常管理工作的重要工具,加強人事勞資管理類軟件的開發(fā)和運作已成為提 高企業(yè)管理效率的重要手段,而工資管理是企業(yè)人事勞資管理的重要組成部分。 本文論述了基于 Web 的工資管理系統(tǒng)的開發(fā)和實現(xiàn)過程,主要包括系統(tǒng)開發(fā)技術(shù)、 系統(tǒng)需求分析、系統(tǒng)概要分析與設(shè)計、系統(tǒng)詳細設(shè)計與實現(xiàn)等。重點介紹了數(shù)據(jù)庫的設(shè) 計及系統(tǒng)的實現(xiàn)過程,此外還介紹了系統(tǒng)框架結(jié)構(gòu)。本系統(tǒng)采用了目前較為流行的 SSH 組合框架開發(fā)技術(shù)。在表示層采用 Struts 技術(shù)實現(xiàn)了經(jīng)典的 MVC 模式,規(guī)范了表 示層的開發(fā)過程。在業(yè)務(wù)層中,使用 Spring 組件技術(shù),用容器管理表示層的控制器和數(shù) 據(jù)層的數(shù)據(jù)訪問對象,以提高系統(tǒng)的可擴展性能。在數(shù)據(jù)持久層,使用 Hibernate 框架 技術(shù),實現(xiàn)了數(shù)據(jù)與業(yè)務(wù)的分離,降低了系統(tǒng)的耦合度。開發(fā)結(jié)果表明,將 Struts、Spring 和 Hibernate 技術(shù)整合為一種組合型多框架,極大的提高了系統(tǒng)的可維 護性、可擴展性、可移植性和組件的復(fù)用性。 關(guān)鍵詞:工資管理;SSH 框架;MVC 模式 Abstract With the establishment of modern 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 efficiency 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 profiling 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 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 scalability. 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 improving 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)設(shè)置 .2 2 系統(tǒng)開發(fā)技術(shù) .3 2.1 JSP 程序設(shè)計語言簡介.3 2.2 JAVA 程序設(shè)計語言簡介.3 2.3 SSH 框架簡介.3 2.4 MYSQL 數(shù)據(jù)庫簡介.4 2.5 TOMCAT 服務(wù)器簡介.4 3 系統(tǒng)需求分析 .5 3.1 系統(tǒng)設(shè)計目標 .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)設(shè)計的特點 .6 4 系統(tǒng)概要分析與設(shè)計 .7 4.1 系統(tǒng)總體結(jié)構(gòu) .7 4.2 前臺功能分析與設(shè)計 .7 4.3 后臺功能分析與設(shè)計 .8 4.4 數(shù)據(jù)庫分析與設(shè)計 .8 4.4.1 數(shù)據(jù)庫設(shè)計 .9 4.4.2 表設(shè)計 .9 5 系統(tǒng)詳細設(shè)計與實現(xiàn) .12 5.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 編編寫寫目目的的 隨著計算機技術(shù)的發(fā)展,企業(yè)管理越來越趨于自動化,而工資管理是企業(yè)管理的重 要組成部分,它與企業(yè)的財務(wù)管理、人事管理有著密切的聯(lián)系。由于企業(yè)員工工資結(jié)構(gòu) 存在一定的規(guī)律性,工資發(fā)放在時間上和操作上存在一定的重復(fù)性,這使得企事業(yè)單位 工資管理計算機化成為可能。本系統(tǒng)在此基礎(chǔ)上實現(xiàn)了工資信息查詢、人員信息管理、 報表生成等功能。用戶只要使用 IE 瀏覽器訪問相關(guān)站點,輸入正確的用戶名和密碼成 功登錄后,普通用戶便可查詢自己的工資情況和其他相關(guān)信息。對管理員來說使用起來 也非常的方便快捷,可以進行科學(xué)、合理的對員工工資和人員進行管理。 1 1. .2 2 項項目目背背景景 項目名稱:基于 Web 的工資管理系統(tǒng)的設(shè)計與實現(xiàn) 項目的提出者:馬春輝 開發(fā)者:馬春輝 項目簡介:本系統(tǒng)主要實現(xiàn)員工工資和員工信息管理。 1 1. .3 3 系系統(tǒng)統(tǒng)概概述述 1.3.1 系統(tǒng)說明 該系統(tǒng)著眼于員工工資業(yè)務(wù)的實際,對發(fā)放工資業(yè)務(wù)進行了細致的分析、研究,認 真分析其業(yè)務(wù)流程,采用靈活方便的計算處理方式,改變手工操作的繁雜、低效、不宜 操作、靈活性差的特點,提高其工作效率和效益。實現(xiàn)員工工資管理業(yè)務(wù)的制度化、現(xiàn) 代化的管理。工資管理系統(tǒng)是為了能夠迅速、準確地反映出用戶需要的各種信息,及時 方便的進行各種檢索,從而為決策者做出準確的判斷提供強有力的支持。計算機的使用 使得企業(yè)管理變得更加合理,更加規(guī)范,更加科學(xué)。 1.3.2 具體要求 系統(tǒng)數(shù)據(jù)初始化;員工基本信息數(shù)據(jù)的查詢、添加、修改、刪除;企業(yè)工資結(jié)構(gòu)的 基本設(shè)定;企業(yè)工資參數(shù)的設(shè)定與管理;員工考勤的管理;員工個人工資表的查詢;員 工工資的瀏覽、修改、添加、刪除;系統(tǒng)的維護包括用戶的操作權(quán)限、密碼修改。 1.3.3 系統(tǒng)設(shè)置 員工信息、部門信息、崗位信息、考勤記錄等只能被管理員修改,添加,刪除。 員工可以查看個人信息、考勤記錄、工資信息等。 2 系統(tǒng)開發(fā)技術(shù) 2 2. .1 1 J JS SP P 程程序序設(shè)設(shè)計計語語言言簡簡介介 JSP(Java Server Pages)是由 Sun Microsystems 公司倡導(dǎo)、許多公司參與一起 建立的一種動態(tài)網(wǎng)頁技術(shù)。JSP 技術(shù)是在傳統(tǒng)的網(wǎng)頁 HTML 文件中插入 Java 程序段 (Scriptlet)和 JSP 標記(tag),從而形成 JSP 文件,插入的 Java 程序段可以操作 數(shù)據(jù)庫、重新定向網(wǎng)頁等。JSP 頁面由 HTML 代碼和嵌入其中的 Java 代碼所組成。服務(wù) 器在頁面被客戶端請求以后對這些 Java 代碼進行處理,然后將生成的 HTML 頁面返回給 客戶端的瀏覽器。因此,客戶端只要有瀏覽器就能瀏覽。 JSP 技術(shù)的設(shè)計目的是使得構(gòu)造基于 Web 的應(yīng)用程序更加容易和快捷,而這些應(yīng)用 程序能夠與各種 Web 服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開發(fā)工具共同工作。 JSP 規(guī)范是 Web 服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)、以及開發(fā)工具供應(yīng)商間廣泛合作的結(jié)果。在傳統(tǒng) 的網(wǎng)頁 HTML 文件(*htm,*.html)中加入 Java 程序片段(Scriptlet)和 JSP 標記(tag), 就構(gòu)成了 JSP 網(wǎng)頁(*.jsp)。Web 服務(wù)器在遇到訪問 JSP 網(wǎng)頁的請求時,首先執(zhí)行其中 的程序片段,然后將執(zhí)行結(jié)果以 HTML 格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重 新定向網(wǎng)頁以及發(fā)送 email 等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都 在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低, 可以實現(xiàn)無 Plugin,無 ActiveX,無 Java Applet,甚至無 Frame。 2 2. .2 2 J Ja av va a 程程序序設(shè)設(shè)計計語語言言簡簡介介 Java 語言是美國 Sun 公司于 1995 年推出的一種簡單的、面向?qū)ο蟮摹⒎植际降摹?可解釋的、鍵壯的、安全的、結(jié)構(gòu)的、中立的、可移植的、性能很優(yōu)異的多線程的、動 態(tài)的語言。其前身為 OAK 語言,是 SUN 公司為一些消費性電子產(chǎn)品而設(shè)計的一個通用環(huán) 境。他們最初的目的只是為了開發(fā)一種獨立于平臺的軟件技術(shù)。經(jīng)過 Sun 公司的工程師 的不懈努力以及全世界無數(shù)的編程愛好者的使用,Java 終于發(fā)展成為今天這樣一個集 桌面(J2SE)、網(wǎng)絡(luò)(J2EE)、移動平臺(J2ME)應(yīng)用為一體的功能強大的編程語言。目前 Java 由于其平臺無關(guān)及分布式特性,最重要的應(yīng)用是在網(wǎng)絡(luò)應(yīng)用上。 2 2. .3 3 S SS SH H 框框架架簡簡介介 SSH 框架是 Spring+Struts+Hibernate 組合框架的簡稱。 Spring 是一個開源框架,它由 Rod Johnson 創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的 復(fù)雜性而創(chuàng)建的。Spring 使用基本的 JavaBean 來完成以前只可能由 EJB 完成的事情。 然而,Spring 的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度 而言,任何 Java 應(yīng)用都可以從 Spring 中受益。 Struts 是一種開發(fā)源代碼的 Web 應(yīng)用開發(fā)框架,Struts 架構(gòu) MVC(Model View Controller,模型-視圖-控制器),將視圖和模型分離,用戶界面和事務(wù)邏輯分離,簡 化了程序開發(fā)者的開發(fā)和維護工作,提高了系統(tǒng)的靈活性、重用性和可維護性。 Hibernate 是一個開放源代碼的對象關(guān)系映射框架,它對 JDBC 進行了非常輕量級 的對象封裝,使得 Java 程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate 可以應(yīng)用在任何使用 JDBC 的場合,既可以在 Java 的客戶端程序使用,也可 以在 Servlet/JSP 的 Web 應(yīng)用中使用,最具革命意義的是,Hibernate 可以在應(yīng)用 EJB 的 J2EE 架構(gòu)中取代 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)品,但在某 些情況下你可以自由使用。由于它的強大功能、靈活性、豐富的應(yīng)用編程接口(API) 以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是 與 Apache 和 PHP/PERL 結(jié)合,為建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強大動力。MySQL 是 一個真正的多用戶、多線程 SQL 數(shù)據(jù)庫服務(wù)器。 2 2. .5 5 T To om mc ca at t 服服務(wù)務(wù)器器簡簡介介 Tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支 持負載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中, 任何一個感興趣的程序員都可以更改它或在其中加入新的功能。 Tomcat 是一個輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合 下被普遍使用,是開發(fā)和調(diào)試 JSP 程序的首選。對于一個初學(xué)者來說,可以這樣認為, 當在一臺機器上配置好 Apache 服務(wù)器,可利用它響應(yīng)對 HTML 頁面的訪問請求。實際 上 Tomcat 部分是 Apache 服務(wù)器的擴展,但它是獨立運行的,所以當你運行 tomcat 時,它實際上作為一個與 Apache 獨立的進程單獨運行的。 3 系統(tǒng)需求分析 3 3. .1 1 系系統(tǒng)統(tǒng)設(shè)設(shè)計計目目標標 員工工資管理系統(tǒng)用來對員工工資及員工相關(guān)信息進行管理。 本系統(tǒng)可以方便管理員管理員工工資及相關(guān)信息,為管理員提供高效的工作效率與 質(zhì)量保證等,主要包括管理員登錄、員工信息管理、工資結(jié)算管理、工資結(jié)構(gòu)設(shè)置、考 勤信息管理、部門信息管理、崗位信息管理。 本系統(tǒng)還可以方便員工查看個人工資詳細情況,主要包括查看個人信息及個人工資 明細,并可以申請假期。 3 3. .2 2 系系統(tǒng)統(tǒng)角角色色 3.2.1 普通用戶 員工通過該系統(tǒng)可以查看個人相關(guān)信息、每月工資信息、每月考勤信息,可以修改 密碼,并可以向上級申請假期。 3.2.2 管理員 管理員通過該系統(tǒng)可以管理員工信息(包括增加、刪除、修改、查看員工信息)、管 理員工工資信息(包括查看員工工資信息、工資結(jié)算、設(shè)置工資結(jié)構(gòu))、管理部門信息 (包括對部門信息的增刪改查)、管理崗位信息(包括對崗位信息的增刪改查)。 3 3. .3 3 系系統(tǒng)統(tǒng)需需求求模模塊塊 3.3.1 登錄模塊 關(guān)聯(lián)角色:員工、管理員。 需求描述:員工登錄該系統(tǒng)進入前臺瀏覽頁面,管理員登錄該系統(tǒng)進入后臺管理頁 面。 備注說明:只有合法用戶才能進入相關(guān)界面。 3.3.2 前臺瀏覽模塊 關(guān)聯(lián)角色:員工。 需求描述:員工可以查看個人詳細信息、工資信息、考勤信息,可以申請假期。 備注說明:員工只能查看個人相關(guān)信息。 3.3.3 后臺管理模塊 關(guān)聯(lián)角色:管理員。 需求描述:管理員可以進行員工信息管理、員工工資管理、部門信息管理、崗位信 息管理、工資管理(包括工資結(jié)算、工資結(jié)構(gòu)設(shè)置)。 3 3. .4 4 系系統(tǒng)統(tǒng)設(shè)設(shè)計計的的特特點點 采用 MVC(Model、View、Control)架構(gòu),結(jié)合 SSH(Spring+Struts+Hibernate)框架 實現(xiàn)系統(tǒng)的功能。 MVC:當前非常流行的一種系統(tǒng)架構(gòu)模式。MVC 作為模式:提供一個原則,可以按 照模型(model)、界面(view)、控制(control)等角色把一個應(yīng)用系統(tǒng)的各個部分 之間的耦合解脫、分割開來。 MVC(Model-view-controller pattern)模式由三部分組成:模型(Model):是一 組表示應(yīng)用系統(tǒng)商業(yè)邏輯的對象。它通常包括表示商業(yè)抽象的類(如:賬號、采購等等) 和現(xiàn)實世界的對象(如職員、客戶等)。視圖(View):是用一種向用戶表達信息的具 體方式。要理解視圖的捷徑是把視圖想象成為一個具體的網(wǎng)頁或者屏幕,它能夠給用戶 提供一組互相有關(guān)的信息。 控制(Controller):是應(yīng)用系統(tǒng)處理具體流程和導(dǎo)向的 核心部分。它把模型對象給出的信息翻譯成視圖可以理解的形式,并且處理系統(tǒng)流程的 走向,例如視圖在下一個回應(yīng)中將會給用戶什么樣的反饋。 MVC 的關(guān)鍵是商業(yè)模型的設(shè)計與實現(xiàn)可以獨立于應(yīng)用系統(tǒng)的結(jié)構(gòu)設(shè)計與實現(xiàn)(控制) 和界面的設(shè)計與實現(xiàn)(視圖)。 本系統(tǒng)采用的是 SSH(Struts + Spring + Hibernate)三層架構(gòu)。Struts 用于表 現(xiàn)層,負責頁面數(shù)據(jù)提取,頁面動作響應(yīng)。Spring 是一種輕量級的框架模型,主要負 責業(yè)務(wù)邏輯層的對象創(chuàng)建,表現(xiàn)層的 Action 的創(chuàng)建,以及持久層的 DAO 的創(chuàng)建。 Hibernate 負責把內(nèi)存中的數(shù)據(jù)對象保存到數(shù)據(jù)庫中。 在 SSH 三層架構(gòu)中,主要用 Struts 來實現(xiàn)對頁面的響應(yīng)就頁面跳轉(zhuǎn)。當用戶向服 務(wù)器發(fā)送某一個請求,這個請求會被服務(wù)器(Tomcat)接收到,服務(wù)器會根據(jù)請求的內(nèi) 容,將這個請求發(fā)送給相應(yīng)的 Servlet 實例進行處理。Servlet 會根據(jù)其內(nèi)容,去生成 相應(yīng)的 Action 實例。本程序中,Struts 將 Action 的創(chuàng)建工作交給了 Spring 的代理類 來完成,創(chuàng)建這個實例后,將這個實例注入,由 Struts 調(diào)用 Action 中的相應(yīng)方法。 Action 中可以配置一個或多個 Service 對象,Action 調(diào)用 Service 中的方法進行業(yè)務(wù) 處理。Service 中通常會有一個或多個 DAO 的對象,DAO 繼承了 Hibernate 的借口,用 來處理數(shù)據(jù)庫的操作。而 Action,Service,DAO 的創(chuàng)建與注入,都是由 Spring 的 Bean 工廠來實現(xiàn)的。 4 系統(tǒng)概要分析與設(shè)計 4 4. .1 1 系系統(tǒng)統(tǒng)總總體體結(jié)結(jié)構(gòu)構(gòu) 本系統(tǒng)主要由登錄模塊、前臺員工瀏覽模塊、后臺管理員管理模塊構(gòu)成。普通員工 正確登錄后進入前臺員工瀏覽界面,管理員正確登錄后進入后臺管理員管理界面。 系統(tǒng)結(jié)構(gòu)圖如圖 4-1 所示: 圖 4-1 系統(tǒng)結(jié)構(gòu)圖 4 4. .2 2 前前臺臺功功能能分分析析與與設(shè)設(shè)計計 前臺功能主要有員工查看個人信息、查看工資明細、查看考勤信息、申請假期、修 改登錄密碼等。 前臺頁面設(shè)計如圖 4-2 所示: 圖 4-2 前臺頁面跳轉(zhuǎn)圖 4 4. .3 3 后后臺臺功功能能分分析析與與設(shè)設(shè)計計 后臺功能主要有員工信息管理(包括增加、刪除、修改、查看員工信息)、員工工 資管理(包括查看員工工資、設(shè)置崗位工資結(jié)構(gòu)、工資結(jié)算等)、考勤記錄管理(考勤 內(nèi)容有出差、加班、請假、遲到早退、曠工等)、部門信息管理(包括增加、刪除、修 改、查看員工信息)、崗位信息管理(包括增加、刪除、修改、查看崗位信息)。 后臺頁面設(shè)計如圖 4-3 所示: 圖 4-3 后臺頁面跳轉(zhuǎn)圖 4 4. .4 4 數(shù)數(shù)據(jù)據(jù)庫庫分分析析與與設(shè)設(shè)計計 由于企業(yè)組織結(jié)構(gòu)呈樹形,即一個企業(yè)有多個部門;一個部門有多個崗位,一個崗 位對應(yīng)一個崗位工資結(jié)構(gòu),每個崗位有多個員工;每個員工有多條考勤記錄和工資發(fā)放 記錄,一個員工對應(yīng)一個系統(tǒng)用戶身份。從上往下看,基本都是一對多或一對一的關(guān)系, 而在本系統(tǒng)中我使用了 Hibernate 技術(shù)和 Java 編程思想,在建立實體抽象時,分別作 了一些對應(yīng)的引用來實現(xiàn)數(shù)據(jù)庫表之間的關(guān)聯(lián),這樣不僅充分運用了面向?qū)ο缶幊痰乃?想,并簡化了表的結(jié)構(gòu),使得數(shù)據(jù)庫管理更合理化。 4.4.1 數(shù)據(jù)庫設(shè)計 建立數(shù)據(jù)庫 employeemanage,包含的表如圖 4-4 所示: 圖 4-4 數(shù)據(jù)庫表圖 4.4.2 表設(shè)計 部門表如圖 4-5 所示: 圖 4-5 部門表 崗位表如圖 4-6 所示: 圖 4-6 崗位表 員工表如圖 4-7 所示: 圖 4-7 員工表 崗位工資結(jié)構(gòu)表如圖 4-8 所示: 圖 4-8 崗位工資結(jié)構(gòu)表 用戶表如圖 4-9 所示: 圖 4-9 用戶表 工資記錄表如圖 4-10 所示: 圖 4-10 工資記錄表 考勤記錄表如圖 4-11 所示: 圖 4-11 考勤記錄表 考勤表如圖 4-12 所示: 圖 4-12 考勤表 5 系統(tǒng)詳細設(shè)計與實現(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 identify=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-3 所示: 圖 5-3 個人信息頁面 5.2.2 查看考勤記錄模塊 員工點擊考勤記錄按鈕,可查看個人考勤記錄信息。 考勤記錄頁面如圖 5-4 所示: 圖 5-4 個人考勤記錄頁面 5.2.3 查看工資明細模塊 員工點擊工資明細按鈕,可查看個人工資明細情況。工資主要由崗位基本工資、五 險一金、考勤相應(yīng)獎罰金額等組成。 工資明細頁面如圖 5-5 所示: 圖 5-5 工資明細頁面 5.2.4 申請假期模塊 員工點擊申請假期按鈕,可進入假期申請頁面,需填寫請假理由、請假時間等信息。 申請假期頁面如圖 5-6 所示: 圖 5-6 申請假期頁面 實現(xiàn)代碼部分如下: userService.applyLeave(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.3.1 員工信息管理模塊 點擊員工信息管理菜單系統(tǒng)列出員工信息管理的子菜單,包括增加員工信息、刪除 員工信息、修改員工信息、查看員工信息等。 1 增加員工信息。需填寫員工姓名、性別、住址、聯(lián)系方式、電子郵箱、身份證 號等基本信息,并選擇員工所屬部門和崗位,還可以上傳照片,最后選擇提交, 信息合法即可添加成功,系統(tǒng)自動生成員工編號。 增加員工信息頁面如圖 5-8 所示: 圖 5-8 增加員工信息頁面 實現(xiàn)代碼部分如下: employeeService.addEmployee(post,employee); 2 刪除員工信息。點擊刪除員工信息菜單,系統(tǒng)列出員工列表,從列表中選擇或 直接搜索員工,點擊刪除按鈕,確認刪除即可刪除該員工相關(guān)信息。 刪除員工信息頁面如圖 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)列出員工列表,從列表中選擇或 直接搜索員工,系統(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 員工加班管理。點擊加班管理菜單,可添加員工加班記錄。 3 員工出差管理。點擊出差管理菜單,可添加員工出差記錄。 4 員工遲到管理。點擊遲到管理菜單,可添加員工遲到記錄。 5 員工曠工管理。點擊曠工管理菜單,可添加員工曠工記錄。 6 員工請假管理。點擊請假管理菜單,可添加員工請假記錄。 員工加班管理頁面如圖 5-12 所示: 圖 5-12 員工加班管理頁面(check_extra.jsp) 實現(xiàn)代碼部分如下: checkRecordService.checkExtra(empNOs); 員工出差、遲到、曠工、請假等管理頁面與圖類似。 5.3.3 工資管理模塊 點擊工資管理菜單系統(tǒng)列出工資管理子菜單,主要有工資發(fā)放記錄、設(shè)置崗位工資 結(jié)構(gòu)、工資結(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 設(shè)置崗位工資結(jié)構(gòu)。點擊工資設(shè)置菜單,可設(shè)置崗位工資結(jié)構(gòu)和各工資項相應(yīng) 金額。選擇崗位名稱,設(shè)置該崗位基本工資、醫(yī)療保險金額、養(yǎng)老保險金額、 失業(yè)保險金額、工傷保險金額、生育保險金額、住房公積金、出差補助、加班 獎金、請假扣額、遲到早退罰金、曠工罰金等。 工資結(jié)構(gòu)設(shè)置頁面如圖 5-14 所示: 圖 5-14 工資結(jié)構(gòu)設(shè)置頁面(salary_set.jsp) 實現(xiàn)代碼部分如下: postSalaryService.setPostSalary(post,posSalary); 3 工資結(jié)算。點擊工資結(jié)算菜單,可結(jié)算當月員工工資。 工資計算相關(guān)公式如下: 員工總工資=崗位基本工資+三金五險+考勤獎罰金額 公式 5-1 實際發(fā)放金額=崗位基本工資+考勤獎罰金額 公式 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)列出部門信息列表,從列表中選 擇或直接搜索部門,點擊刪除按鈕,確認刪除即可刪除該部門信息。 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 崗位信息管理模塊 點擊崗位信息管理菜單系統(tǒng)列出崗位信息管理子菜單,主要有增加崗位信息、刪除 崗位信息、修改崗位信息、查看崗位信息等 1 增加崗位信息。點擊增加崗位信息菜單,可增加崗位信息。需填寫崗位名稱, 崗位描述等信息,并選擇崗位所屬部門。點擊提交按鈕,信息合法即可添加成 功,系統(tǒng)自動生成崗位編號。 2 刪除崗位信息。點擊刪除崗位信息菜單,系統(tǒng)列出崗位信息列表,從列表中選 擇或直接搜索崗位,點擊刪除按鈕,確認刪除即可刪除該崗位信息。 3 修改崗位信息。點擊修改崗位信息菜單,系統(tǒng)列出崗位信息列表,可從列表中 選擇或直接搜索崗位,點擊修改按鈕,系統(tǒng)列出該崗位詳細信息并可以進行修 改。 4 查看崗位信息。點擊查看崗位信息菜單,系統(tǒng)列出崗位信息列表,可從列表中 選擇或直接搜索崗位,系統(tǒng)列出崗位詳細信息。 增加崗位信息頁面如圖 5-17 所示: 圖 5-17 增加崗位信息頁面(post_add.jsp) 實現(xiàn)代碼部分如下: postService.addPost(post,department); 附 錄 源源代代碼碼清清單單 實體類與數(shù)據(jù)庫表映射文件如下(以 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 private 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); return 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-generated 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(hql); 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.getCurrentSession().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 為例): 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.service.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(); employee.setPost(p); Set emps=p.getEmps(); Iterator it=emps.iterator(); Employee emp=new Employee(); emp.setNo(0); Employee em
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026學(xué)年內(nèi)蒙古通遼市科左中旗舍伯吐鎮(zhèn)中心小學(xué)數(shù)學(xué)三上期末學(xué)業(yè)水平測試試題含解析
- 主管護師考試的備考資料試題及答案
- 全科目復(fù)習(xí)主管護師考試試題及答案
- 專病管理執(zhí)業(yè)醫(yī)師考試試題及答案
- 2025年執(zhí)業(yè)醫(yī)師考試成就分享經(jīng)驗試題及答案
- 2025年衛(wèi)生資格考試知識網(wǎng)絡(luò)試題與答案
- 自考行政管理2025年考試安排與試題及答案
- 深入理解經(jīng)濟法試題及答案解析
- 中國文化概論中的生態(tài)意識試題及答案
- 常見失誤總結(jié)與對策2025年執(zhí)業(yè)醫(yī)師考試試題及答案
- 山東鐵投集團招聘筆試沖刺題2025
- 真需求-打開商業(yè)世界的萬能鑰匙
- 倉庫禮儀培訓(xùn)
- 2025年高考化學(xué)復(fù)習(xí)熱搜題速遞之反應(yīng)熱與焓變(2024年7月)
- 2024年北京東城中小學(xué)教師招聘真題
- 大學(xué)計算機基礎(chǔ)知到智慧樹章節(jié)測試課后答案2024年秋海南師范大學(xué)
- 2024年度新能源汽車產(chǎn)業(yè)聯(lián)盟合作協(xié)議3篇
- 2024年考研英語一閱讀理解80篇試題及答案
- 2024年版鋼箱梁制造與安裝合同3篇
- 地域文化(專)-終結(jié)性考試-國開(SC)-參考資料
- 2024年會計專業(yè)考試高級會計實務(wù)試題與參考答案
評論
0/150
提交評論