工資管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
《工資管理系統(tǒng)畢業(yè)設(shè)計(jì)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《工資管理系統(tǒng)畢業(yè)設(shè)計(jì)論文(48頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 目錄 1 前言 1 2 系統(tǒng)概況 2 2.1系統(tǒng)開發(fā)背景 2 2.2系統(tǒng)開發(fā)目的 2 2.3系統(tǒng)平臺(tái)選用 2 2.3.1數(shù)據(jù)庫技術(shù)的現(xiàn)狀與發(fā)展 2 2.3.2數(shù)據(jù)庫系統(tǒng)的選擇原則 3 2.3.3系統(tǒng)開發(fā)工具的選擇 3 3 需求分析 7 3.1需求陳述 7 3.2可行性分析 7 3.2.1技術(shù)可行性 7 3.2.2時(shí)間、設(shè)備可行性 7 3.2.3經(jīng)濟(jì)可行性 8 4 概要設(shè)計(jì) 9 4.1系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì) 9 4.2數(shù)據(jù)庫設(shè)計(jì) 10 4.2.1數(shù)據(jù)庫邏輯結(jié)構(gòu) 10 4.2.2 數(shù)據(jù)庫E-R圖 12 4.2.3 Oracle數(shù)據(jù)庫的使用 13 5 詳細(xì)設(shè)計(jì)
2、 14 5.1主界面設(shè)計(jì) 14 5.2基本信息管理模塊 15 5.3工資數(shù)據(jù)模塊 24 5.4當(dāng)月報(bào)表模塊 35 5.5歷史數(shù)據(jù)模塊 37 5.6系統(tǒng)信息模塊 41 6 系統(tǒng)性能測試與分析 42 6.1測試范圍與主要內(nèi)容 42 6.2測試方法 42 6.3測試報(bào)告 42 7 結(jié)論 43 參考文獻(xiàn) 44 致謝 45 1 前言 上世紀(jì)八、九十年代以來,計(jì)算機(jī)產(chǎn)業(yè)飛速發(fā)展,其應(yīng)用滲透在社會(huì)生產(chǎn)的各個(gè)領(lǐng)域。計(jì)算機(jī)在國內(nèi)的崛起加速了各企事業(yè)單位、機(jī)關(guān)的自動(dòng)化進(jìn)程,提高了國民生產(chǎn)的效率,從而為國民經(jīng)濟(jì)的飛速發(fā)展創(chuàng)造了必要的條件。 步入21世紀(jì)以來,計(jì)算機(jī)
3、更是以驚人的普及速度,進(jìn)入各行各業(yè)和大部分家庭。各種應(yīng)用的需求也不斷增加,人們更加追求生活的品質(zhì)和工作的效率,企業(yè)更是視提高生產(chǎn)效率為生存和發(fā)展之道,于是通過科技手段提高生產(chǎn)和管理效率自然成為競爭和發(fā)展的焦點(diǎn)。這不僅包括如何實(shí)現(xiàn)企業(yè)生產(chǎn)設(shè)備的改進(jìn)和生產(chǎn)技術(shù)的提高還包括如何有效地組織和管理企業(yè)各項(xiàng)事務(wù),實(shí)現(xiàn)企業(yè)的辦公自動(dòng)化。而管理信息系統(tǒng)(Management Information System, MIS)在辦公自動(dòng)化的進(jìn)程中發(fā)揮著重要的作用。市場需求也日益增加。 大型企業(yè)的分工比較嚴(yán)格、細(xì)致,組織較為緊密,對(duì)軟硬件的要求也就比較高,因此試圖以一款軟件來解決企業(yè)的所有問題顯然是不可能的,這就
4、需要我們細(xì)化事務(wù),有針對(duì)性地開發(fā)縱向應(yīng)用廣泛的MIS系統(tǒng)。不僅能夠解決大型企業(yè)和機(jī)構(gòu)的某方面問題,還應(yīng)該能為更多的中、小型企業(yè)利用,提高他們的工作效率,加速企業(yè)的發(fā)展,從而促進(jìn)國民經(jīng)濟(jì)的建設(shè)。 財(cái)務(wù)是每一個(gè)單位都會(huì)涉及的問題,管理軟件雨后春筍般崛起的今天,企業(yè)不僅需要通過軟件有效地對(duì)其實(shí)施管理,還想操作能夠盡可能簡單,軟件易于上手。 通過查閱相關(guān)資料,對(duì)市場需求進(jìn)行分析,對(duì)既成工資管理軟件的研究和測試,我們認(rèn)為本課題是一個(gè)適應(yīng)現(xiàn)今工資管理需求的計(jì)算機(jī)信息管理系統(tǒng),具有一定的現(xiàn)實(shí)意義和開發(fā)使用價(jià)值。 2 系統(tǒng)概況 2.1系統(tǒng)開發(fā)背景 自20世紀(jì)80年代以來,知識(shí)經(jīng)濟(jì)的興起和信息技術(shù)的日
5、新月異消除了人與人之間知識(shí)、信息傳遞的障礙,也帶來了人類經(jīng)營意識(shí)、管理觀念的巨大改變。21世紀(jì)是一個(gè)經(jīng)濟(jì)時(shí)代,經(jīng)濟(jì)競爭說到底是人才的競爭,誰擁有了人才,誰就將最終擁有財(cái)富。通過工資人事管理可以獲得并維持組織的競爭優(yōu)勢,人作為公司最重要的資產(chǎn),如何用好人才,為每個(gè)人找到合適的崗位去發(fā)揮其特長是用人的關(guān)鍵環(huán)節(jié)。而運(yùn)用先進(jìn)科技手段進(jìn)行有效管理是最好的發(fā)展方向。MIS作為提高管理效率和辦公自動(dòng)化進(jìn)程的重要工具,已深入到國民生產(chǎn)的方方面面。我們更加需要開發(fā)適應(yīng)不同行業(yè)不同需求的MIS系統(tǒng)。 2.2系統(tǒng)開發(fā)目的 本系統(tǒng)開發(fā)的主要目的就是要使企事業(yè)單位工資管理實(shí)現(xiàn)計(jì)算機(jī)管理,使管理員能夠有序地管理每一位
6、職工的各項(xiàng)工資條款的發(fā)放以及員工個(gè)人臺(tái)帳的生成,使企業(yè)運(yùn)用現(xiàn)代化技術(shù)創(chuàng)造更多更高的經(jīng)濟(jì)效益。 2.3系統(tǒng)平臺(tái)選用 2.3.1數(shù)據(jù)庫技術(shù)的現(xiàn)狀與發(fā)展 數(shù)據(jù)庫是60年代末出現(xiàn)的一門計(jì)算機(jī)軟件技術(shù),到現(xiàn)在雖然只有三十多年的歷史,但在理論和時(shí)間上都得到了和很大的發(fā)展?,F(xiàn)在,數(shù)據(jù)庫是數(shù)據(jù)處理的主要工具,是管理信息系統(tǒng)(MIS)的核心部分。數(shù)據(jù)庫系統(tǒng)是當(dāng)今計(jì)算機(jī)信息系統(tǒng)的核心,是計(jì)算機(jī)技術(shù)和應(yīng)用發(fā)展的關(guān)鍵。傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)旨在處理永久、穩(wěn)定的數(shù)據(jù),強(qiáng)調(diào)維護(hù)數(shù)據(jù)的完整性、一致性。 數(shù)據(jù)庫理論與技術(shù)的發(fā)展極其迅速,其應(yīng)用日益廣泛,在當(dāng)今的信息社會(huì)中,它幾乎無所不在。以關(guān)系型為代表的三大經(jīng)典(層次、網(wǎng)狀
7、、關(guān)系)型數(shù)據(jù)庫在傳統(tǒng)的(商務(wù)和管理的事務(wù)型)應(yīng)用領(lǐng)域獲得了極大成功。計(jì)算機(jī)世界報(bào)社與IBM公司聯(lián)合舉辦了"21世紀(jì)數(shù)據(jù)庫技術(shù)發(fā)展專家研討會(huì)"。IBM DB2的創(chuàng)始人Donald Haderle先生與國內(nèi)著名數(shù)據(jù)庫專家,就下世紀(jì)數(shù)據(jù)庫發(fā)展的趨勢、數(shù)據(jù)庫領(lǐng)域革命性的突破、IBM DB2的應(yīng)用、數(shù)據(jù)倉庫的實(shí)施、我國數(shù)據(jù)庫技術(shù)和應(yīng)用的現(xiàn)狀及趨勢、我國數(shù)據(jù)庫用戶的需求等問題,進(jìn)行了廣泛而深入的討論。 2.3.2數(shù)據(jù)庫系統(tǒng)的選擇原則 ①數(shù)據(jù)庫系統(tǒng)采用易于集成的,開放的技術(shù)。 ②產(chǎn)品質(zhì)量優(yōu)異,可靠性高,適于長期運(yùn)行,能支持關(guān)鍵應(yīng)用。 ③數(shù)據(jù)安全,保安型高。 ④能提供分布式數(shù)據(jù)
8、庫功能。 ⑤支持多種開發(fā)環(huán)境,軟件開發(fā)容易。 ⑥擴(kuò)充性和升級(jí)能力強(qiáng)。 2.3.3系統(tǒng)開發(fā)工具的選擇 本次工資管理系統(tǒng)選用Delphi與Oracle11g進(jìn)行開發(fā),現(xiàn)在市場上有很多MIS的開發(fā)工具,如:Visual basic、Delphi、ASP等等,數(shù)據(jù)庫開發(fā)工具又有很多種,如:Access,SQL Sever,Oracle等等。與其他開發(fā)工具相比,Delphi與Oracle有著自己的特點(diǎn)與優(yōu)勢。 ⑴Delphi簡介 Delphi,是Windows平臺(tái)下著名的快速應(yīng)用程序開發(fā)工具(Rapid Application Development,簡稱RAD)。它的前身,即是DOS時(shí)
9、代盛行一時(shí)的“Borland Turbo Pascal”,最早的版本由美國Borland(寶蘭)公司于1995年開發(fā)。主創(chuàng)者為Anders Hejlsberg。經(jīng)過數(shù)年的發(fā)展,此產(chǎn)品也轉(zhuǎn)移至Embarcadero公司旗下。 從產(chǎn)品名稱上就可以知道,Turbo Pascal使用的是Pascal語言。從Turbo Pascal 5.5版開始,Borland公司在傳統(tǒng)Pascal的基礎(chǔ)上加入了面向?qū)ο蟮墓δ堋? Delphi是一個(gè)集成開發(fā)環(huán)境(IDE),使用的核心是由傳統(tǒng)Pascal語言發(fā)展而來的Object Pascal,以圖形用戶界面(Graphical User Interface,簡稱GU
10、I)為開發(fā)環(huán)境,透過IDE、VCL工具與編譯器,配合連結(jié)數(shù)據(jù)庫的功能,構(gòu)成一個(gè)以面向?qū)ο蟪绦蛟O(shè)計(jì)為中心的應(yīng)用程序開發(fā)工具。Delphi所編譯的可運(yùn)行檔,雖然容量較大,但效能上卻比較快。除了使用數(shù)據(jù)庫的程序之外,不需安裝即可運(yùn)行,在使用上相當(dāng)方便。 Delphi在本質(zhì)上應(yīng)該歸類為軟件開發(fā)工具,而非程序語言,但由于Delphi幾乎是目前市場上唯一使用Pascal,并持續(xù)推出新版本的商業(yè)產(chǎn)品。因此,有時(shí)人們會(huì)把Delphi視為Object Pascal的代名詞。Borland公司因而把Object Pascal改稱為Delphi。2006年,Borland把開發(fā)工具產(chǎn)品線獨(dú)立出來,成立了一家新的公
11、司CodeGear,并把產(chǎn)品線交由此公司負(fù)責(zé)。原本的Delphi,亦曾一度因此被命名為Turbo Delphi。但是在新的版本中,除了Delphi for Win32(原有的Delphi版本)之外,還有一個(gè)新產(chǎn)品“Delphi for PHP”。在CodeGear的發(fā)展規(guī)劃中,或許“Delphi”不再是Object Pascal的專屬IDE名稱,而是將之提升到通用IDE品牌的層次。2008年5月7日,Embarcadero Technologies(易博龍)公司宣布以2300萬美元的價(jià)格收購CodeGear公司,從而把Delphi收入囊中。2009年5月6日,Micro Focus宣布以750
12、0萬美元收購Borland。 Delphi目前的最新版本是2010。 Delphi具有如下特點(diǎn): ①直接編譯生成可執(zhí)行代碼,編譯速度快。由于Delphi編譯器采用了條件編譯和選擇鏈接技術(shù),使用它生成的執(zhí)行文件更加精煉,運(yùn)行速度更快。在處理速度和存取服務(wù)器方面,Delphi的性能遠(yuǎn)遠(yuǎn)高于其他同類產(chǎn)品。 ?、谥С謱⒋嫒∫?guī)則分別交給客戶機(jī)或服務(wù)器處理的兩種方案,而且允許開發(fā)人員建立一個(gè)簡單的部件或部件集合,封裝起所有的規(guī)則,并獨(dú)立于服務(wù)器和客戶機(jī),所有的數(shù)據(jù)轉(zhuǎn)移通過這些部件來完成。這樣,大大減少了對(duì)服務(wù)器的請(qǐng)求和網(wǎng)絡(luò)上的數(shù)據(jù)傳輸量,提高了應(yīng)用處理的速度。 ③提供了許多快速方便的開
13、發(fā)方法,使開發(fā)人員能用盡可能少的重復(fù)性工作完成各種不同的應(yīng)用。利用項(xiàng)目模板和專家生成器可以很快建立項(xiàng)目的構(gòu)架,然后根據(jù)用戶的實(shí)際需要逐步完善。 ④具有可重用性和可擴(kuò)展性。開發(fā)人員不必再對(duì)諸如標(biāo)簽、按鈕及對(duì)話框等Windows的常見部件進(jìn)行編程。Delphi包含許多可以重復(fù)使用的部件,允許用戶控制Windows的開發(fā)效果。 ⑤具有強(qiáng)大的數(shù)據(jù)存取功能。它的數(shù)據(jù)處理工具BDE(BorlandDatabaseEngine)是一個(gè)標(biāo)準(zhǔn)的中介軟件層,可以用來處理當(dāng)前流行的數(shù)據(jù)格式,如xBase、Paradox等,也可以通過BDE的SQLLink直接與Sybase、SQLServer、Infor
14、mix、Oracle等大型數(shù)據(jù)庫連接。 Delphi既可用于開發(fā)系統(tǒng)軟件,也適合于應(yīng)用軟件的開發(fā)。 ?、迵碛袕?qiáng)大的網(wǎng)絡(luò)開發(fā)能力,能夠快速的開發(fā)B/S應(yīng)用,它內(nèi)置的IntraWeb和ExpressWeb使得對(duì)于網(wǎng)絡(luò)的開發(fā)效率超過了其他任何的開發(fā)工具。 ⑦Delphi使用獨(dú)特的VCL類庫,使得編寫出的程序顯得條理清晰,VCL是現(xiàn)在最優(yōu)秀的類庫,它使得Delphi在軟件開發(fā)行業(yè)處于一個(gè)絕對(duì)領(lǐng)先的地位。用戶可以按自己的需要,任意的構(gòu)建、擴(kuò)充、甚至是刪減VCL,以滿足不同的需要。 ?、鄰腄elphi8開始Delphi也支持.Net框架下程序開發(fā)。 當(dāng)前DELPHI 已經(jīng)成為一個(gè)品
15、牌,而不僅僅是一個(gè)開發(fā)平臺(tái)或開發(fā)語言的名稱。 當(dāng)前DELPHI產(chǎn)品已經(jīng)由CodeGear公司繼續(xù)發(fā)展,該公司是BORLAND公司的全資子公司。當(dāng)前,CodeGear為廣大開發(fā)者提供了DELPHI FOR PHP,以高度可視化的方式全面支持面向?qū)ο蟮腜HP 網(wǎng)站開發(fā),大大提高了PHP開發(fā)網(wǎng)站的代碼復(fù)用程度,成為WEB應(yīng)用開發(fā)的新利器。 ⑵Oracle簡介 Oracle的關(guān)系數(shù)據(jù)庫是世界第一個(gè)支持SQL語言的數(shù)據(jù)庫。1977年,Lawrence J.Ellison領(lǐng)著一些同事成立了Oracle公司,他們的成功強(qiáng)力反擊了那些說關(guān)系數(shù)據(jù)庫無法成功商業(yè)化的說法?,F(xiàn)在,Oracle公司的財(cái)產(chǎn)凈值已
16、經(jīng)由當(dāng)初的2000美元增值到了現(xiàn)在的年收入超過97億美元。 Oracle 11g 擴(kuò)展了 Oracle 獨(dú)家具有的提供網(wǎng)格計(jì)算優(yōu)勢的功能,可以利用它來提高用戶服務(wù)水平、減少停機(jī)時(shí)間以及更加有效地利用 IT資源,同時(shí)還可以增強(qiáng)全天候業(yè)務(wù)應(yīng)用程序的性能、可伸縮性和安全性。 11 g降低了數(shù)據(jù)庫升級(jí)以及其他硬件和操作系統(tǒng)更改的成本,顯著簡化了更改前后的系統(tǒng)測試以便您可以識(shí)別和解決問題。例如: 利用 Database Replay,可以在數(shù)據(jù)庫級(jí)別輕松捕獲實(shí)際的生產(chǎn)負(fù)載并在您的測試系統(tǒng)上重新播放,這樣您可以全面測試系統(tǒng)更改(包括關(guān)鍵的并發(fā)特性)的影響。 Oracle 數(shù)據(jù)庫 11 g繼續(xù)致力于
17、(從 Oracle9i數(shù)據(jù)庫開始一直到 Oracle 數(shù)據(jù)庫10 g)顯著簡化和完全自動(dòng)化 DBA 任務(wù)。 Oracle數(shù)據(jù)庫11 g中的新功能包括: 利用自學(xué)功能自動(dòng)進(jìn)行 SQL 優(yōu)化系統(tǒng)全局區(qū)(SGA)和程序全局區(qū)( PGA)的內(nèi)存緩存區(qū)的自動(dòng)、統(tǒng)一調(diào)整新的 advisor用于分區(qū)、數(shù)據(jù)恢復(fù)、流性能和空間管理針對(duì)自動(dòng)數(shù)據(jù)庫診斷監(jiān)視器 (ADDM)的增強(qiáng),能夠提供 Oracle 真正應(yīng)用集群 (Oracle RAC)環(huán)境中的更好的性能全局視圖以及改進(jìn)的性能比較分析功能。 Oracle 數(shù)據(jù)庫 11 g中新增的故障診斷功能使客戶在發(fā)生錯(cuò)誤后捕獲 OracleSupport所需的數(shù)據(jù)變得極為簡
18、單。這可以加速問題的解決,減少客戶重現(xiàn)問題的需要。 ⑶Delphi 和 Oracle 數(shù)據(jù)庫的連接方法 Oracle是以高級(jí)結(jié)構(gòu)化查詢語言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)體系結(jié)構(gòu)的數(shù)據(jù)庫之一,目前被廣泛應(yīng)用于各類型企業(yè)的信息化管理中。數(shù)據(jù)庫支持是Delphi7.0開發(fā)環(huán)境的一個(gè)重要特性,很多程序員在數(shù)據(jù)庫應(yīng)用程序開發(fā)中都采用Delphi7.0作為開發(fā)工具,來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的訪問和控制。Delphi數(shù)據(jù)庫應(yīng)用程序是通過數(shù)據(jù)庫引擎來訪問它們引用的數(shù)據(jù)源的。本文概括性的介紹在Windows XP環(huán)境中Delphi7.0連接Oracle數(shù)據(jù)庫
19、的3種方式,它們分別是BDE、ADO、DbExpress。 ADO(ActiveX Data Objects)是Microsoft的高級(jí)接口,基于Microsoft的數(shù)據(jù)訪問OLEDB技術(shù)而實(shí)現(xiàn)。本系統(tǒng)采用ADO方式連接Oracle數(shù)據(jù)庫。 3 需求分析 3.1需求陳述 本系統(tǒng)擬在完成工資管理的同時(shí),集成其他必要的功能,以保證系統(tǒng)的完整性和安全性。具體包括,員工基本信息管理、部門管理、當(dāng)前工資及歷史工資管理等。 現(xiàn)對(duì)有關(guān)要求描述如下: ①整體結(jié)構(gòu)合理,風(fēng)格一致,模塊化結(jié)構(gòu),界面清晰,接口靈活,操作簡便。 ②開發(fā)方法,文檔規(guī)范化,便于管理,可擴(kuò)充。 ③完善的數(shù)據(jù)輸入,維護(hù),輸出。
20、 ④自檢性能高,用戶誤輸、錯(cuò)輸均有提示。 ⑤容錯(cuò)性能高,某個(gè)用戶的操作錯(cuò)誤不會(huì)引起整個(gè)系統(tǒng)的癱瘓,每一功能的操作都有信息提示以免重復(fù)操作,錯(cuò)誤操作有警告,以便用戶及時(shí)改正。 3.2可行性分析 3.2.1技術(shù)可行性 技術(shù)上的可行性分析主要分析現(xiàn)有技術(shù)條件能否順利完成開發(fā)工作,軟硬件配置能否滿足開發(fā)者需要等,這一特點(diǎn)非常適合計(jì)算機(jī)的特點(diǎn),發(fā)揮計(jì)算機(jī)的數(shù)據(jù)處理速度快,準(zhǔn)確率高的優(yōu)勢,現(xiàn)代計(jì)算機(jī)硬件和軟件技術(shù)的飛速發(fā)展,為系統(tǒng)的建設(shè)提供了技術(shù)條件。 通過對(duì)Delphi和Oracle的系統(tǒng)學(xué)習(xí),已經(jīng)基本掌握了開發(fā)本系統(tǒng)所需的技術(shù)和查閱文獻(xiàn)的能力。對(duì)工資管理系統(tǒng)這一類的財(cái)務(wù)系統(tǒng)開發(fā)也有一定的認(rèn)
21、識(shí),因此具備技術(shù)可行性。 3.2.2時(shí)間、設(shè)備可行性 12周的時(shí)間足夠開發(fā)一個(gè)滿足中小型企業(yè)簡單需求的工資管理系統(tǒng),現(xiàn)有計(jì)算機(jī)的軟硬件配置能夠滿足系統(tǒng)開發(fā)的要求,具備時(shí)間和設(shè)備的可行性。 3.2.3經(jīng)濟(jì)可行性 基于企業(yè)的現(xiàn)有計(jì)算機(jī)及配套設(shè)備,建設(shè)MIS系統(tǒng)。不但能大大減少重復(fù)性的書面報(bào)告,降低辦公費(fèi)用,提高辦公室效率,而且能提高檢測數(shù)據(jù)效用,為企業(yè)提供很方便。由于企業(yè)工資管理系統(tǒng)是一個(gè)比較小型的系統(tǒng),開發(fā)工具也均可免費(fèi)使用,網(wǎng)絡(luò)資源豐富,只需較少的花費(fèi)在技術(shù)文獻(xiàn)上,開發(fā)成本較低,因此,開發(fā)本系統(tǒng)具有經(jīng)濟(jì)上的可行性。 4 概要設(shè)計(jì) 4.1系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì) 工資管理系統(tǒng) 數(shù)據(jù)字
22、典維護(hù) 工資數(shù)據(jù) 當(dāng)月報(bào)表 歷史數(shù)據(jù) 系統(tǒng)信息 部門信息管理 員工信息管理 基本數(shù)據(jù) 每月填報(bào) 每月存檔 當(dāng)月報(bào)表 當(dāng)月匯總 部門月報(bào) 月匯總表 圖4.1 功能模塊圖 表4.1功能說明表 功能序號(hào) 功能名稱 功能說明 1 部門信息管理 包含對(duì)部門信息的增加、刪除 2 員工信息管理 包含對(duì)員工信息的增加、刪除 3 基本工資數(shù)據(jù) 查看和修改基本工資信息 4 活動(dòng)工資數(shù)據(jù) 填報(bào)每月活動(dòng)工資數(shù)據(jù) 5 每月工資存檔 每月工資填報(bào)完畢后存儲(chǔ)數(shù)據(jù) 6 當(dāng)月報(bào)表 查看當(dāng)月各部門工資表,打印工資條 7 當(dāng)月匯總表 查詢當(dāng)月各部
23、門工資匯總信息 8 歷史部門月報(bào) 查詢歷史年月的部門工資信息 9 歷史月匯總表 查詢指定部門制定年月的歷史工資匯總信息 10 系統(tǒng)信息 系統(tǒng)與作者信息等 設(shè)計(jì)角色:財(cái)務(wù)管理人員 4.2數(shù)據(jù)庫設(shè)計(jì) 4.2.1數(shù)據(jù)庫邏輯結(jié)構(gòu) 表4.2 部門信息表(bm) 字段名稱 類型 寬度 約束 說明 Bh VARCHAR2 3 Pk 部門編號(hào) Mc VARCHAR2 10 部門名稱 表4.3 職工工資信息表(ry) 字段名稱 類型 寬度 約束 說明 Bm VARCHAR2 10 部門 Bh VARCHAR2 3
24、 編號(hào) Xm VARCHAR2 10 姓名 Z1 NUMBER (8,2) 崗位資 Z2 NUMBER (8,2) 基本資 Z3 NUMBER (8,2) 效益資 J1 NUMBER (8,2) 加班 J2 NUMBER (8,2) 金額 J3 NUMBER (8,2) 夜班 J4 NUMBER (8,2) 金額 Z4 NUMBER (8,2) 獨(dú)子 Z5 NUMBER (8,2) 月效資 Z6 NUMBER (8,2) 技師補(bǔ) Z7 NUMBER (
25、8,2) 醫(yī)務(wù)補(bǔ) Z8 NUMBER (8,2) 護(hù)10% Z9 NUMBER (8,2) 護(hù)齡 Z10 NUMBER (8,2) 女工衛(wèi) Z11 NUMBER (8,2) 廠扣 Z12 NUMBER (8,2) 應(yīng)得資 K1 NUMBER (8,2) 房租金 K2 NUMBER (8,2) 水電暖 K3 NUMBER (8,2) 公積金 Z13 NUMBER (8,2) 保險(xiǎn) Rq VARCHAR2 200 日期 Kbx NUMBER (8,2) 實(shí)發(fā)工資
26、 表4.4 歷史數(shù)據(jù)表(sj) 字段名稱 類型 寬度 約束 說明 Bm VARCHAR2 10 部門 Bh VARCHAR2 3 編號(hào) Xm VARCHAR2 10 姓名 Z1 NUMBER (8,2) 崗位資 Z2 NUMBER (8,2) 基本資 Z3 NUMBER (8,2) 效益資 J1 NUMBER (8,2) 加班 J2 NUMBER (8,2) 金額 J3 NUMBER (8,2) 夜班 J4 NUMBER (8,2) 金額 Z4 NUM
27、BER (8,2) 獨(dú)子 Z5 NUMBER (8,2) 月效資 Z6 NUMBER (8,2) 技師補(bǔ) Z7 NUMBER (8,2) 醫(yī)務(wù)補(bǔ) Z8 NUMBER (8,2) 護(hù)10% Z9 NUMBER (8,2) 護(hù)齡 Z10 NUMBER (8,2) 女工衛(wèi) Z11 NUMBER (8,2) 廠扣 Z12 NUMBER (8,2) 應(yīng)得資 K1 NUMBER (8,2) 房租金 K2 NUMBER (8,2) 水電暖 K3 NUMBER (8,2)
28、 公積金 Z13 NUMBER (8,2) 保險(xiǎn) Rq VARCHAR2 200 日期 Kbx NUMBER (8,2) 實(shí)發(fā)工資 4.2.2 數(shù)據(jù)庫E-R圖 部門 部門名稱 部門編號(hào) 員工 員工編號(hào) 員工姓名 所在部門 工作 工資 月效資 應(yīng)得資 房租金 水電暖 公積金 保險(xiǎn) 日期 實(shí)發(fā)工資 金額 夜班 獨(dú)子 金額 加班 效益資 基本資 崗位資 醫(yī)務(wù)補(bǔ) 技師補(bǔ) 護(hù)10% 廠扣 護(hù)齡 女工衛(wèi) 領(lǐng)取 n 1 1 n 圖4.2 工資管理系統(tǒng)實(shí)體關(guān)系圖
29、 4.2.3 Oracle數(shù)據(jù)庫的使用 在Oracle中創(chuàng)建用戶,如圖4.2所示 圖4.2創(chuàng)建用戶 在Oracle中建表,如圖4.3所示 圖4.3建表 5 詳細(xì)設(shè)計(jì) 5.1主界面設(shè)計(jì) 由于本系統(tǒng)是針對(duì)財(cái)務(wù)管理人員角色設(shè)計(jì)開發(fā)的,故未進(jìn)行權(quán)限的設(shè)定。 在主界面顯示每個(gè)模塊的入口,點(diǎn)擊即可進(jìn)入。 在狀態(tài)欄顯示系統(tǒng)日期和登錄系統(tǒng)時(shí)間。 系統(tǒng)主界面如圖5.1所示: 圖5.1 系統(tǒng)主界面 該模塊主要代碼: procedure Tgzgl_f.FormCreate(Sender: TObject); //數(shù)據(jù)庫連接處理 begin gzgl_
30、f.Color:=rgb(180,130,100); try db1.Connected:=true; except showmessage('連接數(shù)據(jù)庫失敗 ! '); application.terminate; end; end; procedure Tmainf.FormCreate(Sender: TObject); //狀態(tài)欄系統(tǒng)日期與時(shí)間 begin Statusbar1.Panels[0].Text:='系統(tǒng)日期:'+datetostr(date); Statusbar1.
31、Panels[1].Text:='系統(tǒng)時(shí)間:'+timetostr(time); end; procedure Tmainf.bmiClick(Sender: TObject); //選中菜單顯示相應(yīng)的窗體,此處為部門管理 begin If bmi.Checked Then //用If語句做異常處理 bmf.Show ELSE begin Application.CreateForm(Tbmf,bmf); bmf.Show; bmi.Checked:=True; end
32、; end; 5.2基本信息管理模塊 此模塊包括部門和員工的基本信息維護(hù),具體功能包括,部門信息的添加和刪除,員工信息的添加和刪除。輸入要添加的數(shù)據(jù)后,點(diǎn)擊“添加”完成數(shù)據(jù)添加,點(diǎn)擊“刷新”按鈕顯示數(shù)據(jù)。刪除數(shù)據(jù)時(shí)程序?qū)⑦B接后臺(tái)數(shù)據(jù)庫,判斷是否存在該記錄的工資信息,若不存在則刪除成功,若存在,則刪除失敗。如圖5.2,5.3所示 圖5.2部門信息維護(hù) 部門信息維護(hù)核心代碼: procedure Tbmf.BitBtn1Click(Sender: TObject); begin edit1.Text:=trim(edit1.text); if (length(edit1.
33、Text)=0) or (length(bh.Text)=0) then begin showmessage('編號(hào)與單位名稱不能為空!'); exit; end; with Q1 do begin Close; Sql.Clear; Sql.Add('Insert Into bm (bh,mc)'); Sql.Add(' Values(:y0,:y1) '); Parameters.ParamByName(
34、9;y0').Value:=bh.Text; Parameters.ParamByName('y1').Value:=edit1.Text; Try ExecSql; except showmessage('服務(wù)器連接error,程序退出!'); application.Terminate; end; end; end; procedure Tbmf.BitBtn2Click(Se
35、nder: TObject); begin if messagedlg('如果系統(tǒng)中存在本部門數(shù)據(jù)不能刪除,確要?jiǎng)h除嗎?',mtconfirmation,[mbyes,mbno],0) =mrno then exit; q1.Close; q1.Sql.Clear; q1.Sql.Add('delete from bm '); q1.Sql.Add(' where (bh like :bh) '); q1.Parameters.ParamByName('bh').Valu
36、e:=bh.text+'%'; Try q1.ExecSql; except showmessage('服務(wù)器連接error,程序退出!'); application.Terminate; end; q1.Close; end; procedure Tbmf.BitBtn3Click(Sender: TObject); var i:integer; begin Q1.Close; Q1.Sql.Clear;
37、 Q1.Sql.Add('Select bh,mc From bm '); Q1.Sql.Add(' order by bh'); Try Q1.Open; except showmessage('服務(wù)器連接error,程序退出!'); application.Terminate; End; sg.RowCount:=Q1.RecordCount+1; sg.ColCount:=2; For I:=0 To sg.RowCo
38、unt Do sg.Rows[I].Clear; sg.Cells[0,0]:='編號(hào)'; sg.Cells[1,0]:='名稱'; For I:=1 To sg.RowCount Do Begin sg.Cells[0,i]:=(Q1.FieldByName('bh').AsString); sg.Cells[1,i]:=(Q1.FieldByName('mc').AsString); Q1.Next; End;
39、 Q1.Close; end; procedure Tbmf.FormClose(Sender: TObject; var Action: TCloseAction); begin mainf.bmi.checked:=false; action:=cafree; end; procedure Tbmf.FormCreate(Sender: TObject); var i:integer; begin bmf.Color:=rgb(220,170,140); for i:=1 to 9 do bh.Items.Add('0'
40、+inttostr(i)); for i:=10 to 50 do bh.Items.Add(inttostr(i)); sg.FixedColor:=rgb(180,130,100); end; 員工信息維護(hù): 圖5.3員工信息維護(hù) 員工信息維護(hù)核心代碼: procedure Tryf.BitBtn1Click(Sender: TObject); begin edit1.Text:=trim(edit1.text); if (length(edit1.Text)=0) or (length(bh.T
41、ext)=0) or (length(bm.Text)=0) then begin showmessage('編號(hào)與單位名稱不能為空!'); exit; end; with Q1 do begin Close; Sql.Clear; Sql.Add('Insert Into ry (bm,bh,xm)'); Sql.Add(' Values(:y0,:y1,:y2) '); Parameters.Param
42、ByName('y0').Value:=bm.Text; Parameters.ParamByName('y1').Value:=bh.Text; Parameters.ParamByName('y2').Value:=edit1.Text; Try ExecSql; except showmessage('服務(wù)器連接error,程序退出!')
43、; application.Terminate; end; end; end; procedure Tryf.BitBtn2Click(Sender: TObject); begin if messagedlg('如果系統(tǒng)中存在本人工資數(shù)據(jù)不能刪除,確要?jiǎng)h除嗎?',mtconfirmation,[mbyes,mbno],0) =mrno then exit; bh.text:=trim(bh.text); if (length(bh.text)<2)
44、then exit; q1.Close; q1.Sql.Clear; q1.Sql.Add('delete from ry '); q1.Sql.Add(' where ((bh like :bh) and (bm like :bm))'); q1.Parameters.ParamByName('bh').Value:=bh.text+'%'; q1.Parameters.ParamByName('bm').Value:=bm.text+'
45、%'; Try q1.ExecSql; except showmessage('服務(wù)器連接error,程序退出!'); application.Terminate; end; q1.Close; end; procedure Tryf.BitBtn3Click(Sender: TObject); var
46、i:integer; begin ListBox1.Items.Clear; Q1.Close; Q1.Sql.Clear; Q1.Sql.Add('Select bh,xm From ry '); q1.Sql.Add(' where (bm like :bm) '); Q1.Sql.Add(' order by bh'); q1.Parameters.ParamByName('bm').Value:=bm.text+'%'; Try Q1.Open;
47、 except showmessage('服務(wù)器連接error,程序退出!'); application.Terminate; End; ListBox1.Items.Add(' 編號(hào) 姓名'); For I:=1 To Q1.RecordCount Do Begin ListBox1.Items.Add(' '+Q1.FieldByName('bh').AsString+' '+Q1.Field
48、ByName('xm').AsString); Q1.Next; End; Q1.Close; end; procedure Tryf.bmChange(Sender: TObject); var i:integer; begin ListBox1.Items.Clear; Q1.Close; Q1.Sql.Clear; Q1.Sql.Add('Select bh,xm From ry '); q1.Sql.Add(' where (bm like :bm) '
49、); Q1.Sql.Add(' order by bh'); q1.Parameters.ParamByName('bm').Value:=bm.text+'%'; Try Q1.Open; except showmessage('服務(wù)器連接error,程序退出!'); application.Terminate; End; ListBox1.Items.Add(' 編號(hào) 姓名'); For
50、 I:=1 To Q1.RecordCount Do Begin ListBox1.Items.Add(''+Q1.FieldByName('bh').AsString+''+Q1.FieldByName('xm').AsString); Q1.Next; End; Q1.Close; bh.Text:=''; edit1.Text:=''; end; procedure Tryf.FormClose(Sender
51、: TObject; var Action: TCloseAction); begin mainf.ryi.checked:=false; action:=cafree; end; procedure Tryf.FormCreate(Sender: TObject); var i:integer; begin ryf.Color:=rgb(220,170,140); Q1.Close; Q1.Sql.Clear; Q1.Sql.Add('Select mc From bm '); Q1.Sql.Add(' order by bh&
52、#39;); Try Q1.Open; except showmessage('服務(wù)器連接error,程序退出!'); application.Terminate; End; For I:=1 To Q1.RecordCount Do Begin bm.Items.Add(Q1.FieldByName('mc').AsString); Q1.Next; End; Q1.Close;
53、 for i:=1 to 9 do bh.Items.Add('0'+inttostr(i)); for i:=10 to 99 do bh.Items.Add(inttostr(i)); end; 5.3工資數(shù)據(jù)模塊 本模塊包括月基本工資數(shù)據(jù)、月活動(dòng)工資填報(bào)、月數(shù)據(jù)存檔三個(gè)子模塊,分別用于查看修改月基本工資數(shù)據(jù),填報(bào)月活動(dòng)工資數(shù)據(jù)以及對(duì)填報(bào)好的所有數(shù)據(jù)存檔。 月基本數(shù)據(jù)界面設(shè)計(jì)如圖5.4所示: 圖5.4 月基本數(shù)據(jù) 核心代碼: procedure Tjbf.BitBtn1Click(Sender: TObject); var i,j,
54、k:integer; s:string; begin if messagedlg('確認(rèn)更新數(shù)據(jù)嗎?',mtconfirmation,[mbyes,mbno],0) =mrno then exit; if bm.Text='' then exit; k:=0; for i:=1 to sg.RowCount-1 do for j:=1 to 10 do begin try sg.Cells[j,i]:=floattostr(strtof
55、loat(sg.Cells[j,i])); except showmessage('第'+inttostr(i)+'行 第'+inttostr(j)+'列有非法數(shù)字'); k:=k+1; end; end; if k>0 then exit; s:=''; for i:=1 to sg.RowCount-1 do begin s:=sg.Cells[0,i]; Q1.Clos
56、e; Q1.Sql.Clear; Q1.Sql.Add(' update ry set z1=:z1,z2=:z2,z3=:z3,z4=:z4,z5=:z5,z6=:z6, '); Q1.Sql.Add('z7=:z7,z8=:z8,z9=:z9,z10=:z10,z11=:z11,k3=:k3,kbx=:kbx '); q1.Sql.Add(' where (bm like :bm ) and (bh like :bh)'); q1.Parameters.ParamByName('z1').Value:=str
57、tofloat(sg.Cells[1,i]); q1.Parameters.ParamByName('z2').Value:=strtofloat(sg.Cells[1,i])*0.4; q1.Parameters.ParamByName('z3').Value:=strtofloat(sg.Cells[1,i])*0.6; q1.Parameters.ParamByName('z4').Value:=strtofloat(sg.Cells[2,i]); q1.Parameters.ParamByName('z5'
58、).Value:=strtofloat(sg.Cells[3,i]); q1.Parameters.ParamByName('z6').Value:=strtofloat(sg.Cells[4,i]); q1.Parameters.ParamByName('z7').Value:=strtofloat(sg.Cells[5,i]); q1.Parameters.ParamByName('z8').Value:=strtofloat(sg.Cells[6,i]); q1.Parameters.ParamByName('z9'
59、).Value:=strtofloat(sg.Cells[7,i]); q1.Parameters.ParamByName('z10').Value:=strtofloat(sg.Cells[8,i]); q1.Parameters.ParamByName('z11').Value:=-(strtofloat(sg.Cells[1,i])*0.1618); //q1.ParamByName('z11').Asfloat:=0; q1.Parameters.ParamByName('k3').Value:=strtofl
60、oat(sg.Cells[9,i]); q1.Parameters.ParamByName('bm').Value:=copy(bm.Text,3,20)+'%'; q1.Parameters.ParamByName('bh').Value:=copy(s,1,2)+'%'; q1.Parameters.ParamByName('kbx').Value:=strtofloat(sg.Cells[10,i]); Try Q1.ExecSql; except
61、 showmessage('數(shù)據(jù)庫更新error 重新點(diǎn)擊“更新”按鈕!'); exit; end; end; showmessage(' 操作 OK !') end; procedure Tjbf.bmExit(Sender: TObject); var i:integer; begin Q1.Close; Q1.Sql.Clear; Q1.Sql.Add('Select bh,xm,z1,z4,z5,z6,z7,z8,z9,z10,k3,kbx Fro
62、m ry '); q1.Sql.Add(' where (bm like :bm )'); q1.Parameters.ParamByName('bm').Value:=copy(bm.text,3,20)+'%'; Q1.Sql.Add(' order by bh'); Try Q1.Open; except showmessage('數(shù)據(jù)庫連接error,程序退出!'); applicat
63、ion.Terminate; End; sg.RowCount:=Q1.RecordCount+1; sg.ColCount:=11; For I:=0 To sg.RowCount-1 Do sg.Rows[I].Clear; sg.Cells[0,0]:='編號(hào)姓名'; sg.Cells[1,0]:='崗位資'; sg.Cells[2,0]:='計(jì)生補(bǔ)'; sg.Cells[3,0]:='月效資'; sg.Cells[4,0]:='技
64、師補(bǔ)'; sg.Cells[5,0]:='醫(yī)務(wù)補(bǔ)'; sg.Cells[6,0]:='護(hù)10%'; sg.Cells[7,0]:='教護(hù)齡'; sg.Cells[8,0]:='女工衛(wèi)'; sg.Cells[9,0]:='公積金'; sg.Cells[10,0]:='保險(xiǎn)'; //md.Items.Clear; //md.Items.Add('
65、 '); For I:=1 To Q1.RecordCount Do Begin // md.Items.Add((Q1.FieldByName('bh').AsString)+(Q1.FieldByName('xm').AsString)); sg.Cells[0,i]:=Q1.FieldByName('bh').AsString+Q1.FieldByName('xm').AsString; sg.Cells[1,i]:=floattostr(Q1
66、.FieldByName('z1').Asfloat); sg.Cells[2,i]:=floattostr(Q1.FieldByName('z4').Asfloat); sg.Cells[3,i]:=floattostr(Q1.FieldByName('z5').Asfloat); sg.Cells[4,i]:=floattostr(Q1.FieldByName('z6').Asfloat); sg.Cells[5,i]:=floattostr(Q1.FieldBy
67、Name('z7').Asfloat); sg.Cells[6,i]:=floattostr(Q1.FieldByName('z8').Asfloat); sg.Cells[7,i]:=floattostr(Q1.FieldByName('z9').Asfloat); sg.Cells[8,i]:=floattostr(Q1.FieldByName('z10').Asfloat); sg.Cells[9,i]:=floattostr(Q1.FieldByName(
68、39;k3').Asfloat); sg.Cells[10,i]:=floattostr(Q1.FieldByName('kbx').Asfloat); Q1.Next; End; Q1.Close; end; procedure Tjbf.FormClose(Sender: TObject; var Action: TCloseAction); begin mainf.jbi.checked:=false; action:=cafree; end; procedure Tjbf.Fo
69、rmCreate(Sender: TObject); var i:integer; begin jbf.Color:=rgb(255,255,255); bm.Items.Clear; Q1.Close; Q1.Sql.Clear; Q1.Sql.Add('Select bh,mc From bm '); Q1.Sql.Add(' order by bh'); Try Q1.Open; except showmessage('服務(wù)器連接error,程序退出!'
70、); application.Terminate; End; For I:=1 To Q1.RecordCount Do Begin bm.Items.Add(Q1.FieldByName('bh').AsString+Q1.FieldByName('mc').AsString); Q1.Next; End; Q1.Close; end; 每月活動(dòng)工資填報(bào) 圖5.5 每月數(shù)據(jù)填報(bào) 該部分核心代碼: procedure Tmybhf.BitBtn1Click(Sender: TObject); var i,j,k:integer; s:string;
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教部編版教材三年級(jí)上冊道德與法治第四單元家是最溫暖的地方教學(xué)ppt課件 (全套)
- 蘇教版小學(xué)科學(xué)三年級(jí)下冊《雨下得有多大》課件1
- 花的形態(tài)與結(jié)構(gòu)課件匯總
- 一年級(jí)-數(shù)學(xué)下冊十幾減九人教版課件
- 電影膠片動(dòng)態(tài)課件
- 高電壓技術(shù)課件第六章
- 項(xiàng)目采購管理(6)
- 四川省攀枝花市XX小學(xué)一年級(jí)數(shù)學(xué)下冊六100以內(nèi)的加法和減法二練習(xí)十三2課件蘇教版
- 山東省青島市黃島區(qū)海青鎮(zhèn)中心中學(xué)七年級(jí)歷史下冊 15 明朝君權(quán)的加強(qiáng)課件 新人教版
- 把握人物的性格特征
- 剪小紙人PPT課件
- 八年級(jí)物理探究凸透鏡成像規(guī)律8
- 1[1]22配方法2
- 近代機(jī)械行業(yè)唯物主義管理分析自然觀
- 全國科技創(chuàng)新大賽“科學(xué)幻想畫”獲獎(jiǎng)作品ppt課件