基于Qt的企業(yè)人事管理系統(tǒng)課程_第1頁(yè)
基于Qt的企業(yè)人事管理系統(tǒng)課程_第2頁(yè)
基于Qt的企業(yè)人事管理系統(tǒng)課程_第3頁(yè)
基于Qt的企業(yè)人事管理系統(tǒng)課程_第4頁(yè)
基于Qt的企業(yè)人事管理系統(tǒng)課程_第5頁(yè)
已閱讀5頁(yè),還剩47頁(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、 前 言言在企業(yè)中,人人事管理理工作是是非常重重要的一一項(xiàng)工作作。它負(fù)負(fù)責(zé)整個(gè)個(gè)企業(yè)的的日常人人事安排排,人員員的人事事管理等等。以前前都是人人工在電電腦上處處理大量量的Exxcell表格信信息的初初級(jí)階段段,隨著著企業(yè)規(guī)規(guī)模的擴(kuò)擴(kuò)大以及及頻繁的的人員的的流動(dòng),人人事管理理的工作作量也大大大地加加重,而而且企業(yè)業(yè)人事管管理工作作的好壞壞對(duì)企業(yè)業(yè)的發(fā)展展有較大大的影響響,企業(yè)業(yè)對(duì)人事事管理也也較為重重視。隨隨著計(jì)算算機(jī)應(yīng)用用的發(fā)展展,人事事管理部部門急切切希望能能夠?qū)⑷巳耸鹿芾砝磙k公智智能化的的水平提提高,以以減輕人人的工作作壓力并并提高工工作效率率。本論文是經(jīng)經(jīng)過(guò)對(duì)客客戶的需需求分析析并結(jié)合合

2、實(shí)際的的需要設(shè)設(shè)計(jì)的。本本系統(tǒng)采采用的是是跨平臺(tái)臺(tái)的VCC+圖圖形界面面編輯器器和SQQLitte數(shù)據(jù)據(jù)庫(kù),設(shè)設(shè)計(jì)基本本滿足了了企業(yè)人人事管理理系統(tǒng)的的需求。第一章 開開發(fā)工具具的選擇擇第1節(jié) 開開發(fā)工具具Qt Creeatoor的介介紹一、Qt Creeatoor的簡(jiǎn)簡(jiǎn)介Qt Crreattor是Qt被Nokkia收收購(gòu)后推推出的一一款新的的輕量級(jí)級(jí)的集成成開發(fā)環(huán)環(huán)境(IIDE),這個(gè)集集成開發(fā)發(fā)環(huán)境能能夠跨平平臺(tái)運(yùn)行行,支持持的系統(tǒng)統(tǒng)包括LLinuux、Macc OSS X以以及Wiindoows。Qt Creeatoor的設(shè)設(shè)計(jì)目標(biāo)標(biāo)是使開開發(fā)人員員能夠利利用這個(gè)個(gè)框架更更加快速速且容易

3、易的完成成相應(yīng)的的開發(fā)任任務(wù)。QQt集成成開發(fā)環(huán)環(huán)境概圖圖如圖所所示: 圖1-11 QQt集成成開發(fā)環(huán)環(huán)境概圖圖 QQt CCreaatorr包括項(xiàng)項(xiàng)目生成成向?qū)А⒏吒呒?jí)的VVC+代碼編編輯器、瀏瀏覽文件件及類工工具、集集成了QQt DDesiigneer、QQt AAssiistaant、QQt LLingguisst、圖圖形化的的GDBB調(diào)試前前端,集集成qmmakee構(gòu)建工工具等。二、Qt Creeatoor的功功能和優(yōu)優(yōu)勢(shì)Qt Crreattor 主要是是為了幫幫助新QQt用戶戶更快速速的入門門并運(yùn)行行項(xiàng)目,可可大大提提高有經(jīng)經(jīng)驗(yàn)人員員的工作作效率。(一)使用用VC+代碼碼編輯器器可快

4、速速編寫代代碼 語(yǔ)法法標(biāo)識(shí)和和代碼完完成功能能輸入時(shí)時(shí)進(jìn)行靜靜態(tài)代碼碼檢驗(yàn)以以及提示示樣式上上下文相相關(guān)的幫幫助代碼碼折疊括括號(hào)匹配配和括號(hào)號(hào)選擇模模式高級(jí)級(jí)識(shí)別功功能。這這樣使得得我們能能寫出良良好格式式的代碼碼;在預(yù)預(yù)測(cè)我們們想要輸輸入的內(nèi)內(nèi)容時(shí),可可以自動(dòng)動(dòng)完成代代碼輸入入;又可可顯示內(nèi)內(nèi)聯(lián)錯(cuò)誤誤和警告告錯(cuò)誤。 (二)使用用瀏覽工工具管理理源代碼碼 由于于集成了了包括GGit、PPerfforcce和Subbverrsioon開放放式文件件在內(nèi)的的領(lǐng)先版版本控制制軟件,因因而不必必知道確確切的名名稱和位位置也可可搜索類類和文件件,在不不同位置置和文件件中沿用用的符號(hào)號(hào)在頭文文件和源源文件

5、,或或在聲明明和定義義之間切切換。(三)為QQt跨平平臺(tái)開發(fā)發(fā)人員的的需求而而量身定定制集成了特特定于QQt的功功能,如如信號(hào)與與槽圖示示調(diào)試器器,對(duì)QQt類結(jié)結(jié)構(gòu)可很很直觀的的看到,對(duì)對(duì)于Qt DDesiigneer可視視化布局局和格式式構(gòu)建器器只要單單擊一下下就可生生成和運(yùn)運(yùn)行Qtt項(xiàng)目。 第22節(jié) SSQLiite數(shù)數(shù)據(jù)庫(kù)的的介紹一、SQLLitee的簡(jiǎn)介介SQLitte是D.RRichhardd Hiipp用用c語(yǔ)言編編寫的開開源嵌入入式數(shù)據(jù)據(jù)庫(kù)引擎擎。它是是完全獨(dú)獨(dú)立的,對(duì)對(duì)外部沒(méi)沒(méi)有任何何依賴,最最重要地地,它是是一個(gè)輕輕量級(jí)的的數(shù)據(jù)庫(kù)庫(kù),在一一些簡(jiǎn)單單語(yǔ)句的的處理上上比一些Mys

