版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 前 言言在企业中,人人事管理理工作是是非常重重要的一一项工作作。它负负责整个个企业的的日常人人事安排排,人员员的人事事管理等等。以前前都是人人工在电电脑上处处理大量量的Exxcell表格信信息的初初级阶段段,随着着企业规规模的扩扩大以及及频繁的的人员的的流动,人人事管理理的工作作量也大大大地加加重,而而且企业业人事管管理工作作的好坏坏对企业业的发展展有较大大的影响响,企业业对人事事管理也也较为重重视。随随着计算算机应用用的发展展,人事事管理部部门急切切希望能能够将人人事管理理办公智智能化的的水平提提高,以以减轻人人的工作作压力并并提高工工作效率率。本论文是经经过对客客户的需需求分析析并结合合
2、实际的的需要设设计的。本本系统采采用的是是跨平台台的VCC+图图形界面面编辑器器和SQQLitte数据据库,设设计基本本满足了了企业人人事管理理系统的的需求。第一章 开开发工具具的选择择第1节 开开发工具具Qt Creeatoor的介介绍一、Qt Creeatoor的简简介Qt Crreattor是Qt被Nokkia收收购后推推出的一一款新的的轻量级级的集成成开发环环境(IIDE),这个集集成开发发环境能能够跨平平台运行行,支持持的系统统包括LLinuux、Macc OSS X以以及Wiindoows。Qt Creeatoor的设设计目标标是使开开发人员员能够利利用这个个框架更更加快速速且容易
3、易的完成成相应的的开发任任务。QQt集成成开发环环境概图图如图所所示: 图1-11 QQt集成成开发环环境概图图 QQt CCreaatorr包括项项目生成成向导、高高级的VVC+代码编编辑器、浏浏览文件件及类工工具、集集成了QQt DDesiigneer、QQt AAssiistaant、QQt LLingguisst、图图形化的的GDBB调试前前端,集集成qmmakee构建工工具等。二、Qt Creeatoor的功功能和优优势Qt Crreattor 主要是是为了帮帮助新QQt用户户更快速速的入门门并运行行项目,可可大大提提高有经经验人员员的工作作效率。(一)使用用VC+代码码编辑器器可快
4、速速编写代代码 语法法标识和和代码完完成功能能输入时时进行静静态代码码检验以以及提示示样式上上下文相相关的帮帮助代码码折叠括括号匹配配和括号号选择模模式高级级识别功功能。这这样使得得我们能能写出良良好格式式的代码码;在预预测我们们想要输输入的内内容时,可可以自动动完成代代码输入入;又可可显示内内联错误误和警告告错误。 (二)使用用浏览工工具管理理源代码码 由于于集成了了包括GGit、PPerfforcce和Subbverrsioon开放放式文件件在内的的领先版版本控制制软件,因因而不必必知道确确切的名名称和位位置也可可搜索类类和文件件,在不不同位置置和文件件中沿用用的符号号在头文文件和源源文件
5、,或或在声明明和定义义之间切切换。(三)为QQt跨平平台开发发人员的的需求而而量身定定制集成了特特定于QQt的功功能,如如信号与与槽图示示调试器器,对QQt类结结构可很很直观的的看到,对对于Qt DDesiigneer可视视化布局局和格式式构建器器只要单单击一下下就可生生成和运运行Qtt项目。 第22节 SSQLiite数数据库的的介绍一、SQLLitee的简介介SQLitte是D.RRichhardd Hiipp用用c语言编编写的开开源嵌入入式数据据库引擎擎。它是是完全独独立的,对对外部没没有任何何依赖,最最重要地地,它是是一个轻轻量级的的数据库库,在一一些简单单语句的的处理上上比一些Mys
6、sql要要快。二、SQLLitee的功能能和特性性从功能上看看,SQQLitte支持持多数SSQL992标准准,可以以在所有有主流的的操作系系统上跨跨平台运运行,操操作简单单且支持持大多数数的计算算机语言言直接创创建数据据库,同同时它还还支持事事务处理理等。从特性上来来看,更更能体会会到SQQLitte的强强大的和和实用。它它是遵守守ACIID事务务的关系系型数据据库管理理系统而而且其本本身只有有2500K大小小却能支支持大至至2TBB的数据据库,而而且比一一些流行行的数据据库在大大部分普普通数据据库操作作的速度度要快,最最方便的的一点是是它是零零配置即即不需要要安装和和管理配配置,而而且拥有
7、有大量简简单轻松松的APPI函数数。SQQLitte的资资源是完完全开放放的,它它的源代代码都有有良好的的注释,有有高达990%以以上的测测试覆盖盖率。 第33节 Settup22GO的的介绍一、Settup22GO的的简介以以及特性性Setuup2GGO是一一个很不不错的安安装文件件制作工工具,使使用简单单而且交交互性能能较强,关关键是这这款制作作工具不不需要使使用者会会很多编编程知识识和编程程经验就就可以在在很短的的时间内内完成制制作,且且该软件件支持的的系统也也非常多多,例如如当前所所有的332位Winndowws操作作系统的的程序。这这款软件件还自带带了工程程向导帮帮助快速速生成安安装
8、项目目,非常常适合初初学者。另另外它还还具备建建立快捷捷方式、写写入注册册表、文文件类型型关联、定定制对话话框和屏屏幕样式式、使用用外部工工具、修修改INNI文件件,添加加安装密密码、测测试运行行等功能能,而且且它还可可制作出出支持多多国语言言的安装装程序。第二章 系系统需求求及可行行性分析析第1节 需求分分析一、业务需需求1. 系统统操作简简单,界界面友好好;错误误操作予予以提醒醒。2. 规范范、完善善的基本本信息设设置。3. 支持持多人操操作,要要求有权权限分配配功能。4. 为了了方便用用户,要要求系统统支持多多条件查查询。5. 支持持数据更更新调整整。6. 制作作成可安安装文件件便于在在
9、没有运运行环境境的机器器上安装装使用。二、用户功功能需求求 通通过与客客户的沟沟通和需需求分析析,要求求该系统统满足如如下功能能: 运运行该系系统时,首首先出现现登录界界面,根根据输入入的用户户名和密密码判断断用户的的权限。 若若登录的的用户为为管理员员,可进进行个人人密码的的修改、可可看到员员工编号号和姓名名的列表表显示、为为新员工工办理入入职、办办理员工工离职、按按条件查查询员工工以及对对员工基基本信息息、工作作信息、员员工考评评信息、培培训信息息、奖惩惩信息、以以及员工工的权限限设置的的更改和和查询。 若若登录的的用户为为普通用用户,也也可以修修改自己己的密码码,可查查看员工工的基本本信
10、息、工工作信息息、员工工考评信信息、培培训信息息、奖惩惩信息以以及员工工的权限限设置但但不具备备修改权权限。 第22节 可行性性分析一、经济可可行性在计算机应应用极其其广泛的的今天,每每个企业业的员工工都有自自己的办办公电脑脑。因此此,生成成的可安安装程序序的安装装问题是是不用顾顾虑的,这这个系统统的花销销除了系系统本身身的开发发费用是是几乎为为零的,而而且为公公司减少少了在人人事管理理上的工工作人员员,还大大大提高高了工作作的效率率。为企企业带来来的效益益是强大大且无形形的,因因此,在在经济上上是可行行的。二、技术可可行性 从从技术可可行性上上分析,该该系统的的开发主主要是对对数据库库中的数
11、数据进行行操作,考考虑到系系统的功功能需求求,在系系统的技技术实现现上使用用Qt Creeatoor和SSQLiite数数据库相相结合进进行软件件开发。QQt CCreaatorr的组件件功能非非常强大大,封装装了很多多APII函数,可可以实现现系统的的各项功功能的操操作以及及提高软软件开发发的效率率和软件件的安全全性。 第三章 数数据库设设计第1节 数数据库的的设计一、数据库库设计结结构图本系统使用用SQLiite数数据库设设计的名名为RSSDAMMS的数数据库,它它包含111个表表,这些些表存储储了在系系统设计计阶段所所用到所所有信息息,也保保证了系系统正常常工作。其其结构图图如图所所示:
12、 图 3-11 数数据库结结构图bumenn表包含含2个实实体分别别为Biid,BBnamme。BBid为为部门名名称的编编号,BBnamme为部部门名称称。buumenn表的实实体E-R图及及数据表表结构如如下图所所示: 图 3-22 bbumeen实体体E-RR图及表表结构图图 minzuu表包含含2个实实体分别别为miinzuu_idd,miinzuu_naame。其其中miinzuu_idd依次对对应着各各个民族族的名称称,本系系统仅列列举8个个民族作作为说明明,调用用民族信信息时,只只需调用用或关联联minnzu_id的的就可以以。miinzuu表的实实体E-R图及及数据表表结构如如
13、下图: 图 3-33 mminzzu实体体E-RR图及表表结构图图kaop表表包含七七个实体体分别为为Kidd,Knnamee,Kiinfoo,Kllv,KKdatte,KKbeiiz,KKnumm。Kiid为关关联的员员工编号号,由于于员工编编号的唯唯一性,所所以在KKid为为该员工工编号时时就会对对应该员员工的一一切考评评信息。kkaopp数据表表结构如如下图所所示: 图33-4 kaaop表表结构图图empliimfoo表包含含12个个实体分分别为EEid,EEnamme,EEsexx,Essex,EEdatte,EEminnzu,EEphoone,EEadddr,EEmaiil,EEu
14、nii,Exxuelli,EEmajjor,EEremmarkk。Eiid在这这个表中中同样起起到关联联的作用用,Eiid存储储着员工工编号信信息,当当着一条条记录的的员工编编号与表表中的EEid对对应了,就就可以调调用该员员工的员员工信息息了。eempllinffo表结结构如图图所示: 图3-5 empplinnfo表表结构图图limittinffo表包包含2个个实体分分别为LLid,LLinffo。这这个表的的作用很很简单,在在创建表表时写好好了数据据后不用用再修改改。当其其Lidd为0时时,代表表一般用用户,LLid为为1时,代代表管理理员用户户。用来来判别用用户权限限时使用用。表结结构
15、如图图所示: 图3-6 limmitiinfoo表结构构图limitt表包含含3个实实体分别别为Liid,LLpw,LLlimmit。表表中的LLid存存储着员员工的编编号,LLpw用用于存储储员工的的密码,它它是与LLid存存储的员员工编号号信息一一一对应应的,LLlimmit列列的信息息代表用用户权限限。其表表结构如如图所示示: 图33-7 liimitt表结构构图Workiinfoo表包含含4个实实体分别别为Wiid,WWbummen,WWzhiicheeng,WWsallaryy。Wiid用于于存储有有部门和和工资的的员工编编号,WWbummen存存储的是是部门信信息,本本系统中中列举
16、55个部门门。Wssalaary用用于存储储工资信信息。其其表结构构如图所所示: 图图3-88 wworkkinffo表结结构图rewarrd表包包含7个个实体分分别为RRid,RRnamme,RRtimme,RRrewwardd,Rrreasson,RRremmarkk,Rnnum。这这个表用用来存储储员工的的奖惩信信息,当当新建一一个员工工的奖惩惩记录,其其实质就就是向这这个表里里添加一一条记录录。其表表结构如如图所示示: 图3-9 rewwardd表结构构图selecct1表表只包含含一个实实体为SSid。SSid的的数据类类型为整整形。这这个表就就是单独独用来存存储员工工编号的的,以便
17、便多表关关联使用用。trainned表表包含66个实体体分别为为Tidd,Tnnamee,Tttimee,Tccontt,Trrem,TTnumm。这个个表是用用来存储储员工培培训信息息的,当当新建员员工培训训信息时时,就是是相当于于向这个个表中插插入一条条记录。其其表结构构如图所所示: 图3-10 trrainned表表结构图图zhichhengg表包含含2个实实体分别别为Ziid,ZZnamme。这这个表是是用来存存储职称称信息的的,这个个企业的的所有岗岗位名称称都包含含在内,其其表结构构如图所所示: 图图3-111 zhhichhengg表结构构图从名为RSSDAMMS的数数据库的的11
18、表表中我们们不难发发现每个个表都相相应的id,这这里的id起起到的作作用是非非常大的的。当我我们需要要两个表表关联时时,都是是利用它它们idd关联在在一起的的,在系系统设计计中很多多情况下下需要调调用数据据中的几几个表,那那么如何何知道调调用该表表中的哪哪个记录录,就要要靠它们们的idd来识别别了,这这些idd就像我我们的学学号是唯唯一的一一样。数数据库中中的各个个表都建建好后,在在编写程程序时需需要将数数据库和和我们建建的工程程联系上上。因此此,在RRSDAAMS.proo中添加加dattabaase类类,在这这个C+类中中实现数数据库的的连接与与关闭功功能,具具体如下下:void Datt
19、abaase:oppen() /数数据库连连接函数数 ddb = QSSqlDDataabasse:adddDattabaase(QSSQLIITE); /数数据库为为SQLLiteedb.seetDaatabbaseeNamme(RSDDAMSS.dbb); /建立立名为RRSDAAMS.db的的数据库库if (!db.opeen() /打开开并连接接数据库库以及容容错处理理 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() /关闭闭数据库库db.cllosee(); 第四章章 系统统设计 第1节节 系统统功能结结构 一、系统功功能结构构图 图 4-11 企业业人事管管理系统统结构图图第2节 系统功功
21、能的具具体设计计及代码码实现一、系统预预览及界界面功能能实现企业人事管管理系统统由多个个窗体组组成,下下面仅列列出几个个典型的的窗体:1.该图为为点击图图标运行行系统的的登录界界面,在在该界面面输入用用户名和和密码实实现登录录功能,由由于用户户在输入入用户名名和密码码时需要要密码为为图中小小黑点形形式以便便信息保保护。在在本系统统中,首首先在RRSDAAMS.proo工程中中的添加加Loggin界界面文件件,同时时在工程程中会自自动添加加Loggin类类的源文文件和头头文件。在在其界面面文件上上添加用用到的工工具原件件。我通通过对LLogiin类构构造函数数添加初初始化语语句来实实现登录录密码
22、的的保护显显示:ui - liinePPw - ssetEEchooModde(QQLinneEddit:Paasswwordd); 图 4-2 登录录界面图图2.下图为为用户登登录后进进入系统统的主界界面,若若为管理理员用户户,所有有的功能能都可以以直接或或间接的的在该界界面上实实现。该该界面包包含了该该系统的的所有的的功能,满满足客户户对本系系统的所所有要求求,而且且在细节节上也做做到了很很多人性性化的方方面。 图 44-3 管理理员登录录的主界界面图首先,从个个人账户户这grrouppBoxx看起,其其中修改改密码这这个Buuttoon按钮钮,无论论用户拥拥有怎样样的用户户权限,都都应该
23、是是只能修修改本身身的密码码;而且且我们确确保不要要出现操操作上的的失误,我我们在修修改密码码时,会会弹出一一个对话话框,需需要填写写旧密码码、新密密码以及及确认新新密码。当当旧密码码为该用用户现有有密码,新新密码和和确认新新密码一一致时才才可以实实现修改改。否则则会通过过如下代代码实现现提示错错误如图图所示: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,错误误!,密码码修改失失败!,QMMesssageeBoxx:CCanccel);在这部分最最大的难难点是做做到只能能修改自自己的密密码,因因此我们们做了和和主界面面的关联联,通过过一个函函数传递递一个参参数。这这个参数数为每个个员工所所特有的的,即每每个员工工的员工工编号。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 修改密密码运行行图在这个grrouppBoxx里还有有一个退退出登录录的按钮钮,这个个按钮的的实现就就想对简简单些,通通过如下下代码实实现返回回登录页页面:void Widdgett:oon_bbtnLLogaag_cclicckedd() LLogiin *l
26、= neew LLogiin; mm_looginnid = ; tthiss-hhidee(); ll-eexecc(); tthiss-SSetLLimiit(ll-LLogiinIDDRetturnn();this-shhow();delette ll;其次是员工工列表这这个grrouppBoxx的设计计实现。在在这里可可以显示示所有员员工的员员工编号号和姓名名;具体体实现代代码如下下所示: void Widdgett:oon_bbtnIInseert_cliickeed() NNewUUserr *nnusrr = neww NeewUsser;nusr-exxec();this-se
27、etAlllMoodell(Moodell1,MModeel2); tthiss-ddispplayy(); ddeleete nussr;在这一部分分还包括括员工入入职的办办理,设设计的目目标是在在通过员员工入职职按钮的的槽函数数弹出如如图所示示的对话话框,在在这个对对话框填填写新员员工的信信息,这这些信息息作为记记录插入入到数据据库中实实现员工工入职的的办理。 图 4-55 新员工工入职运运行图添加功能通通过如下下代码实实现: 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,错误误!,该员员工编号号已存在在!,QMeessaageBBox:Caanceel); 管理员还可可以实现现员工离离职的办办理,即即通过员员工离职职按钮的的槽函数数实现,首首先需要要选中一一个操作作对象,若若没有选选中操作作对象会会弹出提提
30、示对话话框,然然后再单单击员工工离职按按钮,便便会弹出出如下图图所示的的对话框框,当用用户单击击Yess这个Buuttoon时,数数据库RRSDAAMS中中便执行行delletee操作。依依次从eempllinffo表中中删除EEid为为所选操操作对象象的idd的记录录,从sseleect表表中删除除Sidd为id的记记录,从从limmitss表中删删除Liid为id的记记录,从从kaoop表中中删除KKid为为id的记记录,从从rewwardd表中删删除Riid为id的记记录,从从worrkinnfo表表中删除除Widd为id的记记录,从从traaineed表中中删除TTid为为id的记记录
31、。具具体操作作由如下下代码实实现: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,错错误!,请请选择一一个操作作对象,QMeessaageBBox:Caanceel); reeturrn; QVarriannt ddataa1 = ittModdel-inndexx(roow,00).ddataa();/获获取选中中行第00列的值值员工编编号 QQStrringg idd = datta1.toSStriing();if(QMMesssageeBoxx:YYes = QMeessaageBBox:quuesttionn(0,离职职会删除除该员工工所有信信息,是是否继续续?,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 员工离离职演示示图任何用户都都可以进进
35、行的显显示全部部的操作作,即通通过槽函函数实现现,便可可将数据据库中表表的信息息全部显显示在右右侧列表表中。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(当前共共显示 + shoowcoountt + 条数数据);/ 更新新行数 MModeel1-seetHeeadeerDaata(0,QQt:Horrizo
37、ontaal,员工编编号); MModeel1-seetHeeadeerDaata(1,QQt:Horrizoontaal,姓名);this-onn_taabWiidgeet_ccurrrenttChaangeed(uui-tabbWiddgett-ccurrrenttInddex();在这部分里里最突出出的作用用是新建建查找功功能,是是一种模模糊查找找的方式式,可以以按不同同的条件件查找,便便于企业业对某些些方面信信息的统统计。首首先,当当empplinnfo表表中的EEid与与worrkinnfo表表中的WWid一一致时,向向sellectt表中添添加一条条记录,这这条记录录是用户户要模糊
38、糊查找的的条件时时,执行行sqll语句与与表中的的信息相相比较,与与查询条条件相一一致的显显示出来来,最后后再用ddeleete语语句把添添加到表表中的查查找条件件记录删删除,因因为它不不属于表表中的员员工记录录。具体体的举例例实现如如图4-7所示示。如按部门的的查找: 图 4-77 新建建查找演演示图最后是人事事管理这这个grrouppBoxx的设计计,这一一部分的的功能比比较细碎碎,完成成的工作作比较多多,对于于管理员员来说,在在这部分分可以进进行基本本信息的的修改,这这个操作作需要先先选定一一个操作作对象,然然后点击击修改信信息,便便会弹出出一个窗窗口,该该窗口如如图所示示,这个个功能主
39、主要依靠靠在槽函函数中更更新数据据库中各各个表中中的数据据。 图图 4-8 基本本信息修修改演示示图这里最人性性化的地地方就是是视图显显示这个个按钮实实现的功功能,当当想查看看一个人人的所有有信息,我我的设计计是让其其信息都都在一个个视图中中显示,而而且这个个视图中中的任何何一项都都设置为为在当前前界面不不可更改改的。图图 4-9 视图显显示除了修改密密码外的的所有修修改操作作都是对对管理员员有用的的。在工工作信息息这栏里里包括职职位调动动和薪资资调动,在在选择好好一个操操作对象象后,再再点击调调动/调调薪按钮钮,便可可弹出一一个窗口口进行相相应的信信息更改改。这个个功能的的设计主主要通过过s
40、qll语句中中的uppdatte函数数实现,当当用户所所选操作作对象的的id和数数据库的的worrkinnfo表表的Wiid一致致时,更更新表中中原来的的数据为为新的数数据,便便实现了了该功能能。具体体的实现现可参考考如下代代码: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();在人事管理理这个ggrouupBoox里的的员工考考评、培培训信息息、奖惩惩信息这这三功能能都分别别包含三三个子功功能即添添加记录录,修改改记录、删删除记录录,实现现的方式式都是一一致的,这这里只对对其中一一个进行行介绍。就就以培训训信息作作为例子子:删除记录的的操作同同前面的的删除操操作一致致,便是是从trrainned表表中删除除该员工工的所有有信息。添加记录、修修改记录录的对话
43、话框如图图4-110所示示 图 4-110 添加修修改培训训记录演演示图添加记录时时需要填填写员工工编号、日日期、培培训内容容及相应应的备注注。在单单击确定定按钮时时,若输输入的员员工编号号不存在在会提示示报错;若有该该员工,便便向trrainned表表中innserrt一条条记录。修改记录时时同样也也会弹出出图4-10所所示的图图形界面面,将需需要修改改的项目目填写后后,单击击确定按按钮,即即更新了了traaineed表中中的数据据。具体体的实现现如下代代码做了了详尽介介绍: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); /判断输输入的员员工编号号是否存存在 qquerry.nnextt(); iif(qquerry.vvaluue(00).ttoSttrinng() = NUULL) QMeessaageBBox:crritiical
45、l(0,错误误!,不存存在这个个员工!,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时,执执行的是是添加记记录的操操作 queery.cleear(); queery.exeec(inssertt innto traaineed(TTid,Tnaame,Ttiime,Tcoont,Treem) valluess(+ idd +,+ nnamee +,+ datte +,+ coont +,+ rremaark +) ); elsse iif(11 = moode) /modde为11时,执执行的是是修改操操作 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(); 人事管理这这个grrouppBoxx的最后后一个内内容就是是权限设设置,这这部分是是对管理理员有效效的。在在管理员员添加一一个新的的用户时时,要设设新用户户的权限限;也可可以更改改原有用用户的权权限。这这里只设设置管理理员用户户权限和和普通用用户权限限。而且且实现起起来也特特别简单单,在程程序中关关键的一一句为:queryy-eexecc(uupdaat
48、e limmitss seet LLlimmit = 管理员员 wwherre LLid = + id); 普普通用户户和管理理用户的的差别在在于管理理员可以以更改任任何员工工的信息息,而普普通用户户除了本本身的密密码可以以修改,对对其余的的信息只只有查看看功能。以上是该系系统中管管理员各各项功能能的实现现,普通通用户的的功能只只需将和和修改有有关的功功能设置置为faalsee,相应应的按钮钮就会变变成灰色色不可使使用的。若若为普通通用户登登录,其其界面如如图4-11 : 图图 4-11 普普通用户户登录的的主界面面图 管管理员和和普通用用户区别别的具体体实现代代码如下下: if(queery
49、-vaaluee(2).tooStrringg() = 管理理员) /管理理员用户户的按钮钮可用性性都设为为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() = 一一般) /一一般用户户的按钮钮可用性性设置为为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); 设设置为ttruee时,该该按钮的的功能可可使用,设设置为ffalsse时,该该按钮的的功能不不能使用用。这也也是大多多数人事事管理系系统区分分管理员员和普通通用户的的方法 。 第五章 制制作可安安装文件件到此,基于于Qt环环境的人人事管理理系统功功能已基基本实现现,由于于考虑到到不是每每个用户户的办公公电脑上上都安装装了Qtt Crreattor和和SQLLitee数据库库,也为为了保证证程序和和数据库库员工信信息的安安全,我我把源程程序制作作成了可可安装文文件。使用settup22GO生生成可安安装文件件实际上上是一种种动态编编译方法法。当在在Qt环环境下设设计完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- QC/T 2-2026汽车产品图样格式
- T/CPIA 0038-2022光伏硅片切割用电镀金刚石线
- T/TAC 13-2025本地化业务 术语
- T/FSBMEA 1-2023化妆品常用植物提取物中16种香豆素类化合物的测定 液质联用法
- T/CI 1382-2025智能电网用馈线自动调压装置通用要求
- T/CAAMTB 168-2023汽车用35MPa压缩天然气(CNG)加气枪
- T/COSHA 55-2025高原铁路隧道作业人员供氧和膳食指南
- AI在世界语中的应用
- 2025~2026学年安徽省亳州市涡阳县北师大版六年级上册阶段性练习(三)数学试卷【附答案】
- 2025-2026学年浙江省温岭市初中政治八年级期末下册提升黑金考题(附答案)
- 【MOOC】《医学心理学》(北京大学)章节期末中国大学慕课答案
- 拖欠工程款上访信范文
- 产品设计开发项目移交量产交付文件清单
- 2023年江苏省公考《申论》题(A卷)及参考答案
- 工程造价专业毕业外文文献、中英对照
- 2024年重庆市高考历史试卷(含答案)
- JGT233-2017 建筑门窗用通风器
- 关于要求XX人寿全额退还被误导保费的投诉信
- 麻醉手术期间液体治疗建议
- 垄断性产业的管制政策产业经济学
- 宝洁日化培训课件3-8-002 Clean design training start
评论
0/150
提交评论