學(xué)校工資管理系統(tǒng)課程設(shè)計報告報告_第1頁
學(xué)校工資管理系統(tǒng)課程設(shè)計報告報告_第2頁
學(xué)校工資管理系統(tǒng)課程設(shè)計報告報告_第3頁
學(xué)校工資管理系統(tǒng)課程設(shè)計報告報告_第4頁
學(xué)校工資管理系統(tǒng)課程設(shè)計報告報告_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-PAGE . z. - .- -可修編- -文理學(xué)院信息工程學(xué)院課程設(shè)計報告設(shè)計名稱:軟件項目開發(fā)課程設(shè)計設(shè)計題目:育才學(xué)校工資管理系統(tǒng) 學(xué)生*:專業(yè)班級: 軟件工程學(xué)生:學(xué)生成績:指導(dǎo)教師:課題工作時間: 2016.6.16至 2016.6.28 說明:1、報告中的任務(wù)書、進度表由指導(dǎo)教師在課程設(shè)計開始前填寫并發(fā)給每個學(xué)生。2、學(xué)生成績由指導(dǎo)教師根據(jù)學(xué)生的設(shè)計情況給出各項分值及總評成績。3、所有學(xué)生必須參加課程設(shè)計的答辯環(huán)節(jié),凡不參加答辯者,其成績一律按不及格處理。答辯由指導(dǎo)教師實施。4、報告正文字?jǐn)?shù)一般應(yīng)不少于3000字,也可由指導(dǎo)教師根據(jù)本門綜合設(shè)計的情況另行規(guī)定。5、平時表現(xiàn)成績低于

2、6分的學(xué)生,取消答辯資格,其本項綜合設(shè)計成績按不及格處理。信息工程學(xué)院課程設(shè)計任務(wù)書學(xué)生*專業(yè)班級設(shè)計題目育才學(xué)校工資管理系統(tǒng)容概要: 開發(fā)環(huán)境:windows 8.1 開發(fā)工具:MyEclipse 數(shù)據(jù)庫:SQL Server 2005 運行環(huán)境:火狐(Mozilla FireFo*) 關(guān)鍵技術(shù):Java JSP JDBC 基本功能:系統(tǒng)能夠?qū)崿F(xiàn)教職工工資信息的管理。 包括對部門信息、教職工信息、教職工考勤信息、教職工工資信息的 瀏覽、查詢、添加、修改、刪除等功能。文獻資料:1國君,磊,洋Java2程序設(shè)計基礎(chǔ)M:清華大學(xué);2008.62耿祥義,躍平Java課程設(shè)計M:清華大學(xué);2008.1

3、13思民,梁維娜Java程序設(shè)計實踐教程M:清華大學(xué);2006.8設(shè)計要求:基本功能: 實現(xiàn)對部門信息、教職工信息、教職工考勤信息、教職工工資信息的瀏覽、查詢、添加、修改、刪除功能。數(shù)據(jù)庫要求:數(shù)據(jù)存儲至少包含:工資表、部門匯總表、員工信息表、員工考勤表、管理員表。除人事處、財務(wù)處外,其他職能部門可簡化等。工作期限:設(shè)計工作自2016年6月16日至2016年6月28日止。指導(dǎo)教師: 院長: 日 期:2016年6月16日信息工程學(xué)院課程設(shè)計進度安排表學(xué)生:*:專業(yè): 軟件工程 班級:起止日期容備注6月16日6月17日下任務(wù)書;收集、閱讀、整理相關(guān)參考文獻,并進行歸納和概括總結(jié),完成項目/任務(wù)背景

4、介紹部分文字容。6月18日6月21日系統(tǒng)功能設(shè)計和模塊設(shè)計、系統(tǒng)體系結(jié)構(gòu)構(gòu)建。6月22日6月24日各功能模塊編碼實現(xiàn),系統(tǒng)各功能模塊調(diào)試與維護。6月25日6月26日系統(tǒng)功能集成、系統(tǒng)調(diào)試與測試,按照模板要求撰寫課程設(shè)計/項目設(shè)計報告。6月27日課程設(shè)計/項目設(shè)計分組答辯,提交課程設(shè)計/項目設(shè)計報告以及相關(guān)文檔,進行成績評定。指導(dǎo)教師簽名: 2016年6月16日成績評定表學(xué)生:*:專業(yè): 軟件工程 班級:類別合計分值各項分值評分標(biāo)準(zhǔn)實際得分合計得分平時表現(xiàn)1010按時參加設(shè)計指導(dǎo),無違反紀(jì)律情況。完成情況3020按設(shè)計任務(wù)書的要求完成了全部任務(wù),能完整演示其設(shè)計容,符合要求。10能對其設(shè)計容進行