6、sql要要快。二、SQLLitee的功能能和特性性從功能上看看,SQQLitte支持持多數(shù)SSQL992標(biāo)準(zhǔn)準(zhǔn),可以以在所有有主流的的操作系系統(tǒng)上跨跨平臺(tái)運(yùn)運(yùn)行,操操作簡(jiǎn)單單且支持持大多數(shù)數(shù)的計(jì)算算機(jī)語(yǔ)言言直接創(chuàng)創(chuàng)建數(shù)據(jù)據(jù)庫(kù),同同時(shí)它還還支持事事務(wù)處理理等。從特性上來(lái)來(lái)看,更更能體會(huì)會(huì)到SQQLitte的強(qiáng)強(qiáng)大的和和實(shí)用。它它是遵守守ACIID事務(wù)務(wù)的關(guān)系系型數(shù)據(jù)據(jù)庫(kù)管理理系統(tǒng)而而且其本本身只有有2500K大小小卻能支支持大至至2TBB的數(shù)據(jù)據(jù)庫(kù),而而且比一一些流行行的數(shù)據(jù)據(jù)庫(kù)在大大部分普普通數(shù)據(jù)據(jù)庫(kù)操作作的速度度要快,最最方便的的一點(diǎn)是是它是零零配置即即不需要要安裝和和管理配配置,而而且擁有

7、有大量簡(jiǎn)簡(jiǎn)單輕松松的APPI函數(shù)數(shù)。SQQLitte的資資源是完完全開放放的,它它的源代代碼都有有良好的的注釋,有有高達(dá)990%以以上的測(cè)測(cè)試覆蓋蓋率。 第33節(jié) Settup22GO的的介紹一、Settup22GO的的簡(jiǎn)介以以及特性性Setuup2GGO是一一個(gè)很不不錯(cuò)的安安裝文件件制作工工具,使使用簡(jiǎn)單單而且交交互性能能較強(qiáng),關(guān)關(guān)鍵是這這款制作作工具不不需要使使用者會(huì)會(huì)很多編編程知識(shí)識(shí)和編程程經(jīng)驗(yàn)就就可以在在很短的的時(shí)間內(nèi)內(nèi)完成制制作,且且該軟件件支持的的系統(tǒng)也也非常多多,例如如當(dāng)前所所有的332位Winndowws操作作系統(tǒng)的的程序。這這款軟件件還自帶帶了工程程向?qū)蛶椭焖偎偕砂舶惭b

8、項(xiàng)目目,非常常適合初初學(xué)者。另另外它還還具備建建立快捷捷方式、寫寫入注冊(cè)冊(cè)表、文文件類型型關(guān)聯(lián)、定定制對(duì)話話框和屏屏幕樣式式、使用用外部工工具、修修改INNI文件件,添加加安裝密密碼、測(cè)測(cè)試運(yùn)行行等功能能,而且且它還可可制作出出支持多多國(guó)語(yǔ)言言的安裝裝程序。第二章 系系統(tǒng)需求求及可行行性分析析第1節(jié) 需求分分析一、業(yè)務(wù)需需求1. 系統(tǒng)統(tǒng)操作簡(jiǎn)簡(jiǎn)單,界界面友好好;錯(cuò)誤誤操作予予以提醒醒。2. 規(guī)范范、完善善的基本本信息設(shè)設(shè)置。3. 支持持多人操操作,要要求有權(quán)權(quán)限分配配功能。4. 為了了方便用用戶,要要求系統(tǒng)統(tǒng)支持多多條件查查詢。5. 支持持?jǐn)?shù)據(jù)更更新調(diào)整整。6. 制作作成可安安裝文件件便于在在

9、沒(méi)有運(yùn)運(yùn)行環(huán)境境的機(jī)器器上安裝裝使用。二、用戶功功能需求求 通通過(guò)與客客戶的溝溝通和需需求分析析,要求求該系統(tǒng)統(tǒng)滿足如如下功能能: 運(yùn)運(yùn)行該系系統(tǒng)時(shí),首首先出現(xiàn)現(xiàn)登錄界界面,根根據(jù)輸入入的用戶戶名和密密碼判斷斷用戶的的權(quán)限。 若若登錄的的用戶為為管理員員,可進(jìn)進(jìn)行個(gè)人人密碼的的修改、可可看到員員工編號(hào)號(hào)和姓名名的列表表顯示、為為新員工工辦理入入職、辦辦理員工工離職、按按條件查查詢員工工以及對(duì)對(duì)員工基基本信息息、工作作信息、員員工考評(píng)評(píng)信息、培培訓(xùn)信息息、獎(jiǎng)懲懲信息、以以及員工工的權(quán)限限設(shè)置的的更改和和查詢。 若若登錄的的用戶為為普通用用戶,也也可以修修改自己己的密碼碼,可查查看員工工的基本本信

10、息、工工作信息息、員工工考評(píng)信信息、培培訓(xùn)信息息、獎(jiǎng)懲懲信息以以及員工工的權(quán)限限設(shè)置但但不具備備修改權(quán)權(quán)限。 第22節(jié) 可行性性分析一、經(jīng)濟(jì)可可行性在計(jì)算機(jī)應(yīng)應(yīng)用極其其廣泛的的今天,每每個(gè)企業(yè)業(yè)的員工工都有自自己的辦辦公電腦腦。因此此,生成成的可安安裝程序序的安裝裝問(wèn)題是是不用顧顧慮的,這這個(gè)系統(tǒng)統(tǒng)的花銷銷除了系系統(tǒng)本身身的開發(fā)發(fā)費(fèi)用是是幾乎為為零的,而而且為公公司減少少了在人人事管理理上的工工作人員員,還大大大提高高了工作作的效率率。為企企業(yè)帶來(lái)來(lái)的效益益是強(qiáng)大大且無(wú)形形的,因因此,在在經(jīng)濟(jì)上上是可行行的。二、技術(shù)可可行性 從從技術(shù)可可行性上上分析,該該系統(tǒng)的的開發(fā)主主要是對(duì)對(duì)數(shù)據(jù)庫(kù)庫(kù)中的數(shù)

