
1 项目需求分析
1.1 实现员工薪酬查询
系统必须实现每位员工查询本人薪酬的功能,系统必须通过域名的方式获取访问,因此员工在查询薪酬时,必须保证本人有域名绑定的计算机,通过OA系统,进行超链接访问系统。
1.2 实现明确的权限管理
系统必须具有明确的权限划分,权限级别为:系统管理员>超级用户>高级用户>普通用户,按照不同的用户,设置相应的权限。
1.3 最高权限登录验证
系统管理员在登录系统之前,要有一个身份验证的登录界面,包括用户名验证,密码验证及验证码验证等信息。
1.4 实现数据库定期备份
为了防止误操作引起的数据库数据出错、丢失等影响,一级管理员权限下必须具有备份数据库的功能,管理员只需一键备份数据库。
1.5 实现数据批量导入导出
由于薪酬信息数据庞大,会给每个月薪酬数据录入带来麻烦,为了减轻系统管理员繁琐的逐条输入数据,为此系统应当提供Excel表导入数据库或数据库表导出Excel的功能。
1.6 实现校对审核程序
为了保障每个月薪酬在发布前数据正确无误,发布前必须具有校对审核程序,并提供查询校对审核日志的功能。
2 系统总体设计
2.1 系统架构
该系统在Windows XP操作系统上开发,开发平台基于Visual Studio2010集成开发环境,数据库使用SQL Server2000,使用ASP.NET技术联合开发。该系统基于B/S架构,采用三层架构设计。
2.2 系统功能模块
薪酬查询系统主要为员工提供薪酬查询,网站整体按功能分为员工管理、部门管理、薪酬管理、权限管理和数据导入导出五大模块。实现了项目需求分析的所有功能。
3 系统详细设计与实现
3.1 数据库设计
数据库设计主要由七张表组成。Fms_User表主要存放系统管理员登录验证信息;Fms_Check表主要用于追踪系统管理员审核发布数据;Fms_Employee表用于判断用户登录权限;Fms_Finance表主要记录员工每个月的薪酬信息;Fms_TempFinance表是张临时表,用于存放未发布的薪酬;Fms_Depart表存放部门编号和部门信息;Fms_Role表用于存放用户角色的信息。
3.2 系统主要功能模块
按照需求分析,将系统分成五大模块,涵盖需求分析的全部功能:
3.2.1 员工管理模块
该模块主要实现员工人事的管理,包括新员工的添加、员工的人事变动、部门的调换、员工离职退休等管理,以及员工信息的查询。新员工入职前,要进行信息的录入;员工信息变动,要对员工信息进行修改;员工离岗、辞职、退休等,要对员工信息进行清除操作。
3.2.2 部门管理模块
该模块主要是对部门的管理。新部门的增加、部门名称的变更、部门的取消等管理,以及部门信息的查询。查询部门信息功能可以按部门编号或部门名称模糊查询;添加新部门功能可以添加新部门;修改部门信息可以修改部门名称;取消部门功能可以删除该部门信息。
3.2.3 薪酬管理模块
该模块是整个薪酬查询系统的核心部分,管理每个月薪酬的录入,薪酬信息的修改。考虑薪酬发布前的校对审核程序,每个月薪酬在录入数据库后,员工并不能看到发布的最新薪酬,必须等审核通过后,准予发布,才能查看到。如果薪酬信息处于未发布状态,就可以被修改,但一旦被发布,薪酬信息将不能修改,未发布薪酬信息表被清空,已发布薪酬信息表被写入,员工就可以查看到新发布的薪酬信息。
3.2.4 权限管理模块
该模块提供了对权限的管理,对应员工的晋升、人事的变动,需要权限的变动,该模块可以通过修改角色来实现。
3.2.5 数据导入导出模块
该系统还提供了数据直接导入导出功能,可以将Excel文件数据一键导入数据库和将数据库文件数据一键导出Excel文件中,除去繁琐的键盘输入,省时又高效。
4 系统关键技术
4.1 权限控制
该系统是通过读取数据库表Fms_Employee,获取域名和角色编号等信息,来实现权限访问控制的。用户登录系统获取当前用户的域名,然后查询数据库Fms_Employee表,读取角色编号,并进行条件判断。如果角色编号为数字1,则跳转到用户登录验证界面,其他则跳转到Default.aspx页面。如果跳转到用户登录验证界面,就读取数据库Fms_User表,获取系统管理员级别。读取到数字1跳转到二级系统管理员界面,数字2跳转到一级系统管理员界面。
4.2 数据库备份
为了安全考虑,要求实现系统管理员定期备份数据库。为此系统设计了数据备份按钮,实现便捷的一键备份数据库。备份的数据库名由当前系统日期和系统时间组成,系统管理员只需查看文件名,便可知道要还原那个日期的备份文件。
string sql = "BACKUP DATAbase fms TO disk='D:\\DB\\"+fileName+".bak'"; // fileName文件名
SqlCommand com = new SqlCommand(sql, con);con为连接数据库
int i = com.ExecuteNonQuery(); //执行SQL语句
5 结束语
薪酬查询系统,实现了员工薪酬信息化管理,既提高了管理部门的效率,又方便了员工查询薪酬,真正实现了业务牵引,信息化技术支撑的信息化发展原则。