收藏 分销(赏)

vfp专业课程设计方案报告人力资源标准管理系统.doc

上传人:精**** 文档编号:2728356 上传时间:2024-06-05 格式:DOC 页数:37 大小:2.01MB 下载积分:12 金币
下载 相关 举报
vfp专业课程设计方案报告人力资源标准管理系统.doc_第1页
第1页 / 共37页
vfp专业课程设计方案报告人力资源标准管理系统.doc_第2页
第2页 / 共37页


点击查看更多>>
资源描述
Vfp课程设计汇报 人力资源管理系统 姓 名 张瑾、杨舒仪 学 院 人文和社会科学学院 专业班级 公共事业管理 学 号 、 指导老师 陈芬 Vfp人力资源管理系统设计汇报 一、系统总体计划 1、系统任务 人力资源管理是全部企业、企机关所必需,功效完善及操作方便人力资源管理系统,能够大大提升管理员工作效率,立即正确反应职员基础信息及薪酬情况,本系统是依据某高等学校人力资源进行设计,关键将人力资源统计从人工直接统计解放出来,利用计算机来统计,直接取得正确信息,使职员管理工作系统化、规范化、自动化。含有较强针对性和功效性。 2、系统功效 本系统采取面向对象设计思想,以菜单和表单形式进行各表单调用,关键完成以下功效: (1)档案更新 l 人事统计增加; l 人事统计修改; l 人事统计删除; l 人事统计浏览; (2)档案统计 l 统计职员年纪情况 l 统计职员政治面目 l 统计职员婚姻情况 l 统计职员技术职务 l 统计职员文化程度 l 统计职员民族情况 l 统计职职员资情况 (3)档案输出 a.浏览查询 l 查询输出个人简历 l 查询输出家庭组员 l 查询输出人事卡片 l 查询输出社会关系 b. 正确查询 l 正确查询个人简历,家庭组员,人事卡片,社会关系 (4)修改密码 (5)报表打印 l 档案统计报表打印 l 档案输出报表打印 3、开发和运行环境 开发工具:Visual FoxPro 6.0 运行环境:Windows 9x 、Windows 、Windows XP 二、需求分析 人力资源管理系统设计最关键是各项功效健全,使用方便简练,界面友好。本套系统能够满足管理员对职员信息浏览、修改、查询、打印、统计等多项功效,操作简易。 三、系统框架 统计职员年纪 统计文化程度 统计政治面目 统计职职员资 统计技术职务 统计职员民族 统计婚姻情况 欢迎界面 登陆 主菜单 档案统计 档案更新 档案输出 修改密码 退出 人事统计更新 人事统计添加 人事统计删除 查询输出社会关系 查询输出个人简历 查询输出人事卡片 查询输出家庭组员 退出界面 正确 查询 四、小组组员分工 数据库创建 杨舒仪 表和视图创建 杨舒仪 各表之间关系建立 杨舒仪 欢迎界面 张瑾 登录设置 杨舒仪 修改密码 杨舒仪 数据输出 张瑾 数据更新 杨舒仪 数据统计 张瑾 正确查询 张瑾 报表设计 张瑾 结束界面 杨舒仪 表单整合 张瑾 Bug修正 张瑾 杨舒仪 菜单创建 张瑾 主程序编写 张瑾 系统美化 张瑾 杨舒仪 五、系统功效模块设计 1、登录模块 管理员经过输入正确用户名、密码、等级方可进入到主菜单,进入人事档案浏览、更新、统计、打印报表和修改密码等表单。 2、档案更新模块 (1)增加人事统计。可直接添加人事统计,依据提醒输入新人事数据,点击确定按钮保留至rskp表,代号反复时会有提醒,退出返回主菜单; (2)修改人事统计。浏览人事统计过程中,随时能够经过点击编辑按钮进行修改,点击保留可保留修改后统计,退出返回主菜单; (3)删除人事统计。浏览人事统计过程中,随时能够经过点击删除按钮删除这一条统计,退出返回主菜单。 3、档案输出模块 四张查询表单分别用于浏览输出职员个人简历、社会关系、家庭组员和人事基础信息,并可进行报表打印。 一张表单正确查询,输出任一代号人员相关信息。 4、档案统计模块 依据职员年纪、文化程度、技术职务、政治面貌、婚姻情况、民族、工资和进行统计。 5、修改密码模块 密码修改功效,该功效方便了用户对于本身密码定时修改要求,确保了信息安全。 六、数据库设计 1、数据库表结构设计 本系统建立数据库后,数据库中关键包含五个数据表:人事基础信息表、个人简历表、家庭组员信息表、社会关系信息表、管理人员表,其字段属性以下: 人事基础信息表rskp 字段名 标题 字段类型 宽度 小数位数 dh 代号 字符型 4 bm 部门 字符型 8 xm 姓名 字符型 8 xb 性别 字符型 2 xrzw 现任职务 字符型 10 csny 出生年月 日期型 8 mz 民族 字符型 8 jg 籍贯 字符型 10 zzmm 政治面目 字符型 8 zc 职称 字符型 6 whcd 文化程度 字符型 4 jkzk 健康情况 字符型 4 jtcs 家庭出身 字符型 10 brcf 本人成份 字符型 4 hyzk 婚姻情况 字符型 4 cjgzsj 参与工作时间 日期型 8 jbdwsj 进本单位时间 日期型 8 gz 工资 数值型 6 2 gzbt 工资补助 数值型 6 2 jtzz 家庭住址 字符型 20 nl 年纪 数值型 4 bz 备注 字符型 40 bh 编号 数值型 1 zh 职号 数值型 3 dm 代码 数值型 1 家庭组员表jtcy 字段名 标题 字段类型 宽度 小数位数 dh 代号 字符型 4 ybrgx 和本人关系 字符型 4 csny 出生年月 日期型 8 hyzk 婚姻情况 字符型 8 whcd 文化程度 字符型 8 zzmm 政治面目 字符型 8 gzdw 工作单位 字符型 10 zwgz 职务工种 字符型 10 gz 工资 数值型 6 2 jjly 经济起源 字符型 10 社会关系表shgx 字段名 标题 字段类型 宽度 小数位数 dh 代号 字符型 4 gxxm 关系姓名 字符型 6 ybrgx 和本人关系 字符型 4 zzmm 政治面目 字符型 4 gzdw 工作单位 字符型 20 zwgz 职务工种 字符型 6 bz 备注 字符型 20 个人简历表grjl 字段名 标题 字段类型 宽度 小数位数 dh 代号 字符型 4 kssj 开始时间 日期型 8 xm 结束时间 日期型 8 gzdw 工作单位 字符型 20 drzw 担任职务 字符型 10 管理人员表glry 字段名 标题 字段类型 宽度 小数位数 xm 姓名 字符型 8 mm 密码 字符型 6 dj 等级 字符型 2 2、关系设计 七、表单介绍及关键程序代码 本系统有24张表单,依据修要对每张表单autocenter、caption、fontsize、 titlebar等属性,并对表单进行了界面修饰和美化。关键表单有以下 1、 欢迎界面 运行“人力资源管理系统”可实施文件,首先会显示一个动态很漂亮欢迎界面。经过设置计时器,其标签“欢迎登录人力资源管理系统”从左上角缓缓移动至右下角,登录界面出现。 timer1事件代码: if thisform.label1.left<=150 thisform.label1.left=thisform.label1.left+4 thisform.label1.top=thisform.label1.top+10 else thisform.release do form 欢迎登录 endif 2、 登录界面 输入正确管理员姓名、密码和等级显示“登录成功”,进入主菜单。假如不输入则会显示“姓名或密码不能为空,请重新输入”,假如输入错误,则会显示“用户不存在或密码等级错误”。 “登录”按钮click事件代码: USE glry IF EMPTY(THISFORM.TEXT1.VALUE).or.empty(THISFORM.TEXT2.VALUE) MESSAGEBOX("用户名或密码不能为空,请重新输入",48,"系统提醒") thisform.text2.SetFocus ELSE locate for alltrim(glry.xm)==alltrim(thisform.text1.value) and alltrim(glry.mm)==alltrim(thisform.text2.value) and alltrim(glry.dj)==alltrim(thisform.text3.value) IF FOUND() MESSAGEBOX("成功") do form 菜单 thisform.release ELSE MESSAGEBOX("用户不存在或密码等级错误",46,"系统提醒") thisform.text1.Value="" thisform.text2.Value="" thisform.text3.value="" thisform.text2.SetFocus ENDIF ENDIF 3、 主菜单 主菜单是用户进入系统后关键接触界面,由它能够进入各个功效模块。分别单击按钮“档案更新”、“档案更新”、“档案输出”、“修改密码”可进入和之相对应功效模块,单击“退出”按钮退出本系统。为使界面不至于单调,给主界面加入图片作为背景。 4、档案更新 档案更新模块包含了“人事统计增加”、“人事统计修改”、“人事统计删除”多个功效模块,单击进入使用而且左侧会出现主菜单简练版(见下图)。单击“退出”即出现结束界面,退出本系统。 (1)人事统计增加 人事统计表单 “确定”按钮click事件代码: set exclusive on select rskp if empty(alltrim(thisform.text1.value)) messagebox("代号不能为空",48,"错误") thisform.text1.setfocus else dh1=alltrim(thisform.text1.value) xm1=alltrim(thisform.text2.value) xrzw1=alltrim(thisform.text3.value) mz1=alltrim(thisform.text4.value) zzmm1=alltrim(thisform.text5.value) whcd1=alltrim(thisform.text6.value) jtcs1=alltrim(thisform.text7.value) bm1=alltrim(thisform.text8.value) xb1=alltrim(thisform.text9.value) csny1=ctod(allt(thisform.text10.value)) jg1=alltrim(thisform.text11.value) zc1=alltrim(thisform.text12.value) jkzk1=alltrim(thisform.text13.value) brcf1=alltrim(thisform.text14.value) gzbt1=val(allt(thisform.text15.value)) gz1=val(allt(thisform.text16.value)) zh1=val(allt(thisform.text17.value)) hyzk1=alltrim(thisform.text18.value) jtzz1=alltrim(thisform.text19.value) bh1=val(allt(thisform.text20.value)) dm1=val(allt(thisform.text21.value)) bz1=allt(thisform.text22.value) jbdwsj1=ctod(allt(thisform.text23.value)) cjgzsj1=ctod(thisform.text24.value) nl1=val(allt(thisform.text25.value)) set order to dh seek dh1 if !found() insert into rskp (dh,xm,xrzw,mz,zzmm,whcd,jtcs,bm,xb,csny,jg,zc,jkzk,brcf,gzbt,gz,zh,hyzk,jtzz,bh,dm,bz,jbdwsj,cjgzsj,nl)value(dh1,xm1,xrzw1,mz1,zzmm1,whcd1,jtcs1,bm1,xb1,csny1,jg1,zc1,jkzk1,brcf1,gzbt1,gz1,zh1,hyzk1,jtzz1,bh1,dm1,bz1,jbdwsj1,cjgzsj1,nl1) messagebox("添加成功!",48,"信息") thisform.text1.value='' thisform.text2.value='' thisform.text3.value='' thisform.text4.value='' thisform.text5.value='' thisform.text6.value='' thisform.text7.value='' thisform.text8.value='' thisform.text9.value='' thisform.text10.value='' thisform.text11.value='' thisform.text12.value='' thisform.text13.value='' thisform.text14.value='' thisform.text15.value='' thisform.text16.value='' thisform.text17.value='' thisform.text18.value='' thisform.text19.value='' thisform.text20.value='' thisform.text21.value='' thisform.text22.value='' thisform.text23.value='' thisform.text24.value='' thisform.text25.value='' else messagebox("此代号已存在,请另输一个",48,"错误") thisform.text1.value='' thisform.text1.setfocus endif endif “取消”按钮click事件代码: thisform.text1.value='' thisform.text2.value='' thisform.text3.value='' thisform.text4.value='' thisform.text5.value='' thisform.text6.value='' thisform.text7.value='' thisform.text8.value='' thisform.text9.value='' thisform.text10.value='' thisform.text11.value='' thisform.text12.value='' thisform.text13.value='' thisform.text14.value='' thisform.text15.value='' thisform.text16.value='' thisform.text17.value='' thisform.text18.value='' thisform.text19.value='' thisform.text20.value='' thisform.text21.value='' thisform.text22.value='' thisform.text23.value='' thisform.text24.value='' thisform.text25.value='' thisform.text1.setfocus “退出”按钮click事件代码: thisform.release do form 档案更新 (2)人事统计修改 Init事件代码: thisform.text1.readonly=.t. thisform.text2.readonly=.t. thisform.text3.readonly=.t. thisform.text4.readonly=.t. thisform.text5.readonly=.t. thisform.text6.readonly=.t. thisform.text16.readonly=.t. thisform.text17.readonly=.t. thisform.text18.readonly=.t. thisform.text19.readonly=.t. thisform.text20.readonly=.t. thisform.text21.readonly=.t. thisform.text7.readonly=.t. thisform.text8.readonly=.t. thisform.text9.readonly=.t. thisform.text10.readonly=.t. thisform.text11.readonly=.t. thisform.text12.readonly=.t. thisform.text13.readonly=.t. thisform.text14.readonly=.t. thisform.text15.readonly=.t. thisform.text22.readonly=.t. thisform.text23.readonly=.t. thisform.text24.readonly=.t. thisform.text25.readonly=.t. “第一个”按钮click事件代码: goto top mand1.enabled=.f. mand2.enabled=.f. mand3.enabled=.t. mand4.enabled=.t. thisform.refresh “前一个”按钮click事件代码: mand3.enabled=.t. mand4.enabled=.t. if not bof() skip-1 if recno()=1 mand1.enabled=.f. mand2.enabled=.f. messagebox("已经到第一条统计了!",64,"提醒") endif endif thisform.refresh “下一个”按钮click事件代码: mand1.enabled=.t. mand2.enabled=.t. if not eof() skip 1 if recno()=reccount() mand3.enabled=.f. mand4.enabled=.f. messagebox("已经到最终一条统计了!",64,"提醒") endif endif thisform.refresh “最终一个”按钮click事件代码: goto bottom mand1.enabled=.t. mand2.enabled=.t. mand3.enabled=.f. mand4.enabled=.f. thisform.refresh “编辑”按钮click事件代码: thisform.text2.readonly=.f. thisform.text3.readonly=.f. thisform.text4.readonly=.f. thisform.text5.readonly=.f. thisform.text6.readonly=.f. thisform.text16.readonly=.f. thisform.text17.readonly=.f. thisform.text18.readonly=.f. thisform.text19.readonly=.f. thisform.text20.readonly=.f. thisform.text21.readonly=.f. thisform.text7.readonly=.f. thisform.text8.readonly=.f. thisform.text9.readonly=.f. thisform.text10.readonly=.f. thisform.text11.readonly=.f. thisform.text12.readonly=.f. thisform.text13.readonly=.f. thisform.text14.readonly=.f. thisform.text15.readonly=.f. thisform.text22.readonly=.f. thisform.text23.readonly=.f. thisform.text24.readonly=.f. thisform.text25.readonly=.f. “保留”按钮click事件代码: sele rskp locate for dh=allt(thisform.text1.value) repl xm with allt(thisform.text2.value) repl xrzw with allt(thisform.text3.value) repl mz with allt(thisform.text4.value) repl zzmm with allt(thisform.text5.value) repl whcd with allt(thisform.text6.value) repl jtcs with allt(thisform.text7.value) repl bm with allt(thisform.text8.value) repl xb with allt(thisform.text9.value) repl csny with thisform.text10.value repl jg with allt(thisform.text11.value) repl zc with allt(thisform.text12.value) repl jkzk with allt(thisform.text13.value) repl brcf with allt(thisform.text14.value) repl gzbt with thisform.text15.value repl gz with thisform.text16.value repl zh with thisform.text17.value repl hyzk with allt(thisform.text18.value) repl jtzz with allt(thisform.text19.value) repl bh with thisform.text20.value repl dm with thisform.text21.value repl bz with thisform.text22.value repl jbdwsj with thisform.text23.value repl cjgzsj with thisform.text24.value repl nl with thisform.text25.value thisform.text2.readonly=.t. thisform.text3.readonly=.t. thisform.text4.readonly=.t. thisform.text5.readonly=.t. thisform.text6.readonly=.t. thisform.text16.readonly=.t. thisform.text17.readonly=.t. thisform.text18.readonly=.t. thisform.text19.readonly=.t. thisform.text20.readonly=.t. thisform.text21.readonly=.t. thisform.text7.readonly=.t. thisform.text8.readonly=.t. thisform.text9.readonly=.t. thisform.text10.readonly=.t. thisform.text11.readonly=.t. thisform.text12.readonly=.t. thisform.text13.readonly=.t. thisform.text14.readonly=.t. thisform.text15.readonly=.t. thisform.text22.readonly=.t. thisform.text23.readonly=.t. thisform.text24.readonly=.t. thisform.text25.readonly=.t. (3)人事统计删除 Init事件代码同“人事统计编辑”表单 “第一个”、“前一个”、“下一个”、“最终一个”按钮click事件代码同“人事统计修改表单”。 “删除”按钮click事件代码: use rskp exclusive mb=messagebox("确定要删除吗?",1+64,"提醒") if mb==1 delete from rskp where dh=thisform.text1.value pack messagebox("删除成功",64,"提醒") endif go top thisform.refresh 5、档案统计 点击对应命令按钮进入对应统计表单。比如: “统计技术职务”按钮click事件代码: thisform.release do form 技术职务统计 点击进入以下界面: 此表数据环境为:rskp “统计”代码为: select rskp do case case empty(thisform.text1.value) and empty(bo1.value) select bm as 部门,zc as 职称,count(*) as 人数 from rskp group by bm,zc order by bm into cursor tj2 case !empty(bo1.value) and empty(thisform.text1.value) select bm as 部门,zc as 职称,count(*) as 人数 from rskp where zc=bo1.value group by bm order by bm into cursor tj2 case !empty(thisform.text1.value) and empty(bo1.value) select bm as 部门,zc as 职称,count(*) as 人数 from rskp where bm=thisform.text1.value group by zc order by bm into cursor tj2 case !empty(thisform.text1.value) and !empty(bo1.value) select bm as 部门,zc as 职称,count(*) as 人数 from rskp where bm=thisform.text1.value and zc=bo1.value group by zc order by bm into cursor tj2 endcase thisform.grid1.visible=.t. thisform.grid1.recordsourcetype=1 thisform.grid1.recordsource="tj2" thisform.grid1.column1.width=75 thisform.grid1.column2.width=75 thisform.grid1.column3.width=75 thisform.refresh 表格recordsourcetype属性为4—SQL说明, 下拉组合框rowsourcetype属性设置为3—SQL语句,rowsource为select distinct zc from rskp into cursor zc 在text1中输入“英语”,职称中选择“中级”,点击“统计”,结果以下: 其它统计报表原理和此相同。 6、档案输出 点击对应命令按钮进入对应统计表单。比如: “查询输出社会关系”按钮click事件代码: thisform.release do form 查询输出社会关系 点击进入下面表单: 此表数据环境为shgx和rskp Text1controlsource为rskp.dh, Text2controlsource为rskp.bm, Text3controlsource为rskp.xm, Grid1recordsource为temp1 Recordsourcetype为1-别名 Commandgroup1click事件代码为: select rskp do case case this.value=1 go top mand1.enabled=.f. mand2.enabled=.f. mand3.enabled=.t. mand4.enabled=.t. thisform.refresh case this.value=2 mand3.enabled=.t. mand4.enabled=.t. skip -1 if recno()=1 mand1.enabled=.f. mand2.enabled=.f. endif thisform.refresh case this.value=3 mand1.enabled=.t. mand2.enabled=.t. skip if recno()=reccount() mand3.enabled=.f. mand4.enabled=.f. endif thisform.refresh case this.value=4 goto bottom mand1.enabled=.t. mand2.enabled=.t. mand3.enabled=.f. mand4.enabled=.f. thisform.refresh case this.value=5 report form 社会关系.frx for alltrim(shgx.dh)=ALLTRIM(ThisForm.text1.value) preview case this.value=6 thisform.release do form 档案输出 case this.value=7 select shgx x=thisform.text1.value thisform.grid1.recordsourcetype=4
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服