【编者按】网学网PB毕业设计频道为大家收集整理了“基于PB人事薪资管理|ERP系统的设计“提供大家参考,希望对大家有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn | |
6.4 系统模块设计 系统模块中主要包括用户的“重新登录”、“修改口令”、“用户维护”和“退出”,其中对于登录类别是管理员来说,在主界面中都可以操作,而对于高级用户或是普通用户来说对于“用户维护”是没有权限操作的。 重新登陆可以在主界面中直接修改登陆的用户,其代码与登陆窗口大致相同,同样要确认用户类别和口令,并根据用户类别提供相应的权限,限制级别相对比较低的用户在主界面中的操作;用户修改密码时,要提供原密码以确认操作是否合法;创建新用户由类别为管理员的用户创建新用户名、用户口令和用户的类别。 6.5 人事管理模块设计 人事模块管理中有“资料的输入”和“资料的维护”两个子菜单,在“资料的输入”菜单下有五个输入窗口,即职员个人信息、婚姻状况、学历信息、部门信息以及岗位信息输入窗口;在“资料的维护”菜单下也有五个维护窗口,即基本情况表、婚姻状况表、学历表、部门信息表以及岗位信息表维护窗口。 6.5.1资料的输入 新员工进入企业就职的第一步就是到人事部门登记相关的个人信息。这样员工入职后就获得属于自己的编号(员工号)。员工基本资料输入界面如图6-3所示。
图6-3 员工基本资料输入界面 主要功能:可以浏览数据库中其他员工的记录、插入新的员工记录、删除已经离职的员工记录等等。 在本系统中,需要处理的数据繁多,如果仅是靠普通控件来进行输入、查询和维护等操作,只能依靠纯粹的手写代码来进行与数据库数据之间的交互,将会带来极大的不便。为此,在此系统中采用数据窗口来进行对数据的处理方法。通过数据窗口,可以对数据库进行操作,不但可以对每个数据库的表进行检索、查询、插入、删除和更新,而且还可以为数据指定输入格式、输出格式和显示风格等。图6-3中已经标示出数据窗口的位置,该数据窗口属于为Freedom风格。本系统中还会用到Grid风格、Group风格的数据窗口,将在后面的内容中具体介绍。 1. 当信息管理者需要插入一条新的员工记录时,只要通过鼠标选择“插入”按钮,其程序代码如下: long row_number //清楚数据窗口控件中所有的项 w_insert_basic.dw_insert_basic.reset() //插入一条空记录 row_number=insertrow(w_insert_basic.dw_insert_basic,0) 2. “删除”按钮的主要功能是用于删除当前显示的那条记录。如果信息管理者将员工基本数据表中的一条记录删除,则程序自动将该员工在婚姻状况表和学历表中的记录删除,其程序代码如下: long current_rownumber //得到当前记录 current_rownumber=w_insert_basic.dw_insert_basic.getrow() //将当前记录中的员工号取出赋值给全局变量emp_no emp_no=getitemnumber(w_insert_basic.dw_insert_basic,current_rownumber,1) deleterow(w_insert_basic.dw_insert_basic,current_rownumber) //从其他表中删除该员工的记录 delete from emp_marriage where emp_no=:emp_no; delete from emp_school where emp_no=:emp_no; 3. “确定”按钮用于提交和确认对该数据库表格中的记录所做的修改,包括插入和删除,如果提交失败,则取消修改。程序代码如下: if update(w_insert_basic.dw_insert_basic,true,false)=1 then w_insert_basic.dw_insert_basic.resetupdate() commit; //保存修改成功,提交修改 else rollback; //保存修改失败,取消所作的修改 messagebox("错误!!!","数据保存失败!") //弹出一个对话框警告 end if 4. “退出”按钮用于关闭该输入窗口。在关闭窗口之前,首先判断信息管理者是否对数据窗口中的记录作了修改而没有保存到数据库中,如果有这样的记录,则出现对话框(如图6-4所示)询问信息管理者是否保存所做的修改,其程序代码如下: int mcount //修改后没有保存的行数 int updateornot //是否修改 //得到修改后没有保存的行数 mcount=w_insert_basic.dw_insert_basic.modifiedcount() if mcount=0 then //没有未保存的修改 close(w_insert_basic) elseif mcount>0 then updateornot=messagebox("保存修改","您修改了数据窗口中的数据,现在是否保存?",question!,yesnocancel!) //询问是否保存所做的修改 if updateornot=1 then //保存 if update(w_insert_basic.dw_insert_basic,true,false)=1 then //保存修改成功,提交修改 w_insert_basic.dw_insert_basic.resetupdate() commit; else rollback; //保存修改失败,取消所作的修改 messagebox("错误!!!","数据保存失败!") //弹出一个对话框警告 end if close(w_insert_basic) elseif updateornot=2 then rollback; //不保存 close(w_insert_basic) end if end if 图6-4 询问是否保存数据对话框 5. 当信息管理者需要浏览员工的基本资料时,可以通过“最前一条”“前一条”“后一条”“最后一条”按钮来实现这样的功能。 Ø “最前一条”的程序代码如下: dw_insert_basic.scrolltorow(0) //将数据窗口滚动到第一行 Ø “最后一条”的程序代码如下: integer row_count //定义参数,表的总行数 row_count=dw_insert_basic.rowcount() //得到表的总行数 //数据窗口滚动到表的最后一条记录 dw_insert_basic.scrolltorow(row_count) Ø “前一条”的程序代码如下: integer row_current //定义参数当前行行数 //数据窗口向前滚动一条记录 row_current=dw_insert_basic.scrollpriorrow() //如果已经到达第一条记录,则弹出一个对话框警告 if row_current=1 then messagebox("警告!!!","已经是最前一条记录!") end if Ø “后一条”的程序代码如下: integer row_count //定义参数,表的总行数 integer row_current //定义参数当前行行数 //数据窗口向后滚动一条记录 row_current=dw_insert_basic.scrollnextrow() row_count=dw_insert_basic.rowcount() //得到表的总行数 if row_current=row_count then //判断是否是最后一天记录 messagebox("警告!!!","已经是最后一条记录!") end if 上述就是职员个人信息输入窗口的主要设计过程以及主要的程序代码,对于婚姻状况、学历信息、部门信息和岗位信息输入
| |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT | |
本文选自计算机毕业设计http://myeducs.cn |