5、詳細、完整的介紹,并能就指導(dǎo)教師提出的問題進行正確的回答。報告質(zhì)量3510報告文字通順,容翔實,論述充分、完整,立論正確,結(jié)構(gòu)嚴(yán)謹(jǐn)合理;報告字?jǐn)?shù)符合相關(guān)要求,工整規(guī),整齊劃一。5課題背景介紹清楚,綜述分析充分。5設(shè)計方案合理、可行,論證嚴(yán)謹(jǐn),邏輯性強,具有說服力。5符號統(tǒng)一;圖表完備、符合規(guī)要求。5能對整個設(shè)計過程進行全面的總結(jié),得出有價值的結(jié)論或結(jié)果。5參考文獻數(shù)量在2篇以上,格式符合要求,在正文中正確引用。答辯情況2510在規(guī)定時間能就所設(shè)計的容進行闡述,言簡意明,重點突出,論點正確,條理清晰。15在規(guī)定時間能準(zhǔn)確、完整、流利地回答教師所提出的問題??傇u成績: 分 指導(dǎo)教師:(簽字) 日期

6、:2016年6月27日摘 要摘要:工資管理系統(tǒng)是使用MyEclipse開發(fā)的一個數(shù)據(jù)庫管理系統(tǒng)。在開發(fā)過程中使用SQL Server 2005和MyEclipse完成工資管理系統(tǒng)基本過程。開發(fā)這個系統(tǒng)的步驟主要有系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實現(xiàn)和系統(tǒng)維護。在系統(tǒng)的設(shè)計過程中,詳細展現(xiàn)了系統(tǒng)的各個模塊、所需的數(shù)據(jù)庫表的設(shè)計等。在系統(tǒng)實現(xiàn)過程中,給出了實現(xiàn)表單中相應(yīng)的功能控件事件、代碼及菜單實現(xiàn)的方法。本系統(tǒng)具有數(shù)據(jù)輸入、數(shù)據(jù)存儲、工資計算、信息修改、刪除等功能,本系統(tǒng)以簡潔明了的界面設(shè)計實現(xiàn)了基本功能,使新用戶能快速掌握系統(tǒng)基本操作。關(guān)鍵詞:MyEclipse;SQL Server;Request-

7、. z. - .- -可修編- -目錄TOC o 1-3 h u HYPERLINK l _Toc29879 第一章 課題背景(或緒論、概述) PAGEREF _Toc29879 1 HYPERLINK l _Toc15911 1.1 引言 PAGEREF _Toc15911 1 HYPERLINK l _Toc20222 1.1.1 開發(fā)背景 PAGEREF _Toc20222 1 HYPERLINK l _Toc501 1.1.2 目的 PAGEREF _Toc501 1 HYPERLINK l _Toc29131 第二章 可行性分析PAGEREF _Toc29131 3 HYPERLIN

8、K l _Toc7306 2.1 可行性分析 PAGEREF _Toc7306 3 HYPERLINK l _Toc12346 2.1.1 技術(shù)可行性分析 PAGEREF _Toc12346 3 HYPERLINK l _Toc29011 2.1.2 經(jīng)濟可行性分析 PAGEREF _Toc29011 3 HYPERLINK l _Toc20925 2.1.3 操作可行性分析 PAGEREF _Toc20925 3 HYPERLINK l _Toc15563 2.2 開發(fā)計劃 PAGEREF _Toc15563 4 HYPERLINK l _Toc12400 第三章 項目需求分析 PAGERE

9、F _Toc12400 5 HYPERLINK l _Toc27139 3.1 登錄功能 PAGEREF _Toc27139 5 HYPERLINK l _Toc9976 3.2 部門管理功能 PAGEREF _Toc9976 5 HYPERLINK l _Toc32121 3.3 員工信息管理功能 PAGEREF _Toc32121 5 HYPERLINK l _Toc12933 3.4 員工出勤信息管理功能 PAGEREF _Toc12933 6 HYPERLINK l _Toc1958 3.5 工資信息管理功能 PAGEREF _Toc1958 6 HYPERLINK l _Toc452

10、1 3.6 用例描述 PAGEREF _Toc4521 7 HYPERLINK l _Toc25825 第四章 項目概要設(shè)計 PAGEREF _Toc25825 10 HYPERLINK l _Toc12065 4.1 功能設(shè)計 PAGEREF _Toc12065 10 HYPERLINK l _Toc32149 4.2 系統(tǒng)數(shù)據(jù)庫設(shè)計 PAGEREF _Toc32149 10 HYPERLINK l _Toc24526 4.2.1 數(shù)據(jù)字典 PAGEREF _Toc24526 10HYPERLINK l _Toc4308 4.2.2 ER圖 PAGEREF _Toc4308 12 HYPER

