小企事業(yè)單位工資管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
小企事業(yè)單位工資管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第2頁(yè)
小企事業(yè)單位工資管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第3頁(yè)
小企事業(yè)單位工資管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第4頁(yè)
小企事業(yè)單位工資管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要隨著人類文明的不斷進(jìn)步,人們?cè)絹?lái)越重視工作的高效性和準(zhǔn)確性,也越來(lái)越渴望擺脫某些重復(fù)性的繁重勞動(dòng)。而工資方面的管理又涉及到大量的計(jì)算、填寫等簡(jiǎn)單重復(fù)性動(dòng)作,所以有必要實(shí)現(xiàn)工資管理方面的改革,將人們解放出來(lái)做一些更有意義的工作。現(xiàn)今社會(huì)上各種規(guī)模的企事業(yè)單位和私營(yíng)企業(yè)日益增多,在所有這些團(tuán)體中,人數(shù)少的不下幾百,多者成千上萬(wàn),而工資管理方面的工作也就成為了其中的一個(gè)重要環(huán)節(jié)。找一種合適的方法來(lái)管理工資,既能為大多數(shù)的單位帶來(lái)最大方便,又能保證工資發(fā)放的快速、準(zhǔn)確,且能為企業(yè)節(jié)約成本,帶來(lái)一定的經(jīng)濟(jì)效益。傳統(tǒng)的工資管理方法主要是依靠管理員用手工來(lái)記錄、計(jì)算,這種方法既不方便,又容易出問題,顯

2、然已很不適用?,F(xiàn)代社會(huì)計(jì)算機(jī)技術(shù)日新月異,運(yùn)用計(jì)算機(jī)來(lái)進(jìn)行數(shù)據(jù)處理、信息管理已成為計(jì)算機(jī)三大主要應(yīng)用之一,鑒于以上社會(huì)現(xiàn)實(shí)狀況,結(jié)合所學(xué)專業(yè),我決定運(yùn)用所學(xué)到的計(jì)算機(jī)專業(yè)知識(shí)及信息管理專業(yè)知識(shí),采用當(dāng)今流行的microsoft.vfp6.0可視化程序設(shè)計(jì)語(yǔ)言在此次畢業(yè)設(shè)計(jì)任務(wù)中編制一個(gè)用于“工資管理”方面的軟件,以幫助社會(huì)上各式各樣,尤其是較小規(guī)模的企事業(yè)單位處理工資管理方面的事務(wù)。本軟件主要適用于較小規(guī)模企事業(yè)單位使用。在軟件的具體編制實(shí)現(xiàn)過(guò)程中,我要特別感謝 老師!今天我能夠取得這樣一個(gè)小小的成果與她的熱情、全面的幫助是分不開的。 關(guān)鍵詞:數(shù)據(jù)庫(kù);sql語(yǔ)言;vfp6;工資管理;窗體目錄1

3、 visual foxpro 6.0概述1.1 visual foxpro 6.0 系統(tǒng)簡(jiǎn)介1.2 visual foxpro6.0特點(diǎn)1.2.1 友好的用戶界面1.2.2 強(qiáng)大的面向?qū)ο缶庉嫾夹g(shù)的功能1.2.3 快速創(chuàng)建應(yīng)用程序1.2.4 數(shù)據(jù)庫(kù)操作簡(jiǎn)便1.2.5 可與其他應(yīng)用程序交互操作1.2.6 獨(dú)特的開發(fā)客戶/服務(wù)器解決方案1.2.7 可以升級(jí)早期版本1.2.8 有很好的幫助系統(tǒng)1.3 visual foxpro6.0對(duì)系統(tǒng)軟硬件環(huán)境要求1.3.1 硬件環(huán)境1.3.2 軟件環(huán)境1.4 visual foxpro6.0技術(shù)指標(biāo)1.4.1 表和索引文件1.4.2 內(nèi)存變量和數(shù)組1.4.3

4、程序和過(guò)程文件1.4.4 報(bào)表1.4.5 其他1.5 visual foxpro的幫助系統(tǒng)2 應(yīng)用程序總體設(shè)計(jì)2.1 系統(tǒng)需求分析2.1.1 用戶要求:2.1.2 系統(tǒng)性能要求:2.2 設(shè)計(jì)目標(biāo)2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)2.3.1 數(shù)據(jù)需求分析2.3.2 各數(shù)據(jù)表的結(jié)構(gòu)2.4 系統(tǒng)模塊劃分及各模塊包含的表單2.4.1 數(shù)據(jù)錄入模塊2.4.2 工資計(jì)算模塊2.4.3 工資查詢模塊2.4.4 工資打印模塊2.4.5 系統(tǒng)設(shè)置模塊2.4.6 退出系統(tǒng)模塊2.5 系統(tǒng)數(shù)據(jù)流程圖2.5.1 系統(tǒng)總體結(jié)構(gòu)模塊劃分圖2.5.2 系統(tǒng)總體運(yùn)行流程圖2.5.3 重要模塊運(yùn)行流程圖2.6 系統(tǒng)總開發(fā)環(huán)境設(shè)置3 模塊的實(shí)現(xiàn)