11、數(shù)據(jù)進(jìn)行行操作,考考慮到系系統(tǒng)的功功能需求求,在系系統(tǒng)的技技術(shù)實(shí)現(xiàn)現(xiàn)上使用用Qt Creeatoor和SSQLiite數(shù)數(shù)據(jù)庫(kù)相相結(jié)合進(jìn)進(jìn)行軟件件開發(fā)。QQt CCreaatorr的組件件功能非非常強(qiáng)大大,封裝裝了很多多APII函數(shù),可可以實(shí)現(xiàn)現(xiàn)系統(tǒng)的的各項(xiàng)功功能的操操作以及及提高軟軟件開發(fā)發(fā)的效率率和軟件件的安全全性。 第三章 數(shù)數(shù)據(jù)庫(kù)設(shè)設(shè)計(jì)第1節(jié) 數(shù)數(shù)據(jù)庫(kù)的的設(shè)計(jì)一、數(shù)據(jù)庫(kù)庫(kù)設(shè)計(jì)結(jié)結(jié)構(gòu)圖本系統(tǒng)使用用SQLiite數(shù)數(shù)據(jù)庫(kù)設(shè)設(shè)計(jì)的名名為RSSDAMMS的數(shù)數(shù)據(jù)庫(kù),它它包含111個(gè)表表,這些些表存儲(chǔ)儲(chǔ)了在系系統(tǒng)設(shè)計(jì)計(jì)階段所所用到所所有信息息,也保保證了系系統(tǒng)正常常工作。其其結(jié)構(gòu)圖圖如圖所所示:

12、 圖 3-11 數(shù)數(shù)據(jù)庫(kù)結(jié)結(jié)構(gòu)圖bumenn表包含含2個(gè)實(shí)實(shí)體分別別為Biid,BBnamme。BBid為為部門名名稱的編編號(hào),BBnamme為部部門名稱稱。buumenn表的實(shí)實(shí)體E-R圖及及數(shù)據(jù)表表結(jié)構(gòu)如如下圖所所示: 圖 3-22 bbumeen實(shí)體體E-RR圖及表表結(jié)構(gòu)圖圖 minzuu表包含含2個(gè)實(shí)實(shí)體分別別為miinzuu_idd,miinzuu_naame。其其中miinzuu_idd依次對(duì)對(duì)應(yīng)著各各個(gè)民族族的名稱稱,本系系統(tǒng)僅列列舉8個(gè)個(gè)民族作作為說(shuō)明明,調(diào)用用民族信信息時(shí),只只需調(diào)用用或關(guān)聯(lián)聯(lián)minnzu_id的的就可以以。miinzuu表的實(shí)實(shí)體E-R圖及及數(shù)據(jù)表表結(jié)構(gòu)如如

13、下圖: 圖 3-33 mminzzu實(shí)體體E-RR圖及表表結(jié)構(gòu)圖圖kaop表表包含七七個(gè)實(shí)體體分別為為Kidd,Knnamee,Kiinfoo,Kllv,KKdatte,KKbeiiz,KKnumm。Kiid為關(guān)關(guān)聯(lián)的員員工編號(hào)號(hào),由于于員工編編號(hào)的唯唯一性,所所以在KKid為為該員工工編號(hào)時(shí)時(shí)就會(huì)對(duì)對(duì)應(yīng)該員員工的一一切考評(píng)評(píng)信息。kkaopp數(shù)據(jù)表表結(jié)構(gòu)如如下圖所所示: 圖33-4 kaaop表表結(jié)構(gòu)圖圖empliimfoo表包含含12個(gè)個(gè)實(shí)體分分別為EEid,EEnamme,EEsexx,Essex,EEdatte,EEminnzu,EEphoone,EEadddr,EEmaiil,EEu

14、nii,Exxuelli,EEmajjor,EEremmarkk。Eiid在這這個(gè)表中中同樣起起到關(guān)聯(lián)聯(lián)的作用用,Eiid存儲(chǔ)儲(chǔ)著員工工編號(hào)信信息,當(dāng)當(dāng)著一條條記錄的的員工編編號(hào)與表表中的EEid對(duì)對(duì)應(yīng)了,就就可以調(diào)調(diào)用該員員工的員員工信息息了。eempllinffo表結(jié)結(jié)構(gòu)如圖圖所示: 圖3-5 empplinnfo表表結(jié)構(gòu)圖圖limittinffo表包包含2個(gè)個(gè)實(shí)體分分別為L(zhǎng)Lid,LLinffo。這這個(gè)表的的作用很很簡(jiǎn)單,在在創(chuàng)建表表時(shí)寫好好了數(shù)據(jù)據(jù)后不用用再修改改。當(dāng)其其Lidd為0時(shí)時(shí),代表表一般用用戶,LLid為為1時(shí),代代表管理理員用戶戶。用來(lái)來(lái)判別用用戶權(quán)限限時(shí)使用用。表結(jié)結(jié)構(gòu)

15、如圖圖所示: 圖3-6 limmitiinfoo表結(jié)構(gòu)構(gòu)圖limitt表包含含3個(gè)實(shí)實(shí)體分別別為L(zhǎng)iid,LLpw,LLlimmit。表表中的LLid存存儲(chǔ)著員員工的編編號(hào),LLpw用用于存儲(chǔ)儲(chǔ)員工的的密碼,它它是與LLid存存儲(chǔ)的員員工編號(hào)號(hào)信息一一一對(duì)應(yīng)應(yīng)的,LLlimmit列列的信息息代表用用戶權(quán)限限。其表表結(jié)構(gòu)如如圖所示示: 圖33-7 liimitt表結(jié)構(gòu)構(gòu)圖Workiinfoo表包含含4個(gè)實(shí)實(shí)體分別別為Wiid,WWbummen,WWzhiicheeng,WWsallaryy。Wiid用于于存儲(chǔ)有有部門和和工資的的員工編編號(hào),WWbummen存存儲(chǔ)的是是部門信信息,本本系統(tǒng)中中列舉

