1、下面就针对人事管理的总体需求做一个分析,可能有些客户有其特殊的需求,可在实际开发中继续完善。1.3。1人事管理功能模块主要实现人员基本信息的数据输入和规范化管理,使企业高效率地完成劳动人事管理 的日常业务,比如建立人事基本档案、离退人员档案、员工生日及合同等提醒、进行人力资源测评与分析、工服领用和文具领用等.1.3.2考勤管理功能模块主要实现企业的考勤管理系统化、规范化和自动化,收集时间数据,自动地对数据进行分析和处理,如计划缺使用选区勤时间、加班时间、休假时间等,通知员工以进行核对和修改,并能对员工进行休假管理。3.3招聘管理功能模块主要帮助管理者开展招聘工作,包括在因特网、报纸、杂志上动态
2、地发布招聘广告,查询应聘情况,对应聘人员与招聘条件作比较,筛选应聘人员,自动产生录用通知书,对有关的招聘事务自动生成Email、传真及各种信件。1.3.4工资管理功能模块主要包括两方面的内容,一是工资核算,如工资计算,个人所得税、养老及医疗保险计算,住房公积金和社会福利金等的计算,工资的发放方式;二是工资管理,如制定工资计划,控制工资预算,分析市场职务价格水平,调整工资结构。3。5培训管理功能模块主要功能是对员工的职务和用途程度进行分析,为员工的升职和加薪提供信息,制定员工的培训计划,建立培训课程表,预算培训成本。同时,为每位员工建立培训记录,输入数据库.6系统维护功能模块主要使管理员能进行人
3、力资源及其相关功能的管理,设置操作员账号、密码与权限,定期进行数据备份、数据清理及整理,以及出现故障时可以将数据恢复。整个系统的功能需求可用图11简要表示。图1-1 人事管理系统人事管理功能模块可以通过图12说明.图1-2 人事管理考勤管理功能模块可以通过图1-3说明。图13 考勤管理招聘管理功能模块可以通过图1-4说明.图14 招聘管理工资管理功能模块可以通过图15说明。图1-5 工资管理培训管理功能模块可以通过图16说明。图1-6 培训管理系统维护功能模块可以通过图17说明.图1-7系统维护2数据库设计根据以上的功能分析,系统中包括员工、岗位、职务、部门四个实体。其中每个职员都专职或兼职担
4、任某个岗位的工作.而每个岗位又必然是某个部门的某个职务。系统的核心实体是员工,员工包括多方面的属性,如一些基本资料:工号、姓名、性别、学历等,同时还包含一些复杂的结构信息,如他的简历、所受过的培训、档案信息等。以下就是生成数据库中的各类对象的代码.2。1定义数据库/*Database name : 人事数据库(HRM) */DBMS name : Microsoft SQL Server 2000 /*Created on : 201010-30 10:23:16 */drop database 人事数据库gocreate database 人事数据库use 人事数据库2.2定义业务规则语句为
5、:create rule月工资规则as(用语言描述的业务规则)月工资表中的津贴是通过津贴表的加班时间单位酬劳得到的;月工资表的扣除是通过考勤表的缺勤天数*单位金额得到的;医疗保险和保险费是通过医疗保险表的医疗保险费用和保险费得到的.create rule 月工资 as 工资表的月工资必须大于0或一定的数,比如基本工资 2.3定义域/*Domain:名字域(NAME) /execute sp_addtype 名字域, char(10)/Domain: 代号域(UNMBER) */execute sp_addtype 代号域, char(6)/*Domain: 时间域(TIME) */execut
6、e sp_addtype 时间域, datetime2.4创建表格/字段4。1缺勤类型表Create table 缺勤类型表(缺勤类别 char(6) not null,缺勤名称 NAME null,缺勤描述 char(10) null,Constraint PK_ABSENCE primary key (缺勤类别)create index INDEX_1 on 缺勤类型表(缺勤类别2.4。2津贴表create table 津贴表(员工代号 NUMBER not null,加班时间 NAME not null,加班天数 dec(2) null,加班类别 char(10) null,constr
7、aint PK_ALLOWANCE primary key (员工代号,加班时间)create index INDEX_1 on 津贴表(员工代号,加班时间4.3考勤表create table 考勤表(员工代号 UNMBER not null,员工姓名 varchar(20) null,日期 TIME not null, 上班时间 datetime null, 下班时间 datetime null, 迟到时间 int null, 是否缺勤 bit null, 缺勤类别 char(6) null,constraint PK_CHECKIN primary key (员工代号,日期create i
8、ndex INDEX_1 on考勤表(员工代号,日期4.4部门表create table 部门表(部门代号 NUMBER not null,部门名称 NAME null,部门经理代号 NAME null,部门电话 dec(8) null,constraint PK_DEPARTMENT primary key (部门代号)create unique index DEP_NO on 部门表(部门代号create index DEP_NAME on 部门表(部门名称5岗位表Create table 岗位表(岗位代号 NUMBER not null,岗位名称 NAME null,岗位权利 char(
9、20) null,岗位职责 char(20) null,Constraint PK_JOB primary key (岗位代号)GoCreate unique index INDEX_1 on 岗位表(岗位代号Create index INDEX_2 on 岗位表(岗位名称6医疗保险表Create table 医疗保险表(医疗报险费用 dec(10) null,保险费 dec(8) null,医疗保险日期 TIME not null,Constraint PK_MEDICARE primary key (员工代号,医疗保险日期)Create index INDEX_1 on 医疗保险表(员工代
10、号)7月工资表Create table 月工资表(基本工资 dec(6) null,津贴 dec(6) null,扣除 dec(6) null,医疗保险 dec(6) null,保险费 dec(6) null,月工资 AS (月工资表.基本工资表+月工资表。津贴+月工资表。医疗保险-月工资表.扣除月工资表.保险费),月工资时间 TIME not null,Constraint PK_MONTHSAL primary key (员工代号,月工资时间)Create index INDEX_1 on 月工资表(月工资时间8培训表Create table 培训表(培训师代号 NUMBER not nu
11、ll,课目代号 NUMBER not null,员工代号 NUMBER not null,成绩 dec(4) null,Constraint PK_TEACH primary key (培训师代号,课目代号,员工代号)Create index INDEX_1 on 培训表(培训师代号,课目代号,员工代号9培训教师表Create table 培训教师表(培训师名称 NAME null,培训师职称 char(8) null,Constraint PK_TEACHER primary key (培训师代号)Create index INDEX_1 on 培训教师表(培训师代号Create index
12、 INDEX_2 on 培训教师表(培训师名称10课目表Create table 课目表(课目代号 NUMBER not null,科目名称 NAME null,教材名称 NAME null,Constraint PK_TOPIC primary key (课目代号)Create index INDEX_1 on 课目表(课目代号Create index INDEX_2 on 课目表(科目名称11员工表Create table 员工表(员工姓名 NAME null,员工性别 char(2) null,岗位代号 NUMBER null,部门代号 NUMBER null,培训情况 char(2)
13、null,婚姻状况 char(2) null,学历 char(6) null,入公司时间 TIME not null,Constraint PK_WORKER primary key (员工代号)Create unique index INDEX_1 on 员工表(Create index INDEX_2 on 员工表(员工姓名Create index INDEX_3 on 员工表(入公司时间12年终奖表Create table 年终奖表(年份 TIME not null,奖金总数 dec(8) null,Constraint PK_YEARSAL primary key (员工代号,年份)C
14、reate index INDEX_1 on 年终奖表(年份13用户权限表Create table 用户权限表(序号 int not null,用户名 varchar(10) null,密码 varchar(10) null,工号 varchar(10) null,姓名 varchar(10) null,权限级别 int null,Constraint PK_xuhao1 primary key (序号)14用户具体权限表Create table 用户具体权限表(权限号 varchar(10) null,Constraint PK_xuhao2 primary key (序号)/*用户具体权限
15、,用来保存每个员工的具体权限/4.15权限细则表Create table 权限细则表(序号 int not null,权限表 varchar(10) null,权限名称 varchar(10) null,备注 varchar(10) null,Constraint PK_xuhao3 primary key (序号)3程序预览运行本程序,首先出现如图3-1所示的主界面。单击菜单项中系统设置-设置代码,进入设置代码窗口,如图3-2所示,可以在其中对相关的代码如部门代码、岗位代码、婚姻状况代码等进行设置。图3-1 主界面图3-2 设置代码单击人事资料管理人员信息综合管理,进入个人资料管理窗口,如图
16、33所示,可以在其中对人员的基本资料以及各项信息如简历、培训、兼职等信息进行浏览和编辑。图33 个人资料在窗口中单击表格显示按钮,则会切换到表格显示的模式,如图3-4所示,在表格显示模式单击输入模式按钮,则又可切换到输入模式。图3-4 个人资料输入在个人资料窗口中单击更换照片按钮,则可选择更换员工的照片,如图35所示。图3-5 更改照片在个人资料窗口中单击简历按钮,则可进入编辑简历窗口,如图3-6所示.单击编辑档案信息则可进入编辑档案信息窗口,如图37所示。图36 编辑简历图37 编辑档案信息在个人资料窗口中单击编辑兼职信息按钮则可输入员工的兼职情况,如图3-8所示。单击编辑培训信息则可输入员
17、工的培训信息,如图3-9所示.图38 编辑兼职信息图3-9 编辑培训信息在个人资料窗口中单击编辑职称信息按钮,则可输入员工的职称变化情况,如图3-10所示。单击人事资料管理-人员调离,进入人员调离及离退休管理窗口,如图3-11所示,系统将会列出所有的员工的工号、姓名等资料,可以从中选择需要输人员调离或离退休的员工。选中一个员工之后,单击详细信息按钮,可显示该员工的详细个人资料。图3-10 编辑职称信息图311 人员调离及离退休管理单击人事资料管理-人员信息综合查询,进入人员信息统计分析窗口.在人员信息统计分析窗口,系统按照各种分类对员工资料进行分类统计,并以表格(如图312所示)、柱状图(如图
18、3-13所示)、饼图(如图3-14所示)形式显示,供企业决策人员参考。图312 人员统计表格图3-13 人员统计柱状图图314 人员统计饼图单击岗位管理-设置岗位,进入设置岗位编制窗口,如图315所示,其中可以调整企业的岗位设置.在窗口中单击设置岗位要求按钮,则可以对该岗位进行多方面的要求设置,如图3-16所示。图315 设置岗位编制图3-16 设置岗位要求单击岗位管理-岗位查询,进入查询岗位配置窗口,如图317所示,其中可以查询各个岗位的人员配置情况。在岗位查询窗口中,选中一个岗位和人员配置之后,单击已配置的人员情况按钮,出现一个窗口显示该岗位可选择该岗位配置的所有人员的列表,如图3-18所
19、示。用户从中选择一个员工之后,单击详细资料按钮,则会显示该员工的详细个人资料.在查询岗位配置窗口中,单击岗位设置情况按钮,则用户可查看该岗位设置的详细资料.图317 查询岗位配置图318 查询人员列表4代码分析unit main;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ComCtrls, ExtCtrls;type TfrmMain = class(TForm) MainMenu1: TMainMenu; N1: TMenuI
20、tem; N2: N4: TMenuItem; N7: N11: N12: N13: N5: N6: N8: N3: N9: N10: procedure N2Click(Sender: TObject); procedure N7Click(Sender: procedure N12Click(Sender: TObject); procedure N6Click(Sender: procedure N8Click(Sender: procedure N3Click(Sender: procedure FormCloseQuery(Sender: TObject; var CanClose:
21、 Boolean); procedure N10Click(Sender: private Private declarations public Public declarations end;var frmMain: TfrmMain;implementationuses Szdmb, szgwbz, grzl, ryxxtjfx, cxgwpz, rydl;R 。dfmprocedure TfrmMain。N2Click(Sender:begin try frmSzdmb := TfrmSzdmb。Create(nil);/创建设置代码窗口 frmSzdmb。showModal; /以模
22、式方式显示设置代码窗口 finallyFree ; /最后必须释放窗口end;procedure TfrmMain.N7Click(Sender: i,count:integer; exist:boolean;=false; i:=0; count := self。MDIChildCount ; while (i count) and not exist do /查找是否存在类名为TfrmGrzl的子窗口 begin if self.MDIChildreni。ClassName = TfrmGrzl then exist := true; inc(i); if not exist then /不存在则创建 frmGrzl := TfrmGrzl。Create(self); /以下显示该窗口 frmGrzl。Show ;WindowState := wsNormal;SetFocus ;procedure TfrmMain.N12Click(Sender: frmSzgwbz := TfrmSzgwbz.Create(nil); /创建设置岗位窗口 frmSzgwbz.showModal; /以模式方式显示设置窗口 frmSzgwbz.Free ; /必须释放窗口 end;procedure TfrmMain.N6Click(Sender: i,count:integer; exi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1