11、LINK l _Toc30049 4.2.3 數(shù)據(jù)流圖 PAGEREF _Toc30049 13 HYPERLINK l _Toc9419 第五章 項目詳細設(shè)計 PAGEREF _Toc9419 14 HYPERLINK l _Toc29583 5.1 數(shù)據(jù)庫設(shè)計 PAGEREF _Toc29583 14 HYPERLINK l _Toc21419 5.1.1數(shù)據(jù)字典 PAGEREF _Toc21419 14 HYPERLINK l _Toc25548 5.2人機交互界面設(shè)計 PAGEREF _Toc25548 15-. z. HYPERLINK l _Toc8447 5.2.1工資信息管理

12、PAGEREF _Toc8447 15 HYPERLINK l _Toc25554 5.2.2信息查詢 PAGEREF _Toc25554 15 HYPERLINK l _Toc8839 5.2.3添加新的工資信息 PAGEREF _Toc8839 16 HYPERLINK l _Toc11657 5.2.4修改工資信息 PAGEREF _Toc11657 17 HYPERLINK l _Toc24848 5.2.5刪除工資信息 PAGEREF _Toc24848 18 HYPERLINK l _Toc2826 5.2.6打印工資信息 PAGEREF _Toc2826 19 HYPERLINK

13、 l _Toc14558 第六章 項目編碼 PAGEREF _Toc14558 20 HYPERLINK l _Toc32719 6.1 連接數(shù)據(jù)庫 PAGEREF _Toc32719 20 HYPERLINK l _Toc32422 6.2 添加工資信息 PAGEREF _Toc32422 23 HYPERLINK l _Toc30799 6.3 刪除工資信息 PAGEREF _Toc30799 27 HYPERLINK l _Toc5427 6.4 修改工資信息 PAGEREF _Toc5427 27 HYPERLINK l _Toc7068 6.5 查詢工資信息 PAGEREF _Toc

14、7068 29 HYPERLINK l _Toc16663 第七章 項目測試 PAGEREF _Toc16663 31 HYPERLINK l _Toc30388 7.1 增加工資信息測試 PAGEREF _Toc30388 31 HYPERLINK l _Toc13092 7.2 刪除工資信息測試 PAGEREF _Toc13092 31 HYPERLINK l _Toc14250 7.3 修改工資信息測試 PAGEREF _Toc14250 31 HYPERLINK l _Toc18311 7.4 查詢工資信息測試 PAGEREF _Toc18311 31 HYPERLINK l _Toc

15、7893 總結(jié) PAGEREF _Toc7893 33 HYPERLINK l _Toc9898 參考文獻 PAGEREF _Toc9898 34-. z.第一章 課題背景(或緒論、概述)1.1 引言1.1.1 開發(fā)背景隨著社會的進步和計算機技術(shù)的發(fā)展,特別是微型計算機的大圍普及,現(xiàn)在應(yīng)用在大中型企業(yè)的信息管理系統(tǒng)中,幾乎都包括了工資管理模塊。有些環(huán)境中是有大型ERP軟件中的一個模塊引進的,有些作為企業(yè)的財務(wù)系統(tǒng)的一部分。計算機處理的數(shù)據(jù)量不斷增加。文件管理系統(tǒng)采用的一次最多存取一個記錄的訪問方式,以及在不同文件之間缺乏相互聯(lián)系的結(jié)構(gòu),越來越不能適應(yīng)管理大量數(shù)據(jù)的需要,于是數(shù)據(jù)庫管理系統(tǒng)便應(yīng)運

16、而生。有了數(shù)據(jù)庫我們便能方便快捷的對數(shù)據(jù)進行讀取、存取,并維護數(shù)據(jù)庫的數(shù)據(jù)。今天,數(shù)據(jù)庫管理已成為計算機信息管理的主要方式。數(shù)據(jù)庫的應(yīng)用非常廣泛,可應(yīng)用于各行各業(yè),只要是稍復(fù)雜的數(shù)據(jù),都可制作成數(shù)據(jù)庫,交由電腦來管理。用電腦管理數(shù)據(jù),運算速度快,檢索迅速、查找方便、可靠性高、存儲量大、性好、壽命長、成本低且不易出錯等,這些優(yōu)點能夠極提高工資管理的效率,也是科學(xué)化、正規(guī)化管理的重要條件,尤其是現(xiàn)在的中小型企業(yè)正需要這種對口的工資管理系統(tǒng),并且是現(xiàn)行的財務(wù)管理系統(tǒng)所代替不了的。1.1.2 目的隨著公司規(guī)模的不斷擴大,職工數(shù)量急劇增加,有關(guān)職工的各種信息量也成倍增長,而目前許多公司的職工工資管理系統(tǒng)