16、55個(gè)部門門。Wssalaary用用于存儲(chǔ)儲(chǔ)工資信信息。其其表結(jié)構(gòu)構(gòu)如圖所所示: 圖圖3-88 wworkkinffo表結(jié)結(jié)構(gòu)圖rewarrd表包包含7個(gè)個(gè)實(shí)體分分別為RRid,RRnamme,RRtimme,RRrewwardd,Rrreasson,RRremmarkk,Rnnum。這這個(gè)表用用來(lái)存儲(chǔ)儲(chǔ)員工的的獎(jiǎng)懲信信息,當(dāng)當(dāng)新建一一個(gè)員工工的獎(jiǎng)懲懲記錄,其其實(shí)質(zhì)就就是向這這個(gè)表里里添加一一條記錄錄。其表表結(jié)構(gòu)如如圖所示示: 圖3-9 rewwardd表結(jié)構(gòu)構(gòu)圖selecct1表表只包含含一個(gè)實(shí)實(shí)體為SSid。SSid的的數(shù)據(jù)類類型為整整形。這這個(gè)表就就是單獨(dú)獨(dú)用來(lái)存存儲(chǔ)員工工編號(hào)的的,以便

17、便多表關(guān)關(guān)聯(lián)使用用。trainned表表包含66個(gè)實(shí)體體分別為為Tidd,Tnnamee,Tttimee,Tccontt,Trrem,TTnumm。這個(gè)個(gè)表是用用來(lái)存儲(chǔ)儲(chǔ)員工培培訓(xùn)信息息的,當(dāng)當(dāng)新建員員工培訓(xùn)訓(xùn)信息時(shí)時(shí),就是是相當(dāng)于于向這個(gè)個(gè)表中插插入一條條記錄。其其表結(jié)構(gòu)構(gòu)如圖所所示: 圖3-10 trrainned表表結(jié)構(gòu)圖圖zhichhengg表包含含2個(gè)實(shí)實(shí)體分別別為Ziid,ZZnamme。這這個(gè)表是是用來(lái)存存儲(chǔ)職稱稱信息的的,這個(gè)個(gè)企業(yè)的的所有崗崗位名稱稱都包含含在內(nèi),其其表結(jié)構(gòu)構(gòu)如圖所所示: 圖圖3-111 zhhichhengg表結(jié)構(gòu)構(gòu)圖從名為RSSDAMMS的數(shù)數(shù)據(jù)庫(kù)的的11

18、表表中我們們不難發(fā)發(fā)現(xiàn)每個(gè)個(gè)表都相相應(yīng)的id,這這里的id起起到的作作用是非非常大的的。當(dāng)我我們需要要兩個(gè)表表關(guān)聯(lián)時(shí)時(shí),都是是利用它它們idd關(guān)聯(lián)在在一起的的,在系系統(tǒng)設(shè)計(jì)計(jì)中很多多情況下下需要調(diào)調(diào)用數(shù)據(jù)據(jù)中的幾幾個(gè)表,那那么如何何知道調(diào)調(diào)用該表表中的哪哪個(gè)記錄錄,就要要靠它們們的idd來(lái)識(shí)別別了,這這些idd就像我我們的學(xué)學(xué)號(hào)是唯唯一的一一樣。數(shù)數(shù)據(jù)庫(kù)中中的各個(gè)個(gè)表都建建好后,在在編寫程程序時(shí)需需要將數(shù)數(shù)據(jù)庫(kù)和和我們建建的工程程聯(lián)系上上。因此此,在RRSDAAMS.proo中添加加dattabaase類類,在這這個(gè)C+類中中實(shí)現(xiàn)數(shù)數(shù)據(jù)庫(kù)的的連接與與關(guān)閉功功能,具具體如下下:void Datt

19、abaase:oppen() /數(shù)數(shù)據(jù)庫(kù)連連接函數(shù)數(shù) ddb = QSSqlDDataabasse:adddDattabaase(QSSQLIITE); /數(shù)數(shù)據(jù)庫(kù)為為SQLLiteedb.seetDaatabbaseeNamme(RSDDAMSS.dbb); /建立立名為RRSDAAMS.db的的數(shù)據(jù)庫(kù)庫(kù)if (!db.opeen() /打開開并連接接數(shù)據(jù)庫(kù)庫(kù)以及容容錯(cuò)處理理 QMeessaageBBox:crritiicall(0, CCannnot opeen ddataabasse, UUnabble to esttabllishh a dattabaase connnecctioon

20、.n TThiss exxampple neeeds SQLLitee suuppoort. Plleasse rreadd tthe Qt SQLL drriveer ddocuumenntattionn foor iinfoormaatioon hhow tto bbuilld iit., QQMesssaggeBoox:Canncell); rretuurn; void Dattabaase:cllosee() /關(guān)閉閉數(shù)據(jù)庫(kù)庫(kù)db.cllosee(); 第四章章 系統(tǒng)統(tǒng)設(shè)計(jì) 第1節(jié)節(jié) 系統(tǒng)統(tǒng)功能結(jié)結(jié)構(gòu) 一、系統(tǒng)功功能結(jié)構(gòu)構(gòu)圖 圖 4-11 企業(yè)業(yè)人事管管理系統(tǒng)統(tǒng)結(jié)構(gòu)圖圖第2節(jié) 系統(tǒng)功功

21、能的具具體設(shè)計(jì)計(jì)及代碼碼實(shí)現(xiàn)一、系統(tǒng)預(yù)預(yù)覽及界界面功能能實(shí)現(xiàn)企業(yè)人事管管理系統(tǒng)統(tǒng)由多個(gè)個(gè)窗體組組成,下下面僅列列出幾個(gè)個(gè)典型的的窗體:1.該圖為為點(diǎn)擊圖圖標(biāo)運(yùn)行行系統(tǒng)的的登錄界界面,在在該界面面輸入用用戶名和和密碼實(shí)實(shí)現(xiàn)登錄錄功能,由由于用戶戶在輸入入用戶名名和密碼碼時(shí)需要要密碼為為圖中小小黑點(diǎn)形形式以便便信息保保護(hù)。在在本系統(tǒng)統(tǒng)中,首首先在RRSDAAMS.proo工程中中的添加加Loggin界界面文件件,同時(shí)時(shí)在工程程中會(huì)自自動(dòng)添加加Loggin類類的源文文件和頭頭文件。在在其界面面文件上上添加用用到的工工具原件件。我通通過(guò)對(duì)LLogiin類構(gòu)構(gòu)造函數(shù)數(shù)添加初初始化語(yǔ)語(yǔ)句來(lái)實(shí)實(shí)現(xiàn)登錄錄密碼

22、的的保護(hù)顯顯示:ui - liinePPw - ssetEEchooModde(QQLinneEddit:Paasswwordd); 圖 4-2 登錄錄界面圖圖2.下圖為為用戶登登錄后進(jìn)進(jìn)入系統(tǒng)統(tǒng)的主界界面,若若為管理理員用戶戶,所有有的功能能都可以以直接或或間接的的在該界界面上實(shí)實(shí)現(xiàn)。該該界面包包含了該該系統(tǒng)的的所有的的功能,滿滿足客戶戶對(duì)本系系統(tǒng)的所所有要求求,而且且在細(xì)節(jié)節(jié)上也做做到了很很多人性性化的方方面。 圖 44-3 管理理員登錄錄的主界界面圖首先,從個(gè)個(gè)人賬戶戶這grrouppBoxx看起,其其中修改改密碼這這個(gè)Buuttoon按鈕鈕,無(wú)論論用戶擁?yè)碛性鯓訕拥挠脩魬魴?quán)限,都都應(yīng)該

