




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、人事信息管理系統(tǒng)的分析與設(shè)計(jì)畢業(yè)論文目錄前言錯(cuò)誤!未定義書簽。1緒論21問題的提出21.2課題的背景及意義22系統(tǒng)需求分析22系統(tǒng)開發(fā)策略22.2系統(tǒng)功能需求分析33系統(tǒng)分析與設(shè)計(jì)43系統(tǒng)功能模塊設(shè)計(jì)43.2數(shù)據(jù)庫(kù)設(shè)計(jì)er圖53.3數(shù)據(jù)庫(kù)物理結(jié)構(gòu)表的描述54代碼設(shè)計(jì)與實(shí)現(xiàn)64人事信息管理系統(tǒng)代碼設(shè)計(jì)與實(shí)現(xiàn)64.2代碼開發(fā)75軟件測(cè)試375系統(tǒng)模塊測(cè)試375.2研究成果386技術(shù)難點(diǎn)及解決386一般用戶和管理員操作權(quán)限問題386.2設(shè)置對(duì)話框屮static控件字體的大小及顏色,代碼如下:446.3設(shè)置listcontrol控件的行高,及屏蔽空白行代碼實(shí)現(xiàn): 446.4設(shè)置照片,代碼如下:446.
2、5工資的計(jì)算問題497總結(jié)及展望49致謝語(yǔ)49參考文獻(xiàn)49緒論1.1問題的提出隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的廣泛應(yīng)用,人事檔案管理系統(tǒng)成為現(xiàn)代企業(yè)管理中不 可缺少的一部分。為適應(yīng)現(xiàn)代企業(yè)制度要求,實(shí)現(xiàn)企業(yè)勞動(dòng)人事檔案管理的科學(xué)化 和規(guī)范化,從而提出了企事業(yè)單位人事檔案管理系統(tǒng)開發(fā)的課題。1.2課題的背景及意義企事業(yè)單位人事檔案管理工作是一種繁瑣的,務(wù)求準(zhǔn)確訊速的信息檢索工作。 特別是對(duì)在崗人員、離退人員、工資發(fā)放、職稱評(píng)定等信息的管理,具有典型的信 息處理管理模式。本設(shè)計(jì)以人事檔案管理為入口點(diǎn),提出了基于面向?qū)﹀璧臄?shù)據(jù)庫(kù) 應(yīng)用系統(tǒng)開發(fā)技術(shù)一一visual c+6.0為設(shè)計(jì)工具,以軟件工程設(shè)計(jì)規(guī)則為指導(dǎo)
3、的人 事檔案管理系統(tǒng)。該課題基于visual c+6.0數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)技術(shù)進(jìn)行開發(fā),達(dá) 到了提高企事業(yè)單位人事檔案管理信息處理效率的效果。2系統(tǒng)需求分析2.1系統(tǒng)開發(fā)策略本系統(tǒng)開發(fā)主要采用自頂向下的開發(fā)方式,自頂向下的方法模型如下圖所示:規(guī)范編碼測(cè)試-生加改進(jìn)圖i.開發(fā)模型圖2.2系統(tǒng)功能需求分析2.2.1人事檔案管理系統(tǒng)的系統(tǒng)分析概述現(xiàn)在的世界是信息的世界,隨著信息量越來(lái)越大以及計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算 機(jī)己成為各企事業(yè)單位管理的重要工具。人事檔案管理是對(duì)員工信息、部門信息、 崗位信息、出勤信息、工資信息的管理和快速方便的查詢。系統(tǒng)開發(fā)主要有以下六個(gè)模塊組成:a)在人事管理模塊中實(shí)現(xiàn)了,人
4、員檔案管理與人事管理等功能;b)在出勤管理模塊中實(shí)現(xiàn)了,員工的考勤管理等功能;c)在工資管理模塊屮實(shí)現(xiàn)了,員工工資的管理等功能;d)在系統(tǒng)管理模塊中實(shí)現(xiàn)了,有關(guān)基本表的更新以及數(shù)據(jù)的備份和恢復(fù)的 管理功能e)在用戶管理模塊中實(shí)現(xiàn)了,有關(guān)系統(tǒng)用戶管理及權(quán)限的分配管理;0最后用幫助模塊,讓使用者了解本系統(tǒng),并幫助使用者如何更好的使用 本系統(tǒng)。2.2.2系統(tǒng)流程圖本系統(tǒng)的系統(tǒng)流程圖如下:tlkk砒if 助扯肅ullft文3系統(tǒng)分析與設(shè)計(jì)3.1系統(tǒng)功能模塊設(shè)計(jì)模塊結(jié)構(gòu)圖圖3.模塊結(jié)構(gòu)圖3.2數(shù)據(jù)庫(kù)設(shè)計(jì)er圖(詳細(xì)信息見數(shù)據(jù)庫(kù)設(shè)計(jì)概念模型)3.3數(shù)據(jù)庫(kù)物理結(jié)構(gòu)表的描述主要表格如下:(詳細(xì)見數(shù)據(jù)庫(kù)編碼)
5、員工:em_employee存放員工基本信息 獎(jiǎng)懲記錄:em_rewpun_rec 模塊劃分:em_moduleclass 工資:em.salary 模塊劃分的值對(duì)應(yīng)表名稱模塊編號(hào)模塊名稱模塊對(duì)應(yīng)值功能描述編碼ms_idmsmodulenamemsvalue00001人事管理1控制”人事管理”下 所有的模塊00002出勤管理2控制”出勤管理”下 所有的模塊00003工資管理4控制”工資管理”下 所有的模塊00004系統(tǒng)管理8控制”系統(tǒng)管理”下:基本信息,部門 管理00005用戶管理16控制”用戶管理”下: 系統(tǒng)操作員管理, 權(quán)限管理00006數(shù)據(jù)庫(kù)管理32控制“系統(tǒng)管理”下:數(shù)據(jù)恢復(fù)備份, 系
6、統(tǒng)初始化4代碼設(shè)計(jì)與實(shí)現(xiàn)4.1人事信息管理系統(tǒng)代碼設(shè)計(jì)與實(shí)現(xiàn)4.1.1系統(tǒng)主界面不規(guī)主頁(yè) 人爭(zhēng)告理 岀勤莒理 工資莒湮用戶莒理 丟統(tǒng)簾肋人事管理系娩扳權(quán)所 ft 2008-2010n川岬施人?楊華num"damage pjformation system*" author: yanah" etna也 xlnyuyanahus 嚴(yán)圖4.系統(tǒng)主界面圖4.1.2數(shù)據(jù)庫(kù)表關(guān)聯(lián)定義詳細(xì)信息見數(shù)據(jù)庫(kù)物理模型4.1.3模塊間的關(guān)系人事管理模塊對(duì)員工的各種基木信息進(jìn)行管理,考勤管理對(duì)員工的上下班情況 及請(qǐng)假加班等情況進(jìn)行管理,工資管理對(duì)員工的基木工資、工資構(gòu)成、稅率管理、 補(bǔ)貼管
7、理及員工的月度工資管理,月度工資通過(guò)考勤管理里的加班情況、出勤情況、 請(qǐng)假情況、出差情況核算加班費(fèi)、請(qǐng)假扌ii費(fèi)、出差補(bǔ)貼等。系統(tǒng)管理主要管理單個(gè) 的基本表項(xiàng)、部門管理、數(shù)據(jù)備份與恢復(fù)等。用戶管理對(duì)系統(tǒng)的用戶操作權(quán)限及密 碼修改管理。4.2代碼開發(fā)4.2.1 cdlglogin 窗 口圖5.登錄界面圖登錄對(duì)話框通過(guò)讀取數(shù)據(jù)庫(kù)屮用戶名和密碼對(duì)用戶輸入的用戶名和密碼進(jìn)行校 驗(yàn),如果用戶名或密碼為空或錯(cuò)誤當(dāng)用戶點(diǎn)擊登錄時(shí)彈岀如下提示:圖6.用戶名輸入提不圖圖7.密碼輸入提示圖圖&密碼錯(cuò)誤提示圖圖9.用戶名錯(cuò)誤提示圖 如果非法輸入次數(shù)超過(guò)6次,將彈出如下提示:圖10.登錄出錯(cuò)提示圖系統(tǒng)將自動(dòng)退
8、出登錄,用戶輸入的密碼通過(guò)調(diào)用ccrypt加密類cy的生成密鑰 函數(shù)cy.key_creator(suserpassword),調(diào)用加密函數(shù)對(duì)密碼進(jìn)行加密 cy.encrypt(suserpassword),將加密后的密碼與數(shù)據(jù)庫(kù)中保存的用戶名對(duì)應(yīng)密碼進(jìn)行 比較,如果相等的話根據(jù)用戶表中該用戶的權(quán)限顯示該用戶能夠管理的模塊,其它 模塊設(shè)置為灰色不可點(diǎn)擊。管理員用戶可以操作系統(tǒng)的所有模塊。4.2.2加密類函數(shù)的主要代碼生成密鑰函數(shù):void ccrypt:key_creator(cstring s) /生成常量 c1,c2 以及加密解密 keyint i,j;unsigned short k=0
9、;cl=l;c2=l;for(i=0,j=s.getlength()-1 ;(i!=j)&&(i!=j+l);i+,j)cl=int(si)a(cl«8);c2=int(s|j)a(c2«8);de_key=(c 1 *c2/s.getlength()&(k);en_key=de_key;加密函數(shù):cstring ccrypt:encrypt(cstring s) / 加密函數(shù)cstring result,str,back;int i,j;ch二s;result=s; /初始化結(jié)果字符串for(i=0; i<s.getlength(); i+)
10、 /依次對(duì)字符串中各字符進(jìn)行操作 /resulti=sia(en_key»8); /將密鑰移位后與字符異或result.setat(i, s.getat(i)a(en_key»8);if(i<s .getlength()-1)en_key = (short)(resulti+en_key)*c 1+c2); / 產(chǎn)生下一個(gè)密鑰 s二result;/保存結(jié)果for(i=0; i<s.getlength(); i+) / 對(duì)加密結(jié)果進(jìn)行轉(zhuǎn)換j=si; /提取字符/將字符轉(zhuǎn)換為兩個(gè)字母保存str=“12”;設(shè)置str長(zhǎng)度為2/str0=65+j/26;/str| 1
11、=65+j%26;/back += str;str.setat(o, 65+j/26);str.setat(l, 65+j%26);back += str;return back;加密函數(shù)的實(shí)現(xiàn):cstring ccrypt:decrypt(cstring s)/ 解密函數(shù)cstring result,str,back;int i,j;/result.emptyo; / 清除結(jié)果for(i=0; i < s.getlength()/2; i+) /將字符串兩個(gè)字母一組進(jìn)行處理 j = (s2*i-65)*26;j+=s2*i+l-65;st=t;設(shè)置str長(zhǎng)度為1str=j;result
12、+=str; 追加字符,還原字符串s=result; /保存中間結(jié)果for(i=0; i<s.getlength(); i+) /依次對(duì)字符串中各字符進(jìn)行操作/resulti=(unsigned int)sia(de_key»8); / 將密鑰移位后與字符異或 result.setat(i, (byte)s.getat(i)a(de_key»8);if(i<s.getlength()de_key = (short)(si+de_key)*cl+c2); / 產(chǎn)生下一個(gè)密鑰return result;您人孚臺(tái)系妖櫃式切第d彖統(tǒng)主頁(yè)系統(tǒng)主頁(yè)版權(quán)所有20082010人
13、事管理系疣x人爭(zhēng)首理 岀勤昔理 工資笞理 系竝管建 用戶咎理 系統(tǒng)幫助""mmf twfcomatthm"恤"r vannh ia f fma4* yizgvwhzecrra rm圖11 管理員登錄后主界面人爭(zhēng)管理人員檔案管理職稱評(píng)定管理獎(jiǎng)懲管理培訓(xùn)記錄管理人爭(zhēng)變動(dòng)管理考評(píng)管理福利品領(lǐng)取.管理/=白今乙、亠咨社圖12.左側(cè)人事管理樹型圖出勤管理考勤記錄諳假記錄加班記錄出差記錄月度考勤記錄圖13左側(cè)出勤管理樹型圖工資管理工資構(gòu)成項(xiàng)目管理節(jié)日補(bǔ)貼管理月度工資管理稅率管理基本工資等級(jí)管理圖14.左側(cè)工資管理樹型圖4.2.4人事管理人事管理是對(duì)員工基本信息、人事
14、變動(dòng)信息、培訓(xùn)信息等的錄入、刪除、修改、 查詢、導(dǎo)岀等的操作,主要包括以下幾個(gè)部分:人員檔案管理是對(duì)員工的基本信息的管理,方便對(duì)員工的管理;界面(見下圖)職稱評(píng)定管理記錄員工的職稱評(píng)定情況;獎(jiǎng)懲管理記錄員工的獎(jiǎng)懲情況及獎(jiǎng)懲原因;培訓(xùn)記錄管理記錄員工的培訓(xùn)情況;人事變動(dòng)管理記錄員工的調(diào)動(dòng)情況;考評(píng)管理記錄員工的考評(píng)情況、結(jié)果、時(shí)間等;福利品領(lǐng)取管理記錄員工領(lǐng)取福利品的情況;培訓(xùn)項(xiàng)目管理說(shuō)明:對(duì)于公司為提供員工素質(zhì)和能力而進(jìn)行的培訓(xùn)項(xiàng)目進(jìn)行添 加、修改、刪除管理,主要包括培訓(xùn)名稱、培訓(xùn)地點(diǎn)、培訓(xùn)內(nèi)容、培訓(xùn)開始吋間、培訓(xùn)結(jié)束時(shí)間、培訓(xùn)單位、培訓(xùn)費(fèi)用等的管理??荚u(píng)項(xiàng)目管理說(shuō)明,公司增加的各種對(duì)員工的考
15、核管理。對(duì)于員工進(jìn)行考核, 從而保證對(duì)員工的各種晉升及工資的調(diào)整進(jìn)行管理。福利品管理,對(duì)于公司在節(jié)fi時(shí)發(fā)放給員工的福利品進(jìn)行添加修改等管理。底鼻人年?duì)I理紊統(tǒng)二b直系場(chǎng)主頁(yè)員工基本倍息一覽農(nóng)覽訓(xùn)記錄甘理序丄妙名ikq更多解科©直箇 -w員工狀恣培姻狀況行政級(jí)別專業(yè)崗位工種001宋國(guó)志部門四川未婚處級(jí)計(jì)第機(jī)網(wǎng)絡(luò)官理員002東東山西左職己婚科級(jí)對(duì)外翻薛會(huì)計(jì)003西西o祁門簡(jiǎn)明漢英詞戲深圳具他處級(jí)生物制藥會(huì)計(jì)004明明branch安徽待畔高異部級(jí)對(duì)外翻譯思序員005meoartmm待能蔑異部級(jí)對(duì)外翻譯程序員006楊華des湖北葵職未婚e級(jí)計(jì)算機(jī)網(wǎng)谿言玫員007qweesection安微待聘
16、離異部級(jí)對(duì)外翻譯出納008qvr男黨員阿昌族安微離異部級(jí)對(duì)外翻譯出納009121男黨員陰昌族安備離異部級(jí)對(duì)外詡譯出納員工j所有創(chuàng)部門訂所有旦員工畑d所襯 n肉位工種"所有二1行政級(jí)跖i所有rwanl修改| 加 |導(dǎo)出|i孚管理塔訓(xùn)項(xiàng)目苕理出動(dòng)営理人審善理系統(tǒng)euail: sunyuoygghu卵oil. comnuw 13:15:21圖15.人員檔案管理圖當(dāng)操作員選中一條記錄雙擊或點(diǎn)擊增加(修改)等按鈕是將彈出圖16 單個(gè)員工信息圖操作員可以在此對(duì)話框上查看、修改、增加新的員工詳細(xì)信息。用戶點(diǎn)擊增加 按鈕后,系統(tǒng)自動(dòng)生成員工編號(hào)(此處員工編號(hào)是從數(shù)據(jù)庫(kù)中讀取第一個(gè)最大未用 的編號(hào)),
17、代碼如下:strsql.format("select empid from em_employee order by empid asc"); m_precordset=ado.getrecordset(_bstr_t(strsql);while(! m_precordset->adoeof)vbefld=atoi(lpctstr)(_bstr_t)m_precordset->getcollect("empid"); m_precordset->movenext();if(m_precordset->adoeof)break;va
18、ftid=atoi(lpctstr)(_bstr_t)m_precordset->getcollect(nempid");if(vaftid-vbefld)>l)vid=vbefid;break;貞 m_precordset->adoeof)vid=vbefid;vid+=l;vempid.format(n%05dh,vid);插入員工基本信息時(shí),基本信息比如彖民族、專業(yè)、籍貫等信息可以通過(guò)從下 拉菜單中選擇,而不用手工輸入,信息中有關(guān)時(shí)間的信息可以通過(guò)點(diǎn)擊下拉框選擇 時(shí)間來(lái)設(shè)置。當(dāng)員工插入完成后點(diǎn)擊保存退岀。coneemprec對(duì)話框中“上一個(gè)”按鈕代碼如下:st
19、rsql.format(mselect * from em_employee");m_precordset=ado.getrecordset(_bstr_t(strsql);while(!m_precordset->adoeof)vempid=(lpctstr)(_bstr_t)m_precordset->getcollect(',empid"); if(vempid=m_empid)break;elsem_precordset->movenext();m_precordset->moveprevious();if(m_precordset-
20、>adobof)m_precordset->mo velast();vempid=(lpctstr)(_bstr_t)m_precoi'dset>getcollect(”empid”);當(dāng)目前已經(jīng)是最后一個(gè)員工時(shí),自動(dòng)顯示第一個(gè)員工的相關(guān)信息?!跋乱粋€(gè)”同 理自動(dòng)顯示最后一個(gè)員工信息。員工社會(huì)關(guān)系、員工輔助信息、員工個(gè)人經(jīng)歷的界面差不多類似,如下序號(hào)姓名與本人關(guān)系聯(lián)系方式工作單位備注001宋江兄南海無(wú)002楊武兄州暫時(shí)empty上一個(gè) 下一個(gè) 増加 保存 刪除 打印 退出員工基本信息r 員工輔肋信息員工個(gè)人經(jīng)歷林雙擊
21、修改林編號(hào):姓名:與本人關(guān)系:聯(lián)系方式:工作單位:備注:増加保存刪除圖17.員工社會(huì)關(guān)系、員工輔助信息、員工個(gè)人經(jīng)歷圖 獲取選中行代碼如下:pos = m_empinfb.getfirstselecteditemposition(); if(!pos)return;index= m_empinfo.getnextselecteditem(pos); / 得到項(xiàng)目索引dlg.empid = m_empinfo.getitemtext(index, 1); 獲取員工編號(hào)人事管理模塊中職稱評(píng)定管理、獎(jiǎng)懲管理、培訓(xùn)記錄管理、人事變動(dòng)管理、考 評(píng)管理、福利品領(lǐng)取管理等界面類似,界面如下:?jiǎn)T工職稱佶昌一覽
22、表pf001002003004姓名職稱昭昭中級(jí)工程帥明明面級(jí)工程師小小毀授小小離版工程帥wwwww職待獎(jiǎng)勵(lì)1丄oop 9000 00 ¥ 1 00¥取傅方犬jkww 考評(píng)ww取彳曰期2008-4-42008 <1 a 2008-11-152008-4-4恥用單位四丿ii點(diǎn)禮大半w備注収彳寫于進(jìn)步w員工mt名2取得方:取徇曰期.2008-4-13陋用俎位保有bw涂圖1&職稱評(píng)定管理、獎(jiǎng)懲管理、培訓(xùn)記錄管理、人事變動(dòng)管理、考評(píng)管理、福利品領(lǐng)取管理等界面圖4.2.5出勤管理出勤管理主要包括考勤記錄、請(qǐng)假記錄、加班記錄、出差記錄、刀度考勤記錄 五個(gè)部分??记谟涗浭秦?fù)責(zé)
23、對(duì)員工的上下班時(shí)間進(jìn)行記錄,包括添加、刪除、修改;計(jì)算 工作吋間假記錄記錄員工請(qǐng)假次數(shù),在核算員工工資時(shí)將根據(jù)請(qǐng)假次數(shù)進(jìn)行工資核算; 加班記錄記錄員工加班的時(shí)間、日期及加班類型,核算工資時(shí)將根據(jù)加班類型 及加班時(shí)間核算加班工資;出差記錄記錄員工的出差類型、出差地點(diǎn)、出差開始時(shí)間、出差結(jié)束時(shí)間、出 差任務(wù)等,其中出差類型及時(shí)間將在工資核算時(shí)計(jì)算出差補(bǔ)貼;月度考勤記錄記錄了員工一個(gè)月中累積加班時(shí)間、累計(jì)請(qǐng)假時(shí)間、累計(jì)曠工次 數(shù)、累計(jì)出差吋間、遲到早退次數(shù),其中累計(jì)礦工次數(shù)及累計(jì)遲到早退次數(shù)也將在 工資核算中扌ii除相應(yīng)金額。*雙擊修改*編號(hào)2員工蛀名,開始時(shí)間:2008- 4-13結(jié)束時(shí)間:200
24、8- 4-13批準(zhǔn)人:請(qǐng)假理由:増加保存刪除打印退出考勤記錄1請(qǐng)假記錄j加班記錄出差記錄月度考勤記錄序員工蛀名開始時(shí)間結(jié)束時(shí)間批準(zhǔn)人請(qǐng)假理由001東東2007-10-102007-10-20宋國(guó)志生病002哈哈2008-2-32008-2-5宋國(guó)志提前回家過(guò)年圖19.員工出勤管理圖4.2.6工資管理工資管理主要包括對(duì)工資等級(jí)、工資構(gòu)成項(xiàng)目、稅率管理、節(jié)h補(bǔ)貼、月度工 資等管理。工資等級(jí),對(duì)工資等級(jí)的添加、修改、刪除,主要是方便用人事管理對(duì)員工工 資的添加、修改,通過(guò)對(duì)工資等級(jí)的修改可以對(duì)員工同一等級(jí)進(jìn)行批量修改。工資構(gòu)成項(xiàng)目,是對(duì)于工資由哪些項(xiàng)0構(gòu)成的管理及這些項(xiàng)目是稅前還是稅后 及加、減等的
25、管理。界面如下:一工資枸成項(xiàng)目一嵬表一序丁工資頊目編號(hào)丨工資項(xiàng)目名沐工資全頷加孫j稅前紐后00100008木電補(bǔ)貼200. 00¥加稅后00200003住房公積全200. 00 ¥孫稅后00300006夫業(yè)保驗(yàn)150.00¥稅馬00400001浮動(dòng)工資1000.00¥加稅前00500007主x保險(xiǎn)320.00¥加稅前00600002養(yǎng)老保險(xiǎn)300.00¥稅前00700004工傷保險(xiǎn)270.00¥00800005醫(yī)療保險(xiǎn)450. 00¥稅前00900009意外保驗(yàn)124. 00¥圖20 .工資構(gòu)成圖稅率管理
26、,是對(duì)員工應(yīng)納稅的稅率及納稅金額的上下限、速算扣除數(shù)等的管理,方便月度工資屮核算稅后工資。節(jié)口補(bǔ)貼管理,是公司對(duì)于員工各種法定節(jié)口及員工生口發(fā)放給員工的補(bǔ)貼。月度工資管理,實(shí)現(xiàn)了對(duì)員工的月度工資的添加、修改、刪除、查詢、導(dǎo)出到 excel等的管理,基本工資是根據(jù)是人事管理哪里讀取的,加班費(fèi)通過(guò)加班類型及加 班時(shí)間計(jì)算,出差補(bǔ)貼按照每種出差類型的補(bǔ)貼*次數(shù)的和,額外稅前是通過(guò)工 資管理員設(shè)置的,設(shè)置界面如下圖1),應(yīng)發(fā)工資計(jì)算公式:應(yīng)發(fā)工資金額二基本工 資+加班費(fèi)+出差補(bǔ)助請(qǐng)假扣款+額外稅前項(xiàng),額外稅后、節(jié)日補(bǔ)貼是通過(guò)工資管理 員設(shè)置的,設(shè)置界面如下圖2),稅后工資計(jì)算公式:稅后工資二應(yīng)發(fā)工資金
27、額納稅 金額;稅金額計(jì)算公式:納稅金額二應(yīng)納稅金額*適合稅率速算扌ii除數(shù)而應(yīng)納稅金額 二應(yīng)發(fā)工資金額納稅基數(shù)(1000);實(shí)發(fā)工資二稅后工資+稅后應(yīng)加項(xiàng)稅后應(yīng)扣項(xiàng)+納稅 基數(shù)。月度工資管理的主界面:?jiǎn)T工月度工姿一覽點(diǎn)一導(dǎo)岀工資值息血發(fā)工資t員工,所宙月份j所有序姓名月份|基本工資加班費(fèi)出差補(bǔ)貼請(qǐng)假扣款額外稅前|001 宋國(guó)志2008年1月5000. 00¥0060. 00 ¥-824. 00¥4116. 00¥002 東東2008年2月3000.00¥2730. 00¥0005730. 00¥003 明明2008年4月15
28、00. 00¥300. 00¥1500. 00¥0876. 00¥4176. 00¥拿拿雙擊修改禍増加圖21月度工資管理圖 jt i工衣項(xiàng)目名猝加減加加減減減減1 2 3 4 5 6 o o o o o o o o o o o o 浮動(dòng)工茨1000.00生育保險(xiǎn)320.00倉(cāng)外保險(xiǎn)124.00養(yǎng)老保險(xiǎn)300.00工傷保險(xiǎn)270.00醫(yī)療保險(xiǎn)450.00圖22 額外稅前計(jì)算圖i口口口q更各解釋參血g<額外o額外簡(jiǎn)明漢英詞典superfluity003失業(yè)保險(xiǎn)合計(jì)* 0 ¥胃金板(¥加減|200. 00加j200. 00減
29、150. 00減圖23額外稅后計(jì)算圖月度工資表導(dǎo)出至excel效果如下圖:icrosoxce亙文件a)1) mx(x) «aq)格式 工臭cd j?«««)帶肋qp二"帕宙£心迭 豈w“址; ««kb3國(guó)哆潅3aabcdefghijk*1 ej工賣事號(hào)員工號(hào)妊名月份基本工資尊級(jí)基岀基補(bǔ)點(diǎn)iftfil扣款篠外12 w0000100001未國(guó)志200琳1月正氏三級(jí)工茨5000.00¥0.00 ¥0.00¥60.00 ¥-824.53 *00200004r 00002東東200拜2
30、月正氏二級(jí)工茨3000.00¥2730. 00 ¥0.00¥0.00 ¥0.04 *0030000300004明明200細(xì)月1500.00¥300. 00 ¥1500.00¥0.00 ¥876.0,圖24.工資表導(dǎo)出樣式圖查詢時(shí)的通過(guò)選擇下拉框中的員工姓名或月份查看工資信息,當(dāng)選擇變化時(shí)通 過(guò)調(diào)用selecteconditionseto®數(shù)改變查詢條件,然后調(diào)用displaytxt()顯示查詢后的 結(jié)果,selecteconditionset()主要代碼;void csalary:selectecondi
31、tionset()updatedata(true);condition_sql="n;m_condition_month.getwindowtext(vcondition_month); m_condition_name.getwindowtext(vcondition_name);if(vcondition_name!=h 所有”) vcondition_empid=ds.namelbid(vcondition_name); condition_sql=condition_sql+uandem_salary.empid=m'4-vcondition_empid+',
32、h,;/em_s alary.empidif(vcondition_month!="所有”)condition_sql=condition_sql+"andsalmonth=m,+vcondition_month+;refreshdata();updatedata(false);查 詢 語(yǔ) 句: vsql=”select salid,em_salary.empid empid,empname,salmonth,em_employee.sgsalarygrade"vsql=vsql+nsgsalarygrade,sgsalarysum,salovertimepay,
33、salgoonerrandssubsidy" vsql=vsql+n,salleavepenalty,salatherbeftr,saloughtsalary,salatherafttr,salfeastsubsidyn;vsql=vsql+n,saltaxaftersalary,salfactsalary,trtaxrate,saltaxsum,saldate,salidiograph,salremark ”;vsql=vsql4-"fromem_employee,em_salary,em_salarygrade whereem_employee.empid=em_sal
34、ary.empidn;vsql 二 vsql+”andem_salarygrade.sgsalarygrade=em_employee.sgsalarygrade ”;vsql=vsql+(_bstr_t)condition_sql;vsql二vsql+” order by salmonth asc"導(dǎo)岀excel主要代碼如下:void csalary:onsalaryout()/ todo: add your control notification handler code here連接數(shù)據(jù)庫(kù)adoconn ado;ado.oninitadoconn();/提取數(shù)據(jù)庫(kù)中員工信息定
35、義操作excel必要的對(duì)象colevariant voptional(long)disp_e_paramnotfound, vt_error);.application objapp;workbooks objbooks;_workbook objbook;worksheets objsheets;-worksheet objsheet;range objrange;創(chuàng)建excel對(duì)象objapp.createdispatch("excel.applicationn);objbooks=objapp.getworkbooks(); 返回工作簿對(duì)象/打開指定excel文件cstring
36、 path;/獲取當(dāng)前應(yīng)用程序的完整文件名,包含完整路徑getmodulefilename(null,path.getbuffersetlength(max_path+1 ),max_path);取得最后一個(gè),去掉文件名,從而獲取當(dāng)前應(yīng)用程序的工作路徑int pos = path.reversefind('v);path = path.left(pos+l);/在當(dāng)前應(yīng)用程序的工作路徑下打開emplnfo.xls文件objbook.attachdispatch(objbooks.add(_variant_t(path + "salary.xls"); objshee
37、ts=objbook.getsheets();/定義第一個(gè)sheet為對(duì)象 objsheet=objsheets.getitem(_variant_t)short(l); objrange.attachdispatch(objsheet.getcells(),true);/讀取臨時(shí)表中的記錄_recordsetptr m_rs;_bstr_t vsql;vsql 二"selectsalid,em_salary.empidempid,empname,salmonth,em_employee.sgsalarygrade"vsql 二 vsql+”sgsal ary grade,
38、sgsalary sum,salo vertimepay,salgoonenandssubsidy" vsql=vsql+",salleavepenalty,salatherbeftr,saloughtsalary,salatherafttr,salfeastsubsidy"vsql=vsql+n,saltaxaftersalary,salfactsalary,trtaxrate,saltaxsum,saldate,salidiograph,salremark ”;vsql=vsql+"from em_employee,em_salary,em_sala
39、rygrade whereem_employee.empid=em_salary.empidu;vsql=vsql+"andem_salarygrade.sgsalarygrade=em_employee.sgsalarygrade ”;vsql=vsql+(_bstr_t)condition_sql;vsql=vsql+” order by salmonth asc"m_rs = ado.getrecordset(vsql);/生成標(biāo)題欄 objrange.setitem(_variant_t(long)(l),_variant_t(long)(l),_variant_t
40、(h 序 號(hào)");objrange.setitem(_variant_t(long)( 1 ),_variant_t(long)(2),_variant_tc'工資編 號(hào)”);objrange.setitem(_variant_t(long)( 1 ),_vai*iant_t(long)(3),_variant_t(” 員工編 號(hào)”);objrange.setitem(_variant_t(long)(l),_variant_t(long)(4),_variant_t("姓 名n);objrange.setitem(_variant_t(long)(l),_vari
41、ant_t(long)(5),_variant_t("月份");objrange.setitem(_variant_t(long)(l),_variant_t(long)(6),_variant_t("基本工 資等級(jí)”);objrange.setitem(_variant_t(long)(l),_variant_t(long)(7),_variant_t(h 基本工資”);objrange.setitem(_variant_t(long)(l ),_variant_t(long)(2 l),_variant_t(u 備 注”);/記錄總數(shù)int irowcount
42、 = 0;while(! m_rs->adoeof)/把列值放入excel指定單元格cstring str;str. format(” 03d”,irowcount+1);objrange.setitem(_variant_t(long)(irowcount+2),_variant_t(long)(l),_variant_t( str);str = (lpctstr)(_bstr_t)m_rs->getcollect(hsalidu);/ 工資編號(hào) objrange.setitem(_variant_t(long)(irowcount4-2),_variant_t(long)(2)
43、,_varia nt_t(str);str = (lpctstr)(_bstr_t)m_rs->getcollect(nempidn);/ 員工編號(hào) objrange.setitem(_variant_t(long)(irowcount-t-2),_variant_t(long)(3),_varia nt_t(str);str = (lpctstr)(_bstr_t)m_rs->getcollect(,empnameh);/ 員工姓名 objrange.setitem(_variant_t(long)(irowcount4-2),_variant_t(long)(4),_varia
44、 nt_t(str);str 二(lpctstr)(_bstr_t)m_rs->getcollect(hsalmonthh);/月份 objrange.setitem(_variant_t(long)(irowcount+2),_variant_t(long)(5),_varia nt_t(str);str = (lpctstr)(_bstr_t)m_rs->getcollectc,sgsalarygradeh);/ 基本工資 等級(jí)objrange.setitem(_variant_t(long)(irowcount+2),_variant_t(long)(6),_varia nt
45、_t(str);str = (lpctstr)(_bstr_t)m_rs->getcollect(nsgsalarysumh);/ 基本工資 str.format("%0.2fy ",atof(str); str = (lpctstr)(_bstr_t)m_rs->getcollect("salremark");/ 備注objrange.setitem(_variant_t(long)(irowcount+2),_variant_t(long)(21),_vari ant_t(str);irowcount+; m_rs->movenex
46、t();設(shè)置excel為可見 objapp.setvisible(true);/釋放句柄objrange.releasedispatch(); objsheet.releasedispatch(); objsheets.releasedispatch(); objbook.releasedispatch();objbooks.releasedispatch();objapp.releasedispatch(); ado.exitconnect();4.2.7系統(tǒng)管理系統(tǒng)管理主要包括對(duì)系統(tǒng)屮的單項(xiàng)表格進(jìn)行修改、添加,部門管理、數(shù)據(jù)備份 恢復(fù)、數(shù)據(jù)壓縮等管理。基本信息管理,對(duì)數(shù)據(jù)庫(kù)中單項(xiàng)表格進(jìn)行修
47、改、添加,如對(duì)民族、專業(yè)、學(xué)歷 等的操作;部門管理,對(duì)部門信息進(jìn)行添加、修改、刪除,選中部門信息添加時(shí),將彈出 下圖2),彈出的對(duì)話框中部門編號(hào)及上級(jí)部門編號(hào)都是從數(shù)據(jù)庫(kù)中讀取的,部門編 號(hào)是讀取系統(tǒng)中第一個(gè)未用的部門編號(hào),界面如下:圖25.部門管理圖圖26.部門信息修改圖當(dāng)用戶選擇部門點(diǎn)擊刪除時(shí),如果該部門包含下級(jí)部門就會(huì)彈出“此部門包含 下級(jí)部門,不能刪除”的提示,如果該部門包含員工吋就會(huì)彈出“此部門包含員工 不能刪除”的提示,提示如下圖:圖27.部門刪除提示(包含有下級(jí)部門)圖圖2&部門刪除提示(包含員工)圖?丿是否iw除當(dāng)躬部門'硏發(fā)刃?取消圖29 部門刪除提示圖數(shù)據(jù)備
48、份與恢復(fù),對(duì)數(shù)據(jù)庫(kù)信息進(jìn)行維護(hù),保證數(shù)據(jù)損壞時(shí)能夠還原,數(shù)據(jù)備 份時(shí),將記錄在數(shù)據(jù)庫(kù)中備份表格em_backup表格中,該表格存儲(chǔ)了數(shù)據(jù)庫(kù)保存的 備份id,備份時(shí)間,及備份路徑;備份對(duì)話框界面如下:圖30.數(shù)據(jù)備份恢復(fù)圖備份說(shuō)明:為了防止數(shù)據(jù)冗余,每天備份的最大數(shù)量為99999,備份吋將彈出 文件保存對(duì)話框,文件名是自動(dòng)根據(jù)備份口期及當(dāng)天備份編號(hào)生成的,用戶可以選 擇更改備份名稱,備份名稱如“備份數(shù)據(jù)backup2008-04-15-19-55-00001",備份 成功后會(huì)提示備份成功。數(shù)據(jù)恢復(fù)時(shí)也將彈出似文件打開對(duì)話框,用戶可以選擇備份文件*占31文件,點(diǎn) 擊打開后開始恢復(fù),數(shù)據(jù)庫(kù)
49、恢復(fù)需要幾分鐘時(shí)間。數(shù)據(jù)備份主要代碼:生成數(shù)據(jù)備份id函數(shù)cstring cbakeupdlg: :producebackupid()連接數(shù)據(jù)庫(kù)adoconn m_adoconn;m_adoconn.oninitadoconn();設(shè)置select語(yǔ)句_bstr_t vsql;ctime tt=ctime: :getcurrenttime();cstring rq=m.fonnat(”ymd”);cstring str_tt=tt.format(nbackup%y-%m-%d-%h-%m-h);vsql = ” select backup_id from em_backup where bac
50、kup_date='"+ rq +n,order by backup_idn;執(zhí)行selete語(yǔ)句_recordsetptr m_precordset;m_precordset = m_adoconn.getrecordset(vsql);執(zhí)行select語(yǔ)句if(m_precordset->adoeof)return (str_tt+noooolh);else_variant_t value;cstring str,sub;for(int i=l;i<99999;i+)value=m_precordset->getcollect("backup_
51、id");str=(char*)(_bstr_t)value;sub=str.mid(23);int number=atoi(sub);if(number!=i)break;m_precordset->movenext();if(m_precordset->adoeof)i+;break;if(i=99999)messagebox(n今日備份數(shù)量大于 99999 了”,”錯(cuò)誤”,mb_okcancel | mbjconquestion |mb_systemmodal);return cstring('m,);str.format(n%05dn,i);str tt=
52、str tt+str;return str_tt;m_adoconn.exitconnect();數(shù)據(jù)備份函數(shù)void cbakeupdlg:onbackup()/ todo: add your control notification handler code herecstring id=this->producebackupid();cstring backname = ”備份數(shù)據(jù)"+id;連接數(shù)據(jù)庫(kù)adoconn m_adoconn;m_adoconn.oninitadoconn();設(shè)置select語(yǔ)句_bstr_t vsql;cfiledialogdlg(false,nbakn,backname,ofn.hidereadonlyiofn.overwriteprompt/c.ba k)”);dlg.m_ofn.lpstrt
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人防工程制式銷售合同范本
- 分散采購(gòu)服務(wù)合同范本
- 農(nóng)村燃?xì)獍惭b合同范例
- 協(xié)助寵物國(guó)際托運(yùn)合同范本
- 農(nóng)田租賃合同范本
- 專利轉(zhuǎn)讓入股合同范本
- 養(yǎng)魚合作轉(zhuǎn)讓合同范本
- 公版采購(gòu)合同范本
- 單位解聘教師合同范本
- 買賣中介公司合同范本
- 成人住院患者靜脈血栓栓塞癥預(yù)防護(hù)理
- 淋巴瘤患者的護(hù)理問題及護(hù)理措施
- 三年級(jí)道德與法治3.我很誠(chéng)實(shí) 說(shuō)課一等獎(jiǎng)
- 血液科健康宣教小講課
- 《小學(xué)開學(xué)第一課:學(xué)生守則、行為規(guī)范、班級(jí)班規(guī)》課件
- 燒傷病人查房版
- 《發(fā)行債券》課件
- 環(huán)境設(shè)計(jì)就業(yè)需求分析報(bào)告
- 醫(yī)院醫(yī)療質(zhì)量管理委員會(huì)會(huì)議記錄五篇
- 中草藥不良反應(yīng)的監(jiān)測(cè)與評(píng)價(jià)
- 工廠物料損耗狀況和人為因素和差異清查步驟與方法講解培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論