5、3.1 各功能表單的編制3.1.1 啟動(dòng)畫面及系統(tǒng)登錄3.1.2 人員錄入3.1.3 考勤錄入3.1.4 扣款錄入3.1.5 按月計(jì)算所有職工工資3.1.6 按月按部門計(jì)算職工工資3.1.7 按月按職工姓名計(jì)算工資3.1.8 按部門查詢職工工資3.1.9 按職工姓名查詢工資3.1.10 按部門打印職工工資3.1.11 按姓名打印職工工資條3.1.12 管理員設(shè)置3.1.13 修改密碼3.2 公用變量的定義3.3 生成應(yīng)用程序4 結(jié)束語(yǔ)1 visual foxpro 6.0概述1.1 visual foxpro 6.0 系統(tǒng)簡(jiǎn)介visual foxpro6.0是為數(shù)據(jù)庫(kù)結(jié)構(gòu)和應(yīng)用程序開發(fā)而設(shè)計(jì)的

6、、功能強(qiáng)大的、面向?qū)ο蟮木幊汰h(huán)境。無(wú)論是組織信息、運(yùn)行查詢、創(chuàng)建集成的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),還是為最終用戶編寫功能全面的數(shù)據(jù)管理應(yīng)用程序,visual foxpro都可提供管理數(shù)據(jù)所需的所有工具。visual foxpro6.0于1998年9月由微軟公司發(fā)布,是一個(gè)基于圖形界面技術(shù)的數(shù)據(jù)庫(kù)管理系統(tǒng)軟件,是一個(gè)性能完善的數(shù)據(jù)庫(kù)編程語(yǔ)言;是xbase類數(shù)據(jù)庫(kù)歷史上最強(qiáng)大的數(shù)據(jù)庫(kù)管理系統(tǒng),具有windows界面、采用面向?qū)ο蟮拈_發(fā)方式、客戶/服務(wù)器的數(shù)據(jù)連接以及ole的應(yīng)用程序訪問。它還提供了許多可視化開發(fā)工具,如向?qū)?、生成器、設(shè)計(jì)器等,使用戶能簡(jiǎn)單而迅速地完成數(shù)據(jù)庫(kù)操作或應(yīng)用程序的開發(fā)。1.2 vis

7、ual foxpro6.0特點(diǎn)visual foxpro6.0是微軟發(fā)行的microsoft visual studio 6.0套裝系統(tǒng)軟件之一。該系統(tǒng)在辦公室管理中應(yīng)用極為廣泛,其理由之一是visual foxpro6.0從xbase發(fā)展而來(lái),而xbase已有廣泛的用戶群,但更重要的理由是visual foxpro6.0有很多的新功能及特性。1.2.1 友好的用戶界面visual foxpro6.0系統(tǒng)提供了一套由菜單驅(qū)動(dòng),輔助向?qū)?、?duì)話框、設(shè)計(jì)器、表達(dá)式生成器等簡(jiǎn)潔、功能全面的用戶界面。使用戶可以在友好界面的支持下,用命令或菜單方式快捷地實(shí)現(xiàn)對(duì)系統(tǒng)的各種操作,從而完成對(duì)數(shù)據(jù)管理的任務(wù)。1.

8、2.2 強(qiáng)大的面向?qū)ο缶庉嫾夹g(shù)的功能visual foxpro6.0不僅有完善的系統(tǒng)命令、豐富的標(biāo)準(zhǔn)函數(shù),支持傳統(tǒng)的結(jié)構(gòu)化過(guò)程編程技術(shù),而且還支持面向?qū)ο蟮目梢暬幊碳夹g(shù)。系統(tǒng)提供了結(jié)構(gòu)化查詢語(yǔ)言-sql語(yǔ)言,可以非常有效地訪問索引文件的數(shù)據(jù),迅速而精確地從龐大的、有數(shù)百萬(wàn)條記錄的表格檢索數(shù)據(jù)。系統(tǒng)支持事件處理、優(yōu)化系統(tǒng)和rushmore技術(shù)更成熟,速度更快。1.2.3 快速創(chuàng)建應(yīng)用程序visual foxpro6.0系統(tǒng)可以用多種方式快速創(chuàng)建應(yīng)用程序,如向?qū)?、?xiàng)目管理器、生成器、各種設(shè)計(jì)器等靈活的工具,這些工具大大提高了開發(fā)應(yīng)用程序的效率。1.2.4 數(shù)據(jù)庫(kù)操作簡(jiǎn)便visual foxpro