23、是是只能修修改本身身的密碼碼;而且且我們確確保不要要出現(xiàn)操操作上的的失誤,我我們?cè)谛扌薷拿艽a碼時(shí),會(huì)會(huì)彈出一一個(gè)對(duì)話話框,需需要填寫寫舊密碼碼、新密密碼以及及確認(rèn)新新密碼。當(dāng)當(dāng)舊密碼碼為該用用戶現(xiàn)有有密碼,新新密碼和和確認(rèn)新新密碼一一致時(shí)才才可以實(shí)實(shí)現(xiàn)修改改。否則則會(huì)通過(guò)過(guò)如下代代碼實(shí)現(xiàn)現(xiàn)提示錯(cuò)錯(cuò)誤如圖圖所示:if(olldpww = quueryy.vaaluee(1).tooStrringg() & newwpw11 = neewpww2) queery.cleear(); queery.exeec(upddatee liimitts sset Lpww = + nnewppw1 + ww

24、herre LLid = + m_iid); QMeessaageBBox:innforrmattionn(0,密碼碼修改成成功!,QMMesssageeBoxx:OOk); thiis-cloose(); eelsee QMeessaageBBox:crritiicall(0,錯(cuò)誤誤!,密碼碼修改失失敗!,QMMesssageeBoxx:CCanccel);在這部分最最大的難難點(diǎn)是做做到只能能修改自自己的密密碼,因因此我們們做了和和主界面面的關(guān)聯(lián)聯(lián),通過(guò)過(guò)一個(gè)函函數(shù)傳遞遞一個(gè)參參數(shù)。這這個(gè)參數(shù)數(shù)為每個(gè)個(gè)員工所所特有的的,即每每個(gè)員工工的員工工編號(hào)。void moddpw:geetIDD(QS

25、Striing id) mm_idd = id; void Widdgett:oon_bbtnPPW_cclicckedd() mmodppw *moppdw11 = neww moodpww; mmopddw1-geetIDD(m_logginiid);mopdww1-exeec();delette mmopddw1; 圖 4-4 修改密密碼運(yùn)行行圖在這個(gè)grrouppBoxx里還有有一個(gè)退退出登錄錄的按鈕鈕,這個(gè)個(gè)按鈕的的實(shí)現(xiàn)就就想對(duì)簡(jiǎn)簡(jiǎn)單些,通通過(guò)如下下代碼實(shí)實(shí)現(xiàn)返回回登錄頁(yè)頁(yè)面:void Widdgett:oon_bbtnLLogaag_cclicckedd() LLogiin *l

