學(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頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

西安文理學(xué)院信息工程學(xué)院課程設(shè)計報告設(shè)計名稱:軟件工程開發(fā)課程設(shè)計設(shè)計題目:育才學(xué)校工資管理系統(tǒng)學(xué)生學(xué)號:專業(yè)班級:軟件工程學(xué)生姓名:學(xué)生成績:指導(dǎo)教師:課題工作時間:2023.6.16至2023.6.28說明:1、報告中的任務(wù)書、進(jìn)度表由指導(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)成績低于6分的學(xué)生,取消辯論資格,其本項綜合設(shè)計成績按不及格處理。信息工程學(xué)院課程設(shè)計任務(wù)書學(xué)生姓名學(xué)號專業(yè)班級設(shè)計題目育才學(xué)校工資管理系統(tǒng)內(nèi)容概要:開發(fā)環(huán)境:windows8.1開發(fā)工具:MyEclipse數(shù)據(jù)庫:SQLServer2005運行環(huán)境:火狐〔MozillaFireFox〕關(guān)鍵技術(shù):JavaJSPJDBC根本功能:系統(tǒng)能夠?qū)崿F(xiàn)教職工工資信息的管理。包括對部門信息、教職工信息、教職工考勤信息、教職工工資信息的瀏覽、查詢、添加、修改、刪除等功能。文獻(xiàn)資料:[1]陳國君,陳磊,劉洋.Java2程序設(shè)計根底[M].北京:清華大學(xué)出版社;2023.6[2]耿祥義,張躍平.Java課程設(shè)計[M].北京:清華大學(xué)出版社;2023.11[3]張思民,梁維娜.Java程序設(shè)計實踐教程[M].北京:清華大學(xué)出版社;2006.8設(shè)計要求:根本功能:實現(xiàn)對部門信息、教職工信息、教職工考勤信息、教職工工資信息的瀏覽、查詢、添加、修改、刪除功能。數(shù)據(jù)庫要求:數(shù)據(jù)存儲至少包含:工資表、部門匯總表、員工信息表、員工考勤表、管理員表。除人事處、財務(wù)處外,其他職能部門可簡化等。工作期限:設(shè)計工作自2023年6月16日至2023年6月28日止。指導(dǎo)教師:院長:日期:2023年6月16日信息工程學(xué)院課程設(shè)計進(jìn)度安排表學(xué)生姓名:學(xué)號:專業(yè):軟件工程班級:起止日期內(nèi)容備注6月16日~6月17日下任務(wù)書;收集、閱讀、整理相關(guān)參考文獻(xiàn),并進(jìn)行歸納和概括總結(jié),完成工程/任務(wù)背景介紹局部文字內(nèi)容。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)試與維護(hù)。6月25日~6月26日系統(tǒng)功能集成、系統(tǒng)調(diào)試與測試,按照模板要求撰寫課程設(shè)計/工程設(shè)計報告。6月27日課程設(shè)計/工程設(shè)計分組辯論,提交課程設(shè)計/工程設(shè)計報告以及相關(guān)文檔,進(jìn)行成績評定。指導(dǎo)教師簽名:2023年6月16日成績評定表學(xué)生姓名:學(xué)號:專業(yè):軟件工程班級:類別合計分值各項分值評分標(biāo)準(zhǔn)實際得分合計得分平時表現(xiàn)1010按時參加設(shè)計指導(dǎo),無違反紀(jì)律情況。完成情況3020按設(shè)計任務(wù)書的要求完成了全部任務(wù),能完整演示其設(shè)計內(nèi)容,符合要求。10能對其設(shè)計內(nèi)容進(jìn)行詳細(xì)、完整的介紹,并能就指導(dǎo)教師提出的問題進(jìn)行正確的答復(fù)。報告質(zhì)量3510報告文字通順,內(nèi)容翔實,論述充分、完整,立論正確,結(jié)構(gòu)嚴(yán)謹(jǐn)合理;報告字?jǐn)?shù)符合相關(guān)要求,工整標(biāo)準(zhǔn),整齊劃一。5課題背景介紹清楚,綜述分析充分。5設(shè)計方案合理、可行,論證嚴(yán)謹(jǐn),邏輯性強(qiáng),具有說服力。5符號統(tǒng)一;圖表完備、符合標(biāo)準(zhǔn)要求。5能對整個設(shè)計過程進(jìn)行全面的總結(jié),得出有價值的結(jié)論或結(jié)果。5參考文獻(xiàn)數(shù)量在2篇以上,格式符合要求,在正文中正確引用。辯論情況2510在規(guī)定時間內(nèi)能就所設(shè)計的內(nèi)容進(jìn)行闡述,言簡意明,重點突出,論點正確,條理清晰。15在規(guī)定時間內(nèi)能準(zhǔn)確、完整、流利地答復(fù)教師所提出的問題??傇u成績:分指導(dǎo)教師:〔簽字〕日期:2023年6月27日