9、6.0系統(tǒng)中數(shù)據(jù)庫(kù)創(chuàng)建與編輯都是在可視化界面上進(jìn)行的,對(duì)用戶來(lái)說(shuō)是全透明的。如增刪表、建立索引、查詢、視圖、建立表間的關(guān)系與連接等都是全透明的。1.2.5 可與其他應(yīng)用程序交互操作visual foxpro6.0通過(guò)數(shù)據(jù)的導(dǎo)入/導(dǎo)出功能,可以方便地與微軟其他應(yīng)用系統(tǒng)共享數(shù)據(jù)。1.2.6 獨(dú)特的開發(fā)客戶/服務(wù)器解決方案visual foxpro6.0系統(tǒng)通過(guò)odbc可以方便地直接訪問、存儲(chǔ)、檢索和處理服務(wù)器平臺(tái)上的信息,提供了客戶/服務(wù)器解決方案。1.2.7 可以升級(jí)早期版本visual foxpro6.0系統(tǒng)對(duì)foxpro生成的應(yīng)用程序向下兼容。1.2.8 有很好的幫助系統(tǒng)visual fox

10、pro6.0提供了強(qiáng)大的幫助功能,在microsoft visual studio 6.0套裝系統(tǒng)軟件中有兩張msdn(microsoft developer network)library光盤提供了vb、vf、vc+、vj+等的幫助系統(tǒng),只要用戶將其安裝,就可以使用幫助。1.3 visual foxpro6.0對(duì)系統(tǒng)軟硬件環(huán)境要求1.3.1 硬件環(huán)境安裝visual foxpro 必須具備以下的硬件系統(tǒng):一臺(tái)486、586(或更高檔)處理器的pc兼容機(jī),計(jì)算機(jī)中有8mb以上的內(nèi)存并帶有鼠標(biāo)。推薦使用vga或具有更高分辨率的監(jiān)視器。visual foxpro 的便攜式安裝需要15mb硬盤空間,

11、典型安裝需要100mb硬盤空間,最大安裝需要240mb的硬盤空間。1.3.2 軟件環(huán)境中文版visual foxpro6.0可以在windows9x/2000和windows nt 4.0版本以上(推薦使用service pack3)操作系統(tǒng)環(huán)境中使用。 1.4 visual foxpro6.0技術(shù)指標(biāo)visual foxpro6.0系統(tǒng)的技術(shù)指標(biāo)如下:1.4.1 表和索引文件單個(gè)表文件最大記錄數(shù) 1億個(gè)表文件的最大長(zhǎng)度 2gb每個(gè)記錄最多字符個(gè)數(shù) 65500個(gè)每個(gè)記錄最多字段數(shù) 255個(gè)數(shù)值字段最多字符個(gè)數(shù) 20個(gè)字符字段最多字符個(gè)數(shù) 254個(gè)日期字段字符個(gè)數(shù) 8個(gè)邏輯字段字符個(gè)數(shù) 1個(gè)每表

12、可打開的最大索引文件數(shù) 不限工作區(qū)可找開的最大索引文件數(shù) 不限關(guān)系最大數(shù) 不限關(guān)系表達(dá)式值最大長(zhǎng)度 不限1.4.2 內(nèi)存變量和數(shù)組內(nèi)存變量默認(rèn)數(shù) 1024個(gè)最大內(nèi)存變量數(shù) 65000個(gè)最大數(shù)組數(shù) 65000個(gè)每個(gè)數(shù)組元素最大數(shù) 65000個(gè)1.4.3 程序和過(guò)程文件源程序文件中最大行數(shù) 不限編譯程序模塊的最大長(zhǎng)度 65kb每一文件最大過(guò)程數(shù) 不限do命令最多嵌套層數(shù) 126read嵌套最大數(shù) 5嵌套結(jié)構(gòu)化命令最大層數(shù) 384嵌套參數(shù)最大數(shù) 271.4.4 報(bào)表報(bào)表表頭最多字符數(shù) 254個(gè)報(bào)表定義中對(duì)象最大數(shù) 不限報(bào)表定義最大長(zhǎng)度 20層最大分組層數(shù) 1281.4.5 其他打開窗口的最大數(shù) 不限