26、= neew LLogiin; mm_looginnid = ; tthiss-hhidee(); ll-eexecc(); tthiss-SSetLLimiit(ll-LLogiinIDDRetturnn();this-shhow();delette ll;其次是員工工列表這這個(gè)grrouppBoxx的設(shè)計(jì)計(jì)實(shí)現(xiàn)。在在這里可可以顯示示所有員員工的員員工編號(hào)號(hào)和姓名名;具體體實(shí)現(xiàn)代代碼如下下所示: void Widdgett:oon_bbtnIInseert_cliickeed() NNewUUserr *nnusrr = neww NeewUsser;nusr-exxec();this-se

27、etAlllMoodell(Moodell1,MModeel2); tthiss-ddispplayy(); ddeleete nussr;在這一部分分還包括括員工入入職的辦辦理,設(shè)設(shè)計(jì)的目目標(biāo)是在在通過(guò)員員工入職職按鈕的的槽函數(shù)數(shù)彈出如如圖所示示的對(duì)話話框,在在這個(gè)對(duì)對(duì)話框填填寫新員員工的信信息,這這些信息息作為記記錄插入入到數(shù)據(jù)據(jù)庫(kù)中實(shí)實(shí)現(xiàn)員工工入職的的辦理。 圖 4-55 新員工工入職運(yùn)運(yùn)行圖添加功能通通過(guò)如下下代碼實(shí)實(shí)現(xiàn): queery.exeec(sellectt Eiid ffromm emmpliinfoo whheree Eiid = + idd); queery.nexxt(

28、); if(queery.vallue(0).toSStriing() = NNULLL)queryy.cllearr(); queery.exeec(inssertt innto empplinnfo valluess( + iid + ,+ naame + ,+ sexx +,+ datte +,+ miinzuu +,+ pphonne +,+ adddr +,+ emmaill +,+ uniiv +,+ xuuelii +,+ majjor +,+ rremaark +); queery.exeec(inssertt innto worrkinnfo valluess( + iid

29、+ , + bbumeen + , + zhiicheeng + , + sallaryy + ); queery.exeec(inssertt innto limmitss vaaluees(+ iid +,+ iid +, + liimitt + );this-cllosee(); eelsee QMeessaageBBox:crritiicall(0,錯(cuò)誤誤!,該員員工編號(hào)號(hào)已存在在!,QMeessaageBBox:Caanceel); 管理員還可可以實(shí)現(xiàn)現(xiàn)員工離離職的辦辦理,即即通過(guò)員員工離職職按鈕的的槽函數(shù)數(shù)實(shí)現(xiàn),首首先需要要選中一一個(gè)操作作對(duì)象,若若沒(méi)有選選中操作作對(duì)象會(huì)會(huì)彈出提提

30、示對(duì)話話框,然然后再單單擊員工工離職按按鈕,便便會(huì)彈出出如下圖圖所示的的對(duì)話框框,當(dāng)用用戶單擊擊Yess這個(gè)Buuttoon時(shí),數(shù)數(shù)據(jù)庫(kù)RRSDAAMS中中便執(zhí)行行delletee操作。依依次從eempllinffo表中中刪除EEid為為所選操操作對(duì)象象的idd的記錄錄,從sseleect表表中刪除除Sidd為id的記記錄,從從limmitss表中刪刪除Liid為id的記記錄,從從kaoop表中中刪除KKid為為id的記記錄,從從rewwardd表中刪刪除Riid為id的記記錄,從從worrkinnfo表表中刪除除Widd為id的記記錄,從從traaineed表中中刪除TTid為為id的記記錄

31、。具具體操作作由如下下代碼實(shí)實(shí)現(xiàn):void Widdgett:oon_bbtnDDeleete_cliickeed() QQAbsstraactIItemmModdel *ittModdel = uui-MsggTabble22-mmodeel();/ iint roww = ui-MssgTaablee2-currrenntInndexx().roww(); iif(-1 = rrow) itMModeel = uii-MMsgTTablle1-moodell(); roww = ui-MssgTaablee1-currrenntInndexx().roww(); if(-1 = roww)

32、 QMMesssageeBoxx:ccritticaal(00,錯(cuò)錯(cuò)誤!,請(qǐng)請(qǐng)選擇一一個(gè)操作作對(duì)象,QMeessaageBBox:Caanceel); reeturrn; QVarriannt ddataa1 = ittModdel-inndexx(roow,00).ddataa();/獲獲取選中中行第00列的值值員工編編號(hào) QQStrringg idd = datta1.toSStriing();if(QMMesssageeBoxx:YYes = QMeessaageBBox:quuesttionn(0,離職職會(huì)刪除除該員工工所有信信息,是是否繼續(xù)續(xù)?,QMeessaageBBox:Yees

33、|QQMesssaggeBoox:No) QSqqlQuueryy* qquerry = neew QQSqllQueery; queery-exxec(deelette ffromm emmpliinfoo whheree Eiid = + iid ); queery-exxec(deelette ffromm seelectt whheree Siid = + iid ); queery-exxec(deelette ffromm liimitts wwherre LLid = + id ); queery-exxec(deelette ffromm kaaop wheere Kidd =

34、 + idd ); queery-exxec(deelette ffromm reewarrd wwherre RRid = + id ); queery-exxec(deelette ffromm woorkiinfoo whheree Wiid = + iid ); queery-exxec(deelette ffromm trrainned wheere Tidd = + idd ); delletee quueryy;this-seetAlllMoodell(Moodell1,MModeel2); thiis-dissplaay(); 圖 4-6 員工離離職演示示圖任何用戶都都可以進(jìn)進(jìn)

35、行的顯顯示全部部的操作作,即通通過(guò)槽函函數(shù)實(shí)現(xiàn)現(xiàn),便可可將數(shù)據(jù)據(jù)庫(kù)中表表的信息息全部顯顯示在右右側(cè)列表表中。void Widdgett:oon_bbtnAAll_cliickeed()QSqlQQuerry *queery = nnew QSqqlQuueryy;queryy-eexecc(ddeleete froom sseleect11);queryy-eexecc(IInseert intto sseleect11 seelecct EEid fromm emmpliinfoo); MModeel1-cllearr(); MModeel1-seetQuueryy(sseleect Eid

36、d,Ennamee ffromm seelecct1,empplinnfo wwherre sseleect11.Siid = emmpliinfoo.Eiid oordeer bby SSid ASCC);countt = Moddel11-rrowCCounnt(); QQStrringg shhowccounnt; sshowwcouunt.settNumm(coountt); uui-labbelccounnt-settTexxt(當(dāng)前共共顯示 + shoowcoountt + 條數(shù)數(shù)據(jù));/ 更新新行數(shù) MModeel1-seetHeeadeerDaata(0,QQt:Horrizo

37、ontaal,員工編編號(hào)); MModeel1-seetHeeadeerDaata(1,QQt:Horrizoontaal,姓名);this-onn_taabWiidgeet_ccurrrenttChaangeed(uui-tabbWiddgett-ccurrrenttInddex();在這部分里里最突出出的作用用是新建建查找功功能,是是一種模模糊查找找的方式式,可以以按不同同的條件件查找,便便于企業(yè)業(yè)對(duì)某些些方面信信息的統(tǒng)統(tǒng)計(jì)。首首先,當(dāng)當(dāng)empplinnfo表表中的EEid與與worrkinnfo表表中的WWid一一致時(shí),向向sellectt表中添添加一條條記錄,這這條記錄錄是用戶戶要模糊

38、糊查找的的條件時(shí)時(shí),執(zhí)行行sqll語(yǔ)句與與表中的的信息相相比較,與與查詢條條件相一一致的顯顯示出來(lái)來(lái),最后后再用ddeleete語(yǔ)語(yǔ)句把添添加到表表中的查查找條件件記錄刪刪除,因因?yàn)樗徊粚儆诒肀碇械膯T員工記錄錄。具體體的舉例例實(shí)現(xiàn)如如圖4-7所示示。如按部門的的查找: 圖 4-77 新建建查找演演示圖最后是人事事管理這這個(gè)grrouppBoxx的設(shè)計(jì)計(jì),這一一部分的的功能比比較細(xì)碎碎,完成成的工作作比較多多,對(duì)于于管理員員來(lái)說(shuō),在在這部分分可以進(jìn)進(jìn)行基本本信息的的修改,這這個(gè)操作作需要先先選定一一個(gè)操作作對(duì)象,然然后點(diǎn)擊擊修改信信息,便便會(huì)彈出出一個(gè)窗窗口,該該窗口如如圖所示示,這個(gè)個(gè)功能主

39、主要依靠靠在槽函函數(shù)中更更新數(shù)據(jù)據(jù)庫(kù)中各各個(gè)表中中的數(shù)據(jù)據(jù)。 圖圖 4-8 基本本信息修修改演示示圖這里最人性性化的地地方就是是視圖顯顯示這個(gè)個(gè)按鈕實(shí)實(shí)現(xiàn)的功功能,當(dāng)當(dāng)想查看看一個(gè)人人的所有有信息,我我的設(shè)計(jì)計(jì)是讓其其信息都都在一個(gè)個(gè)視圖中中顯示,而而且這個(gè)個(gè)視圖中中的任何何一項(xiàng)都都設(shè)置為為在當(dāng)前前界面不不可更改改的。圖圖 4-9 視圖顯顯示除了修改密密碼外的的所有修修改操作作都是對(duì)對(duì)管理員員有用的的。在工工作信息息這欄里里包括職職位調(diào)動(dòng)動(dòng)和薪資資調(diào)動(dòng),在在選擇好好一個(gè)操操作對(duì)象象后,再再點(diǎn)擊調(diào)調(diào)動(dòng)/調(diào)調(diào)薪按鈕鈕,便可可彈出一一個(gè)窗口口進(jìn)行相相應(yīng)的信信息更改改。這個(gè)個(gè)功能的的設(shè)計(jì)主主要通過(guò)過(guò)s

40、qll語(yǔ)句中中的uppdatte函數(shù)數(shù)實(shí)現(xiàn),當(dāng)當(dāng)用戶所所選操作作對(duì)象的的id和數(shù)數(shù)據(jù)庫(kù)的的worrkinnfo表表的Wiid一致致時(shí),更更新表中中原來(lái)的的數(shù)據(jù)為為新的數(shù)數(shù)據(jù),便便實(shí)現(xiàn)了了該功能能。具體體的實(shí)現(xiàn)現(xiàn)可參考考如下代代碼:void worrkinnfo:onn_puushBButtton_cliickeed() QQSqllQueery queery; QQStrringg neewbuumenn; QQStrringg neewzhhichhengg; QQStrringg neewsaalarry;newbuumenn = ui-coombooNewwBummen-cuurreen

41、tTTextt(); nnewzzhicchenng = uii-ccombboNeewZhhichhengg-ccurrrenttTexxt(); nnewssalaary = uui-linneNeewSaalarry-texxt(); iif(!newwsallaryy.coompaare() newwsallaryy = 0; queryy.exxec(uppdatte wworkkinffo sset Wbuumenn = + neewbuumenn +,WWzhiicheeng = +nnewzzhicchenng +,Wsaalarry = + neewsaalarry + ww

42、herre WWid = + mm_idd);QMesssageeBoxx:iinfoormaatioon(00,修修改成功功!,QMeessaageBBox:Caanceel); thiss-cclosse();在人事管理理這個(gè)ggrouupBoox里的的員工考考評(píng)、培培訓(xùn)信息息、獎(jiǎng)懲懲信息這這三功能能都分別別包含三三個(gè)子功功能即添添加記錄錄,修改改記錄、刪刪除記錄錄,實(shí)現(xiàn)現(xiàn)的方式式都是一一致的,這這里只對(duì)對(duì)其中一一個(gè)進(jìn)行行介紹。就就以培訓(xùn)訓(xùn)信息作作為例子子:刪除記錄的的操作同同前面的的刪除操操作一致致,便是是從trrainned表表中刪除除該員工工的所有有信息。添加記錄、修修改記錄錄的對(duì)話

43、話框如圖圖4-110所示示 圖 4-110 添加修修改培訓(xùn)訓(xùn)記錄演演示圖添加記錄時(shí)時(shí)需要填填寫員工工編號(hào)、日日期、培培訓(xùn)內(nèi)容容及相應(yīng)應(yīng)的備注注。在單單擊確定定按鈕時(shí)時(shí),若輸輸入的員員工編號(hào)號(hào)不存在在會(huì)提示示報(bào)錯(cuò);若有該該員工,便便向trrainned表表中innserrt一條條記錄。修改記錄時(shí)時(shí)同樣也也會(huì)彈出出圖4-10所所示的圖圖形界面面,將需需要修改改的項(xiàng)目目填寫后后,單擊擊確定按按鈕,即即更新了了traaineed表中中的數(shù)據(jù)據(jù)。具體體的實(shí)現(xiàn)現(xiàn)如下代代碼做了了詳盡介介紹:void traaineed:on_pusshBuuttoon_cclicckedd() QQSqllQueery q

44、ueery; QQStrringg idd; QQStrringg naame; QQStrringg daate; QQStrringg coont; QQStrringg reemarrk;id = ui-liineIID-texxt(); qquerry.eexecc(sseleect * ffromm emmpliinfoo whheree Eiid = + iid); /判斷輸輸入的員員工編號(hào)號(hào)是否存存在 qquerry.nnextt(); iif(qquerry.vvaluue(00).ttoSttrinng() = NUULL) QMeessaageBBox:crritiical

45、l(0,錯(cuò)誤誤!,不存存在這個(gè)個(gè)員工!,QQMesssaggeBoox:Canncell); eelsee namme = quueryy.vaaluee(1).tooStrringg(); connt = uii-ttexttConnt-toPPlaiinTeext(); if(!mparre() coont = -; datte = uii-ddateeEdiit-texxt();remarrk = uii-ttexttRemmarkk-ttoPllainnTexxt(); if(!reemarrk.ccompparee() reemarrk = -; if(0 = modde) /moo

46、de為為0時(shí),執(zhí)執(zhí)行的是是添加記記錄的操操作 queery.cleear(); queery.exeec(inssertt innto traaineed(TTid,Tnaame,Ttiime,Tcoont,Treem) valluess(+ idd +,+ nnamee +,+ datte +,+ coont +,+ rremaark +) ); elsse iif(11 = moode) /modde為11時(shí),執(zhí)執(zhí)行的是是修改操操作 quueryy.cllearr(); quueryy.exxec(uppdatte ttraiinedd seet TTid = + iid +,TTnamm

47、e = + nnamee +,TTtimme = + ddatee +,TTconnt = + ccontt +,TTremm = + reemarrk + wheere Tnuum = + mm_nuum); thiis-cloose(); 人事管理這這個(gè)grrouppBoxx的最后后一個(gè)內(nèi)內(nèi)容就是是權(quán)限設(shè)設(shè)置,這這部分是是對(duì)管理理員有效效的。在在管理員員添加一一個(gè)新的的用戶時(shí)時(shí),要設(shè)設(shè)新用戶戶的權(quán)限限;也可可以更改改原有用用戶的權(quán)權(quán)限。這這里只設(shè)設(shè)置管理理員用戶戶權(quán)限和和普通用用戶權(quán)限限。而且且實(shí)現(xiàn)起起來(lái)也特特別簡(jiǎn)單單,在程程序中關(guān)關(guān)鍵的一一句為:queryy-eexecc(uupdaat

48、e limmitss seet LLlimmit = 管理員員 wwherre LLid = + id); 普普通用戶戶和管理理用戶的的差別在在于管理理員可以以更改任任何員工工的信息息,而普普通用戶戶除了本本身的密密碼可以以修改,對(duì)對(duì)其余的的信息只只有查看看功能。以上是該系系統(tǒng)中管管理員各各項(xiàng)功能能的實(shí)現(xiàn)現(xiàn),普通通用戶的的功能只只需將和和修改有有關(guān)的功功能設(shè)置置為faalsee,相應(yīng)應(yīng)的按鈕鈕就會(huì)變變成灰色色不可使使用的。若若為普通通用戶登登錄,其其界面如如圖4-11 : 圖圖 4-11 普普通用戶戶登錄的的主界面面圖 管管理員和和普通用用戶區(qū)別別的具體體實(shí)現(xiàn)代代碼如下下: if(queery

49、-vaaluee(2).tooStrringg() = 管理理員) /管理理員用戶戶的按鈕鈕可用性性都設(shè)為為truue; ui-bttnDBBM-settEnaableed(ttruee); ui-bttnNoormaal-settEnaableed(ttruee);ui-bbtnDDelKKaoppingg-ssetEEnabbledd(trrue); ui-bttnDeelReewarrd-settEnaableed(ttruee); ui-bttnDeelTrrainned-seetEnnablled(truue); ui-bttnMoodKaaopiing-seetEnnablled(

50、truue); ui-bttnMoodReewarrd-settEnaableed(ttruee); ui-bttnMoodTrrainned-seetEnnablled(truue); ui-bttnKaaopiing-seetEnnablled(truue); ui-bttnReewarrd-settEnaableed(ttruee); ui-bttnTrrainned-seetEnnablled(truue); ui-btnnInssertt-ssetEEnabbledd(trrue); ui-bttnDeelette-settEnaableed(ttruee); ui-bttnMood

51、iffy-settEnaableed(ttruee); ui-bttnWoorkiinfoo-ssetEEnabbledd(trrue); eelsee iff(quueryy-vvaluue(22).ttoSttrinng() = 一一般) /一一般用戶戶的按鈕鈕可用性性設(shè)置為為fallse; ui-bttnDBBM-settEnaableed(ffalsse); ui-bttnNoormaal-settEnaableed(ffalsse);ui-bbtnDDelKKaoppingg-ssetEEnabbledd(faalsee); ui-bttnDeelReewarrd-settEnaab

52、leed(ffalsse); ui-bttnDeelTrrainned-seetEnnablled(fallse); ui-bttnMoodKaaopiing-seetEnnablled(fallse); ui-bttnMoodReewarrd-settEnaableed(ffalsse); ui-bttnMoodTrrainned-seetEnnablled(fallse); ui-bttnKaaopiing-seetEnnablled(fallse); ui-bttnReewarrd-settEnaableed(ffalsse); ui-bttnTrrainned-seetEnnablle

53、d(fallse);ui-bbtnIInseert-seetEnnablled(fallse); ui-bttnDeelette-settEnaableed(ffalsse); ui-bttnMoodiffy-settEnaableed(ffalsse); ui-bttnWoorkiinfoo-ssetEEnabbledd(faalsee); 設(shè)設(shè)置為ttruee時(shí),該該按鈕的的功能可可使用,設(shè)設(shè)置為ffalsse時(shí),該該按鈕的的功能不不能使用用。這也也是大多多數(shù)人事事管理系系統(tǒng)區(qū)分分管理員員和普通通用戶的的方法 。 第五章 制制作可安安裝文件件到此,基于于Qt環(huán)環(huán)境的人人事管理理系統(tǒng)功功能已基基本實(shí)現(xiàn)現(xiàn),由于于考慮到到不是每每個(gè)用戶戶的辦公公電腦上上都安裝裝了Qtt Crreattor和和SQLLitee數(shù)據(jù)庫(kù)庫(kù),也為為了保證證程序和和數(shù)據(jù)庫(kù)庫(kù)員工信信息的安安全,我我把源程程序制作作成了可可安裝文文件。使用settup22GO生生成可安安裝文件件實(shí)際上上是一種種動(dòng)態(tài)編編譯方法法。當(dāng)在在Qt環(huán)環(huán)境下設(shè)設(shè)計(jì)完

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論