摘要摘要:工資管理系統(tǒng)是使用MyEclipse開發(fā)的一個數(shù)據(jù)庫管理系統(tǒng)。在開發(fā)過程中使用SQLServer2005和MyEclipse完成工資管理系統(tǒng)根本過程。開發(fā)這個系統(tǒng)的步驟主要有系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實現(xiàn)和系統(tǒng)維護(hù)。在系統(tǒng)的設(shè)計過程中,詳細(xì)展現(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;SQLServer;Request目錄TOC\o"1-3"\h\u29879第一章課題背景〔或緒論、概述〕 1159111.1引言 1202221.1.1開發(fā)背景 15011.1.2目的 129131第二章可行性分析 373062.1可行性分析 3123462.1.1技術(shù)可行性分析 3290112.1.2經(jīng)濟(jì)可行性分析 3209252.1.3操作可行性分析 3155632.2開發(fā)方案 412400第三章工程需求分析 5271393.1登錄功能 599763.2部門管理功能 5321213.3員工信息管理功能 5129333.4員工出勤信息管理功能 619583.5工資信息管理功能 645213.6用例描述 725825第四章工程概要設(shè)計 10120654.1功能設(shè)計 10321494.2系統(tǒng)數(shù)據(jù)庫設(shè)計 10245264.2.1數(shù)據(jù)字典 1043084.2.2ER圖 12300494.2.3數(shù)據(jù)流圖 139419第五章工程詳細(xì)設(shè)計 14295835.1數(shù)據(jù)庫設(shè)計 14214195.1.1數(shù)據(jù)字典 14255485.2人機(jī)交互界面設(shè)計 1584475.2.1工資信息管理 15255545.2.2信息查詢 1588395.2.3添加新的工資信息 16116575.2.4修改工資信息 17248485.2.5刪除工資信息 1828265.2.6打印工資信息 1914558第六章工程編碼 20327196.1連接數(shù)據(jù)庫 20324226.2添加工資信息 23307996.3刪除工資信息 2754276.4修改工資信息 2770686.5查詢工資信息 2916663第七章工程測試 31303887.1增加工資信息測試 31130927.2刪除工資信息測試 31142507.3修改工資信息測試 31183117.4查詢工資信息測試 317893總結(jié) 339898參考文獻(xiàn) 34第一章課題背景〔或緒論、概述〕1.1引言1.1.1開發(fā)背景隨著社會的進(jìn)步和計算機(jī)技術(shù)的開展,特別是微型計算機(jī)的大范圍普及,現(xiàn)在應(yīng)用在大中型企業(yè)的信息管理系統(tǒng)中,幾乎都包括了工資管理模塊。有些環(huán)境中是有大型ERP軟件中的一個模塊引進(jìn)的,有些作為企業(yè)的財務(wù)系統(tǒng)的一局部。計算機(jī)處理的數(shù)據(jù)量不斷增加。文件管理系統(tǒng)采用的一次最多存取一個記錄的訪問方式,以及在不同文件之間缺乏相互聯(lián)系的結(jié)構(gòu),越來越不能適應(yīng)管理大量數(shù)據(jù)的需要,于是數(shù)據(jù)庫管理系統(tǒng)便應(yīng)運而生。有了數(shù)據(jù)庫我們便能方便快捷的對數(shù)據(jù)進(jìn)行讀取、存取,并維護(hù)數(shù)據(jù)庫的數(shù)據(jù)。今天,數(shù)據(jù)庫管理已成為計算機(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ī)模的不斷擴(kuò)大,職工數(shù)量急劇增加,有關(guān)職工的各種信息量也成倍增長,而目前許多公司的職工工資管理系統(tǒng)仍停留在復(fù)雜的人工操作上,重復(fù)工作較多,工作量大,效率低,因此設(shè)計一個能夠?qū)崿F(xiàn)教職工工資信息的管理系統(tǒng)。該系統(tǒng)包括瀏覽、查詢、添加、修改、刪除等功能。其中添加功能要求能夠添加新的工資信息及教職工根本信息到數(shù)據(jù)庫文件;修改功能要求可以對教職工的工資信息以及根本信息進(jìn)行修改;刪除功能要求可以對教職工的工資信息以及根本信息進(jìn)行刪除;瀏覽功能要求能按照教職工的工號,姓名瀏覽,提供分頁顯示;有排序功能,排序后按照工號升序輸出;查詢功能要求能夠按照工號或者姓名查詢。第二章可行性分析2.1可行性分析2.1.1技術(shù)可行性分析目前學(xué)校各工作點均采用裝載window7系統(tǒng)的PC機(jī)作為工作臺,其容量、速度能滿足系統(tǒng)要求。根據(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)完全可以到達(dá)該系統(tǒng)的功能目標(biāo)。同時,考慮給予的開發(fā)期限也較為充裕,預(yù)計系統(tǒng)是可以在規(guī)定期限內(nèi)完成開發(fā)。在技術(shù)角度來說,開發(fā)學(xué)校內(nèi)部工資系統(tǒng)是可行的。2.1.2經(jīng)濟(jì)可行性分析通過對開發(fā)學(xué)校內(nèi)部工資管理系統(tǒng)的經(jīng)濟(jì)效益進(jìn)行評價,一方面估算開發(fā)它的支出費用,其中包括設(shè)備購置費、軟件開發(fā)費、管理和維護(hù)費、人員工資和培訓(xùn)費等。另一方面估算職工工資管理這個軟件可能取得的收益中可以用錢來衡量的那局部。并對目前的軟件市場進(jìn)行調(diào)查,所做軟件是否有很大的銷售市場和相當(dāng)規(guī)模的用戶群。所做軟件的開發(fā)本錢與客戶提出的要求是否可到達(dá)雙方都滿意。分析系統(tǒng)開發(fā)會對其它產(chǎn)品或利潤帶來一定影響。經(jīng)過對上述幾個方面的調(diào)查研究和分析,我們得出學(xué)校內(nèi)部工資管理系統(tǒng)這個軟件的使用性非常強(qiáng),減輕人力本錢,在經(jīng)濟(jì)角度來說,開發(fā)學(xué)校內(nèi)部工資管理是可行的。2.1.3操作可行性分析通過了解學(xué)校內(nèi)部工資管理的相關(guān)人員對開發(fā)信息系統(tǒng)是否支持,現(xiàn)有職工工資管理制度和方法是否科學(xué),規(guī)章制度是否齊全,原始數(shù)據(jù)是否正確等。職工工資管理人員積極支持該系統(tǒng)開發(fā),使新系統(tǒng)能夠充分的發(fā)揮作用;系統(tǒng)操作簡單,易于理解,操作者經(jīng)過短時間的培訓(xùn)就可以使用職工工資管理系統(tǒng)。在操作可行性角度來說,開發(fā)學(xué)校內(nèi)部工資管理是可行的。2.2開發(fā)方案表2-1開發(fā)方案表學(xué)校內(nèi)部工資管理系統(tǒng)階段所需時間〔天〕可行性研究1需求分析1概要設(shè)計1詳細(xì)設(shè)計2實現(xiàn)4調(diào)試與測試2總計11第三章工程需求分析工資管理系統(tǒng)是針對企事業(yè)單位的大量業(yè)務(wù)處理工作,用計算機(jī)進(jìn)行全面現(xiàn)代化管理。主要包括信息輸入功能、信息修改刪除、信息的查詢以及工資計算管理功能。該系統(tǒng)主要包括登錄模塊、部門管理模塊、員工信息管理模塊、員工考勤管理模塊和員工資管理模塊等。3.1登錄功能用戶輸入賬號和密碼與數(shù)據(jù)庫中的一致時方可登錄該系統(tǒng)。3.2部門管理功能1〕輸入部門的根本信息,包括部門編號〔DepID〕、部門名〔DepName〕、部門經(jīng)理〔Manager〕、辦公〔DepTel〕2〕查詢部門信息:點擊部門名稱,能顯示該部門所有根本信息,如:部門編號、部門名稱、部門經(jīng)理、辦公。3〕修改、刪除部門信息:如果各部門信息發(fā)生變化,點擊修改,能對部門各個信息進(jìn)行重新設(shè)置,同時可以刪除該部門,那么該部門所有信息都會從數(shù)據(jù)庫中刪除,在部門管理界面不會顯示該部門的信息。3.3員工信息管理功能錄入員工的根本信息,包括員工編號〔employeeId〕、姓名〔name〕、身份證號〔cardNumber〕、民族〔nation〕、性別〔sex〕、生日〔birthday〕、畢業(yè)學(xué)?!瞘raduateSchool〕、學(xué)歷〔schoolRecord〕、部門〔department〕、職稱〔positionName〕、〔telephone〕、郵件〔email〕、編輯時間〔editTime〕、備注〔memo〕。查詢員工信息,點擊員工姓名,能顯示該員工的所有根本信息。如果員工信息發(fā)生變化,例如:號碼發(fā)生變化、職位調(diào)遣等。需要重新錄入該員工信息,點擊修改可以實現(xiàn)重置信息。如果該員工離職,那么點擊刪除,該員工所有信息在員工信息管理界面會去除該條記錄。3.4員工出勤信息管理功能1〕錄入員工的出勤根本信息,包括請假編號〔leaveId〕、職工編號〔employeeId〕、職工姓名〔employeeName〕、請假開始時間〔starTime〕、請假天數(shù)〔day〕、請假原因〔reason〕、批準(zhǔn)人〔approvePerson〕、編輯時間〔editTime〕、備注〔memo〕。2〕查詢員工出勤信息可分為按員工編號查詢、按員工姓名查詢。選擇查詢方式,輸入信息,點擊搜索,那么能顯示該員工所有出勤記錄。如果出勤信息發(fā)生變化,點擊修改,重新錄入出勤信息,同時系統(tǒng)會重新自動生成編輯時間,確保出勤信息的準(zhǔn)確性。如果錄入信息發(fā)生重復(fù)等情況,可以點擊刪除,那么該條記錄會被刪除。3.5工資信息管理功能錄入員工的工資根本信息,包括:工資編號〔salayId〕、員工編號〔employeeId〕、員工姓名〔employeeName〕、年份〔year〕、月份〔month〕、根本工資〔basicWage〕、加工工資〔overtimeWage〕、交通補(bǔ)助〔trafficWage〕、考勤扣除〔kaoqinReduce〕、保險扣除〔secureReduce〕、總工資〔totalWage〕、總扣除〔totalReduce〕、實際工資〔realWage〕、編輯時間〔editTime〕、備注〔memo〕查詢工資管理信息,選擇查詢年份、月份、查詢方式、輸入查詢信息,點擊搜索就能準(zhǔn)確顯示該員工在具體的時間段內(nèi)實際工資總額。管理員可以錄入員工詳細(xì)的工資信息,例如:根本工資、加班工資、交通補(bǔ)助、考勤扣除、保險扣除、扣稅等信息。根據(jù)實際情況可對員工工資信息進(jìn)行修改、打印、刪除等操作。3.6用例描述登錄管理增加部門信息登錄管理增加部門信息查詢部門信息修改部門信息刪除部門信息管理員圖3-1部門信息管理表3-1管理員登錄用例描述用例編號3-1-1用例名稱管理員登錄用例描述管理員在管理系統(tǒng)中輸入自己的用戶名及密碼,即可進(jìn)入登錄工資管理系統(tǒng)。管理員在登錄界面可以修改自己的密碼。表3-2管理員管理部門信息用例描述用例編號3-1-2用例名稱管理員管理部門信息用例描述管理員可以在部門管理界面實現(xiàn)增加部門信息、查詢部門信息、修改部門信息、刪除部門信息登錄登錄管理增加員工信息查詢員工信息修改員工信息刪除員工信息管理員圖3-2員工信息管理表3-3管理員管理員工信息用例描述用例編號3-2用例名稱管理員管理員工信息用例描述在員工信息管理界面,管理員擁有增加員工信息、查詢員工信息、修改員工信息、刪除員工信息等權(quán)限。登錄登錄管理增加員工出勤信息查詢員工出勤信息修改員工出勤信息刪除員工出勤信息管理員圖3-3員工出勤信息管理表3-4管理員工出勤信息用例描述用例編號3-3用例名稱管理員管理員工出勤信息用例描述在員工出勤信息管理界面,管理員可以實現(xiàn)增加員工出勤信息、查詢員工出勤信息、修改員工出勤信息、刪除員工出勤信息。登錄登錄管理增加工資信息查詢工資信息修改工資信息刪除工資信息管理員打印工資信息圖3-4工資信息管理表3-5管理員工工資信息用例描述用例編號3-4用例名稱管理員管理工資信息用例描述在工資信息管理界面,管理員可以實現(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)員工編號主鍵NameVarchar(10)職工姓名否SexChar(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)部門編號主鍵DepNameVarchar(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ù)類型含義說明是否為空salaryIdint編號主鍵employeeIdchar(100)員工編號否employeeNamechar(100)員工姓名否yearchar(100)年份monthchar(100)月份basicWagefloat根本工資否overtimeWagefloat加工工資trafficWagefloat交通補(bǔ)助totalWagefloat整體工資kaoqinReducefloat考勤扣除secureReducefloat保險扣除taxReducefloat扣稅totalReducefloat整體扣除realWagefloat實際工資否editTimechar(100)編輯時間memochar(100)備注5、管理員表admin表4-5管理員表字段名數(shù)據(jù)類型含義說明是否為空adminIDchar(100)編號主鍵adminNamechar(100)管理員姓名否passwordchar(100)密碼否保險扣除考勤扣除交通補(bǔ)助加工工資資扣稅保險扣除考勤扣除交通補(bǔ)助加工工資資扣稅工資擁有管理管理員密碼賬戶員工姓名部門姓別員工編號根本工資工資日期圖4-2ER圖4.2.3數(shù)據(jù)流圖圖4-3數(shù)據(jù)流圖第五章工程詳細(xì)設(shè)計5.1數(shù)據(jù)庫設(shè)計5.1.1數(shù)據(jù)字典工資表salary表5-1工資表字段名數(shù)據(jù)類型含義說明是否為空salaryIdint編號主鍵employeeIdchar(100)員工編號否employeeNamechar(100)員工姓名否yearchar(100)年份monthchar(100)月份basicWagefloat根本工資否overtimeWagefloat加工工資trafficWagefloat交通補(bǔ)助totalWagefloat整體工資kaoqinReducefloat考勤扣除secureReducefloat保險扣除taxReducefloat扣稅totalReducefloat整體扣除realWagefloat實際工資否editTimechar(100)編輯時間memochar(100)備注5.2人機(jī)交互界面設(shè)計5.2.1工資信息管理圖5-1工資信息管理主界面5.2.2信息查詢圖5-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é)果。publicclassDataBase{ protectedConnectionconn=null; //Connection接口 protectedStatementstmt=null; //Statement接口 protectedResultSetrs=null; //記錄結(jié)果集 protectedPreparedStatementprepstmt=null; //PreparedStatement protectedbooleanisConnect=true; //與數(shù)據(jù)庫連接標(biāo)識 publicDataBase(){ try { DBConnectionManagerdcm=newDBConnectionManager(); conn=dcm.getConnection(); stmt=conn.createStatement(); } catch(Exceptione) { System.out.println(e); isConnect=false; } } publicStatementgetStatement(){ returnstmt; } publicConnectiongetConnection(){ returnconn; } publicPreparedStatementgetPreparedStatement(){ returnprepstmt; } publicResultSetgetResultSet(){ returnrs; } publicbooleanexecute()throwsException{ returnfalse; } publicbooleaninsert()throwsException{ returnfalse; } publicbooleanupdate()throwsException{ returnfalse; } publicbooleandelete()throwsException{ returnfalse; } publicbooleanquery()throwsException{ returnfalse; } publicvoidclose()throwsSQLException{ if(stmt!=null) { stmt.close(); stmt=null; } conn.close(); conn=null; }}publicclassDBConnectionManager{//privateStringdriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";//"oracle.jdbc.driver.OracleDriver";//privateStringurl="jdbc:microsoft:sqlserver://localhost:1433";//"jdbc:oracle:thin:@127.0.0.1:1521:oracle";privateStringuser="sa";privateStringpassword="sa";privateStringdriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";privateStringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=salary";publicvoidsetDriverName(StringnewDriverName){driverName=newDriverName;}publicStringgetDriverName(){returndriverName;}publicvoidsetUrl(StringnewUrl){url=newUrl;}publicStringgetUrl(){returnurl;}publicvoidsetUser(StringnewUser){user=newUser;}publicStringgetUser(){returnuser;}publicvoidsetPassword(StringnewPassword){password=newPassword;}publicStringgetPassword(){returnpassword;}publicConnectiongetConnection(){try{Class.forName(driverName);returnDriverManager.getConnection(url,user,password);//returnDriverManager.getConnection(url);}catch(Exceptione){e.printStackTrace();returnnull;}}publicstaticvoidmain(String[]args){//DBConnectionManagerDBConnectionManager1=newDBConnectionManager();try{ DBConnectionManagerdcm=newDBConnectionManager(); Connection conn=dcm.getConnection(); Statementstmt=conn.createStatement(); ResultSetrs=stmt.executeQuery("select*fromadmin");// stmt=conn.createStatement();while(rs.next()){ System.out.println(rs.getString(1)); System.out.println(rs.getString(2)); System.out.println(); } }catch(Exceptione){ e.printStackTrace(); }}} 6.2添加工資信息//將頁面表單傳來的資料分解并保存到工資類的各個字段中publicbooleangetRequest(javax.servlet..ServletRequestnewrequest){booleanflag=false;try { request=newrequest;/**StringsalaryId=request.getParameter("salaryId"); if(!salaryId.equals("")) oneSalaryRecord.setSalaryId(Long.parseLong(salaryId)); **/ StringemployeeId=request.getParameter("employeeId");if(null==employeeId||employeeId.equals("")){ employeeId="";sqlflag=false; }oneSalaryRecord.setEmployeeId(getGbk(employeeId)); //員工編號 StringemployeeName=request.getParameter("employeeName");if(null==employeeName||employeeName.equals("")){ employeeName="";sqlflag=false; }oneSalaryRecord.setEmployeeName(getGbk(employeeName)); //員工姓名 Integeryear=Integer.parseInt(request.getParameter("year"));if(null==year){ year=2000;sqlflag=false; }oneSalaryRecord.setYear(year); //工資年份 Integermonth=Integer.parseInt(request.getParameter("month"));if(null==month||!(0<month&&13>month)){ month=1;sqlflag=false; }oneSalaryRecord.setMonth(month); //工資月份 FloatbasicWage;try{ basicWage=Float.parseFloat(request.getParameter("basicWage")); }catch(Exceptionex){ basicWage=0.0f;sqlflag=false; }oneSalaryRecord.setBasicWage(basicWage); //根本工資 FloatovertimeWage;try{ overtimeWage=Float.parseFloat(request.getParameter("overtimeWage")); }catch(Exceptionex){ overtimeWage=0.0f; }oneSalaryRecord.setOvertimeWage(overtimeWage); //加班工資 FloattrafficWage;try{ trafficWage=Float.parseFloat(request.getParameter("trafficWage")); }catch(Exceptionex){ trafficWage=0.0f; }oneSalaryRecord.setTrafficWage(trafficWage); //交通補(bǔ)助工資 FloatkaoqinReduce;try{ kaoqinReduce=Float.parseFloat(request.getParameter("kaoqinReduce")); }catch(Exceptionex){ kaoqinReduce=0.0f; }oneSalaryRecord.setKaoqinReduce(kaoqinReduce); //考勤扣除 FloatsecureReduce;try{ secureReduce=Float.parseFloat(request.getParameter("secureReduce")); }catch(Exceptionex){ secureReduce=0.0f; }oneSalaryRecord.setSecureReduce(secureReduce); //保險扣除 FloattaxReduce;try{ taxReduce=Float.parseFloat(request.getParameter("taxReduce")); }catch(Exceptionex){ taxReduce=0.0f; }oneSalaryRecord.setTaxReduce(taxReduce); //稅收扣除 Stringmemo=request.getParameter("memo");if(null==memo||memo.equals("")){ memo=""; }oneSalaryRecord.setMemo(getGbk(memo)); //備注if(sqlflag){ flag=true; }returnflag; }catch(Exceptione) {errorMessage=e.getMessage();returnflag; } }//向數(shù)據(jù)庫中工資信息表中插入一條新的記錄publicbooleaninsert()throwsException{ StringeditTime;Calendarcal=Calendar.getInstance();Integery,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.SECOND);editTime=y+"年"+m+"月"+d+"日"+h+"時"+mi+"分"+s+"秒";FloattotalWage=oneSalaryRecord.getBasicWage()+oneSalaryRecord.getOvertimeWage()+oneSalaryRecord.getTrafficWage();FloattotalReduce=oneSalaryRecord.getKaoqinReduce()+oneSalaryRecord.getSecureReduce()+oneSalaryRecord.getTaxReduce();sqlStr="insertintosalary(employeeId,employeeName,year,month,basicWage,overtimeWage,trafficWage,totalWage,kaoqinReduce,secureReduce,taxReduce,totalReduce,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+oneSalaryRecord.getBasicWage()+",";sqlStr=sqlStr+oneSalaryRecord.getOvertimeWage()+",";sqlStr=sqlStr+oneSalaryRecord.getTrafficWage()+",";sqlStr=sqlStr+totalWage+",";sqlStr=sqlStr+oneSalaryRecord.getKaoqinReduce()+",";sqlStr=sqlStr+oneSalaryRecord.getSecureReduce()+",";sqlStr=sqlStr+oneSalaryRecord.getTaxReduce()+",";sqlStr=sqlStr+totalReduce+",";sqlStr=sqlStr+(totalWage-totalReduce)+",'";sqlStr=sqlStr+strFormat.toSql(editTime)+"','";sqlStr=sqlStr+strFormat.toSql(oneSalaryRecord.getMemo())+"')";try {stmt.execute(sqlStr);returntrue; }catch(SQLExceptionsqle) { errorMessage=errorMessage+sqlStr+sqle.getMessage();returnfalse; } }6.3刪除工資信息//刪除編號為salaryId的工資信息publicbooleandelete(StringsalaryId)throwsException{sqlStr="deletefromsalarywheresalaryId="+salaryId;try {stmt.execute(sqlStr);returntrue; }catch(SQLExceptione) { System.out.println(e);returnfalse; } }6.4修改工資信息//更新假條表中的一條記錄publicbooleanupdate()throwsException{ StringeditTime;Calendarcal=Calendar.getInstance();Integery,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.SECOND);editTime=y+"年"+m+"月"+d+"日"+h+"時"+mi+"分"+s+"秒";FloattotalWage=oneSalaryRecord.getBasicWage()+oneSalaryRecord.getOvertimeWage()+oneSalaryRecord.getTrafficWage();FloattotalReduce=oneSalaryRecord.getKaoqinReduce()+oneSalaryRecord.getSecureReduce()+oneSalaryRecord.getTaxReduce();sqlStr="updatesalaryset";sqlStr=sqlStr+"employeeName='"+strFormat.toSql(oneSalaryRecord.getEmployeeName())+"',";sqlStr=sqlStr+"year="+oneSalaryRecord.getYear()+",";sqlStr=sqlStr+"month="+oneSalaryRecord.getMonth()+",";sqlStr=sqlStr+"basicWage="+oneSalaryRecord.getBasicWage()+",";sqlStr=sqlStr+"overtimeWage="+oneSalaryRecord.getOvertimeWage()+",";sqlStr=sqlStr+"trafficWage="+oneSalaryRecord.getTrafficWage()+",";sqlStr=sqlStr+"totalWage="+totalWage+",";sqlStr=sqlStr+"kaoqinReduce="+oneSalaryRecord.getKaoqinReduce()+",";sqlStr=sqlStr+"secureReduce="+oneSalaryRecord.getSecureReduce()+",";sqlStr=sqlStr+"taxReduce="+oneSalaryRecord.getTaxReduce()+",";sqlStr=sqlStr+"totalReduce="+totalReduce+",";sqlStr=sqlStr+"realWage="+(totalWage-totalReduce)+",";sqlStr=sqlStr+"editTime='"+editTime+"',";sqlStr=sqlStr+"memo='"+strFormat.toSql(oneSalaryRecord.getMemo())+"'";sqlStr=sqlStr+"whereemployeeId="+oneSalaryRecord.getEmployeeId(); System.out.println(sqlStr);try { stmt.execute(sqlStr);returntrue; }catch(SQLExceptione) {errorMessage=sqlStr+e.getMessage();returnfalse; } }6.5查詢工資信息1〕按年、月查詢sqlStr="select*fromsalary";if(!searchYear.equals("")){sqlStr=sqlStr+"whereyear="+searchYear; sqlCondition=true; }if(!searchMonth.equals("")){if(sqlCondition){sqlStr=sqlStr+"andmonth="+searchMonth; sqlCondition=true; }else{sqlStr=sqlStr+"wheremonth="+searchMonth; } }2〕字段查詢和關(guān)鍵字查詢if(!(searchZiduan.equals(""))){if(sqlCondition){sqlStr=sqlStr+"and"+searchZiduan+"like'%"+keyword+"%'"; }else{sqlStr=sqlStr+"where"+searchZiduan+"like'%"+keyword+"%'"; }3)獲得查詢結(jié)果rs=stmt.executeQuery(sqlStr);salarylist=newVector(rscount);for(inti=0;i<pageSize*(1);i++)rs.next();//跳過前面頁的記錄while

溫馨提示

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

評論

0/150

提交評論