17、仍停留在復(fù)雜的人工操作上,重復(fù)工作較多,工作量大,效率低,因此設(shè)計一個能夠?qū)崿F(xiàn)教職工工資信息的管理系統(tǒng)。該系統(tǒng)包括瀏覽、查詢、添加、修改、刪除等功能。其中添加功能要求能夠添加新的工資信息及教職工基本信息到數(shù)據(jù)庫文件;修改功能要求可以對教職工的工資信息以及基本信息進行修改;刪除功能要求可以對教職工的工資信息以及基本信息進行刪除;瀏覽功能要求能按照教職工的工號,瀏覽,提供分頁顯示;有排序功能,排序后按照工號升序輸出;查詢功能要求能夠按照工號或者查詢。第二章 可行性分析2.1 可行性分析2.1.1 技術(shù)可行性分析目前學(xué)校各工作點均采用裝載window7系統(tǒng)的PC機作為工作臺,其容量、速度能滿足系統(tǒng)要

18、求。根據(jù)客戶提出的系統(tǒng)功能、性能及實現(xiàn)系統(tǒng)的各項約束條件,根據(jù)新系統(tǒng)目標(biāo)來衡量所需的技術(shù)是否具備,本系統(tǒng)是一個文件管理和查詢的系統(tǒng),現(xiàn)有的技術(shù)以較為成熟,硬件、軟件的性能要求、環(huán)境條件等各項條件良好,估計利用現(xiàn)有技術(shù)條件應(yīng)完全可以達到該系統(tǒng)的功能目標(biāo)。同時,考慮給予的開發(fā)期限也較為充裕,預(yù)計系統(tǒng)是可以在規(guī)定期限完成開發(fā)。在技術(shù)角度來說,開發(fā)學(xué)校部工資系統(tǒng)是可行的。2.1.2 經(jīng)濟可行性分析通過對開發(fā)學(xué)校部工資管理系統(tǒng)的經(jīng)濟效益進行評價,一方面估算開發(fā)它的支出費用,其中包括設(shè)備購置費、軟件開發(fā)費、管理和維護費、人員工資和培訓(xùn)費等。另一方面估算職工工資管理這個軟件可能取得的收益中可以用錢來衡量的那

19、部分。并對目前的軟件市場進行調(diào)查,所做軟件是否有很大的銷售市場和相當(dāng)規(guī)模的用戶群。所做軟件的開發(fā)成本與客戶提出的要否可達到雙方都滿意。分析系統(tǒng)開發(fā)會對其它產(chǎn)品或利潤帶來一定影響。經(jīng)過對上述幾個方面的調(diào)查研究和分析,我們得出學(xué)校部工資管理系統(tǒng)這個軟件的使用性非常強,減輕人力成本,在經(jīng)濟角度來說,開發(fā)學(xué)校部工資管理是可行的。2.1.3 操作可行性分析通過了解學(xué)校部工資管理的相關(guān)人員對開發(fā)信息系統(tǒng)是否支持,現(xiàn)有職工工資管理制度和方法是否科學(xué),規(guī)章制度是否齊全,原始數(shù)據(jù)是否正確等。職工工資管理人員積極支持該系統(tǒng)開發(fā),使新系統(tǒng)能夠充分的發(fā)揮作用;系統(tǒng)操作簡單,易于理解,操作者經(jīng)過短時間的培訓(xùn)就可以使用職

20、工工資管理系統(tǒng)。在操作可行性角度來說,開發(fā)學(xué)校部工資管理是可行的。2.2 開發(fā)計劃表2-1 開發(fā)計劃表學(xué)校部工資管理系統(tǒng)階段所需時間(天)可行性研究1需求分析1概要設(shè)計1詳細設(shè)計2實現(xiàn)4調(diào)試與測試2總計11第三章 項目需求分析工資管理系統(tǒng)是針對企事業(yè)單位的大量業(yè)務(wù)處理工作,用計算機進行全面現(xiàn)代化管理。主要包括信息輸入功能、信息修改刪除、信息的查詢以及工資計算管理功能。該系統(tǒng)主要包括登錄模塊、部門管理模塊、員工信息管理模塊、員工考勤管理模塊和員工資管理模塊等。3.1 登錄功能用戶輸入賬號和密碼與數(shù)據(jù)庫中的一致時方可登錄該系統(tǒng)。3.2 部門管理功能1)輸入部門的基本信息,包括部門編號(DepID)