13、打開browse窗口最大數(shù) 255個(gè)字符串的最大字符數(shù) 2gb每個(gè)命令行的最大字符數(shù) 8192個(gè)報(bào)表中每個(gè)標(biāo)簽控件的最大字符數(shù) 252個(gè)每個(gè)宏替換行的最大字符數(shù) 8192個(gè)可打開文件最大數(shù) 受操作系統(tǒng)的限制可以由sql select語(yǔ)句選擇的最大字段數(shù) 255個(gè)1.5 visual foxpro的幫助系統(tǒng)visual foxpro可以通過(guò)“幫助”|“microsoft visual foxpro 的幫助主題”|“目錄”|“搜索”|“索引”命令等獲得幫助。當(dāng)然前提是先要安裝microsoft studio6.0包中的msdn library兩張光盤,如圖1.1所示就是單擊“幫助”|“micros

14、oft visual foxpro幫助主題”命令后彈出的msdn的界面。 圖1.1從圖中可見,用戶可以用不同的方式來(lái)使用幫助功能,如“目錄”方式、“索引”方式、“搜索”方式與“書簽”方式。msdn就是一部很好的工具書,用戶可以通過(guò)它學(xué)習(xí)一些書本中學(xué)不到的知識(shí)。2 應(yīng)用程序總體設(shè)計(jì)2.1 系統(tǒng)需求分析數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的最終目的就是為用戶提供一個(gè)滿足長(zhǎng)期需要的軟件產(chǎn)品。因此,成功地開發(fā)一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的關(guān)鍵之一是要詳細(xì)地了解用戶的需求,然后再圍繞用戶的需求進(jìn)行開發(fā)。2.1.1 用戶要求: 對(duì)職工基本及其工資情況進(jìn)行系統(tǒng)管理; 能夠隨時(shí)添加、刪除、修改職工基本信息; 能夠隨時(shí)通過(guò)各種方式查詢職工工資

15、發(fā)放情況; 對(duì)職工借款和扣款進(jìn)行相應(yīng)處理; 能按各種要求打印出職工工資發(fā)放表。2.1.2 系統(tǒng)性能要求: 準(zhǔn)確可靠、功能齊全; 操作直觀、方便、用戶界面友好; 占用系統(tǒng)資源容量少,運(yùn)行穩(wěn)定; 便于擴(kuò)充及維護(hù)。2.2 設(shè)計(jì)目標(biāo)本次設(shè)計(jì)的主要目標(biāo)是通過(guò)利用當(dāng)今最流行可視化編程工具visual foxpro6.0設(shè)計(jì)一應(yīng)用程序。利用vf的數(shù)據(jù)庫(kù)編程,編寫程序來(lái)實(shí)現(xiàn)用戶對(duì)工資數(shù)據(jù)的錄入、修改、檢索等操作。讓用戶方便地掌握職工的基本信息與職工出勤及扣款情況,利用編程來(lái)實(shí)現(xiàn)信息的輸入、編輯(刪、插、改)、檢索及數(shù)據(jù)備份等功能,繼而完成對(duì)工資信息數(shù)據(jù)庫(kù)的必要操作。2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)

16、中是一項(xiàng)非常重要的工作,一個(gè)數(shù)據(jù)庫(kù)性能的好壞將直接影響數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能。2.3.1 數(shù)據(jù)需求分析在工資管理系統(tǒng)中,首先應(yīng)必須對(duì)每個(gè)職工的基本信息如姓名、性別、所在部門、職稱、職務(wù)、參加工作日期、上崗日期等進(jìn)行記錄并存入數(shù)據(jù)庫(kù),以方便進(jìn)行查詢。其次同理應(yīng)當(dāng)對(duì)職工的相關(guān)資料進(jìn)行記錄并存入數(shù)據(jù)庫(kù),以利于管理員了解職工的情況。另外,對(duì)職工出勤情況、職工借款及扣款明細(xì)等也必須進(jìn)行記錄。最后,為識(shí)別用戶身份(管理員)應(yīng)專門設(shè)計(jì)一個(gè)口令表,以便賦于用戶使用權(quán)。2.3.2 各數(shù)據(jù)表的結(jié)構(gòu)根據(jù)以上的數(shù)據(jù)需求分析,建立以下幾個(gè)數(shù)據(jù)表分別為:ryb.dbf(職工信息表)、bmb.dbf(部門表)、zcb.dbf

17、(職稱表)、gxb.dbf(崗序表)、zwb.dbf(職務(wù)表)、kkb.dbf(扣款表)、cqb.dbf(出勤表)、mmb.dbf(用戶登錄表)各表的具體結(jié)構(gòu)如下: 所用數(shù)據(jù)表的結(jié)構(gòu)1.ryb.dbf 唯一索引:bh,普通索引:bmdm字段名字段類型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題bh字符型4職工編碼xm字符型6姓名xb字符型2性別bmdm字符型2部門編碼zwdm字符型2職務(wù)編碼zcdm字符型2職稱編碼cjgzrq日期型8參加工作日期sgrq日期型8上崗日期gwgz數(shù)值型72崗位工資表2.12. bmb.dbf 唯一索引:bmdm字段名字段類型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題bmdm字符型2部門編碼bmmc字符型

