已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目 錄第一章 系統(tǒng)需求分析3第一節(jié) 問題的提出3第二節(jié) 負責(zé)開發(fā)模塊3第三節(jié) 系統(tǒng)功能分析3一、基本信息管理3二、考勤信息管理3三、獎懲信息管理4四、員工履歷管理4五、職稱信息管理4六、員工工資管理4七、系統(tǒng)功能模塊4第四節(jié) 系統(tǒng)功能模塊設(shè)計5第五節(jié) 系統(tǒng)的流程分析5第二章 數(shù)據(jù)庫應(yīng)用程序開發(fā)概述6第一節(jié) 創(chuàng)建數(shù)據(jù)庫6第二節(jié) 邏輯數(shù)據(jù)庫設(shè)計7第三節(jié) 數(shù)據(jù)表操作類的設(shè)計10第三章 人事工資管理信息系統(tǒng)的系統(tǒng)設(shè)計與實現(xiàn)14第一節(jié) 系統(tǒng)實現(xiàn)技術(shù)14一、選擇Borland Delphi 7做為開發(fā)工具14二、選擇Microsoft Server 2000作為服務(wù)器端數(shù)據(jù)庫軟件14第二節(jié) 系統(tǒng)運行軟件環(huán)境15第三節(jié) 模塊的設(shè)計與實現(xiàn)15一、創(chuàng)建啟動畫面15二、創(chuàng)建登錄窗體16三、連接數(shù)據(jù)庫設(shè)置19四、創(chuàng)建系統(tǒng)主界面21五、基本信息管理模塊24六、考勤信息管理模塊30七、獎懲信息管理模塊35八、員工履歷管理模塊40九、職稱信息管理模塊45十、員工工資管理模塊50十一、系統(tǒng)功能模塊58第四章 結(jié)論63第一章 系統(tǒng)需求分析第一節(jié) 問題的提出隨著計算機技術(shù)的飛速發(fā)展,計算機在企業(yè)管理中應(yīng)用的普及,利用計算機實現(xiàn)企業(yè)人事工資的管理勢在必行。對于大中型企業(yè)來說,利用計算機支持企業(yè)高效率完成勞動人事管理的日常事務(wù),是適應(yīng)現(xiàn)代企業(yè)制度要求、推動企業(yè)勞動人事管理走向科學(xué)化、規(guī)范化的必要條件;而工資管理是一項瑣碎、復(fù)雜而又十分細致的工作,工資計算、發(fā)放、核算的工作量很大,一般不允許出錯,如果實行手工操作,每月發(fā)放工資須手工填制大量的表格,這就會耗費工作人員大量的時間和精力,計算機進行工資發(fā)放工作,不僅能夠保證工資核算準確無誤、快速輸出,而且還可以利用計算機對有關(guān)工資的各種信息進行統(tǒng)計,服務(wù)于財務(wù)部門其他方面的核算和財務(wù)處理,同時計算機具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事工資資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。 不同的企業(yè)具有不同的人事、工資管理制度,這就決定了不同的企業(yè)需要不同的人事工資管理系統(tǒng)。第二節(jié) 系統(tǒng)功能分析本系統(tǒng)主要包括員工基本信息管理、考勤信息管理、獎懲信息管理、員工履歷管理、職稱信息管理、員工工資管理等模塊,另外還包括進行系統(tǒng)管理的一些輔助模塊,其具體各模塊功能如下:一、基本信息管理員工的基本信息包括員工的編號、員工姓名、員工所在部門、性別、畢業(yè)學(xué)校、專業(yè)、職稱、政治面貌、工作時間和聯(lián)系方式等。員工基本信息管理就是對這些基本信息進行維護和管理,主要實現(xiàn)的功能有: 1、員工基本信息錄入2、員工基本信息修改和刪除3、員工基本信息查詢二、考勤信息管理員工的考勤信息包括員工出勤天數(shù)、遲到次數(shù)、早退次數(shù)、加班時間和出差天數(shù)等,這些信息將作為計算員工工資的部分依據(jù)。員工考勤信息管理主要包括以下功能: 1、考勤信息錄入與維護 2、員工考勤信息查詢?nèi)ⅹ剳托畔⒐芾韱T工獎懲信息主要記錄對員工的獎勵和懲罰信息,獎勵和懲罰信息與獎金掛鉤,以激勵或約束員工。員工獎懲記錄管理主要包括以下兩項功能:1、獎懲信息錄入與維護2、員工獎懲信息查詢四、員工履歷管理員工履歷管理主要是記錄員工的工作履歷請況,根據(jù)工作履歷情況可以記錄員工的工齡信息,并且可以作為評定員工職稱的依據(jù)。員工工作履及管理主要實現(xiàn)的功能有:1、履歷信息與維護2、員工履歷信息查詢五、職稱信息管理員工職稱信息記錄員工的職稱評定信息,因為員工的職稱高低與工資有直接的關(guān)系,所以員工職稱信息記錄的結(jié)果將直接影響員工的工資水平。職稱評定管理的主要功能有:1、職稱信息錄入與維護2、員工職稱信息查詢六、員工工資管理工資管理是企業(yè)人事工資管理的一項重要內(nèi)容,本系統(tǒng)中的其他管理內(nèi)容都是與員工的工資管理相關(guān)聯(lián)的,如考勤管理、獎懲記錄管理、工作履歷管理和職稱評定管理,員工工資是根據(jù)這些管理記錄的信息進行計算的。員工工資管理主要包括以下功能:1、 工資信息錄入與維護,員工工資在錄入時有些項目內(nèi)容是固化在程序中的,有些是根據(jù)其他管理信息獲取的,最后根據(jù)這些信息按照一定的方法算出員工工資2、 員工工資查詢七、系統(tǒng)功能模塊系統(tǒng)維護和賬戶管理是數(shù)據(jù)庫應(yīng)用程序必不可少的一塊。只有安全性提到了一定的高度,數(shù)據(jù)庫應(yīng)用程序的其他功能模塊的實現(xiàn)才有意義。1、 用戶權(quán)限控制無疑是安全中最重要的環(huán)節(jié);2、 其次簡單實用的數(shù)據(jù)備份也是系統(tǒng)功能模塊的重要組成部分。第三節(jié) 系統(tǒng)功能模塊設(shè)計根據(jù)上節(jié)的描述,我們把該系統(tǒng)分成以下主要幾個模塊,系統(tǒng)功能模塊圖如下圖1.1所示:一、 基本信息管理二、 考勤信息管理三、 獎懲信息管理四、 員工履歷管理五、 職稱信息管理六、 員工工資管理 人事工資管理信息系統(tǒng)員工基本信息錄入員工基本信息維護員工基本信息查詢考勤信息錄入與維護員工考勤信息查詢獎懲信息錄入與維護員工獎懲信息查詢履歷信息錄入與維護員工履歷信息查詢職稱評定錄入與維護職稱評定信息查詢工資信息錄入與維護員工工資信息查詢工資信息報表與打印用戶帳號管理系統(tǒng)數(shù)據(jù)備份基本信息管理考勤信息管理獎懲記錄管理員工履歷管理職稱信息管理工資信息管理系統(tǒng)管理 圖1.1 系統(tǒng)功能模塊圖第四節(jié) 系統(tǒng)的流程分析 系統(tǒng)流程就是用戶進入人事管理信息系統(tǒng)后的工作過程。由于本系統(tǒng)對不同的用戶帳號設(shè)置了不同的操作權(quán)限,因此不同用戶的操作流程有所不一樣。本系統(tǒng)的操作流程主要分為用戶登錄操作和業(yè)務(wù)操作兩部分。用戶登錄操作,用戶登錄操作主要是對用戶的帳號(包括用戶名和密碼)進行身份驗證。通過驗證的進入系統(tǒng)操作界面,未通過的給出錯誤提示。業(yè)務(wù)操作根據(jù)帳號的權(quán)限允許或限制用戶的行為。整個系統(tǒng)的流程如圖1.2所示啟動程序用戶登錄用戶權(quán)限 員工基本信息查詢 考勤信息查詢 獎懲信息查詢 履歷信息查詢 職稱信息查詢 工資信息查詢 修改自己用戶密碼 進行所有信息的查詢、保存和維護操作 管理所有用戶帳號 系統(tǒng)數(shù)據(jù)備份 重新登入 驗證失敗 普通用戶 系統(tǒng)管理員第二章 數(shù)據(jù)庫應(yīng)用程序開發(fā)概述第一節(jié) 創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫既可以通過SQL語句在查詢分析器里創(chuàng)建,也可以在企業(yè)管理起的控制臺中直接創(chuàng)建,這里主要介紹如何在企業(yè)管理器的控制臺中創(chuàng)建數(shù)據(jù)庫。本系統(tǒng)創(chuàng)建的數(shù)據(jù)庫名為personnel_sys,單擊開始/程序/Microsoft SQL Server /企業(yè)管理器,為所使用電腦SQL Server進行注冊,在控制臺根目錄下,右擊數(shù)據(jù)庫/新建數(shù)據(jù)庫/常規(guī):數(shù)據(jù)庫名稱設(shè)為 personnel_sys/在數(shù)據(jù)文件和事務(wù)日記 內(nèi)設(shè)置相應(yīng)的位置、初始大小、文件增長方式等屬性。最后單擊確定,即可完成數(shù)據(jù)庫的創(chuàng)建工作。第二節(jié) 邏輯數(shù)據(jù)庫設(shè)計 根據(jù)系統(tǒng)設(shè)計的要求對數(shù)據(jù)庫進行邏輯結(jié)構(gòu)設(shè)計,下面分別對這些表的結(jié)構(gòu)進行具體介紹。1.員工基本信息表base_data,主要用來存放企業(yè)中每個員工的基本信息,結(jié)構(gòu)如表1.1所示 表1.1 表base_data的結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型說明1worker_idvarchar(15)員工編號,關(guān)鍵字 2archivers_idvarchar(10) 檔案編號3worker_namevarchar(8)員工姓名4department_namevarchar(15)部門名稱5sexvarchar(2 )性別6birthdaydatetime 出生日期7native_placevarchar(25)籍貫8school_agevarchar(4)學(xué)歷9majorvarchar(15)專業(yè)10graduate_schvarchar(10)畢業(yè)學(xué)校11politic_statusvarchar(5)政治面貌12work_timedatetime 參加工作日期13come_timedatetime 入本單位日期14link_phonevarchar(14)聯(lián)系電話15addressvarchar(21)住址16photoimage個人照片17remarkvarchar(255)備注 2.考勤信息記錄表check_info,主要用來記錄員工的考勤情況,通過對考勤情況的記錄,就可以查看員工的工作表現(xiàn),為后面的工資發(fā)放提供參考,具體結(jié)構(gòu)如表1.2所示表1.2 表check_info的結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型說明1worker_idvarchar(15)員工編號,關(guān)鍵字2worker_namevarchar(8)員工姓名3monthsvarchar(10)月份編號,關(guān)鍵字4month_daysint本月天數(shù)5holidaysint公休假天數(shù)6real_work_daysint應(yīng)出勤天數(shù)7work_daysint出勤天數(shù)8business_daysint出差天數(shù)9absent_daysint缺勤天數(shù)10leave_timesint請假次數(shù)11late_timesint遲到次數(shù)12leave_early_timesint早退次數(shù)13holiday_overtimeint節(jié)假日加班時間14other_overtimeint其他加班時間15remarkvarchar(255)備注3.工資信息表wage_info,主要是記錄員工每月所發(fā)放的工資信息情況,包括工資的各項內(nèi)容及相應(yīng)的數(shù)據(jù),具體結(jié)構(gòu)如表1.3所示 表1.3 表wage_info的就結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型說明1record_idbigint記錄編號,關(guān)鍵字2worker_idvarchar(15)員工編號3worker_namevarchar(8)員工姓名4base_wagefloat基本工資5allowance1float鞏固補貼6allowance2float出差補貼7rewardfloat獎金8overtime_moneyfloat加班費9deduct_checkfloat扣考核10aged_moneyfloat養(yǎng)老保險11medical_moneyfloat醫(yī)療保險12compo_moneyfloat工傷保險13unemploy_moneyfloat失業(yè)保險14housing_moneyfloat住房公積金15income_taxfloat所得稅16real_wagefloat實發(fā)工資17give_datevarchar(6)發(fā)放月份 4.獎懲記錄表reward_pun,主要是用來記錄員工的一些獎懲信息,該表的數(shù)據(jù)有時也與工資信息發(fā)生關(guān)聯(lián),具體結(jié)構(gòu)如表1.4所示 表1.4 表reward_pun的結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型說明1record_idbigint記錄編號,關(guān)鍵字2worker_idvarchar(15)員工編號3worker_name varchar(8)員工姓名4record_date datetime 獎懲日期5record_typevarchar(2)獎懲類型6record_contentvarchar(30)獎懲內(nèi)容7record_reasonvarchar(30)獎懲原因8allow_unitvarchar(20)批準單位9remarkvarchar(255)備注 5.職稱評定信息表pro_title,主要是記錄員工的職稱級別信息,根據(jù)不同的級別就可以訂出不同級別的工資水平,具體結(jié)構(gòu)如表1.5所示 表1.5 表 pro_title的結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型說明1worker_idvarchar(15)員工編號,關(guān)鍵字2worker_name varchar(8)員工姓名3assess_datedatetime評定日期4assess_unitvarchar(20)評定單位5assess_titlevarchar(8)評定職稱6remarkvarchar(255)備注6.工作履歷表work_age,反映企業(yè)員工的工作經(jīng)歷和工作時間,從工作履歷表總可以看出員工的工齡情況,具體結(jié)構(gòu)如表1.6所示表1.6 表work_age的結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型說明1record_idbigint記錄編號,關(guān)鍵字2worker_id varchar(15)員工編號3worker_name varchar(8)員工姓名4begin_datedatetime起始日期5over_datedatetime結(jié)束日期6unit_name varchar(20)單位名稱7work_timefloat本單位工作時間8dutyvarchar(10)擔(dān)任職務(wù)9level1varchar(4)級別10remarkvarchar(255)備注 7.用戶帳號表user_table,主要是分配不同的用戶帳號信息,對不同用戶帳號賦予不同的權(quán)限,可以從一定程度上保障系統(tǒng)的安全。用戶帳號表的具體結(jié)構(gòu)如表1.7所示。表1.7 表user_table的結(jié)構(gòu)編號字段名稱數(shù)據(jù)類型說明1user_namevarchar(30)用戶名,關(guān)鍵字2user_pwdvarchar(30)用戶密碼3power_levelvarchar(12)權(quán)限級別 第三節(jié) 數(shù)據(jù)表操作類的設(shè)計 在實例中,對數(shù)據(jù)庫的連接和操作都被封裝成類,類名以“T”開頭,對每張數(shù)據(jù)表的操作都可以封裝到對應(yīng)類的方法和過程中,在使用類時要先實例化,使用完后要將實例釋放,調(diào)用類中方法和過程時只需要向方法和過程傳遞參數(shù)就可以實現(xiàn)調(diào)用,下面類出類中方法和過程的名稱 1.Tbasedata類 Tbasedata類主要封裝了對base_data表的各種操作,類中定義的方法和過程如表1.9所示。表1.9 Tbasedata類封裝的方法和過程方法或過程名 具體說明 function checkrec(id:string):boolean;根據(jù)員工編號判斷記錄是否存在function getarcid(workid:string):string;根據(jù)員工編號返回員工的檔案編號function getworkername(workid:string):string;根據(jù)員工編號返回員工名稱function getdepartname(workid:string):string;根據(jù)員工編號返回員工所在部門名稱function getsex(workid:string):string;根據(jù)員工編號趕回員工性別function getbirth(workid:string):string;根據(jù)員工編號趕回員工出生日期function getnativeplace(workid:string):string;根據(jù)員工編號趕回員工籍貫function getschage(workid:string):string;根據(jù)員工編號趕回員工學(xué)歷function getmajor(workid:string):string;根據(jù)員工編號趕回員工所學(xué)專業(yè)function getgrasch(workid:string):string;根據(jù)員工編號趕回員工畢業(yè)學(xué)校function getpolista(workid:string):string;根據(jù)員工編號趕回員工政治面貌function getworktime(workid:string):string;根據(jù)員工編號趕回員工參加工作時間function getcometime(workid:string):string;根據(jù)員工編號趕回員工如本單位時間function getlinkphone(workid:string):string;根據(jù)員工編號趕回員工聯(lián)系電話function getaddress(workid:string):string;根據(jù)員工編號趕回員工住址信息function getremark(workid:string):string;根據(jù)員工編號趕回員工備注信息function getphone(workid:string):tstream;根據(jù)員工編號趕回圖片信息的數(shù)據(jù)流 function allrec(sql:string):olevariant通過傳遞SQL語句返回查詢記錄procedure photoupdate(id:stirng;path1:string);修改指定員工編號的照片信息procedure workid(id:stirng;path1:string);根據(jù)員工編號和圖片路徑插入一條記錄procedure recinsert(insertsql:stirng);通過傳遞SQL語句執(zhí)行插入操作過程procedure recupdate(updatesql:stirng);通過傳遞SQL語句執(zhí)行修改操作過程procedure recdel(id:stirng);通過傳遞SQL語句執(zhí)行刪除操作過程procedure findrec(id:stirng);根據(jù)員工編號執(zhí)行查詢操作過程2.Tworkage類Tworkage類封裝了對work_age表的各種操作,類中定義的方法和過程如表1.10所示表1.10 Tworkage類封裝的方法和過程方法或過程名 具體說明 function workagerec(id,workunit:string):boolean;根據(jù)員工編號和工作單位查詢記錄是否存在function workagerec1(findsql:string):boolean;通過傳遞SQL語句查詢記錄是否存在function getrecid(reid:string):string;根據(jù)記錄號返回記錄號function getworkername(reid:string):string;根據(jù)記錄號返回員工名稱function getbegindate(reid:string):string;根據(jù)記錄號返回起始日期function getoverdate(reid:string):string;根據(jù)記錄號返回結(jié)束日期function getworktime(reid:string):string;根據(jù)記錄號返回工作時間function getduty(reid:string):string;根據(jù)記錄號返回員工擔(dān)任的職務(wù)function getlevel1(reid:string):string;根據(jù)記錄號返回員工級別function getremark(reid:string):string;根據(jù)記錄號返回員工備注信息function getsumwortime(id:string):integer;根據(jù)記錄號返回員工工齡function workagerecs(sql:string):olevariant;通過傳遞sql語句返回查詢記錄procedure recinsert(insertsql:string); 通過傳遞sql 語句執(zhí)行插入操作procedure recupdate(updatesql:string); 通過傳遞sql語句執(zhí)行修改操作procedure recdel(reid:string); 通過傳遞記錄號執(zhí)行刪除操作3.Twageinfo類Twageinfo類封裝了對wage_info表的各種操作,類中定義的方法和過程如表1.11所示。方法或過程名具體說明Function WageInfoRec(Id,GiveData:string):Boolean:根據(jù)員工編號和月份查詢記錄是否存在Function WageInfoRec(FindSQL:string):Boolean;通過傳遞SQL語句查詢記錄是否已經(jīng)存在Function GetRecId(Id,givedata:sting):sting;根據(jù)員工編號和月份返回記錄號Function Getworkname(Id,givedata:sting):sting;根據(jù)員工編號和月份返回員工姓名Function Getbase wage(Id,givedata:string):string;根據(jù)員工編號和月份返回基本工資信息Function Getallowance1(Id,givedata:string):string;根據(jù)員工編號和月份返回公共補貼信息Function Getallowance2(Id,GiveData:string):string;根據(jù)員工編號和月份返回出差補貼信息Function getreward(Id,GiveData:string):string;根據(jù)員工編號和月份返回獎金信息Funcrion getovertimemoney(Id,GiveData:string):string;根據(jù)員工編號和月份返回加班費Function getdeductcheck(Id,GiveData:string):string;根據(jù)員工編號和月份返回扣除的考核費用Function getagedmoney(Id,GiveData:string):string;根據(jù)員工編號和月份返回養(yǎng)老保險費Function getmedicalmomey(Id,GiveData:string):string;根據(jù)員工編號和月份返回醫(yī)療保險費Function getcompomoney(Id,GiveData:string):string;根據(jù)員工編號和月份返回工傷保險費Function getunemploymoney(Id,GiveData:string):string;根據(jù)員工編號和月份返回失保險費業(yè)Function gethousemoney(Id,GiveData:string):string;根據(jù)員工編號和月份返回住房公積金Function getincometax(Id,GiveData:string):string;根據(jù)員工編號和月份返回所得稅Function getrealwage(Id,GiveData:string):string;根據(jù)員工編號和月份返回實發(fā)工資procedure wagesrecs(SQL:string):OLEVariant;通過傳遞SQL語句返回工資信息記錄procedure Recinsert(insertSQL:string);通過傳遞SQL語句返回插入操作過程procedure RecUpdate(updateSQL:string);通過傳遞SQL語句返回修改操作過程procedure Recdel(Id,givedata:string);根據(jù)員工編號和月份執(zhí)行刪除操作表1.11 Twageinfo類封裝的方法和過程4.Trewardpun類封裝了對reward_pun表的各種操作,類中定義的方法和過程如表1.12所示。表1.12 trewardpun類封裝的方法和過程方法或過程名具體說明Function RewardPunRec(ReId:string):Boolean ;根據(jù)記錄號查詢記錄是否存在Function RewardPunRec1(SQL:string):Boolean ;通過傳遞SQL語句查詢記錄是否存在Function GetrecId(ReId:string):string;通過記錄號返回記錄號Function Getwokename(ReId:string):string;通過記錄號返回員工名稱Function Getreccont(ReId:string):string;通過記錄號返回獎懲內(nèi)容Function Getrecreason(ReId:string):string;通過記錄號返回獎懲原因Function Getallowunit(ReId:string):string;通過記錄號返回批準單位Function Getremark(ReId:string):string;通過記錄號返回備注信息Function Getrewardcount(month1,month2:string):integer;根據(jù)年份和月份返回獎勵記錄條數(shù)Function Getpuncount(month1,month2:string):integer;根據(jù)年份和月份返回懲罰記錄條數(shù)Function rewardpunrecs(SQL:string):OLEVariant;通過傳遞SQL語句返回記錄查詢procedure Recinsert(insertSQL:string);通過傳遞SQL語句執(zhí)行插入操作procedure RecUpdate(updateSQL:string);通過傳遞SQL語句執(zhí)行修改操作procedure Recdel(ReId:string);根據(jù)記錄號執(zhí)行刪除操作5、Tprotitle類封裝了對pro_title表的各種操作,類的定義的方法和過程如表1.13所示。表1.13 Tprotitle類封裝的方法和過程方法或過程名具體說明Function ProtitleRec(Id:string):Boolean;根據(jù)員工編號查詢職稱記錄是否存在Function ProtitleRec1(findSQL:string):Boolean;通過查詢SQL語句查詢記錄是否存在Function Getworkername(Id:string):string;根據(jù)員工編號返回員工姓名Function Getassessdate(Id:string):string;根據(jù)員工編號返回評定日期Function Getassessunit(Id:string):string;根據(jù)員工編號返回評定單位Function Getassesstitle(Id:string):string;根據(jù)員工編號返回評定職稱Function Getremark(Id:string):string;根據(jù)員工編號返回備注信息Function ProtitleRecs(SQL:string):OLEVariant;通過傳遞SQL語句返回查詢記錄procedure Recinsert(insertSQL:string);通過傳遞SQL語句執(zhí)行插入操作procedure RecUpdate(updateSQL:string);通過傳遞SQL語句執(zhí)行修改操作procedure Recdel(Id:string);根據(jù)員工編號執(zhí)行刪除操作6、Tcheckinfo類封裝了對check_info表的各種操作,類中定義的方法和過程如表1.14所示 表1.14 Tcheckinfo類封裝的方法和過程方法或過程名具體說明Function CheckInforec(Id,momth:string):Boolean;根據(jù)員工編號和月份查詢記錄是否存在Function Getworkername(Id,momth:string):string;根據(jù)員工編號和月份返回員工姓名Function Getmonthdays(Id,momth:string):string;根據(jù)員工編號和月份返回當(dāng)月天數(shù)Function Getholidays(Id,momth:string):string;根據(jù)員工編號和月份返回公休假天數(shù)Function Getreworkdays(Id,momth:string):string;根據(jù)員工編號和月份返回應(yīng)出勤天數(shù)Function Getworkdays(Id,momth:string):string;根據(jù)員工編號和月份返回出勤天數(shù)Function Getbusinessdays(Id,momth:string):string;根據(jù)員工編號和月份返回出差天數(shù)Function Getabsentdays(Id,momth:string):string;根據(jù)員工編號和月份返回缺勤天數(shù)Function GetLeavetimes(Id,momth:string):string;根據(jù)員工編號和月份返回請假次數(shù)Function Getlatetimes(Id,momth:string):string;根據(jù)員工編號和月份返回遲到次數(shù)Function GetleaEartimes(Id,momth:string):string;根據(jù)員工編號和月份返回早退次數(shù)Function GetHOliOvertimes(Id,momth:string):string;根據(jù)員工編號和月份返回節(jié)假日加班時間Function Getotherovertimes(Id,momth:string):string;根據(jù)員工編號和月份返回返回其他加班時間Function Getremark(Id,momth:string):string;根據(jù)員工編號和月份返回備注信息Function CheckInfoRecs(SQL:string):OLEVariant;通過傳遞SQL語句返回查詢記錄procedure RecInsert(InsertSQL:string);通過傳遞SQL語句執(zhí)行插入操作procedure RecUpdate(UpdateSQL:string);通過傳遞SQL語句執(zhí)行修改操作procedure Recdel(Id,month:string);根據(jù)員工編號和月份編號執(zhí)行刪除操作7.Tusertable類Tusertable類封裝了對user_table表的各種操作,類中定義的方法和過程名稱如表1.15所示 表1.15 Tusertable類封裝的方法和過程方法或過程名具體說明Function Getuserpwd(UserName:string):string;根據(jù)用戶名返回用戶密碼信息Function GetuserLevel(UserName:string):string;根據(jù)用戶名返回用戶級別信息Function checkuser(UserName:string):Boolean;根據(jù)用戶名返回查詢賬號記錄是否存在procedure UserInsert(InsertSQL:string);通過傳遞SQL語句執(zhí)行插入操作procedure UserUpdate(UpdateSQL:string);通過傳遞SQL語句執(zhí)行修改操作procedure Userdelete(DeleteSQL:string);根據(jù)傳遞SQL語句執(zhí)行刪除操作procedure CreatTable(SQL:string);通過腳本SQL語句創(chuàng)建用戶數(shù)據(jù)表第三章 人事工資管理信息系統(tǒng)的系統(tǒng)設(shè)計與實現(xiàn)第一節(jié) 系統(tǒng)實現(xiàn)技術(shù)一、選擇Borland Delphi 7做為開發(fā)工具Delphi是著名的Borland(現(xiàn)在已和Inprise合并)公司開發(fā)的可視化軟件開發(fā)工具?!罢嬲某绦騿T用c,聰明的程序員用Delphi”,這句話是對Delphi最經(jīng)典、最實在的描述。Delphi被稱為第四代編程語言,它具有簡單、高效、功能強大的特點。和VC相比,Delphi更簡單、更易于掌握,而在功能上卻絲毫不遜色;和VB相比,Delphi則功能更強大、更實用??梢哉fDelphi同時兼?zhèn)淞薞C功能強大和VB簡單易學(xué)的特點。它一直是程序員至愛的編程工具。Delphi具有以下的特性:基于窗體和面向?qū)ο蟮姆椒?,高速的編譯器,強大的數(shù)據(jù)庫支持,與Windows編程緊密結(jié)合,強大而成熟的組件技術(shù)。但最重要的還是Object Pascal語言,它才是一切的根本。 Object Pascal語言是在Pascal語言的基礎(chǔ)上發(fā)展起來的,簡單易學(xué)。Delphi提供了各種開發(fā)工具,包括集成環(huán)境、圖像編輯(Image Editor),以及各種開發(fā)數(shù)據(jù)庫的應(yīng)用程序,如DesktopDataBase Expert等。除此之外,還允許用戶掛接其它的應(yīng)用程序開發(fā)工具,如Borland公司的資源編輯器(Resourse Workshop)。在Delphi眾多的優(yōu)勢當(dāng)中,它在數(shù)據(jù)庫方面的特長顯得尤為突出:適應(yīng)于多種數(shù)據(jù)庫結(jié)構(gòu),從客戶機服務(wù)機模式到多層數(shù)據(jù)結(jié)構(gòu)模式;高效率的數(shù)據(jù)庫管理系統(tǒng)和新一代更先進的數(shù)據(jù)庫引擎;最新的數(shù)據(jù)分析手段和提供大量的企業(yè)組件。二、選擇Microsoft Server 2000作為服務(wù)器端數(shù)據(jù)庫軟件1 Microsoft SQL Server2000簡介SQL Server 2000是Microsoft公司推出的SQL Server數(shù)據(jù)庫管理系統(tǒng),該版本繼承了SQL Server 7.0版木的優(yōu)點同時又比它增加了許多更先進的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點可跨越從運行Microsoft Windows 98的膝上型電腦到運行Microsoft Windows 2000的大型多處理器的服務(wù)器等多種平臺使用 由于SQL Server與Windows界而風(fēng)格完全一致,且有許多向?qū)?Wizard)幫助,因此易于安裝和學(xué)習(xí),有一關(guān)SQL Server的資料、培訓(xùn)隨處可得,所以容易上手。并且由于今天Windows操作系統(tǒng)占領(lǐng)著主導(dǎo)地的位,選擇SQL Server一定會在兼容性方面取得一些優(yōu)勢。另外,SQL Server 2000除了具有擴展性,可靠性以外,還具有可以迅速開發(fā)新的因特網(wǎng)系統(tǒng)的功能。尤其是它可以直接存儲XML數(shù)據(jù),可以將搜索結(jié)果以XML格式輸出等特點,有利于構(gòu)建了異構(gòu)系統(tǒng)的互操作性,奠定了而向互聯(lián)網(wǎng)的企業(yè)應(yīng)用和服務(wù)的基石。因此我們選用Microsoft SQL Server2000來創(chuàng)建數(shù)據(jù)庫。創(chuàng)建數(shù)據(jù)庫的步驟:1.確定新建數(shù)據(jù)庫的目的。2.確定該數(shù)據(jù)庫中需要的表。3.確定表中需要的字段。4.明確有唯一值得字段。5.確定表之間的關(guān)系。6.優(yōu)化設(shè)計。7.輸入數(shù)據(jù)并新建其他數(shù)據(jù)庫對象。在設(shè)計并且建立數(shù)據(jù)庫后,我們還需要進行一些優(yōu)化工作。根據(jù)計算機的配置和工作環(huán)境,可以做一些時來提高Microsoft SQL Server2000或數(shù)據(jù)庫的性能。實際上有很多的方法可以提高SQL Server2000的系統(tǒng)性能。我們可以在實踐過程中不斷的發(fā)現(xiàn)和總結(jié)。2結(jié)構(gòu)化查詢語言(SQL)簡介SQL是英文Structure Query Language的縮寫,意思為結(jié)構(gòu)化查詢語言。SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進行溝通。按照ANSI(美國國家標準協(xié)會)的規(guī)定,SQL被作為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的標準語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關(guān)系姓數(shù)據(jù)庫管理系統(tǒng),如Oracle, Sybase, Microsoft SQL Server,Access等都采用了SQL語言標準。雖然很多數(shù)據(jù)庫都對SQL語句進行了在開發(fā)和擴展,但是包括Select, Update, Delete, Create,以及Drop在內(nèi)的標準的SQL命令仍然可以被用來完成幾乎所有的數(shù)據(jù)庫操作。第二節(jié) 系統(tǒng)運行軟件環(huán)境工具軟件:Borland Delphi 7面向?qū)ο蟮拈_發(fā)工具;Microsoft SQL Server 2000關(guān)系數(shù)據(jù)庫軟件測試環(huán)境: Windows XP professional sp2,Windows 2000 professional sp4;Windows server 2003 sp2;在以上操作系統(tǒng)上通過測試 第三節(jié) 模塊的設(shè)計與實現(xiàn)一、創(chuàng)建啟動畫面 啟動畫面是應(yīng)用程序的附加部分,體現(xiàn)應(yīng)用程序的門面。應(yīng)用程序初始化的時候,用戶可從中獲取基本信息。但啟動畫面不宜做的太大,以免喧賓奪主。作為企業(yè)用戶使用的軟件,我們小組采用了藍色基調(diào)的厚重感較強的背景,附以簡單的文字信息,能夠給用戶一個穩(wěn)重可信的感覺。附圖如下: 相關(guān)代碼: 1. 窗體創(chuàng)建事件代碼procedure TMoveFrm.FormCreate(Sender: TObject);begin Time_lb.Caption:=timetostr(now); Date_lb.Caption:=formatdatetime(yyyy年mm月dd日 ,now);end;2.在項目文件代碼主程序初始化(Application.Initialize;)后添加如下代碼: movefrm:=Tmovefrm.Create(application); movefrm.Show; movefrm.Update; sleep(2008); movefrm.Hide; movefrm.Free;二、創(chuàng)建登錄窗體啟動畫面消失后,將彈出登錄窗體。登錄窗體是唯一能進入主窗口的入口。同時我們對登錄窗體重新設(shè)計,加入了“記住上次登錄成功時的用戶名和密碼”功能,方便了軟件使用者,體現(xiàn)了“一切從客戶角度出發(fā)”的軟件開發(fā)原則。新建登錄窗體loginfrm,登錄窗體的設(shè)計布局如下圖算法流程和具體代碼如下:1. 窗體建立事件發(fā)生時從當(dāng)前目錄的setup.ini的option小節(jié)中讀取中保存的用戶名、密碼和登錄開關(guān)狀態(tài)。如果setup.ini中的AutoLogon等于1,則將用戶名和密碼自動填到相應(yīng)編輯框,并將窗體中的“記住用戶名和密碼”標記為選中狀態(tài)否則將用戶名和密碼框清空,并將“記住用戶名和密碼”標記為取消狀態(tài)。代碼如下:procedure TLoginFrm.FormCreate(Sender: TObject);begin usertable:=Tusertable.create; setupfile:=Tinifile.Create(extractfiledir(application.ExeName)+setup.ini); CheckBox1.Checked:=setupfile.ReadBool(Option,AutoLogon,false); if checkbox1.Checked=true then begin user_ed.Text:=setupfile.ReadString(Option,LastUserName,); pwd_ed.Text:=setupfile.ReadString(Option,Mark,); end else begin user_ed.C
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深圳市2024年2月廣東深圳市大鵬新區(qū)科技創(chuàng)新和經(jīng)濟服務(wù)局招聘編外人員1人筆試歷年參考題庫典型考點附帶答案詳解(3卷合一)
- 杭州市2024年浙江省生態(tài)環(huán)境監(jiān)測中心招聘8人筆試歷年參考題庫典型考點附帶答案詳解(3卷合一)
- 南京市2024江蘇南京航空航天大學(xué)信息化處工作人員招聘56人筆試歷年參考題庫典型考點附帶答案詳解(3卷合一)
- 三門縣2024年浙江臺州三門縣住房和城鄉(xiāng)建設(shè)局下屬事業(yè)單位招聘筆試歷年參考題庫典型考點附帶答案詳解(3卷合一)
- 2026燒烤料理師招聘面試題及答案
- 2025-2026 學(xué)年高三 英語 單元測試 試卷及答案
- 家庭健身行業(yè)技術(shù)規(guī)范與市場分析
- 2025-2026 學(xué)年七年級 藝術(shù)?美術(shù)(粵教版)期中考試試卷及答案
- 2025 年大學(xué)供應(yīng)鏈管理(供應(yīng)鏈管理理論)試題及答案
- 2025 年大學(xué)工業(yè)設(shè)計(工業(yè)設(shè)計工程)試題及答案
- 2024年浙江省大學(xué)生物理競賽
- 潮州景觀水池清洗方案
- 普通診所污水、污物、糞便處理方案 及周邊環(huán)境情況說明
- 國開02150-計算機網(wǎng)絡(luò)(本)機考復(fù)習(xí)資料
- 設(shè)計變更通知單四篇
- 領(lǐng)英招聘官考試試題
- 藥品注冊的CTD格式-孫亞洲老師課件
- 汽車離合器設(shè)計畢業(yè)設(shè)計(論文)
- 西南聯(lián)大課件
- 創(chuàng)新創(chuàng)業(yè)創(chuàng)造:職場競爭力密鑰知到章節(jié)答案智慧樹2023年上海對外經(jīng)貿(mào)大學(xué)
- 護理查房中風(fēng)恢復(fù)期中醫(yī)康復(fù)護理
評論
0/150
提交評論