21、、部門名(DepName)、部門經(jīng)理(Manager)、辦公(DepTel)2)查詢部門信息:點擊部門名稱,能顯示該部門所有基本信息,如:部門編號、部門名稱、部門經(jīng)理、辦公。3)修改、刪除部門信息:如果各部門信息發(fā)生變化,點擊修改,能對部門各個信息進行重新設(shè)置,同時可以刪除該部門,則該部門所有信息都會從數(shù)據(jù)庫中刪除,在部門管理界面不會顯示該部門的信息。3.3 員工信息管理功能錄入員工的基本信息,包括員工編號(employeeId)、(name)、號(cardNumber)、民族(nation)、性別(se*)、生日(birthday)、畢業(yè)學(xué)校(graduateSchool)、學(xué)歷(schoo

22、lRecord)、部門(department)、職稱(positionName)、(telephone)、(email)、編輯時間(editTime)、備注(memo)。查詢員工信息,點擊員工,能顯示該員工的所有基本信息。如果員工信息發(fā)生變化,例如:發(fā)生變化、職位調(diào)遣等。需要重新錄入該員工信息 ,點擊修改可以實現(xiàn)重置信息。如果該員工離職,則點擊刪除,該員工所有信息在員工信息管理界面會清除該條記錄。3.4 員工出勤信息管理功能1)錄入員工的出勤基本信息,包括請假編號(leaveId)、職工編號(employeeId)、職工(employeeName)、請假開始時間(starTime)、請假天數(shù)(

23、day)、請假原因(reason)、批準(zhǔn)人(approvePerson)、編輯時間(editTime)、備注(memo)。2)查詢員工出勤信息可分為按員工編號查詢、按員工查詢。選擇查詢方式,輸入信息,點擊搜索,則能顯示該員工所有出勤記錄。如果出勤信息發(fā)生變化,點擊修改,重新錄入出勤信息,同時系統(tǒng)會重新自動生成編輯時間,確保出勤信息的準(zhǔn)確性。如果錄入信息發(fā)生重復(fù)等情況,可以點擊刪除,則該條記錄會被刪除。3.5 工資信息管理功能錄入員工的工資基本信息,包括:工資編號(salayId)、員工編號(employeeId)、員工(employeeName)、年份(year)、月份(month)、基本工資

24、(basicWage)、加工工資(overtimeWage)、交通補助(trafficWage)、考勤扣除(kaoqinReduce)、保險扣除(secureReduce)、總工資(totalWage)、總扣除(totalReduce)、實際工資(realWage)、編輯時間(editTime)、備注(memo)查詢工資管理信息,選擇查詢年份、月份、查詢方式、輸入查詢信息,點擊搜索就能準(zhǔn)確顯示該員工在具體的時間段實際工資總額。管理員可以錄入員工詳細的工資信息,例如:基本工資、加班工資、交通補助、考勤扣除、保險扣除、扣稅等信息。根據(jù)實際情況可對員工工資信息進行修改、打印、刪除等操作。3.6 用例

25、描述登錄管理增加部門信息查詢部門信息修改部門信息刪除部門信息管理員圖3-1 部門信息管理表3-1 管理員登錄用例描述用例編號3-1-1用例名稱管理員登錄用例描述管理員在管理系統(tǒng)中輸入自己的用戶名及密碼,即可進入登錄工資管理系統(tǒng)。管理員在登錄界面可以修改自己的密碼。表3-2 管理員管理部門信息用例描述用例編號3-1-2用例名稱管理員管理部門信息用例描述管理員可以在部門管理界面實現(xiàn)增加部門信息、查詢部門信息、修改部門信息、刪除部門信息登錄管理增加員工信息查詢員工信息修改員工信息刪除員工信息管理員圖3-2 員工信息管理表3-3 管理員管理員工信息用例描述用例編號3-2用例名稱管理員管理員工信息用例描

26、述在員工信息管理界面,管理員擁有增加員工信息、查詢員工信息、修改員工信息、刪除員工信息等權(quán)限。登錄管理增加員工出勤信息查詢員工出勤信息修改員工出勤信息刪除員工出勤信息管理員圖3-3 員工出勤信息管理表3-4管理員工出勤信息用例描述用例編號3-3用例名稱管理員管理員工出勤信息用例描述在員工出勤信息管理界面,管理員可以實現(xiàn)增加員工出勤信息、查詢員工出勤信息、修改員工出勤信息、刪除員工出勤信息。登錄管理增加工資信息查詢工資信息修改工資信息刪除工資信息管理員打印工資信息圖3-4 工資信息管理表3-5 管理員工工資信息用例描述用例編號3-4用例名稱管理員管理工資信息用例描述在工資信息管理界面,管理員可以

27、實現(xiàn)增加工資信息、查詢工資信息、修改工資信息、刪除工資信息、打印工資信息等功能。第四章 項目概要設(shè)計4.1 功能設(shè)計添加部門信息修改部門信息查詢部門信息刪除部門信息修改員工信息添加員工信息查詢員工信息刪除員工信息添加出勤信息修改出勤信息查詢出勤信息刪除出勤信息添加工資信息刪除工資信息修改工資信息查詢工資信息部門管理員工信息管理員工出勤管理工資信息管理退出學(xué)校內(nèi)部管理系統(tǒng)用戶登錄提示錯誤判斷用戶賬號與密碼是否正確圖4-1 功能設(shè)計圖4.2 系統(tǒng)數(shù)據(jù)庫設(shè)計4.2.1 數(shù)據(jù)字典員工表 employee表4-1 員工表字段名數(shù)據(jù)類型含義說明是否為空employeeIdChar(100)員工編號主鍵Na