18、14單位表2.23. zcb.dbf 字段名字段類型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題zcdm字符型2職稱編碼zcmc字符型10職稱名稱表2.34. gxb.dbf 字段名字段類型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題gwdm字符型2崗序編碼gxmc字符型10崗序名稱gxgz數(shù)值型72崗序工資表2.45. zwb.dbf 字段名字段類型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題zwdm字符型2職務(wù)編碼zwmc字符型10職務(wù)名稱gxmc字符型10崗序名稱表2.56.kkb.dbf 唯一索引:bh字段名字段類型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題bh字符型4職工編碼jkse數(shù)值型82借款sdfy數(shù)值型62水電費(fèi)wsf數(shù)值型62衛(wèi)生費(fèi)ccf數(shù)值型62存車費(fèi)kk

19、nf字符型4年份kkyf字符型2月份表2.67.cqb.dbf 唯一索引:bh字段名字段類型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題bh字符型4職工編碼cqts數(shù)值型41出勤天數(shù)bjts數(shù)值型41病假天數(shù)sjts數(shù)值型41事假天數(shù)hsjts數(shù)值型41婚喪假天數(shù)cqnf字符型4年份cqyf字符型2月份表2.78. mmb.dbf字段名字段類型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題yhm字符型6用戶姓名mm字符型6用戶密碼表2.8 相關(guān)表間的關(guān)聯(lián)根據(jù)系統(tǒng)數(shù)據(jù)數(shù)據(jù)處理的需要,相關(guān)表之間進(jìn)行了關(guān)聯(lián),關(guān)聯(lián)情況如圖2.1所示。圖中用矩形框表示表,需要關(guān)聯(lián)的兩個(gè)表用線段連接,連線上方標(biāo)出了關(guān)聯(lián)關(guān)鍵字ryb.dbfcqb.dbfkkb.dbf

20、bmb.dbfbhbhbmdm。 表間關(guān)聯(lián)的設(shè)計(jì)(圖2.1) 需用到的公式本系統(tǒng)用到以下幾個(gè)計(jì)算式:式(2.1) 職工工資=職工日工資職工月出勤天數(shù)+職工日工資職工月病假天數(shù)80%;式(2.2) 職工崗位工資=職工工資40%;式(2.3) 職工效益工資=職工工資40%;式(2.4) 職工職能工資=職工工資20%;式(2.5) 應(yīng)付工資=職工崗位工資+職工效益工資+職工職能工資;式(2.6) 扣款=職工借款-水電費(fèi)-衛(wèi)生費(fèi)-存車費(fèi);式(2.7) 實(shí)付工資=應(yīng)付工資-扣款。2.4 系統(tǒng)模塊劃分及各模塊包含的表單登錄模塊中主要設(shè)置系統(tǒng)管理員級(jí)別的用戶。系統(tǒng)管理員登錄成功后可以進(jìn)行所有功能模塊的操作。

21、其用戶登錄后的模塊功能如下:2.4.1 數(shù)據(jù)錄入模塊 此模塊實(shí)現(xiàn)對(duì)職工的基本信息,職工的出勤情況及職工的借款和扣款情況進(jìn)行登記。分別用三個(gè)表單實(shí)現(xiàn)對(duì)職工信息、職工出勤、職工借(扣)款的錄入等功能。操作對(duì)象分別為ryb.dbf(職工信息表)、cqb.dbf(出勤表)和kkb.dbf(扣款表)。包含的表單分別為:rydj.scx、kqdj.scx、kkdj.scx。2.4.2 工資計(jì)算模塊 此模塊實(shí)現(xiàn)對(duì)所有職工的工資進(jìn)行按月計(jì)算,對(duì)某部門的全部職工按月計(jì)算工資,按月計(jì)算單個(gè)職工工資。分別用三個(gè)表單實(shí)現(xiàn)上述功能。包含的表單分別為:jsqbgz.scx、jsdwgz.scx、jsdrgz.scx。2.

