




免費(fèi)預(yù)覽已結(jié)束,剩余50頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘 要隨著人類(lèi)文明的不斷進(jìn)步,人們?cè)絹?lái)越重視工作的高效性和準(zhǔn)確性,也越來(lái)越渴望擺脫某些重復(fù)性的繁重勞動(dòng)。而工資方面的管理又涉及到大量的計(jì)算、填寫(xiě)等簡(jiǎn)單重復(fù)性動(dòng)作,所以有必要實(shí)現(xiàn)工資管理方面的改革,將人們解放出來(lái)做一些更有意義的工作?,F(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ì)算,這種方法既不方便,又容易出問(wèn)題,顯然已很不適用?,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é)專(zhuān)業(yè),我決定運(yùn)用所學(xué)到的計(jì)算機(jī)專(zhuān)業(yè)知識(shí)及信息管理專(zhuān)業(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è)小小的成果與她的熱情、全面的幫助是分不開(kāi)的。 關(guān)鍵詞:數(shù)據(jù)庫(kù);sql語(yǔ)言;vfp6;工資管理;窗體目錄1 visual foxpro 6.0概述1.1 visual foxpro 6.0 系統(tǒng)簡(jiǎn)介1.2 visual foxpro6.0特點(diǎn)1.2.1 友好的用戶(hù)界面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ú)特的開(kāi)發(fā)客戶(hù)/服務(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 程序和過(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 用戶(hù)要求: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 工資查詢(xún)模塊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)總開(kāi)發(fā)環(huán)境設(shè)置3 模塊的實(shí)現(xiàn)3.1 各功能表單的編制3.1.1 啟動(dòng)畫(huà)面及系統(tǒng)登錄3.1.2 人員錄入3.1.3 考勤錄入3.1.4 扣款錄入3.1.5 按月計(jì)算所有職工工資3.1.6 按月按部門(mén)計(jì)算職工工資3.1.7 按月按職工姓名計(jì)算工資3.1.8 按部門(mén)查詢(xún)職工工資3.1.9 按職工姓名查詢(xún)工資3.1.10 按部門(mén)打印職工工資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)用程序開(kāi)發(fā)而設(shè)計(jì)的、功能強(qiáng)大的、面向?qū)ο蟮木幊汰h(huán)境。無(wú)論是組織信息、運(yùn)行查詢(xún)、創(chuàng)建集成的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),還是為最終用戶(hù)編寫(xiě)功能全面的數(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類(lèi)數(shù)據(jù)庫(kù)歷史上最強(qiáng)大的數(shù)據(jù)庫(kù)管理系統(tǒng),具有windows界面、采用面向?qū)ο蟮拈_(kāi)發(fā)方式、客戶(hù)/服務(wù)器的數(shù)據(jù)連接以及ole的應(yīng)用程序訪(fǎng)問(wèn)。它還提供了許多可視化開(kāi)發(fā)工具,如向?qū)А⑸善?、設(shè)計(jì)器等,使用戶(hù)能簡(jiǎn)單而迅速地完成數(shù)據(jù)庫(kù)操作或應(yīng)用程序的開(kāi)發(fā)。1.2 visual 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已有廣泛的用戶(hù)群,但更重要的理由是visual foxpro6.0有很多的新功能及特性。1.2.1 友好的用戶(hù)界面visual foxpro6.0系統(tǒng)提供了一套由菜單驅(qū)動(dòng),輔助向?qū)?、?duì)話(huà)框、設(shè)計(jì)器、表達(dá)式生成器等簡(jiǎn)潔、功能全面的用戶(hù)界面。使用戶(hù)可以在友好界面的支持下,用命令或菜單方式快捷地實(shí)現(xiàn)對(duì)系統(tǒng)的各種操作,從而完成對(duì)數(shù)據(jù)管理的任務(wù)。1.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)化查詢(xún)語(yǔ)言-sql語(yǔ)言,可以非常有效地訪(fǎng)問(wèn)索引文件的數(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ì)器等靈活的工具,這些工具大大提高了開(kāi)發(fā)應(yīng)用程序的效率。1.2.4 數(shù)據(jù)庫(kù)操作簡(jiǎn)便visual foxpro6.0系統(tǒng)中數(shù)據(jù)庫(kù)創(chuàng)建與編輯都是在可視化界面上進(jìn)行的,對(duì)用戶(hù)來(lái)說(shuō)是全透明的。如增刪表、建立索引、查詢(xún)、視圖、建立表間的關(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ú)特的開(kāi)發(fā)客戶(hù)/服務(wù)器解決方案visual foxpro6.0系統(tǒng)通過(guò)odbc可以方便地直接訪(fǎng)問(wèn)、存儲(chǔ)、檢索和處理服務(wù)器平臺(tái)上的信息,提供了客戶(hù)/服務(wù)器解決方案。1.2.7 可以升級(jí)早期版本visual foxpro6.0系統(tǒng)對(duì)foxpro生成的應(yīng)用程序向下兼容。1.2.8 有很好的幫助系統(tǒng)visual foxpro6.0提供了強(qiáng)大的幫助功能,在microsoft visual studio 6.0套裝系統(tǒng)軟件中有兩張msdn(microsoft developer network)library光盤(pán)提供了vb、vf、vc+、vj+等的幫助系統(tǒng),只要用戶(hù)將其安裝,就可以使用幫助。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硬盤(pán)空間,典型安裝需要100mb硬盤(pán)空間,最大安裝需要240mb的硬盤(pán)空間。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è)每表可打開(kāi)的最大索引文件數(shù) 不限工作區(qū)可找開(kāi)的最大索引文件數(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 其他打開(kāi)窗口的最大數(shù) 不限打開(kāi)browse窗口最大數(shù) 255個(gè)字符串的最大字符數(shù) 2gb每個(gè)命令行的最大字符數(shù) 8192個(gè)報(bào)表中每個(gè)標(biāo)簽控件的最大字符數(shù) 252個(gè)每個(gè)宏替換行的最大字符數(shù) 8192個(gè)可打開(kāi)文件最大數(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兩張光盤(pán),如圖1.1所示就是單擊“幫助”|“microsoft visual foxpro幫助主題”命令后彈出的msdn的界面。 圖1.1從圖中可見(jiàn),用戶(hù)可以用不同的方式來(lái)使用幫助功能,如“目錄”方式、“索引”方式、“搜索”方式與“書(shū)簽”方式。msdn就是一部很好的工具書(shū),用戶(hù)可以通過(guò)它學(xué)習(xí)一些書(shū)本中學(xué)不到的知識(shí)。2 應(yīng)用程序總體設(shè)計(jì)2.1 系統(tǒng)需求分析數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的最終目的就是為用戶(hù)提供一個(gè)滿(mǎn)足長(zhǎng)期需要的軟件產(chǎn)品。因此,成功地開(kāi)發(fā)一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的關(guān)鍵之一是要詳細(xì)地了解用戶(hù)的需求,然后再?lài)@用戶(hù)的需求進(jìn)行開(kāi)發(fā)。2.1.1 用戶(hù)要求: 對(duì)職工基本及其工資情況進(jìn)行系統(tǒng)管理; 能夠隨時(shí)添加、刪除、修改職工基本信息; 能夠隨時(shí)通過(guò)各種方式查詢(xún)職工工資發(fā)放情況; 對(duì)職工借款和扣款進(jìn)行相應(yīng)處理; 能按各種要求打印出職工工資發(fā)放表。2.1.2 系統(tǒng)性能要求: 準(zhǔn)確可靠、功能齊全; 操作直觀、方便、用戶(hù)界面友好; 占用系統(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ù)編程,編寫(xiě)程序來(lái)實(shí)現(xiàn)用戶(hù)對(duì)工資數(shù)據(jù)的錄入、修改、檢索等操作。讓用戶(hù)方便地掌握職工的基本信息與職工出勤及扣款情況,利用編程來(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)中是一項(xiàng)非常重要的工作,一個(gè)數(shù)據(jù)庫(kù)性能的好壞將直接影響數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能。2.3.1 數(shù)據(jù)需求分析在工資管理系統(tǒng)中,首先應(yīng)必須對(duì)每個(gè)職工的基本信息如姓名、性別、所在部門(mén)、職稱(chēng)、職務(wù)、參加工作日期、上崗日期等進(jìn)行記錄并存入數(shù)據(jù)庫(kù),以方便進(jìn)行查詢(xún)。其次同理應(yīng)當(dāng)對(duì)職工的相關(guān)資料進(jìn)行記錄并存入數(shù)據(jù)庫(kù),以利于管理員了解職工的情況。另外,對(duì)職工出勤情況、職工借款及扣款明細(xì)等也必須進(jìn)行記錄。最后,為識(shí)別用戶(hù)身份(管理員)應(yīng)專(zhuān)門(mén)設(shè)計(jì)一個(gè)口令表,以便賦于用戶(hù)使用權(quán)。2.3.2 各數(shù)據(jù)表的結(jié)構(gòu)根據(jù)以上的數(shù)據(jù)需求分析,建立以下幾個(gè)數(shù)據(jù)表分別為:ryb.dbf(職工信息表)、bmb.dbf(部門(mén)表)、zcb.dbf(職稱(chēng)表)、gxb.dbf(崗序表)、zwb.dbf(職務(wù)表)、kkb.dbf(扣款表)、cqb.dbf(出勤表)、mmb.dbf(用戶(hù)登錄表)各表的具體結(jié)構(gòu)如下: 所用數(shù)據(jù)表的結(jié)構(gòu)1.ryb.dbf 唯一索引:bh,普通索引:bmdm字段名字段類(lèi)型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題bh字符型4職工編碼xm字符型6姓名xb字符型2性別bmdm字符型2部門(mén)編碼zwdm字符型2職務(wù)編碼zcdm字符型2職稱(chēng)編碼cjgzrq日期型8參加工作日期sgrq日期型8上崗日期gwgz數(shù)值型72崗位工資表2.12. bmb.dbf 唯一索引:bmdm字段名字段類(lèi)型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題bmdm字符型2部門(mén)編碼bmmc字符型14單位表2.23. zcb.dbf 字段名字段類(lèi)型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題zcdm字符型2職稱(chēng)編碼zcmc字符型10職稱(chēng)名稱(chēng)表2.34. gxb.dbf 字段名字段類(lèi)型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題gwdm字符型2崗序編碼gxmc字符型10崗序名稱(chēng)gxgz數(shù)值型72崗序工資表2.45. zwb.dbf 字段名字段類(lèi)型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題zwdm字符型2職務(wù)編碼zwmc字符型10職務(wù)名稱(chēng)gxmc字符型10崗序名稱(chēng)表2.56.kkb.dbf 唯一索引:bh字段名字段類(lèi)型寬度小數(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存車(chē)費(fèi)kknf字符型4年份kkyf字符型2月份表2.67.cqb.dbf 唯一索引:bh字段名字段類(lèi)型寬度小數(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字段名字段類(lèi)型寬度小數(shù)點(diǎn)位數(shù)顯示標(biāo)題yhm字符型6用戶(hù)姓名mm字符型6用戶(hù)密碼表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è)表用線(xiàn)段連接,連線(xiàn)上方標(biāo)出了關(guān)聯(lián)關(guān)鍵字ryb.dbfcqb.dbfkkb.dbfbmb.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)-存車(chē)費(fèi);式(2.7) 實(shí)付工資=應(yīng)付工資-扣款。2.4 系統(tǒng)模塊劃分及各模塊包含的表單登錄模塊中主要設(shè)置系統(tǒng)管理員級(jí)別的用戶(hù)。系統(tǒng)管理員登錄成功后可以進(jìn)行所有功能模塊的操作。其用戶(hù)登錄后的模塊功能如下: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ì)某部門(mén)的全部職工按月計(jì)算工資,按月計(jì)算單個(gè)職工工資。分別用三個(gè)表單實(shí)現(xiàn)上述功能。包含的表單分別為:jsqbgz.scx、jsdwgz.scx、jsdrgz.scx。2.4.3 工資查詢(xún)模塊 此模塊實(shí)現(xiàn)按部門(mén)查詢(xún)職工工資和按姓名查詢(xún)職工工資。分別用兩個(gè)表單實(shí)現(xiàn)上述功能。包含的表單分別為:abmcz.scx、axmcz.scx。2.4.4 工資打印模塊 此模塊實(shí)現(xiàn)按部門(mé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(用戶(hù)登錄表)。包含的表單分別為:glysz.scx、xgmm.scx。2.4.6 退出系統(tǒng)模塊 此模塊實(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)模塊劃分圖(見(jiàn)圖2.2)2.5.2 系統(tǒng)總體運(yùn)行流程圖(見(jiàn)圖2.3)2.5.3 重要模塊運(yùn)行流程圖 人員錄入模塊流程圖(見(jiàn)圖2.4) 按職工姓名計(jì)算工資模塊流程圖(見(jiàn)圖2.5)登錄系統(tǒng)數(shù)據(jù)錄入工資計(jì)算工資查詢(xún)工資打印退出系統(tǒng)系統(tǒng)設(shè)置人員錄入按月計(jì)算所有職工工資按月按單位計(jì)算職工工資按月按職工姓名計(jì)算工資按部門(mén)查詢(xún)按職工姓名查詢(xún)各單位工資發(fā)放表個(gè)人工資條管理員設(shè)置修改密碼考勤錄入扣款錄入總體結(jié)構(gòu)圖(圖2.2)執(zhí)行系統(tǒng)各功能模塊啟動(dòng)工資管理系統(tǒng)顯示初始化界面顯示系統(tǒng)登錄窗口生成系統(tǒng)菜單退出系統(tǒng)y密碼為真?輸入用戶(hù)名和密碼n圖2.3 選擇“按月按職工姓名計(jì)算工資”菜單項(xiàng)(顯示圖3.10界面)依次輸入各項(xiàng)計(jì)算值單擊“開(kāi)始計(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)行流程,其它功能流程與此相同不再另畫(huà)。2.6 系統(tǒng)總開(kāi)發(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)畫(huà)面及系統(tǒng)登錄 cshjm.scx(系統(tǒng)啟動(dòng)界面表單) 1)、表單界面運(yùn)行程序后,將顯示如下初始化界面:(見(jiàn)圖3.1)2)、主要控件及事件代碼:label2(單擊鼠標(biāo)左鍵進(jìn)入系統(tǒng))的click事件:thisform.releasedo form xtdl執(zhí)行l(wèi)abel2(單擊鼠標(biāo)左鍵進(jìn)入系統(tǒng))按鈕的click事件后,將調(diào)用xtdl.scx表單顯示如下結(jié)果: (見(jiàn)圖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(密碼錯(cuò),禁止進(jìn)入系統(tǒng)!) mand2.clickendifcommand2(退出)按鈕的click事件:thisform.release如果密碼輸入正確,則調(diào)用gzglcd.mpr菜單程序進(jìn)入系統(tǒng)執(zhí)行下列功能;否則就退出系統(tǒng)。圖3.1圖 人員錄入rydj.scx(職工基本信息登記表單) 表單界面及包含的控件:(見(jiàn)圖3.3)控件:form1、label1、label2、label3、label4、label5、label6、label7、label8、label9、label10、label11、lblxm、lblxb、lblbm、lblzw、lblzc、lblgx、lblcjgzrq、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屬性 rowsource: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=ltrim(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)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&填寫(xiě)崗序名稱(chēng) if ryb.xb=男 thisform.check1.value=1 else thisform.check2.value=1 endif &計(jì)算性別 endi case 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 &填寫(xiě)姓名 thisform.text4.value=ltrim(str(year(ryb.cjgzrq)&填寫(xiě)參加工作年份 thisform.text5.value=ltrim(str(month(ryb.cjgzrq)&填寫(xiě)參加工作月份 thisform.text6.value=ltrim(str(day(ryb.cjgzrq)&填寫(xiě)參加工作日 thisform.text7.value=ltrim(str(year(ryb.sgrq)&填寫(xiě)上崗年份 thisform.text8.value=ltrim(str(month(ryb.sgrq)&填寫(xiě)上崗月份 thisform.text9.value=ltrim(str(day(ryb.sgrq)&填寫(xiě)上崗日 thisform.text10.value=ltrim(str(ryb.gwgz)&填寫(xiě)崗位工資 sele bmb&打開(kāi)部門(mén)表 go top szbmbm=ryb.bmdm loca for bmdm=szbmbm bo1.value=bmb.bmmc&填寫(xiě)所在部門(mén)名稱(chēng) sele zwb&打開(kāi)職務(wù)表 go top zgzwbm=ryb.zwdm loca for zwdm=zgzwbm bo3.value=zwb.zwmc&填寫(xiě)所擔(dān)任職務(wù)名稱(chēng) sele zcb&打開(kāi)職稱(chēng)表 go top zgzcbm=ryb.zcdm loca for zcdm=zgzcbm bo2.value=zcb.zcmc&填寫(xiě)所取得職稱(chēng)名稱(chēng) sele gxb&打開(kāi)崗序表 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&填寫(xiě)崗序名稱(chēng) if ryb.xb=男 thisform.check1.value=1 else thisform.check2.value=1 endif &計(jì)算性別 endi case this.value=3 &首頁(yè) thisform.check1.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 &填寫(xiě)姓名 thisform.text4.value=ltrim(str(year(ryb.cjgzrq)&填寫(xiě)參加工作年份 thisform.text5.value=ltrim(str(month(ryb.cjgzrq)&填寫(xiě)參加工作月份 thisform.text6.value=ltrim(str(day(ryb.cjgzrq)&填寫(xiě)參加工作日 thisform.text7.value=ltrim(str(year(ryb.sgrq)&填寫(xiě)上崗年份 thisform.text8.value=ltrim(str(month(ryb.sgrq)&填寫(xiě)上崗月份 thisform.text9.value=ltrim(str(day(ryb.sgrq)&填寫(xiě)上崗日 thisform.text10.value=ltrim(str(ryb.gwgz)&填寫(xiě)崗位工資 sele bmb&打開(kāi)部門(mén)表 go top szbmbm=ryb.bmdm loca for bmdm=szbmbm bo1.value=bmb.bmmc&填寫(xiě)所在部門(mén)名稱(chēng) sele zwb&打開(kāi)職務(wù)表 go top zgzwbm=ryb.zwdm loca for zwdm=zgzwbm bo3.value=zwb.zwmc&填寫(xiě)所擔(dān)任職務(wù)名稱(chēng) sele zcb&打開(kāi)職稱(chēng)表 go top zgzcbm=ryb.zcdm loca for zcdm=zgzcbm bo2.value=zcb.zcmc&填寫(xiě)所取得職稱(chēng)名稱(chēng) sele gxb&打開(kāi)崗序表 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&填寫(xiě)崗序名稱(chēng) 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 bott 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 &填寫(xiě)姓名 thisform.text4.value=ltrim(str(year(ryb.cjgzrq)&填寫(xiě)參加工作年份 thisform.text5.value=ltrim(str(month(ryb.cjgzrq)&填寫(xiě)參加工作月份 thisform.text6.value=ltrim(str(day(ryb.cjgzrq)&填寫(xiě)參加工作日 thisform.text7.value=ltrim(str(year(ryb.sgrq)&填寫(xiě)上崗年份 thisform.text8.value=ltrim(str(month(ryb.sgrq)&填寫(xiě)上崗月份 thisform.text9.value=ltrim(str(day(ryb.sgrq)&填寫(xiě)上崗日 thisform.text10.value=ltrim(str(ryb.gwgz)&填寫(xiě)崗位工資 sele bmb&打開(kāi)部門(mén)表 go top szbmbm=ryb.bmdm loca for bmdm=szbmbm bo1.value=bmb.bmmc&填寫(xiě)所在部門(mén)名稱(chēng) sele zwb&打開(kāi)職務(wù)表 go top zgzwbm=ryb.zwdm loca for zwdm=zgzwbm bo3.value=zwb.zwmc&填寫(xiě)所擔(dān)任職務(wù)名稱(chēng) sele zcb&打開(kāi)職稱(chēng)表 go top zgzcbm=ryb.zcdm loca for zcdm=zgzcbm bo2.value=zcb.zcmc&填寫(xiě)所取得職稱(chēng)名稱(chēng) sele gxb&打開(kāi)崗序表 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&填寫(xiě)崗序名稱(chēng) if ryb.xb=男 thisform.check1.value=1 else thisform.check2.value=1 endif &計(jì)算性別
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 普通設(shè)備租賃管理辦法
- 液氯企業(yè)安全風(fēng)險(xiǎn)隱患排查表
- 景區(qū)物業(yè)收費(fèi)管理辦法
- 幕墻工程工作總結(jié)
- 高校數(shù)字化資源服務(wù)系統(tǒng)用戶(hù)體驗(yàn)優(yōu)化
- 當(dāng)代男性面臨的困境與挑戰(zhàn)
- 跨層網(wǎng)絡(luò)安全防護(hù)-洞察及研究
- 安全日常安全檢查表
- 光伏施工安全事故
- 數(shù)據(jù)科學(xué)在校園管理中的應(yīng)用
- translated-NCCN臨床實(shí)踐指南:非小細(xì)胞肺癌(中文版2022.V5)
- GB/T 8312-2002茶咖啡堿測(cè)定
- 通信線(xiàn)路工程施工組織設(shè)計(jì)方案【實(shí)用文檔】doc
- 護(hù)士注冊(cè)健康體檢表下載【可直接打印版本】
- 預(yù)計(jì)財(cái)務(wù)報(bào)表編制及分析課件
- 學(xué)生集體外出活動(dòng)備案表
- Q∕SY 1347-2010 石油化工蒸汽透平式壓縮機(jī)組節(jié)能監(jiān)測(cè)方法
- 西門(mén)子順序功能圖語(yǔ)言S7-Graph的應(yīng)用
- 中醫(yī)治療室工作制度管理辦法
- 提花裝造工藝技術(shù)培訓(xùn)課程
- 直播傳媒公司簡(jiǎn)介PPT課件(參考)
評(píng)論
0/150
提交評(píng)論