28、meVarchar(10)職工否Se*Char(2)性別cardNumberChar(100)nationChar(4)民族birthdayChar(100)生日graduateSchoolChar(100)畢業(yè)院校schoolRecordChar(4)學(xué)歷departmentChar(100)部門positionNameChar(100)級別telephoneChar(100)emailChar(100)editTimeChar(100)編輯時間memoChar(100)備忘錄部門表 department表4-2 部門表字段名數(shù)據(jù)類型含義說明是否為空DepIDChar(6)部門編號主鍵Dep

29、NameVarchar(20)部門名稱否ManagerVarchar(20)部門經(jīng)理DepTelVarchar(15)辦公室考勤表leave表4-3 考勤表字段名數(shù)據(jù)類型含義說明是否為空leaveIdInt編號否employeeIdChar(100)員工編號否employeeNameChar(100)員工否startTimeChar(100)時間dayChar(100)天數(shù)reasonChar(100)原因approvePersonChar(100)審查人editTimeChar(100)編輯時間memoChar(100)備注工資表 salary表4-4 工資表字段名數(shù)據(jù)類型含義說明是否為空s

30、alaryIdint編號主鍵employeeIdchar(100)員工編號否employeeNamechar(100)員工否yearchar(100)年份monthchar(100)月份basicWagefloat基本工資否overtimeWagefloat加工工資trafficWagefloat交通補助totalWagefloat整體工資kaoqinReducefloat考勤扣除secureReducefloat保險扣除ta*Reducefloat扣稅totalReducefloat整體扣除realWagefloat實際工資否editTimechar(100)編輯時間memochar(100

31、)備注5、管理員表 admin表4-5 管理員表字段名數(shù)據(jù)類型含義說明是否為空adminIDchar(100)編號主鍵adminNamechar(100)管理員否passwordchar(100)密碼否保險扣除考勤扣除交通補助加工工資資扣稅工資擁有管理管理員密碼賬戶員工*部門姓別員工編號基本工資工資日期4.2.2 ER圖圖4-2 ER圖4.2.3 數(shù)據(jù)流圖圖4-3 數(shù)據(jù)流圖第五章 項目詳細設(shè)計5.1 數(shù)據(jù)庫設(shè)計5.1.1數(shù)據(jù)字典工資表 salary表5-1 工資表字段名數(shù)據(jù)類型含義說明是否為空salaryIdint編號主鍵employeeIdchar(100)員工編號否employeeName

32、char(100)員工否yearchar(100)年份monthchar(100)月份basicWagefloat基本工資否overtimeWagefloat加工工資trafficWagefloat交通補助totalWagefloat整體工資kaoqinReducefloat考勤扣除secureReducefloat保險扣除ta*Reducefloat扣稅totalReducefloat整體扣除realWagefloat實際工資否editTimechar(100)編輯時間memochar(100)備注5.2人機交互界面設(shè)計5.2.1工資信息管理圖5-1 工資信息管理主界面5.2.2信息查詢圖5

33、-2 查詢界面圖5-3 查詢結(jié)果5.2.3添加新的工資信息圖5-4添加新的工資信息圖5-5 添加成功5.2.4修改工資信息圖5-6 修改工資信息圖5-7 修改成功5.2.5刪除工資信息圖5-8 刪除工資信息圖5-9 刪除成功5.2.6打印工資信息圖5-10 打印工資信息第六章 項目編碼6.1 連接數(shù)據(jù)庫通過JDBC與數(shù)據(jù)庫建立連接,發(fā)送操作數(shù)據(jù)庫的語句并處理結(jié)果。public class DataBase protected Connection conn = null;/Connection接口protected Statement stmt = null;/Statement接口prote

34、cted ResultSet rs = null;/記錄結(jié)果集protected PreparedStatement prepstmt = null;/PreparedStatementprotected boolean isConnect=true;/與數(shù)據(jù)庫連接標(biāo)識public DataBase() tryDBConnectionManager dcm = new DBConnectionManager();conn = dcm.getConnection();stmt = conn.createStatement();catch (E*ception e)System.out.print

35、ln(e);isConnect=false;public Statement getStatement() return stmt;public Connection getConnection() return conn;public PreparedStatement getPreparedStatement() return prepstmt;public ResultSet getResultSet() return rs;public boolean e*ecute() throws E*ception return false;public boolean insert() thr

36、ows E*ception return false;public boolean update() throws E*ception return false;public boolean delete() throws E*ception return false;public boolean query() throws E*ception return false;public void close() throws SQLE*ception if ( stmt != null )stmt.close();stmt = null;conn.close();conn = null;pub