22、4.3 工資查詢模塊 此模塊實(shí)現(xiàn)按部門查詢職工工資和按姓名查詢職工工資。分別用兩個(gè)表單實(shí)現(xiàn)上述功能。包含的表單分別為:abmcz.scx、axmcz.scx。2.4.4 工資打印模塊 此模塊實(shí)現(xiàn)按部門打印職工工資發(fā)放表和按姓名打印職工工資條。分別用兩個(gè)表單調(diào)用相關(guān)報(bào)表實(shí)現(xiàn)上述功能。包含的表單和報(bào)表分別為:abmdy.scx、dydwgz.frx和axmdy.scx、dygrgz.frx。2.4.5 系統(tǒng)設(shè)置模塊 此模塊實(shí)現(xiàn)系統(tǒng)管理員設(shè)置和密碼修改兩項(xiàng)功能。分別用兩個(gè)表單實(shí)現(xiàn),操作對(duì)象為mmb.dbf(用戶登錄表)。包含的表單分別為:glysz.scx、xgmm.scx。2.4.6 退出系統(tǒng)模塊

23、 此模塊實(shí)現(xiàn)系統(tǒng)的退出功能,用clear events命令來(lái)實(shí)現(xiàn)。2.5 系統(tǒng)數(shù)據(jù)流程圖2.5.1 系統(tǒng)總體結(jié)構(gòu)模塊劃分圖(見圖2.2)2.5.2 系統(tǒng)總體運(yùn)行流程圖(見圖2.3)2.5.3 重要模塊運(yùn)行流程圖 人員錄入模塊流程圖(見圖2.4) 按職工姓名計(jì)算工資模塊流程圖(見圖2.5)登錄系統(tǒng)數(shù)據(jù)錄入工資計(jì)算工資查詢工資打印退出系統(tǒng)系統(tǒng)設(shè)置人員錄入按月計(jì)算所有職工工資按月按單位計(jì)算職工工資按月按職工姓名計(jì)算工資按部門查詢按職工姓名查詢各單位工資發(fā)放表個(gè)人工資條管理員設(shè)置修改密碼考勤錄入扣款錄入總體結(jié)構(gòu)圖(圖2.2)執(zhí)行系統(tǒng)各功能模塊啟動(dòng)工資管理系統(tǒng)顯示初始化界面顯示系統(tǒng)登錄窗口生成系統(tǒng)菜單退

24、出系統(tǒng)y密碼為真?輸入用戶名和密碼n圖2.3 選擇“按月按職工姓名計(jì)算工資”菜單項(xiàng)(顯示圖3.10界面)依次輸入各項(xiàng)計(jì)算值單擊“開始計(jì)算”按鈕(執(zhí)行zggrgz.scx)依次填入各項(xiàng)數(shù)據(jù)(顯示如圖3.11界面)單擊“返回”按鈕返回初始狀態(tài)(圖3.3 所示界面)選擇“退出”按鈕(返回系統(tǒng)主菜單)選擇“人員錄入”菜單項(xiàng)(顯示圖3.3界面)依次輸入各項(xiàng)值自動(dòng)計(jì)算工齡、崗齡、崗位工資選擇“增頁(yè)”按鈕(為ryb.dbf增加記錄)確定增加記錄?將新記錄加入ryb.dbf返回初始狀態(tài)(圖3.3 所示界面)選擇“退出”按鈕(返回系統(tǒng)主菜單)yn 圖2.4圖2.4所示為“人員錄入”模塊中的增加功能運(yùn)行流程,其它

25、功能流程與此相同不再另畫。2.6 系統(tǒng)總開發(fā)環(huán)境設(shè)置 在f:建立“畢業(yè)設(shè)計(jì)”文件夾,在vfp6.0中設(shè)置默認(rèn)目錄為f:畢業(yè)設(shè)計(jì),并設(shè)置表單最大設(shè)計(jì)區(qū)為640480。 在畢業(yè)設(shè)計(jì)文件夾下新建立pic文件夾,以便用來(lái)保存在表單設(shè)計(jì)中用到的圖片。 以2.3.2中各數(shù)據(jù)表結(jié)構(gòu)為準(zhǔn)建立數(shù)據(jù)表。 圖2.53 模塊的實(shí)現(xiàn)3.1 各功能表單的編制3.1.1 啟動(dòng)畫面及系統(tǒng)登錄 cshjm.scx(系統(tǒng)啟動(dòng)界面表單) 1)、表單界面運(yùn)行程序后,將顯示如下初始化界面:(見圖3.1)2)、主要控件及事件代碼:label2(單擊鼠標(biāo)左鍵進(jìn)入系統(tǒng))的click事件:thisform.releasedo form xtd

26、l執(zhí)行l(wèi)abel2(單擊鼠標(biāo)左鍵進(jìn)入系統(tǒng))按鈕的click事件后,將調(diào)用xtdl.scx表單顯示如下結(jié)果: (見圖3.2) xtdl.scx(系統(tǒng)登錄表單)1)、主要控件及事件代碼:command1(確定)按鈕的click事件:dlyhm=thisform.text1.valuesele 1use mmbgo toploca for alltrim(yhm)=alltrim(dlyhm)if mmb.mm=alltrim(thisform.text2.value) thisform.visible=.f. do gzglcd.mpr read event quitelse messagebox

