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