37、licclass DBConnectionManager / private String driverName = .microsoft.jdbc.sqlserver.SQLServerDriver; /oracle.jdbc.driver.OracleDriver;/ private String url = jdbc:microsoft:sqlserver:/localhost:1433; /jdbc:oracle:thin:1521:oracle;private String user = sa;private String password = sa;private String d

38、riverName=.microsoft.jdbc.sqlserver.SQLServerDriver;private String url = jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=salary;publicvoid setDriverName(String newDriverName) driverName = newDriverName; public String getDriverName() returndriverName; publicvoid setUrl(String newUrl) url = newU

39、rl; public String getUrl() returnurl; publicvoid setUser(String newUser) user = newUser; public String getUser() returnuser; publicvoid setPassword(String newPassword) password = newPassword; public String getPassword() returnpassword; public Connection getConnection() try Class.forName(driverName);

40、return DriverManager.getConnection(url, user, password);/ return DriverManager.getConnection(url); catch (E*ception e) e.printStackTrace();returnnull; publicstaticvoid main(String args) / DBConnectionManager DBConnectionManager1 = new DBConnectionManager();try DBConnectionManager dcm = new DBConnect

41、ionManager(); Connectionconn = dcm.getConnection(); Statement stmt=conn.createStatement(); ResultSet rs=stmt.e*ecuteQuery(select * from admin);/stmt = conn.createStatement();while(rs.ne*t() System.out.println(rs.getString(1); System.out.println(rs.getString(2); System.out.println(); catch(E*ception

42、e) e.printStackTrace(); 6.2 添加工資信息/將頁面表單傳來的資料分解并保存到工資類的各個字段中publicboolean getRequest(java*.servlet.http.HttpServletRequest newrequest) boolean flag = false;tryrequest = newrequest;/*String salaryId = request.getParameter(salaryId);if(!salaryId.equals() oneSalaryRecord.setSalaryId(Long.parseLong(sala

43、ryId); */String employeeId = request.getParameter(employeeId);if(null = employeeId | employeeId.equals() employeeId = ;sqlflag = false;oneSalaryRecord.setEmployeeId(getGbk(employeeId);/員工編號String employeeName = request.getParameter(employeeName);if(null = employeeName | employeeName.equals() employe

44、eName = ;sqlflag = false;oneSalaryRecord.setEmployeeName(getGbk(employeeName);/員工Integer year = Integer.parseInt(request.getParameter(year);if(null = year ) year = 2000;sqlflag = false; oneSalaryRecord.setYear(year);/工資年份Integer month = Integer.parseInt(request.getParameter(month);if(null = month |

45、!(0 month) month = 1;sqlflag = false;oneSalaryRecord.setMonth(month);/工資月份Float basicWage;try basicWage = Float.parseFloat(request.getParameter(basicWage); catch(E*ception e*) basicWage = 0.0f;sqlflag = false;oneSalaryRecord.setBasicWage(basicWage);/基本工資Float overtimeWage;try overtimeWage = Float.pa

46、rseFloat(request.getParameter(overtimeWage); catch (E*ception e*) overtimeWage = 0.0f;oneSalaryRecord.setOvertimeWage(overtimeWage);/加班工資Float trafficWage;try trafficWage = Float.parseFloat(request.getParameter(trafficWage); catch (E*ception e*) trafficWage = 0.0f;oneSalaryRecord.setTrafficWage(traf

47、ficWage);/交通補助工資Float kaoqinReduce;try kaoqinReduce = Float.parseFloat(request.getParameter(kaoqinReduce); catch (E*ception e*) kaoqinReduce = 0.0f;oneSalaryRecord.setKaoqinReduce(kaoqinReduce);/考勤扣除Float secureReduce;try secureReduce = Float.parseFloat(request.getParameter(secureReduce); catch(E*ce

48、ption e*) secureReduce = 0.0f;oneSalaryRecord.setSecureReduce(secureReduce);/保險扣除Float ta*Reduce;try ta*Reduce = Float.parseFloat(request.getParameter(ta*Reduce); catch(E*ception e*) ta*Reduce = 0.0f;oneSalaryRecord.setTa*Reduce(ta*Reduce);/稅收扣除 String memo = request.getParameter(memo);if(null = mem

49、o | memo.equals() memo = ; oneSalaryRecord.setMemo(getGbk(memo);/備注if (sqlflag)flag = true;return flag;catch (E*ception e)errorMessage = e.getMessage();return flag;/向數(shù)據(jù)庫中工資信息表中插入一條新的記錄publicboolean insert() throws E*ception String editTime; Calendar cal=Calendar.getInstance(); Integer y,m,d,h,mi,s;

50、y=cal.get(Calendar.YEAR); m=cal.get(Calendar.MONTH) + 1; d=cal.get(Calendar.DATE); h=cal.get(Calendar.HOUR_OF_DAY); mi=cal.get(Calendar.MINUTE); s=cal.get(Calendar.SECOND); editTime = y+年+m+月+d+日+h+時+mi+分+s+秒; Float totalWage = oneSalaryRecord.getBasicWage() + oneSalaryRecord.getOvertimeWage() + one

51、SalaryRecord.getTrafficWage(); Float totalReduce = oneSalaryRecord.getKaoqinReduce() + oneSalaryRecord.getSecureReduce() + oneSalaryRecord.getTa*Reduce();sqlStr = insert into salary(employeeId,employeeName,year,month,basicWage,overtimeWage,trafficWage,totalWage,kaoqinReduce,secureReduce,ta*Reduce,to

52、talReduce,realWage,editTime,memo) values (;sqlStr = sqlStr + strFormat.toSql(oneSalaryRecord.getEmployeeId() + ,;sqlStr = sqlStr + strFormat.toSql(oneSalaryRecord.getEmployeeName() + ,;sqlStr = sqlStr + oneSalaryRecord.getYear() + ,;sqlStr = sqlStr + oneSalaryRecord.getMonth() + ,;sqlStr = sqlStr +

53、oneSalaryRecord.getBasicWage() + ,;sqlStr = sqlStr + oneSalaryRecord.getOvertimeWage() + ,;sqlStr = sqlStr + oneSalaryRecord.getTrafficWage() + ,;sqlStr = sqlStr + totalWage + ,;sqlStr = sqlStr + oneSalaryRecord.getKaoqinReduce() + ,;sqlStr = sqlStr + oneSalaryRecord.getSecureReduce() + ,;sqlStr = s

54、qlStr + oneSalaryRecord.getTa*Reduce() + ,;sqlStr = sqlStr + totalReduce + ,;sqlStr = sqlStr + (totalWage - totalReduce) + ,;sqlStr = sqlStr + strFormat.toSql(editTime) + ,;sqlStr = sqlStr + strFormat.toSql(oneSalaryRecord.getMemo() + );trystmt.e*ecute(sqlStr);returntrue;catch (SQLE*ception sqle)err

55、orMessage = errorMessage + sqlStr + sqle.getMessage();returnfalse;6.3 刪除工資信息/刪除編號為salaryId的工資信息publicboolean delete(String salaryId) throws E*ception sqlStr = delete from salary where salaryId = + salaryId;trystmt.e*ecute(sqlStr);returntrue;catch (SQLE*ception e)System.out.println(e);returnfalse;6.4

56、 修改工資信息/更新假條表中的一條記錄publicboolean update() throws E*ception String editTime; Calendar cal=Calendar.getInstance(); Integer y,m,d,h,mi,s; y=cal.get(Calendar.YEAR); m=cal.get(Calendar.MONTH) + 1; d=cal.get(Calendar.DATE); h=cal.get(Calendar.HOUR_OF_DAY); mi=cal.get(Calendar.MINUTE); s=cal.get(Calendar.S

57、ECOND); editTime = y+年+m+月+d+日+h+時+mi+分+s+秒; Float totalWage = oneSalaryRecord.getBasicWage() + oneSalaryRecord.getOvertimeWage() + oneSalaryRecord.getTrafficWage(); Float totalReduce = oneSalaryRecord.getKaoqinReduce() + oneSalaryRecord.getSecureReduce() + oneSalaryRecord.getTa*Reduce();sqlStr = up

58、date salary set ;sqlStr = sqlStr + employeeName = + strFormat.toSql(oneSalaryRecord.getEmployeeName() + ,;sqlStr = sqlStr + year = + oneSalaryRecord.getYear() + ,;sqlStr = sqlStr + month = + oneSalaryRecord.getMonth() + ,;sqlStr = sqlStr + basicWage = + oneSalaryRecord.getBasicWage() + ,;sqlStr = sq

59、lStr + overtimeWage = + oneSalaryRecord.getOvertimeWage() + ,;sqlStr = sqlStr + trafficWage = + oneSalaryRecord.getTrafficWage() + ,;sqlStr = sqlStr + totalWage = + totalWage + ,;sqlStr = sqlStr + kaoqinReduce = + oneSalaryRecord.getKaoqinReduce() + ,;sqlStr = sqlStr + secureReduce = + oneSalaryReco

60、rd.getSecureReduce() + ,;sqlStr = sqlStr + ta*Reduce = + oneSalaryRecord.getTa*Reduce() + ,;sqlStr = sqlStr + totalReduce = + totalReduce + ,;sqlStr = sqlStr + realWage = + (totalWage - totalReduce) + ,;sqlStr = sqlStr + editTime = + editTime + ,;sqlStr = sqlStr + memo = + strFormat.toSql(oneSalaryR

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論