1、产品经理文件之人事管理系统需求分析文档3 系统功能分析系统功能分析系统开发的总体任务是实现企业人事管理的系统化、规范化和自动化。本系统所具有的功能主要有:普通员工查看员工信息加班津贴的管理。(根据加班的时间和类型给予不同的加班津贴。)员工月工资的生成。(根据月工资生成公式,按照员工的考勤情况和工作表现,生成员工月工资。)系统管理员对系统的管理。企业工资报表的生成。(支持各种不同形式的报表,如单个员工工资报表生成、部门员工工资报表生成等)信息查询系统的使用帮助。帐号信息的修改。实现功能:主要功能实现如下普通用户:1 浏览员工信息2 修改密码管理员:1 浏览所有员工信息2 修改员工信息流程图:系统
2、登陆合法用户非法用户管理员普通用户退出系统用户信息维护系统初始化参数设置信息浏览修改密码人事管理系统 E-R 图:部门管理员N11基本信息学历信息基本信息:政治面貌部 门职 务婚姻状员工号姓 名民 族生分证号性 别年 龄籍贯基本信息出生年月电 话学 历状 态血 型开始工作家庭住址学历信息:员工号学历信息外语级别毕 业 院学历专 业毕 业外语类计算机级别考勤信息:应出勤天本月天数公休假天数节假日加班考勤信息员工号请假天数日常加班工资管理:员工号交 通 及 通 讯 补部门状 态加班补贴工资管理基本工养老金公积金所得税应 发 工实 际 工奖惩记录:奖 惩 记 录奖 惩奖 惩奖惩内容批准部门奖惩原因负
3、 责 人员工号姓名部门信息:部门信息部 门 号部门部门员工数部 门 经用 户:用 户用户名口令关系模型:(标有下划线的为主键)基本信息(员工号,姓名,年龄,性别,部门,职务,修、学历,状态,出生年月,籍贯,民族,身份号,婚姻状况,政治面貌,血型,开始工作时间,家庭住址,电话)学历信息(员工号,学历,专业,毕业院校,毕业时间,外语类型,外语级别,计算机级别)培训情况(培训名称,培训内容,员工号,开始时间,结束时间,培训单位,培训地点,培训费用)考勤信息(员工号,本月天数,公休假天数,应出勤天数,请假天数,节假日加班,日常加班)工资管理(员工号,部门,状态,基本工资,加班补贴,交通及通讯补贴,公积
4、金,养老金,所得税,应发工资,实际工资)调动记录(员工号,姓名,调动前部门,调动前职务,调动原因,调动时间,批准人,调动后部门,调动后职)奖惩记录(员工号,奖惩,姓名,奖惩内容,奖惩原因,奖惩时间,批准部门,负责人)部门信息(部门号,部门,部门经理,部门员工数)用户(用户名,口令)管理员(管理员,密码,权限基本信息表列名数据类型及长度char(10)可否为空not nullnot nullnot nullnull说明员工号姓名emp_noemp_nameagechar(20)年龄int(4)性别char(10)sex部门char(10)nullemp_bmemp_zwemp_xl职务char(
5、10)char(10)null学历null状态char(8)nullemp_zt出生年月籍贯datetime(8)varchar(10)char(20)char(30)nullemp_csnyemp_jgnull员工号char(10)datetime(8)datetime(8)char(30)char(30)money(8)nullnullnullnullnullnullemp_noksrq开始日期结束日期培训单位培训地点培训费用jsrqpxdwpxddpxfy考勤信息表列名数据类型及长度char(10)int(4)是否为空notnullnotnullnull说明emp_nobyts员工号本月
6、天数公休假天数应出勤天数请假天数节假日加班日常加班int(4)gxjtsycqtsqjtsint(4)nullint(4)nullint(4)nulljjrjbint(4)nullrcjb工资管理表列名数据类型及长度char(10)char(10)char(10)money(8)money(8)money(8)money(8)money(8)money(8)money(8)money(8)money(8)是否为空notnullnotnullnotnullnull说明emp_noemp_bmemp_ztjbgz员工号部门状态基本工资加班补贴午餐补贴交通及通讯补贴公积金nulljbbtnullwc
7、btjtbtnullnullgjj养老金nullylj应发工资所得税nullyfgzsds奖惩记录表列名数据类型及长度char(10)是否为空notnullnull说明emp_noemp_namejc员工号姓名char(20)奖惩char(10)notnullnull奖惩内容奖惩原因奖惩时间批准部门负责人char(10)jcnrchar(10)nulljcyydatetime(8)char(10)nulljcsjnullpzbmfzrvacha(50)null学历信息表列名数据类型及长度char(10)是否为空notnullnotnullnull说明emp_noemp_xlzy员工号学历cha
8、r(10)专业char(20)毕业院校毕业时间外语类型外语级别计算机级别char(20)nullbyyxbysjdatetime(8)char(10)nullnullwylxwyjbjsjjbchar(10)nullchar(10)null用户表列名数据类型及长度char(10)是否为空null说明用户名口令yh_nameyh_keychar(10)null管理员表列名T-SQL 语句-全体员工信息-usego人事管理系统create proc find_allasbeginselectendGO*from 员工exec find_all-调动信息查询usego人事管理系统create pro
9、c find_diaodongasbeginselectendGO*from 调动记录exec find_diaodong-usego人事管理系统create proc find_kaoqinasbeginselectendGO*from 考勤exec find_kaoqin-培训记录查询usego人事管理系统create proc find_peixunasbeginselectendGO*from 培训exec find_peixun-按员工号或姓名查询usego人事管理系统create proc proc_nona员工号 char(10),姓名 char(20)asselect*from
10、 员工where 员工号=员工号 or 姓名=姓名GOselect sum=count(*)from 员工where 部门=部门return sumGO-调用按部门查询的存储过程create proc proc_bm部门 char(10)asdeclare e intexec proc_bumen 部门,e outputprint 本部门共有+cast(e as char(2)+名员工。GOexec proc proc_bm 部门=人事部exec proc proc_bm人事部-按员工号或姓名查询工资usego人事管理系统create proc proc_gongzi员工号 char(10),
11、姓名 char(20)asdeclare 状态 char(10)declare name char(20)select 状态=状态,name=姓名 from 基本信息where 员工号=员工号 or 姓名=姓名if 状态=在职beginselect 员工号,姓名,状态,基本工资,加班补贴+午餐补贴+交通及通讯补贴+公积金 as 补贴,基本工资+加班补贴+午餐补贴+交通及通讯补贴+公积金 as 应发工资,(基本工资+加班补贴+午餐补贴+交通及通讯补贴+公积金)*0.2 as 所得税,(基本工资+加班补贴+午餐补贴+交通及通讯补贴+公积金)*0.8 as 实发工资from 工资管理endelse
12、if 状态=辞退beginprint员工+name+已经退职,所以工资停发endelse-状态=开除beginprint 员工+name+因!以被公司开除,所以工资停发 endexec proc_gongzi 员工号=2,姓名=exec proc_gongzi 11,-删除某员工的基本信息usego人事管理系统create proc del_jiben员工号 char(10),姓名 char(20)asdelete from 基本信息where 员工号=员工号 or 姓名=姓名GOexec del_jiben 员工号=2,姓名=exec del_jiben 19,-use 人事管理系统/*如果
13、存在同名的触发器,则删除*/if exists(select name from sysobjectswhere type=trand name=tri_jiben)drop trigger tri_jibengogocreate trigger tri_jibenon 基本信息after delete-触发器演示asdeclare 员工号 char(10),姓名 char(20),性别 char(10),年龄 int,部门 char(10),职务char(10)select员工号=员工号,姓名=姓名,性别=性别,年龄=年龄,部门=部门,职务=职务from deletedif len(员工号)
14、=0-or 姓名 is nullbeginprint 没该员工的信息!rollback tranendelsebegininsert into 基本信息副表 values(员工号,姓名,性别,年龄,部门,职务)print You have deleted+cast(rowcount as varchar)+record(s)!endgo-exec del_jiben 员工号=12,姓名=exec del_jiben 35,id int,员工号 char(10),姓名 char(20),性别 char(10),年龄 int,部门 char(10),职务char(10)as-调动时间 dateti
15、批准人char(10),调动后部门 char(10),调动后职务 char(10)usego人事管理系统create procupd_diaodong1char(10),员工号调动前部门 char(10),调动前职务 char(10),调动原因调动时间 datetime(8),批准人 char(10),ntext(16),调动后部门 char(10),调动后职务 char(10)asupdate 调动记录set 调动前部门=调动前部门,调动前职务=调动前职务,调动原因=调动原因,调动时间=调动时间,批准人=批准人,调动后部门=调动后部门,调动后职务=调动后职务where 员工号=员工号go-exec upd_diaodong1 2,-use 人事管理系统/*如果存在同名的触发器,则删除*/if exists(select name from sysobjectswhere type=trand name=tri_jibe3)drop trigger tri_jiben3goelseprint 你已经成功插入了+cast(rowcount as varchar)+条记录!-exec ins_fubiao 22,aaa,男,23,-