27、(密碼錯(cuò),禁止進(jìn)入系統(tǒng)!) mand2.clickendifcommand2(退出)按鈕的click事件:thisform.release如果密碼輸入正確,則調(diào)用gzglcd.mpr菜單程序進(jìn)入系統(tǒng)執(zhí)行下列功能;否則就退出系統(tǒng)。圖3.1圖3.23.1.2 人員錄入rydj.scx(職工基本信息登記表單) 表單界面及包含的控件:(見圖3.3)控件:form1、label1、label2、label3、label4、label5、label6、label7、label8、label9、label10、label11、lblxm、lblxb、lblbm、lblzw、lblzc、lblgx、lblcj

28、gzrq、lblsgrq、lblgwgz、text1、text2、text3、text4、text5、text6、text7、text8、text9、text10、combo1、combo2、combo3、combo4、line1、line2、commandgroup1、check1、check2 幾個(gè)控件的重要屬性:1)、form1屬性 windowstate:0-普通2)、combo1屬性 rowsource:bmb.bmmc, rowsourcetype:6-字段combo2屬性 rowsource:zcb.zcmc, rowsourcetype:6-字段combo3屬性 rowsour

29、ce:zwb.zwmc, rowsourcetype:6-字段combo4屬性 rowsource:gxb.gxmc, rowsourcetype:6-字段圖3.3 主要的事件代碼:text6的lostfocus事件:&為text1賦值,當(dāng)參加工作日期輸入完畢,則自動(dòng)計(jì)算工齡并填入text1文本框。thisform.text1.value=ltrim(str(year(date()-val(thisform.text4.value)+1)text9的lostfocus事件:&為text2賦值,當(dāng)上崗日期輸入完畢,則自動(dòng)計(jì)算崗齡并填入text2文本框。thisform.text2.value=l

30、trim(str(year(date()-val(thisform.text7.value)+1)combo4的lostfocus事件:&為text10賦值,當(dāng)崗序輸入完畢,則自動(dòng)計(jì)算崗位工資并填入text10文本框。 sele gxb go top gl=val(thisform.text1.value) do case case gl=1 and gl=5 and gl=10 glgz=3*gl endc zggx=bo4.value loca for gxmc=zggx zggwgz=glgz+gxb.gxgz thisform.text10.value=ltrim(str(zggwgz

31、)commandgroup1的click事件:sele rybdo case case this.value=1 &下頁(yè) thisform.check1.value=0 thisform.check2.value=0 if recn()=1 and gl=5 and gl=10 zggxgz=ryb.gwgz-3*gl endc loca for gxgz=zggxgz bo4.value=gxb.gxmc&填寫崗序名稱 if ryb.xb=男 thisform.check1.value=1 else thisform.check2.value=1 endif &計(jì)算性別 endi case

32、this.value=2 &上頁(yè) thisform.check1.value=0 thisform.check2.value=0 if recn()1 skip -1 set strictdate to 0 &使用通常的日期格式 thisform.text1.value=ltrim(str(year(date()-year(ryb.cjgzrq)+1) &計(jì)算工齡 thisform.text2.value=ltrim(str(year(date()-year(ryb.sgrq)+1) &計(jì)算崗齡 thisform.text3.value=ryb.xm &填寫姓名 thisform.text4.

33、value=ltrim(str(year(ryb.cjgzrq)&填寫參加工作年份 thisform.text5.value=ltrim(str(month(ryb.cjgzrq)&填寫參加工作月份 thisform.text6.value=ltrim(str(day(ryb.cjgzrq)&填寫參加工作日 thisform.text7.value=ltrim(str(year(ryb.sgrq)&填寫上崗年份 thisform.text8.value=ltrim(str(month(ryb.sgrq)&填寫上崗月份 thisform.text9.value=ltrim(str(day(ryb

34、.sgrq)&填寫上崗日 thisform.text10.value=ltrim(str(ryb.gwgz)&填寫崗位工資 sele bmb&打開部門表 go top szbmbm=ryb.bmdm loca for bmdm=szbmbm bo1.value=bmb.bmmc&填寫所在部門名稱 sele zwb&打開職務(wù)表 go top zgzwbm=ryb.zwdm loca for zwdm=zgzwbm bo3.value=zwb.zwmc&填寫所擔(dān)任職務(wù)名稱 sele zcb&打開職稱表 go top zgzcbm=ryb.zcdm loca for zcdm=zgzcbm bo2.

35、value=zcb.zcmc&填寫所取得職稱名稱 sele gxb&打開崗序表 go top gl=val(thisform.text1.value) do case case gl=1 and gl=5 and gl=10 zggxgz=ryb.gwgz-3*gl endc loca for gxgz=zggxgz bo4.value=gxb.gxmc&填寫崗序名稱 if ryb.xb=男 thisform.check1.value=1 else thisform.check2.value=1 endif &計(jì)算性別 endi case this.value=3 &首頁(yè) thisform.c

36、heck1.value=0 thisform.check2.value=0 go top set strictdate to 0 &使用通常的日期格式 thisform.text1.value=ltrim(str(year(date()-year(ryb.cjgzrq)+1) &計(jì)算工齡 thisform.text2.value=ltrim(str(year(date()-year(ryb.sgrq)+1) &計(jì)算崗齡 thisform.text3.value=ryb.xm &填寫姓名 thisform.text4.value=ltrim(str(year(ryb.cjgzrq)&填寫參加工作

37、年份 thisform.text5.value=ltrim(str(month(ryb.cjgzrq)&填寫參加工作月份 thisform.text6.value=ltrim(str(day(ryb.cjgzrq)&填寫參加工作日 thisform.text7.value=ltrim(str(year(ryb.sgrq)&填寫上崗年份 thisform.text8.value=ltrim(str(month(ryb.sgrq)&填寫上崗月份 thisform.text9.value=ltrim(str(day(ryb.sgrq)&填寫上崗日 thisform.text10.value=ltri

38、m(str(ryb.gwgz)&填寫崗位工資 sele bmb&打開部門表 go top szbmbm=ryb.bmdm loca for bmdm=szbmbm bo1.value=bmb.bmmc&填寫所在部門名稱 sele zwb&打開職務(wù)表 go top zgzwbm=ryb.zwdm loca for zwdm=zgzwbm bo3.value=zwb.zwmc&填寫所擔(dān)任職務(wù)名稱 sele zcb&打開職稱表 go top zgzcbm=ryb.zcdm loca for zcdm=zgzcbm bo2.value=zcb.zcmc&填寫所取得職稱名稱 sele gxb&打開崗序表

39、 go top gl=val(thisform.text1.value) do case case gl=1 and gl=5 and gl=10 zggxgz=ryb.gwgz-3*gl endc loca for gxgz=zggxgz bo4.value=gxb.gxmc&填寫崗序名稱 if ryb.xb=男 thisform.check1.value=1 else thisform.check2.value=1 endif &計(jì)算性別 case this.value=4 &末頁(yè) thisform.check1.value=0 thisform.check2.value=0 go bot

40、t set strictdate to 0 &使用通常的日期格式 thisform.text1.value=ltrim(str(year(date()-year(ryb.cjgzrq)+1) &計(jì)算工齡 thisform.text2.value=ltrim(str(year(date()-year(ryb.sgrq)+1) &計(jì)算崗齡 thisform.text3.value=ryb.xm &填寫姓名待添加的隱藏文字內(nèi)容1 thisform.text4.value=ltrim(str(year(ryb.cjgzrq)&填寫參加工作年份 thisform.text5.value=ltrim(st

41、r(month(ryb.cjgzrq)&填寫參加工作月份 thisform.text6.value=ltrim(str(day(ryb.cjgzrq)&填寫參加工作日 thisform.text7.value=ltrim(str(year(ryb.sgrq)&填寫上崗年份 thisform.text8.value=ltrim(str(month(ryb.sgrq)&填寫上崗月份 thisform.text9.value=ltrim(str(day(ryb.sgrq)&填寫上崗日 thisform.text10.value=ltrim(str(ryb.gwgz)&填寫崗位工資 sele bmb&

42、打開部門表 go top szbmbm=ryb.bmdm loca for bmdm=szbmbm bo1.value=bmb.bmmc&填寫所在部門名稱 sele zwb&打開職務(wù)表 go top zgzwbm=ryb.zwdm loca for zwdm=zgzwbm bo3.value=zwb.zwmc&填寫所擔(dān)任職務(wù)名稱 sele zcb&打開職稱表 go top zgzcbm=ryb.zcdm loca for zcdm=zgzcbm bo2.value=zcb.zcmc&填寫所取得職稱名稱 sele gxb&打開崗序表 go top gl=val(thisform.text1.value) do case case gl=1 and gl=5 and gl=10 zggxgz=ryb.gwgz-3*gl endc loca for gxgz=zggxgz bo4.value=gxb.gxmc&填寫崗序名稱 if ryb.xb=男 thisform.check1.value=1 else thisform.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論