版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGE48XXXXXX本科畢業(yè)設(shè)計人事信息管理系統(tǒng)學生姓名XXXXXX院系名稱專業(yè)名稱計算機科學與技術(shù)班級學號指導教師XXXXXXXX教務處二○○八年五月人事信息管理系統(tǒng)PAGE1人事信息管理系統(tǒng)學生:XXXX指導教師:XXXX內(nèi)容提要本系統(tǒng)所研究的內(nèi)容是《人事信息管理系統(tǒng)》,在整個研究工程中,經(jīng)過需求分析、概要設(shè)計、詳細設(shè)計、系統(tǒng)測試等幾個階段的工作,使系統(tǒng)具有了插入、刪除、修改、查詢、導出以及備份恢復維護的基本功能。本系統(tǒng)使用軟件的開發(fā)工具是MicrosoftVisualC++6.0,后臺數(shù)據(jù)庫是本地MicrosoftSQLServer2000數(shù)據(jù)庫,設(shè)計數(shù)據(jù)庫軟件是PowerDesignerTrial11。MicrosoftVisualC++6.0是一種開發(fā)性能非常優(yōu)秀的面向?qū)ο蟮臄?shù)據(jù)庫應用開發(fā)工具,它能夠設(shè)計高性能、基于客戶/服務器(Client/Server)體系結(jié)構(gòu)的應用系統(tǒng)。VisualC++6.0在不犧牲靈活性、性能和控制力度的同時,給C++帶來了更高水平的生產(chǎn)效率。MicrosoftVisualC++6.0提供了可視化編程,減少了編程過程中的難度,提高了編程效率。MicrosoftSQLServer2000是一種使用方便、簡單的數(shù)據(jù)庫,它提供了安全的管理措施,適合于中、小型系統(tǒng)。PowerDesignerTrial11工具是一個方便的畫數(shù)據(jù)庫模型的軟件,并可以通過ER模型直接生成多種類型的數(shù)據(jù)庫,諸如Oracle、Sybase、MicrosoftSQLServer2000等。人事信息管理系統(tǒng)主要有以下六個模塊組成:在人事管理模塊中實現(xiàn)了,人事管理的功能;在出勤管理模塊中實現(xiàn)了,員工的考勤管理的功能;在工資管理模塊中實現(xiàn)了,員工工資的管理功能;在系統(tǒng)管理模塊中實現(xiàn)了,有關(guān)基本表的更新以及數(shù)據(jù)的備份和恢復;在用戶管理模塊中實現(xiàn)了,有關(guān)系統(tǒng)用戶管理及權(quán)限的分配、密碼修改等的管理;最后用幫助模塊,讓使用者了解本系統(tǒng),并幫助使用者如何更好的使用本系統(tǒng).關(guān)鍵字:單文檔ADOProject(工程)對象ManagementInformationSystemAbstractThesystemfocusesonHumanaffairsInformationManagementSystem.Inthewholeresearchingprocess,weneedtogothroughthefollowingsteps,includingrequirementanalysis,generaldesign,particulardesign,systemtestandsoon。Throughthesestepsthat(yī)makethesystemcanpossessesthebasicfunctionsofdatabaseinsertion,deletion,modification,search,exporttoexcel,backupandresume.ThissystemusetheMicrosoftVisualCplusplus6.0astheempoldertool,usingtheMicrosoftSQLServer2000asthebackgrounddatabase,andiusePowerDesignerTrial11todesignthedatabase。MicrosoftVisualC++6。0isakindofObjectOrienteddatabaseapplicationdeveloppingtoolwithexcellentexploitationperformance。Itcandesignhighperformanceapplicationsystemwhichbaseonclient/serversystemstructural.VisualC++improvetherat(yī)eofC++exploitat(yī)iononnotimmolat(yī)eagility,performanceandcontrolpowerat(yī)thesametime.MicrosoftVisualC++providevisualizat(yī)ionprogramming,consequentlyreducethedifficultyduringprogramming,improvingtheefficiencyofprogramming.MicrosoftSQLServer2000isakindofusingconvenien,simpledat(yī)abase,itprovidesecuremanagemeasure。Itisfitformiddl,smallsystem。PowerDesignerTrial11toolisasoftwareconvenienttopaintingdat(yī)abasemodel,itcanconvettokindsofdatabasethroughERmodel,suchasOracle,Sybase,MicrosoftSQLServer2000etc.Thissystemiscomposedofsixmoduleasfollow:Inhumanaffairsmanagemodelfinishedhumanaffairmanagefunciton。Inturnoutforworkmanagemodelfinishedcheckonworkat(yī)tendancefunction.Insalarymanagemodelfinishedthemanagementofemployeesalaryfunction。Insystemmanagemodelfinishedtheupdateofbasetableandbackupandresumeofdatabase.Inusermanagemodelfinishedtheusermanage,distributepurviewandmodifyusers’passwordmanage.Infinallyhelpmodelletuserknowthissystemandhelpuserhowtobetterusethissystem.KeyWord:SingleDocumentADO(Activexdat(yī)aobject)Projectobject.目錄TOC\o”1—2”\h\z\uHYPERLINK\l”_Toc197661251"前言?PAGEREF_Toc197661251\h1HYPERLINK\l"_Toc197661252"1?緒論 PAGEREF_Toc197661252\h1HYPERLINK\l”_Toc197661253"1。1?問題的提出 PAGEREF_Toc197661253\h1HYPERLINK\l”_Toc197661254"1.2?課題的背景及意義?PAGEREF_Toc197661254\h1HYPERLINK\l”_Toc197661255”2?系統(tǒng)需求分析?PAGEREF_Toc197661255\h2_Toc197661257"2。2?系統(tǒng)功能需求分析 PAGEREF_Toc197661257\h2HYPERLINK\l"_Toc197661258"3?系統(tǒng)分析與設(shè)計?PAGEREF_Toc197661258\h3HYPERLINK\l"_Toc197661259"3.1?系統(tǒng)功能模塊設(shè)計?PAGEREF_Toc197661259\h3HYPERLINK\l"_Toc197661260”3.2?數(shù)據(jù)庫設(shè)計ER圖 PAGEREF_Toc197661260\h4HYPERLINK\l”_Toc197661261"3.3?數(shù)據(jù)庫物理結(jié)構(gòu)表的描述?PAGEREF_Toc197661261\h4HYPERLINK\l”_Toc197661262"4?代碼設(shè)計與實現(xiàn) PAGEREF_Toc197661262\h5HYPERLINK\l"_Toc197661263”4.1?人事信息管理系統(tǒng)代碼設(shè)計與實現(xiàn) PAGEREF_Toc197661263\h5HYPERLINK4.2 代碼開發(fā) PAGEREF_Toc197661264\h6HYPERLINK\l"_Toc197661265"5?軟件測試?PAGEREF_Toc197661265\h36HYPERLINK\l"_Toc197661266"5.1?系統(tǒng)模塊測試?PAGEREF_Toc197661266\h36HYPERLINK\l"_Toc197661267"5.2?研究成果?PAGEREF_Toc197661267\h36HYPERLINK\l”_Toc197661268"6 技術(shù)難點及解決 PAGEREF_Toc197661268\h37HYPERLINK\l"_Toc197661269"6.1?一般用戶和管理員操作權(quán)限問題 PAGEREF_Toc197661269\h37HYPERLINK\l"_Toc197661270”6.2?設(shè)置對話框中Static控件字體的大小及顏色,代碼如下:?PAGEREF_Toc197661270\h43HYPERLINK\l”_Toc197661271"6。3 設(shè)置ListControl控件的行高,及屏蔽空白行代碼實現(xiàn):?PAGEREF_Toc197661271\h43HYPERLINK\l”_Toc197661272"6.4?設(shè)置照片,代碼如下:?PAGEREF_Toc197661272\h43HYPERLINK\l"_Toc197661273"6.5?工資的計算問題?PAGEREF_Toc197661273\h48HYPERLINK\l"_Toc197661274"7?總結(jié)及展望?PAGEREF_Toc197661274\h48HYPERLINK\l"_Toc197661275"致謝語?PAGEREF_Toc197661275\h48HYPERLINK\l"_Toc197661276”參考文獻?PAGEREF_Toc197661276\h48人事信息管理系統(tǒng)前言當今這樣一個信息的世界中,信息的掌握和分析已成為現(xiàn)代企業(yè)生產(chǎn)、經(jīng)營過程中的重要因素。人事管理系統(tǒng)是現(xiàn)代企業(yè)管理體制作不可缺少的部分,為適應現(xiàn)代企業(yè)制度要求、逐步走向人事管理科學化、規(guī)范化,利用計算機實現(xiàn)企業(yè)人事檔案管理勢在必行.人事信息管理系統(tǒng)是一個典型的計算機信息處理的管理模式,它支持企業(yè)對本單位工作人員的管理。本論文從基本需求出發(fā),本著用戶界面友好,數(shù)據(jù)處理快捷的原則,創(chuàng)建了一個具有良好實用性的人事管理系統(tǒng)?!度耸滦畔⒐芾硐到y(tǒng)》采用面向?qū)ο蟮?、可視化的?shù)據(jù)庫應用系統(tǒng)技術(shù)完成了對人事信息的管理,采用了MicrosoftVisualC++6。0開發(fā)環(huán)境,并使用本地MicrosoftSQLServer2000數(shù)據(jù)庫。該系統(tǒng)可以滿足人事管理日常工作的需要,實現(xiàn)無紙化辦公,以模糊組合查詢的方式,提供了對數(shù)據(jù)表的多種組合查詢,為人員檔案的管理提供了方便、快捷的操作方式。本系統(tǒng)除了完成常見人事管理系統(tǒng)中人員對象的管理外,還針對現(xiàn)代企業(yè)管理的具體要求,增加了對企業(yè)部門設(shè)置和崗位編制的管理,并使其與傳統(tǒng)的單一人員管理有機的結(jié)合,實現(xiàn)了數(shù)據(jù)的合理設(shè)置和有效應用,使其更為適用于目前的企業(yè)人事管理過程.通過系統(tǒng)開發(fā),使我對面向?qū)ο蟆⒖梢暬臄?shù)據(jù)庫應用系統(tǒng)和軟件的開發(fā)過程有了一些感性的認識和了解,同時也是對自己數(shù)年來計算機專業(yè)學習成果的一次檢驗和考核。緒論問題的提出隨著計算機和網(wǎng)絡技術(shù)的廣泛應用,人事檔案管理系統(tǒng)成為現(xiàn)代企業(yè)管理中不可缺少的一部分。為適應現(xiàn)代企業(yè)制度要求,實現(xiàn)企業(yè)勞動人事檔案管理的科學化和規(guī)范化,從而提出了企事業(yè)單位人事檔案管理系統(tǒng)開發(fā)的課題。課題的背景及意義企事業(yè)單位人事檔案管理工作是一種繁瑣的,務求準確訊速的信息檢索工作。特別是對在崗人員、離退人員、工資發(fā)放、職稱評定等信息的管理,具有典型的信息處理管理模式.本設(shè)計以人事檔案管理為入口點,提出了基于面向?qū)ο蟮臄?shù)據(jù)庫應用系統(tǒng)開發(fā)技術(shù)——VisualC++6.0為設(shè)計工具,以軟件工程設(shè)計規(guī)則為指導的人事檔案管理系統(tǒng)。該課題基于VisualC++6。0數(shù)據(jù)庫應用系統(tǒng)開發(fā)技術(shù)進行開發(fā),達到了提高企事業(yè)單位人事檔案管理信息處理效率的效果。系統(tǒng)需求分析系統(tǒng)開發(fā)策略本系統(tǒng)開發(fā)主要采用自頂向下的開發(fā)方式,自頂向下的方法模型如下圖所示:開發(fā)模型圖系統(tǒng)功能需求分析人事檔案管理系統(tǒng)的系統(tǒng)分析概述現(xiàn)在的世界是信息的世界,隨著信息量越來越大以及計算機技術(shù)的發(fā)展,計算機已成為各企事業(yè)單位管理的重要工具.人事檔案管理是對員工信息、部門信息、崗位信息、出勤信息、工資信息的管理和快速方便的查詢。系統(tǒng)開發(fā)主要有以下六個模塊組成:在人事管理模塊中實現(xiàn)了,人員檔案管理與人事管理等功能;在出勤管理模塊中實現(xiàn)了,員工的考勤管理等功能;在工資管理模塊中實現(xiàn)了,員工工資的管理等功能;在系統(tǒng)管理模塊中實現(xiàn)了,有關(guān)基本表的更新以及數(shù)據(jù)的備份和恢復的管理功能在用戶管理模塊中實現(xiàn)了,有關(guān)系統(tǒng)用戶管理及權(quán)限的分配管理;最后用幫助模塊,讓使用者了解本系統(tǒng),并幫助使用者如何更好的使用本系統(tǒng).系統(tǒng)流程圖本系統(tǒng)的系統(tǒng)流程圖如下:系統(tǒng)流程圖系統(tǒng)分析與設(shè)計系統(tǒng)功能模塊設(shè)計模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖數(shù)據(jù)庫設(shè)計ER圖(HYPERLINK”C:\\DocumentsandSettings\\Administrator\\桌面\\EMPManage\\EMPManage\\Dat(yī)aBase\\EmpManager_CDM.pdf”詳細信息見數(shù)據(jù)庫設(shè)計概念模型)數(shù)據(jù)庫物理結(jié)構(gòu)表的描述主要表格如下:(HYPERLINK"C:\\DocumentsandSettings\\Administrat(yī)or\\桌面\\EMPManage\\EMPManage\\DataBase\\數(shù)據(jù)庫編碼.doc"詳細見數(shù)據(jù)庫編碼)員工:EM_Employee存放員工基本信息獎懲記錄:EM_RewPun_Rec模塊劃分:EM_ModuleClass工資:EM_Salary模塊劃分的值對應表名稱模塊編號模塊名稱模塊對應值功能描述編碼MS_IDMSModuleNameMSValue00001人事管理1控制”人事管理"下所有的模塊00002出勤管理2控制"出勤管理”下所有的模塊00003工資管理4控制"工資管理"下所有的模塊00004系統(tǒng)管理8控制"系統(tǒng)管理"下:①基本信息,②部門管理00005用戶管理16控制"用戶管理"下:①系統(tǒng)操作員管理,②權(quán)限管理00006數(shù)據(jù)庫管理32控制"系統(tǒng)管理"下:①數(shù)據(jù)恢復備份,②系統(tǒng)初始化代碼設(shè)計與實現(xiàn)人事信息管理系統(tǒng)代碼設(shè)計與實現(xiàn)系統(tǒng)主界面系統(tǒng)主界面圖數(shù)據(jù)庫表關(guān)聯(lián)定義HYPERLINK"C:\\DocumentsandSettings\\Administrator\\桌面\\EMPManage\\EMPManage\\Dat(yī)aBase\\EmpManager_PDM。pdf"詳細信息見數(shù)據(jù)庫物理模型模塊間的關(guān)系人事管理模塊對員工的各種基本信息進行管理,考勤管理對員工的上下班情況及請假加班等情況進行管理,工資管理對員工的基本工資、工資構(gòu)成、稅率管理、補貼管理及員工的月度工資管理,月度工資通過考勤管理里的加班情況、出勤情況、請假情況、出差情況核算加班費、請假扣費、出差補貼等。系統(tǒng)管理主要管理單個的基本表項、部門管理、數(shù)據(jù)備份與恢復等。用戶管理對系統(tǒng)的用戶操作權(quán)限及密碼修改管理。代碼開發(fā)CDlgLogin窗口登錄界面圖登錄對話框通過讀取數(shù)據(jù)庫中用戶名和密碼對用戶輸入的用戶名和密碼進行校驗,如果用戶名或密碼為空或錯誤當用戶點擊登錄時彈出如下提示:用戶名輸入提示圖密碼輸入提示圖密碼錯誤提示圖用戶名錯誤提示圖如果非法輸入次數(shù)超過6次,將彈出如下提示:登錄出錯提示圖系統(tǒng)將自動退出登錄,用戶輸入的密碼通過調(diào)用CCrypt加密類cy的生成密鑰函數(shù)cy.Key_creat(yī)or(sUserPassWord),調(diào)用加密函數(shù)對密碼進行加密cy.Encrypt(sUserPassWord),將加密后的密碼與數(shù)據(jù)庫中保存的用戶名對應密碼進行比較,如果相等的話根據(jù)用戶表中該用戶的權(quán)限顯示該用戶能夠管理的模塊,其它模塊設(shè)置為灰色不可點擊.管理員用戶可以操作系統(tǒng)的所有模塊。加密類函數(shù)的主要代碼生成密鑰函數(shù):voidCCrypt::Key_creat(yī)or(CStringS)//生成常量C1,C2以及加密解密Key{inti,j;unsignedshortk=0;C1=1;C2=1;for(i=0,j=S.GetLength()-1;(i!=j)&&(i!=j+1);i++,j-—){C1=int(S[i])^(C1<<8);C2=int(S[j])^(C2〈〈8);}De_key=(C1*C2/S.GetLength())&(~k);En_Key=De_key;}加密函數(shù):CStringCCrypt::Encrypt(CStringS)//加密函數(shù){CStringResult,str,back;inti,j;//ch=S;Result=S;//初始化結(jié)果字符串for(i=0;i<S.GetLength();i++)//依次對字符串中各字符進行操作{//Result[i]=S[i]^(En_Key〉〉8);//將密鑰移位后與字符異或Result.SetAt(i,S.GetAt(i)^(En_Key>>8));if(i<S。GetLength()—1)En_Key=(short)((Result[i]+En_Key)*C1+C2);//產(chǎn)生下一個密鑰}S=Result;//保存結(jié)果for(i=0;i〈S。GetLength();i++)//對加密結(jié)果進行轉(zhuǎn)換{j=S[i];//提取字符//將字符轉(zhuǎn)換為兩個字母保存str="12";//設(shè)置str長度為2//str[0]=65+j/26;//str[1]=65+j%26;//back+=str;str.SetAt(0,65+j/26);str.SetAt(1,65+j%26);back+=str;}returnback;}加密函數(shù)的實現(xiàn):CStringCCrypt::Decrypt(CStringS)//解密函數(shù){CStringResult,str,back;inti,j;//Result.Empty();//清除結(jié)果for(i=0;i<S.GetLength()/2;i++)//將字符串兩個字母一組進行處理{j=(S[2*i]-65)*26;j+=S[2*i+1]—65;str="1”;//設(shè)置str長度為1str=j;Result+=str;//追加字符,還原字符串}S=Result;//保存中間結(jié)果for(i=0;i〈S。GetLength();i++)//依次對字符串中各字符進行操作{//Result[i]=(unsignedint)S[i]^(De_key〉>8);//將密鑰移位后與字符異或Result.SetAt(i,(BYTE)S。GetAt(i)^(De_key〉>8));if(i<S.GetLength())De_key=(short)((S[i]+De_key)*C1+C2);//產(chǎn)生下一個密鑰}returnResult;}管理員登錄后主界面管理員登錄后主界面左側(cè)人事管理樹型圖左側(cè)出勤管理樹型圖左側(cè)工資管理樹型圖人事管理人事管理是對員工基本信息、人事變動信息、培訓信息等的錄入、刪除、修改、查詢、導出等的操作,主要包括以下幾個部分:人員檔案管理是對員工的基本信息的管理,方便對員工的管理;界面(見下圖)職稱評定管理記錄員工的職稱評定情況;獎懲管理記錄員工的獎懲情況及獎懲原因;培訓記錄管理記錄員工的培訓情況;人事變動管理記錄員工的調(diào)動情況;考評管理記錄員工的考評情況、結(jié)果、時間等;福利品領(lǐng)取管理記錄員工領(lǐng)取福利品的情況;培訓項目管理說明:對于公司為提供員工素質(zhì)和能力而進行的培訓項目進行添加、修改、刪除管理,主要包括培訓名稱、培訓地點、培訓內(nèi)容、培訓開始時間、培訓結(jié)束時間、培訓單位、培訓費用等的管理。考評項目管理說明,公司增加的各種對員工的考核管理.//對于員工進行考核,從而保證對員工的各種晉升及工資的調(diào)整進行管理。福利品管理,對于公司在節(jié)日時發(fā)放給員工的福利品進行添加修改等管理.人員檔案管理圖當操作員選中一條記錄雙擊或點擊增加(修改)等按鈕是將彈出單個員工信息圖操作員可以在此對話框上查看、修改、增加新的員工詳細信息.用戶點擊增加按鈕后,系統(tǒng)自動生成員工編號(此處員工編號是從數(shù)據(jù)庫中讀取第一個最大未用的編號),代碼如下:?strSql.Format("selectEmpIDfromEM_EmployeeorderbyEmpIDasc");?m_pRecordset=ado.GetRecordSet(_bstr_t(strSql));?while(!m_pRecordset-〉adoEOF)?{? vBefID=atoi((LPCTSTR)(_bstr_t)m_pRecordset—>GetCollect("EmpID”));??m_pRecordset->MoveNext();??if(m_pRecordset->adoEOF) ??break;? vAftID=atoi((LPCTSTR)(_bstr_t)m_pRecordset-〉GetCollect(”EmpID")); ?if((vAftID-vBefID)>1)??{???vID=vBefID;? ?break; ?} }?if(m_pRecordset->adoEOF) ?vID=vBefID;?vID+=1;?vEmpID.Format("%05d”,vID);插入員工基本信息時,基本信息比如象民族、專業(yè)、籍貫等信息可以通過從下拉菜單中選擇,而不用手工輸入,信息中有關(guān)時間的信息可以通過點擊下拉框選擇時間來設(shè)置。當員工插入完成后點擊保存退出。ConeEmpRec對話框中“上一個”按鈕代碼如下:strSql.Format(yī)(”select*fromEM_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; ?else? ?m_pRecordset—>MoveNext();?}?m_pRecordset—>MovePrevious();?if(m_pRecordset->adoBOF)? m_pRecordset—〉MoveLast();?vEmpID=(LPCTSTR)(_bstr_t)m_pRecordset—>GetCollect(”EmpID");當目前已經(jīng)是最后一個員工時,自動顯示第一個員工的相關(guān)信息?!跋乱粋€”同理自動顯示最后一個員工信息。員工社會關(guān)系、員工輔助信息、員工個人經(jīng)歷的界面差不多類似,如下員工社會關(guān)系、員工輔助信息、員工個人經(jīng)歷圖獲取選中行代碼如下:pos=m_EmpInfo.GetFirstSelectedItemPosition(); if(!pos)??return;Index=m_EmpInfo。GetNextSelectedItem(pos);//得到項目索引?dlg.EmpID=m_EmpInfo.GetItemText(Index,1);//獲取員工編號人事管理模塊中職稱評定管理、獎懲管理、培訓記錄管理、人事變動管理、考評管理、福利品領(lǐng)取管理等界面類似,界面如下:職稱評定管理、獎懲管理、培訓記錄管理、人事變動管理、考評管理、福利品領(lǐng)取管理等界面圖出勤管理出勤管理主要包括考勤記錄、請假記錄、加班記錄、出差記錄、月度考勤記錄五個部分??记谟涗浭秦撠煂T工的上下班時間進行記錄,包括添加、刪除、修改;計算工作時間假記錄記錄員工請假次數(shù),在核算員工工資時將根據(jù)請假次數(shù)進行工資核算;加班記錄記錄員工加班的時間、日期及加班類型,核算工資時將根據(jù)加班類型及加班時間核算加班工資;出差記錄記錄員工的出差類型、出差地點、出差開始時間、出差結(jié)束時間、出差任務等,其中出差類型及時間將在工資核算時計算出差補貼;月度考勤記錄記錄了員工一個月中累積加班時間、累計請假時間、累計曠工次數(shù)、累計出差時間、遲到早退次數(shù),其中累計礦工次數(shù)及累計遲到早退次數(shù)也將在工資核算中扣除相應金額.員工出勤管理圖工資管理工資管理主要包括對工資等級、工資構(gòu)成項目、稅率管理、節(jié)日補貼、月度工資等管理。工資等級,對工資等級的添加、修改、刪除,主要是方便用人事管理對員工工資的添加、修改,通過對工資等級的修改可以對員工同一等級進行批量修改.工資構(gòu)成項目,是對于工資由哪些項目構(gòu)成的管理及這些項目是稅前還是稅后及加、減等的管理.界面如下:工資構(gòu)成圖稅率管理,是對員工應納稅的稅率及納稅金額的上下限、速算扣除數(shù)等的管理,方便月度工資中核算稅后工資。節(jié)日補貼管理,是公司對于員工各種法定節(jié)日及員工生日發(fā)放給員工的補貼。月度工資管理,實現(xiàn)了對員工的月度工資的添加、修改、刪除、查詢、導出到Excel等的管理,基本工資是根據(jù)是人事管理哪里讀取的,加班費通過加班類型及加班時間計算,出差補貼按照每種出差類型的補貼*次數(shù)的和,額外稅前是通過工資管理員設(shè)置的,設(shè)置界面如下圖1),應發(fā)工資計算公式:應發(fā)工資金額=基本工資+加班費+出差補助—請假扣款+額外稅前項,額外稅后、節(jié)日補貼是通過工資管理員設(shè)置的,設(shè)置界面如下圖2),稅后工資計算公式:稅后工資=應發(fā)工資金額-納稅金額;稅金額計算公式:納稅金額=應納稅金額*適合稅率-速算扣除數(shù)而應納稅金額=應發(fā)工資金額-納稅基數(shù)(1000);實發(fā)工資=稅后工資+稅后應加項-稅后應扣項+納稅基數(shù).月度工資管理的主界面:月度工資管理圖額外稅前計算圖額外稅后計算圖月度工資表導出至Excel效果如下圖:工資表導出樣式圖查詢時的通過選擇下拉框中的員工姓名或月份查看工資信息,當選擇變化時通過調(diào)用SelecteConditionSet()函數(shù)改變查詢條件,然后調(diào)用Displaytxt()顯示查詢后的結(jié)果,SelecteConditionSet()主要代碼:voidCSalary::SelecteConditionSet(){?UpdateData(TRUE);?condition_SQL=””;?m_Condition_month.GetWindowText(vCondition_month);?m_Condition_name.GetWindowText(vCondition_name); if(vCondition_name?。剑⑺小??{??vCondition_EmpID=ds.NameToID(vCondition_name);??condition_SQL=condition_SQL+"andEM_Salary.EmpID='"+vCondition_EmpID+”'";?}//EM_Salary.EmpID?if(vCondition_month!="所有")? condition_SQL=condition_SQL+”andSALMonth='”+vCondition_month+”'";?RefreshData();?UpdateData(FALSE);}?查詢語句:vSQL="selectSALID,EM_Salary。EmpIDEmpID,EmpName,SALMonth,EM_Employee。SGSalaryGrade”;?vSQL=vSQL+"SGSalaryGrade,SGSalarySum,SALOvertimePay,SALGoOnErrandsSubsidy";?vSQL=vSQL+",SALLeavePenalty,SALAtherBefTr,SALOughtSalary,SALAtherAftTr,SALFeastSubsidy”; vSQL=vSQL+”,SALTaxAfterSalary,SALFactSalary,TRTaxRate,SALTaxSum,SALDat(yī)e,SALIdiograph,SALRemark”;?vSQL=vSQL+"fromEM_Employee,EM_Salary,EM_SalaryGradewhereEM_Employee.EmpID=EM_Salary.EmpID";?vSQL=vSQL+”andEM_SalaryGrade。SGSalaryGrade=EM_Employee.SGSalaryGrade";?vSQL=vSQL+(_bstr_t)condition_SQL; vSQL=vSQL+"orderbySALMonthasc";導出Excel主要代碼如下:voidCSalary::OnSalaryOUT(){ //TODO:Addyourcontrolnotificationhandlercodehere?//連接數(shù)據(jù)庫 ADOConnado;?ado。OnInitADOConn(); ?//提取數(shù)據(jù)庫中員工信息?//定義操作Excel必要的對象?COleVariantVOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);_ApplicationobjApp;?WorkbooksobjBooks;?_WorkbookobjBook;?WorksheetsobjSheets;?_WorksheetobjSheet;?RangeobjRange;? //創(chuàng)建Excel對象?objApp.CreateDispatch(”Excel.Applicat(yī)ion");?objBooks=objApp.GetWorkbooks();?//返回工作簿對象?//打開指定Excel文件 CStringpat(yī)h;?//獲取當前應用程序的完整文件名,包含完整路徑?GetModuleFileName(NULL,path.GetBufferSetLength(MAX_PATH+1),MAX_PATH);?//取得最后一個\,去掉文件名,從而獲取當前應用程序的工作路徑?intpos=path。ReverseFind('\\');?path=pat(yī)h。Left(pos+1);?//在當前應用程序的工作路徑下打開EmpInfo.xls文件 objBook.AttachDispatch(objBooks。Add(_variant_t(path+"Salary.xls")));?objSheets=objBook.GetSheets(); //定義第一個Sheet為對象?objSheet=objSheets.GetItem((_variant_t)short(1));?objRange。AttachDispat(yī)ch(objSheet.GetCells(),true);??//讀取臨時表中的記錄?_RecordsetPtrm_rs;?_bstr_tvSQL;?vSQL=”selectSALID,EM_Salary。EmpIDEmpID,EmpName,SALMonth,EM_Employee.SGSalaryGrade";?vSQL=vSQL+”SGSalaryGrade,SGSalarySum,SALOvertimePay,SALGoOnErrandsSubsidy";?vSQL=vSQL+”,SALLeavePenalty,SALAtherBefTr,SALOughtSalary,SALAtherAftTr,SALFeastSubsidy”;?vSQL=vSQL+",SALTaxAfterSalary,SALFactSalary,TRTaxRate,SALTaxSum,SALDate,SALIdiograph,SALRemark";?vSQL=vSQL+”fromEM_Employee,EM_Salary,EM_SalaryGradewhereEM_Employee.EmpID=EM_Salary.EmpID";?vSQL=vSQL+"andEM_SalaryGrade。SGSalaryGrade=EM_Employee.SGSalaryGrade";?vSQL=vSQL+(_bstr_t)condition_SQL;?vSQL=vSQL+”orderbySALMonthasc”;?m_rs=ado.GetRecordSet(vSQL);?//生成標題欄?objRange。SetItem(_variant_t((long)(1)),_variant_t((long)(1)),_variant_t("序號”));?objRange。SetItem(_variant_t((long)(1)),_variant_t((long)(2)),_variant_t("工資編號"));?objRange.SetItem(_variant_t((long)(1)),_variant_t((long)(3)),_variant_t("員工編號"));?objRange.SetItem(_variant_t((long)(1)),_variant_t((long)(4)),_variant_t("姓名”)); objRange。SetItem(_variant_t((long)(1)),_variant_t((long)(5)),_variant_t("月份"));?objRange。SetItem(_variant_t((long)(1)),_variant_t((long)(6)),_variant_t(”基本工資等級”));?objRange.SetItem(_variant_t((long)(1)),_variant_t((long)(7)),_variant_t("基本工資"));……………………….. objRange.SetItem(_variant_t((long)(1)),_variant_t((long)(21)),_variant_t(”備注"));??//記錄總數(shù)?intiRowCount=0;?while(?。恚遰s-〉adoEOF) {? //把列值放入Excel指定單元格 CStringstr;? str。Format(”%03d",iRowCount+1);??objRange。SetItem(_variant_t((long)(iRowCount+2)),_variant_t((long)(1)),_variant_t(str)); ?str=(LPCTSTR)(_bstr_t)m_rs->GetCollect("SALID”);//工資編號 objRange。SetItem(_variant_t((long)(iRowCount+2)),_variant_t((long)(2)),_variant_t(str)); ?str=(LPCTSTR)(_bstr_t)m_rs->GetCollect(”EmpID");//員工編號?objRange.SetItem(_variant_t((long)(iRowCount+2)),_variant_t((long)(3)),_variant_t(str));??str=(LPCTSTR)(_bstr_t)m_rs->GetCollect("EmpName");//員工姓名?objRange.SetItem(_variant_t((long)(iRowCount+2)),_variant_t((long)(4)),_variant_t(str)); str=(LPCTSTR)(_bstr_t)m_rs->GetCollect(”SALMonth");//月份?objRange.SetItem(_variant_t((long)(iRowCount+2)),_variant_t((long)(5)),_variant_t(str)); ?str=(LPCTSTR)(_bstr_t)m_rs-〉GetCollect("SGSalaryGrade”);//基本工資等級 objRange.SetItem(_variant_t((long)(iRowCount+2)),_variant_t((long)(6)),_variant_t(str));? str=(LPCTSTR)(_bstr_t)m_rs->GetCollect("SGSalarySum");//基本工資??str。Format(yī)("%0.2f¥”,at(yī)of(str));……...?………………。??str=(LPCTSTR)(_bstr_t)m_rs-〉GetCollect("SALRemark");//備注?objRange。SetItem(_variant_t((long)(iRowCount+2)),_variant_t((long)(21)),_variant_t(str));????iRowCount++; ?m_rs->MoveNext(); }?//設(shè)置Excel為可見?objApp.SetVisible(true);?//釋放句柄 objRange.ReleaseDispatch();?objSheet。ReleaseDispatch();?objSheets.ReleaseDispatch();?objBook.ReleaseDispatch();?objBooks.ReleaseDispat(yī)ch();?objApp。ReleaseDispatch(); ado.ExitConnect();}系統(tǒng)管理系統(tǒng)管理主要包括對系統(tǒng)中的單項表格進行修改、添加,部門管理、數(shù)據(jù)備份恢復、數(shù)據(jù)壓縮等管理?;拘畔⒐芾恚瑢?shù)據(jù)庫中單項表格進行修改、添加,如對民族、專業(yè)、學歷等的操作;部門管理,對部門信息進行添加、修改、刪除,選中部門信息添加時,將彈出下圖2),彈出的對話框中部門編號及上級部門編號都是從數(shù)據(jù)庫中讀取的,部門編號是讀取系統(tǒng)中第一個未用的部門編號,界面如下:部門管理圖部門信息修改圖當用戶選擇部門點擊刪除時,如果該部門包含下級部門就會彈出“此部門包含下級部門,不能刪除”的提示,如果該部門包含員工時就會彈出“此部門包含員工不能刪除”的提示,提示如下圖:部門刪除提示(包含有下級部門)圖部門刪除提示(包含員工)圖部門刪除提示圖數(shù)據(jù)備份與恢復,對數(shù)據(jù)庫信息進行維護,保證數(shù)據(jù)損壞時能夠還原,數(shù)據(jù)備份時,將記錄在數(shù)據(jù)庫中備份表格EM_Backup表格中,該表格存儲了數(shù)據(jù)庫保存的備份iD,備份時間,及備份路徑;備份對話框界面如下:數(shù)據(jù)備份恢復圖備份說明:為了防止數(shù)據(jù)冗余,每天備份的最大數(shù)量為99999,備份時將彈出文件保存對話框,文件名是自動根據(jù)備份日期及當天備份編號生成的,用戶可以選擇更改備份名稱,備份名稱如“備份數(shù)據(jù)BACKUP2008—04-15-19—55-00001”,備份成功后會提示備份成功.數(shù)據(jù)恢復時也將彈出似文件打開對話框,用戶可以選擇備份文件*.Bak文件,點擊打開后開始恢復,數(shù)據(jù)庫恢復需要幾分鐘時間。數(shù)據(jù)備份主要代碼:生成數(shù)據(jù)備份ID函數(shù)CStringCBakeUpDlg::ProduceBackUpID(){ ?//連接數(shù)據(jù)庫?ADOConnm_AdoConn; m_AdoConn.OnI(lǐng)nitADOConn(); //設(shè)置SELECT語句?_bstr_tvSQL;?CTimett=CTime::GetCurrentTime();?CStringrq=tt.Format(”%Y-%m-%d");?CStringstr_tt=tt.Format("BACKUP%Y-%m—%d-%H-%M—");?vSQL="selectBackUp_IDfromEM_BackUpwhereBackUp_Date='"+rq+"'orderbyBackUp_ID";?//執(zhí)行SELETE語句?_RecordsetPtrm_pRecordset; m_pRecordset=m_AdoConn。GetRecordSet(vSQL);?//執(zhí)行SELECT語句?if(m_pRecordset-〉adoEOF)?{ return(str_tt+"00001");?}?else?{?? _variant_tvalue;??CStringstr,sub;??for(inti=1;i<99999;i++)? { ??value=m_pRecordset->GetCollect("BackUp_ID");???str=(char*)(_bstr_t)value;???sub=str.Mid(23);? ?intnumber=at(yī)oi(sub);???if(number!=i)? ?{????break; ??} m_pRecordset—>MoveNext();???if(m_pRecordset->adoEOF) ? {????i++;??? break; ??} ?}??if(i==99999)??{???MessageBox("今日備份數(shù)量大于99999了”,"錯誤”,MB_OKCANCEL|MB_ICONQUESTION|MB_SYSTEMMODAL);???returnCString(""); ?}??str.Format(”%05d",i);??str_tt=str_tt+str; ?returnstr_tt;?} m_AdoConn.ExitConnect();}數(shù)據(jù)備份函數(shù)voidCBakeUpDlg::OnBackUp(){?//TODO:Addyourcontrolnotificationhandlercodehere?CStringID=this->ProduceBackUpID();?CStringbackname="備份數(shù)據(jù)"+ID; //連接數(shù)據(jù)庫?ADOConnm_AdoConn; m_AdoConn.OnInitADOConn();?//設(shè)置SELECT語句 _bstr_tvSQL; CFileDialogdlg(false,”bak”,backname,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,”(*.bak)");?dlg。m_ofn.lpstrTitle=”保存?zhèn)浞菸募ⅲ?if(dlg。DoModal()==IDOK)??{??this—〉BeginWaitCursor();??CStringname=dlg。GetFileName(); ?CStringpath=dlg.GetPathName();??vSQL="usemasterbackupdatabaseEMPManagetodisk='"+path+"’";? //執(zhí)行SELETE語句??_RecordsetPtrm_pRecordset;??m_pRecordset=m_AdoConn.GetRecordSet(vSQL);? _bstr_tsql;??CStringDate=ID.Mid(6,10);??sql="useEMPManageinsertEM_BackUp(BackUp_ID,BackUp_Date,BackUp_Path)”;??sql=sql+"values('"+ID+"','"+Date+"','"+pat(yī)h+”’)";? m_AdoConn。ExecuteSQL(sql);??this-〉EndWaitCursor();?? MessageBox("備份成功”,”操作提示”,MB_ICONASTERISK);?}?CDialog::OnCancel();}數(shù)據(jù)恢復代碼voidCBakeUpDlg::OnResume(){?//TODO:Addyourcontrolnotificationhandlercodehere //連接數(shù)據(jù)庫?ADOConnm_AdoConn;?m_AdoConn.OnI(lǐng)nitADOConn();?//CStringname;?//設(shè)置SELECT語句 _bstr_tvSQL;?CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,??????"BackFile(*。bak)|*。*",this); //CFileDialogdlg(true,”bak",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"(*.bak)”);?dlg.m_ofn.lpstrTitle=”打開已備份的文件";?if(dlg.DoModal()==IDOK)??{? this-〉BeginWaitCursor();??CStringname=dlg.GetFileName();??CStringpath=dlg。GetPathName();??vSQL="usemasterrestoredatabaseEMPManagefromdisk=’"+path+"'";? //執(zhí)行SELETE語句??_RecordsetPtrm_pRecordset;? m_pRecordset=m_AdoConn。GetRecordSet(vSQL); ?//m_AdoConn.ExecuteSQL(sql);??this-〉EndWaitCursor(); MessageBox("恢復成功”,"操作提示");?}?m_AdoConn.ExitConnect();?CDialog::OnCancel();}系統(tǒng)初始化,將數(shù)據(jù)庫中的已有數(shù)據(jù)清楚,保證數(shù)據(jù)的有效性.用戶管理用戶管理模塊主要功能對操作員的管理、權(quán)限的分配管理、及密碼修改管理.操作員及權(quán)限管理,對操作員的增加、刪除、修改及操作員的權(quán)限分配管理.添加用戶時通過選擇相應的權(quán)限,并刷新顯示,如果用戶擁有某個權(quán)限時顯示“[權(quán)限名]”如【人事管理】,如果用戶沒有某個模塊的權(quán)限就顯示【…………】。只有當用戶擁有所有權(quán)限(超級用戶)時才可以擁有操作員及權(quán)限管理的權(quán)限,普通用戶都有修改自己密碼的權(quán)限。主界面如下:用戶管理圖操作員及權(quán)限修改的管理代碼:voidCUserManage::OnDblclkUserManage(NMHDR*pNMHDR,LRESULT*pResult){?//TO(shè)DO:Addyourcontrolnotificationhandlercodehere?ADOConnado,vado;//vado用來更新單個的表項?CStringstrSql,vstrSql;//vstrSql用來更新單個的表項?_bstr_tSQL; _RecordsetPtrm_pRecordset,vm_pRecordset;//vm_pRecordset用來更新單個的表項?POSITIONpos;?intIndex;?UpdateData(TRUE);?pos=m_UserManage.GetFirstSelectedItemPosition();Index=m_UserManage.GetNextSelectedItem(pos);//得到項目索引?m_UMUesrName=m_UserManage.GetItemText(Index,1);?old_UMUesrName=m_UMUesrName;?if(m_UMUesrName=="")?{??m_UMPasswd1=”"; ?m_UMPasswd2=”";??m_EmpName。ResetContent();??m_M00001.SetCheck(FALSE);??………………. }???else?{??ado.OnI(lǐng)nitADOConn(); ?strSql。Format("selectUMUesrName,EmpName,UMPasswd,UMDroit\? ?fromEM_Employee,EM_UserManage\?? whereEM_Employee.EmpID=EM_UserManage。EmpIDandUMUesrName='%s'”,old_UMUesrName); m_pRecordset=ado.GetRecordSet(_bstr_t(strSql));? ? if(?。╩_pRecordset->adoEOF))???{? ????vEmpName=(LPCTSTR)(_bstr_t)m_pRecordset—〉GetCollect(”EmpName"); ??m_UMPasswd1=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UMPasswd”);???old_UMPasswd=m_UMPasswd1;? ?m_UMPasswd2="”; ? if(vpropert_global==63)?? { ???GetDlgItem(IDC_UMPasswd1)-〉EnableWindow(TRUE);? ? GetDlgItem(IDC_UMPasswd2)—〉EnableWindow(TRUE);?? }? ?else???{? ??GetDlgItem(IDC_UMPasswd1)—〉EnableWindow(FALSE);????GetDlgItem(IDC_UMPasswd2)->EnableWindow(FALSE);? ?}???? ?vUMDroit=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect(”UMDroit");?? ??? ?//姓名 ???m_EmpName.ResetContent();? ?vado.OnInitADOConn();???vstrSql.Format("selectEmpID,EmpNamefromEM_Employee"); ? vm_pRecordset=vado.GetRecordSet(_bstr_t(vstrSql));? ?m_EmpName.InsertString(0,vEmpName);?? m_EmpName.SetCurSel(0);?? while((!vm_pRecordset—>adoEOF)&&(!vm_pRecordset->adoBOF))?? { ???tmp=(LPCTSTR)(_bstr_t)vm_pRecordset—>GetCollect("EmpName”);????vEmpID=(LPCTSTR)(_bstr_t)vm_pRecordset->GetCollect("EmpID”);????if(vEmpName!=tmp)??? m_EmpName。AddString(tmp);????vm_pRecordset—>MoveNext(); ? } vado.ExitConnect();?? vado。OnInitADOConn();???SQL=”selectMS_ID,MSModuleName,MSValue";? ?SQL=SQL+"fromEM_ModuleClassorderbyMS_ID"; ?vm_pRecordset=vado.GetRecordSet(SQL);???while(!vm_pRecordset->adoEOF)???{? ??vMSValue=(LPCTSTR)(_bstr_t)vm_pRecordset->GetCollect(”MSValue");? ??vMS_ID=(LPCTSTR)(_bstr_t)vm_pRecordset-〉GetCollect("MS_ID");????if((vMS_ID=="00001”)&&((atoi(vMSValue))&(atoi(vUMDroit)))) ?? m_M00001.SetCheck(TRUE); ???if((vMS_ID=="00002")&&((atoi(vMSValue))&(atoi(vUMDroit))))? ? ?m_M00002。SetCheck(TRUE);????if((vMS_ID=="00003")&&((atoi(vMSValue))&(atoi(vUMDroit))))???? m_M00003.SetCheck(TRUE);? ?if((vMS_ID==”00004")&&((atoi(vMSValue))&(atoi(vUMDroit))))?????m_M00004.SetCheck(TRUE); ?? if((vMS_ID=="00005")&&((atoi(vMSValue))&(atoi(vUMDroit)))) ??? m_M00005。SetCheck(TRUE);????if((vMS_ID=="00006")&&((atoi(vMSValue))&(atoi(vUMDroit))))?????m_M00006。SetCheck(TRUE);????vm_pRecordset-〉MoveNext(); ??}?? vado.ExitConnect();? ???}??ado。ExitConnect();?}?UpdateDat(yī)a(FALSE);?*pResult=0;}密碼管理,對于操作密碼的修改。修改時要求用戶輸入舊密碼、新密碼及確認密碼,先通過讀取全局變量中當前用戶的用戶名,查詢數(shù)據(jù)庫中舊密碼是否正確,錯誤是提示,如果正確的話就判斷新密碼與確認密碼是否一致,不一致時提示密碼不一致,一致時調(diào)用加密函數(shù)保存至數(shù)據(jù)庫.系統(tǒng)幫助系統(tǒng)幫助是方便用戶的使用.軟件測試系統(tǒng)模塊測試系統(tǒng)登錄管理模塊的功能是對用戶管理權(quán)限的管理,在此人事檔案信息管理系統(tǒng)中用戶有兩種:管理人員和一般操作人員。只有管理人員才能對人事信息進行管理,一般工作人員只有對人事信息查詢的權(quán)限。而管理人員在對人事信息進行相應維護時,必須輸入賬號和密碼。研究成果《人事信息管理系統(tǒng)》的主要研究成果是可以實現(xiàn)對人事檔案信息的錄入、更新、刪除、查詢、導出及考勤、工資、系統(tǒng)管理、用戶管理等功能,從而提高了工作效率及正確性。技術(shù)難點及解決一般用戶和管理員操作權(quán)限問題?按照系統(tǒng)分成的五個模塊,對每個模塊用一個二進制數(shù)字表示,每個用戶的權(quán)限是它擁有的各個模塊的權(quán)限值得和,用戶登錄成功后通過將用戶的權(quán)限依次與各個模塊的權(quán)限值相與,如果相與的結(jié)果為真則顯示該模塊下的各個功能,如果沒有的話只顯示主標題。主要代碼:BOOLCMainFrame::OnCreateClient(LPCREATESTRUCTlpcs,CCreateContext*pContext){??///首先將窗口客戶區(qū)分割為一行兩列?if(!wndSplitter.CreateStatic(this,1,2))returnfalse;?if(!wndSplitter。Creat(yī)eView(0,1,RUNTIME_CLASS(SysPage), CSize(0,0),pContext))??returnfalse; BaseInfo=FALSE;?SysMan=FALSE;//m_pMainWnd->ShowWindow(SW_SHOW);//??m_pMainWnd—>Updat(yī)eWindow();?DWORDdwf=CGfxOutBarCtrl::fDragItems| ??CGfxOutBarCtrl::fEditGroups|????CGfxOutBarCtrl::fEditItems|? ?CGfxOutBarCtrl::fRemoveGroups|????CGfxOutBarCtrl::fRemoveItems| ?? CGfxOutBarCtrl::fAddGroups| ??CGfxOutBarCtrl::fAnimat(yī)ion;?wndBar。Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),&wndSplitter, ?wndSplitter.IdFromRowCol(0,0),dwf);?wndBar.SetOwner(this);?imaLarge.Create(IDB_IMAGELIST,32,0,RGB(128,128,128)); imaSmall.Create(IDB_SMALL_IMAGELIST,16,0,RGB(0,128,128)); wndBar。SetImageList(&imaLarge,CGfxOutBarCtrl::fLargeIcon);?wndBar.SetImageList(&imaSmall,CGfxOutBarCtrl::fSmallIcon);?wndBar.SetAnimationTickCount(10);?wndBar.SetAnimSelHighlight(200);?//BlueSky加入的控制?wndBar。SetIfQueryRemove(true); wndBar.AddFolder("系統(tǒng)主頁",0);?wndBar。AddFolder("人事管理",1);?wndBar。AddFolder("出勤管理”,2); wndBar.AddFolder("工資管理",3); wndBar.AddFolder(”系統(tǒng)管理",4); wndBar.AddFolder(”用戶管理",5); wndBar.AddFolder("系統(tǒng)幫助",6);?//forwndBar.AddFolder("系統(tǒng)主頁”,0);?wndBar。InsertItem(0,0,"系統(tǒng)主頁",7,0);??ADOConnado,vado;//vado用來更新單個的表項?CStringstrSql,vstrSql;//vstrSql用來更新單個的表項?_RecordsetPtrm_pRecordset,vm_pRecordset;//vm_pRecordset用來更新單個的表項?CStringvMSValue;?//forwndBar.AddFolder(”人事管理",1);?ado.OnI(lǐng)nitADOConn();?strSql.Format("selectMSValuefromEM_ModuleClass\?? whereMSModuleName='%s'”,"人事管理");?m_pRecordset=ado。GetRecordSet(_bstr_t(strSql));?if(?。╩_pRecordset-〉adoEOF))? ?? ?vMSValue=(LPCTSTR)(_bstr_t)m_pRecordset-〉GetCollect("MSValue");?else??vMSValue="0";?ado.ExitConnect();??if(vpropert_global&atoi(vMSValue))?{??wndBar.InsertItem(1,0,”人員檔案管理",0,0);??wndBar。InsertItem(1,1,"職稱評定管理",1,0);? wndBar。InsertItem(1,2,”獎懲管理",2,0); ?wndBar.InsertItem(1,3,"培訓記錄管理",3,0); ?wndBar。InsertItem(1,4,"培訓項目管理",4,0);? wndBar.InsertItem(1,5,"人事變動管理",0,0); ?wndBar.InsertItem(1,6,"考評管理",1,0);??wndBar。InsertItem(1,7,"考評項目管理”,3,0);??wndBar。InsertItem(1,8,"福利品領(lǐng)取管理”,4,0); ?wndBar.InsertItem(1,9,"福利品管理",0,0); ?wndBar。InsertItem(1,10,”信息統(tǒng)計管理",1,0);?} //forwndBar。AddFolder("出勤管理",2);?ado。OnInitADOConn();?strSql。Format(yī)(”selectMSValuefromEM_ModuleClass\ ?whereMSModuleName='%s'”,”出勤管理"); m_pRecordset=ado.GetRecordSet(_bstr_t(strSql));?if(!(m_pRecordset—>adoEOF)) ????vMSValue=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("MSValue”); else??vMSValue="0"; ado。ExitConnect();??if(vpropert_global&atoi(vMSValue))?{??wndBar。InsertItem(2,0,”考勤記錄",0,0);??wndBar。InsertItem(2,1,"請假記錄",1,0); ?wndBar.InsertItem(2,2,"加班記錄”,2,0); ?wndBar.InsertItem(2,3,"出差記錄",3,0);??wndBar。InsertItem(2,4,”月度考勤記錄",0,0);?}?//forwndBar。AddFolder(”工資管理”,3);?ado。OnI(lǐng)nitADOConn();?strSql。Format(”selectMSValuefromEM_ModuleClass\???whereMSModuleName='%s'”,"工資管理”);?m_pRecordset=ado。GetRecordSet(_bstr_t(strSql));?if(!(m_pRecordset->adoEOF)) ???? vMSValue=(LPCTSTR)(_bstr_t)m_pRecordset—>GetCollect(”MSValue");?else? vMSValue="0”;?ado。ExitConnect();??if(vpropert_global&atoi(vMSValue))?{ ?wndBar。InsertItem(3,0,”基本工資管理”,0,0); wndBar。InsertItem(3,1,”工資構(gòu)成項目管理",1,0);??wndBar.InsertItem(3,2,"稅率管理”,2,0);??wndBar.InsertItem(3,3,”節(jié)日補貼管理”,3,0);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報參考:明代戲曲的少數(shù)民族書寫研究
- 二零二五年度智慧城市人工費承包合同協(xié)議2篇
- 二零二五年度民房租賃合同終止協(xié)議范本
- 2025年度建筑模板施工班組質(zhì)量保修服務合同
- 2025年度個人在線教育平臺會員貸款合同(含課程更新)4篇
- 河南省鄭州市智林學校高三上學期期末考試語文試題(含答案)
- 二零二五年度抹灰施工安全教育培訓資源共享合同4篇
- 二零二五年度新型木門安裝與綠色建材采購合同4篇
- 2025年度企業(yè)內(nèi)部培訓項目合同書范本4篇
- 2025年度苗木養(yǎng)護與生態(tài)園林景觀改造合同4篇
- CONSORT2010流程圖(FlowDiagram)【模板】文檔
- 腦電信號處理與特征提取
- 游戲綜合YY頻道設(shè)計模板
- 高中數(shù)學知識點全總結(jié)(電子版)
- GB/T 10322.7-2004鐵礦石粒度分布的篩分測定
- 2023新譯林版新教材高中英語必修一重點詞組歸納總結(jié)
- 蘇教版四年級數(shù)學下冊第3單元第2課時“常見的數(shù)量關(guān)系”教案
- 弘揚中華傳統(tǒng)文化課件
- 基于協(xié)同過濾算法的電影推薦系統(tǒng)設(shè)計
- 消防應急預案流程圖
- 人教統(tǒng)編版高中語文必修下冊第六單元(單元總結(jié))
評論
0/150
提交評論