上海浦东煤气制气有限公司 冯德强
上海浦东煤气制气有限公司(简称浦煤)人力资源管理的信息化起步于上世纪90年代,经过多年的开发,公司已经形成一个比较完备的人力资源信息管理体系,包括劳资管理系统、薪资管理系统、MIS系统中的考勤、奖金管理模块、OA网上的员工休假管理模块、外购程序“门禁管理系统”等。这些系统之间的关系可以用图1表示。
图1 原浦煤人力资源信息管理系统
其中:
(1)劳资管理系统用FoxBASE开发,运行在DOS环境下,数据由人力资源部维护,主要维护员工基本档案,确定员工的基本工资、社保、公积金缴费金额等;
(2)薪资管理系统用FoxBASE开发,运行在DOS环境下,数据由计划财务部负责维护,主要用来计算员工的月工资所得,代扣代缴个调税、社保、公积金等;
(3)考勤管理模块和奖金管理模块是MIS系统的组成部分,数据由人力资源部与各车间、部室共同维护,该系统生产的数据是计算薪资的重要依据;
(4)门禁管理系统是外购商业系统,用来监控员工进出厂门情况,数据不需要输出到其它系统;
(5)休假系统由人力资源部维护,它维护带薪休假的天数,数据不需要输出到其它系统。
虽然这些系统的部署给公司人力资源的日常事务工作带来相当便利,但是由于劳资管理系统和薪资管理系统开发年代都比较久远,所用技术FoxBASE及运行平台DOS早已失去主流支持,设备老化严重,所需配件在市场上已很难采购到,给系统运行和维护带来较大风险;而且,这两套系统许多功能雷同,彼此之间需要频繁交换数据,重复工作量大,劳动强度高,容易出错。还有,随着公司的转型发展的逐步深入,公司的生产方式也发生了很大变化,相应地人力资源管理方面也提出了较多新需求,比如要求区分生产与服务员工,服务板块员工适用新的工资管理办法等等。显然,这两套系统已不能适应当前需求,亟需开发新功能以解决问题。
正如前文所分析的,如何取代在整个浦煤人力资源管理系统中占有重要地位的劳资管理系统是衡量新系统是否成功的关键所在。
劳资系统底层数据是由一系列dBase表组成的,其中LZ11负责记录公司当前的在职员工的人事信息、薪点工资等;LZ00是代码信息对照表,负责解释系统中出现的各种代号的含义;LZ13记录员工的薪点演变历史,FL13记录员工历年工资、奖金等数据;LZ21记录退休人员的信息;LZ31记录调离、辞职人员的信息;LZ12记录员工的社会经历;LZ14记录员工的岗位、职务变动经历;LZ15是奖惩档案;LZ16是技术培训档案;LZ17记录员工的家庭信息;等等。
有鉴于此,我们制定了下列设计思路:
(1)借鉴劳资管理系统的设计思路进行新系统的设计;
(2)设计符合公司转型发展新需求的工资算法,取代薪资管理系统;
(3)引入多用户、多角色授权认证机制,解决多部门的使用权限问题;
(4)二次开发前文提到的一些重要功能(如人事信息的集中修改、考勤和考核工资的维护、员工进出厂门打卡记录的查询等),以期减少重复劳动,提高工作效率。
(5)开发数据挖掘、分析功能,为公司领导提供决策数据支持。
在此基础上,笔者制定了图2所示的系统解决方案:
图2 浦煤人力资源信息管理系统解决方案示意
整个系统包括人事信息管理、合同管理、考勤管理、工资标准管理、福利管理、工资运算等模块。子模块中,员工变动模块与独立在外的子系统联动,考核工资模块、考勤模块、门禁模块与相应子系统共享数据库。安全方面操作人员根据授权访问不同功能模块,并计入访问日志,数据库按日自动备份。
系统基于微软.NET Framework4.0,用Visual C#语言开发,为Windows桌面应用程序。后台数据库为SQL Server 2008 R2,服务器端操作系统Windows Server 2008,客户端操作系统Windows XP或以上。
我们将系统分为HumanManagerWin、Human ManagerLib、HumanManagerData多层进行开发。其中,HumanManagerWin可以视作系统的表示层(UI),为用户提供交互操作界面,即用户界面操作;以WinForm的形式实现。HumanManagerData是系统的数据访问层(DAL),负责数据库数据的访问。在这一层,我们利用LINQ to SQL等技术实现了数据库的表与实体类之间的映射,实现了数据的INSERT、UPDATE、DELETE操作。Human Manager Lib(BLL)则是系统的业务逻辑层,负责关键业务的处理和数据的传递。
HumanManagerLib类库封装了系统中比较重要的一些算法,比如“员工变动”、“工资运算”、“增资运算”。这些算法有一个共同的特点,就是牵涉到系统较多的资源,运算复杂。以“工资运算”为例,它分为“算前准备”、“工资运算”两个阶段。在“算前准备”阶段,系统要检查员工变动是否完毕,考勤数据是否准备好,社保和公积金缴费清单是否准备好,这些是计算工资的必要条件。如果没有准备好,就不能进行下一步。在“工资运算阶段”,系统先要调入计算工资所必须的一些公用参数,比如薪点点值、托底标准、最低岗位点、中夜班津贴标准、月计薪天数等等,同时还要获取员工的参加工作年月、所在岗位等信息。需要员工的岗位信息。是用来判断员工属于哪个版块,不同的版块有不同的工资算法,参加工作年月即员工的工龄是计算员工病假扣减工资的重要依据之一,因为工资管理办法规定了不同的工龄,病假工资的扣减办法不同。特殊情况较多,必须面面俱到,否则,就会失之毫厘,差之千里。工资算法的具体流程参见图3。
图3 工资运算流程示意
分两大子模块,即员工变动和员工综合信息分析统计(数据挖掘)。
3.1.1 员工变动
通常,在变动员工的基本信息时,往往要同时变动他(她)的工资基金台账。因此,我们将这两个变动整合为一个模块,由专人“一站式”操作。系统通过向导引导操作员对员工的基本信息及工资基金台账进行变动,确保数据的一致性。这些向导包括:
(1)生产转服务,引导用户如何将一名生产员工转到服务板块。这个过程完成之后,生产板块减员,服务板块增员;
(2)服务转生产,引导用户如何将一名服务员工转到生产板块。这个过程完成之后,服务板块减员,生产板块增员;
(3)生产、服务内部的一般变动,这类变动不涉及工资归零或还原动作,主要体现在岗位、职务、职称、技能变动等方面;
(4)生产、服务内部的特殊变动,这类变动往往需要将被变动员工的工资归零,或者将他(她)的工资恢复到特殊变动前的状态。如工伤(工资全部归零,发工伤津贴),工伤复工(恢复工资,工伤津贴归零),产假(工资全部归零),产假复工(恢复工资),内部退养(工资全部归零,发内部退养工资),内部待岗(工资全部归零,发内部待岗工资)等;
(5)新员工登记,引导操作员将新员工的基本信息、工资、社保、公积金、各类账号等加入系统;
(6)减员,引导操作员将退休、离职员工的基本信息转到退休或离职状态,将工资归零;
(7)与其他系统的人事信息同步。
3.1.2 员工综合信息分析统计
员工综合信息分析统计(数据挖掘),包括:
(1)岗位分布情况统计;
(2)车间、部室和班组组成人员情况统计;
(3)文化程度统计;
(4)职称、技能统计;
(5)退休人员测算;
(6)平均年龄计算;
(7)高级查询(自定义条件组合查询员工信息)。
该模块针对人力资源部的需求专门优化设计,与MIS系统中的“考勤模块”分工协作,MIS系统中的“考勤模块”负责维护各车间、部门的数据,而该模块负责全局数据的维护。其功能主要包括“数据录入”、“考勤结果查询”、“报表打印”,“数据输出”等,为“工资运算模块”准备考勤数据。
工资管理模块主要包括:
(1)考核工资管理。该模块针对人力资源部的管理需求专门优化设计,与MIS系统中的“奖金模块”分工协作,其定位与“考勤模块”类似,相较于MIS系统中的“奖金”模块,该模块提供粒度更细、更丰富的功能,如批量修改、班组校对、重复人员检测、数据分类显示、汇总合计、数据导出、报表打印等;
(2)增资管理。采用向导模式,一步一步引导操作人员,按指定条件,完成全员增资运算。并且在增资前,提供专门模块,用来测试增资幅度是否合理。增资后,借助增资统计报表,检查运算是否正确,是否符合预期。增资结果计入当月工资基金台账报表。
(3)工资基金台账的查询、打印;
(4)员工历年收入的查询、统计、对比(数据挖掘)。该功能帮助人力资源部动态掌握、追踪员工的收入情况。人力资源部因此对员工收入是增加还是减少,增加多少,减少多少,是哪类人员增加,哪类人员减少等等一目了然。
(1)维护工资算前需代扣代发的项目,如独生子女补贴、需要手工输入的税前补发等;
(2)银行帐号维护;
(3)减税人员清单、减税标准维护;
(4)工资运算。检查工资运算所必须的项目是否准备完毕,如考勤数据、考核工资、4、社保缴费、公积金缴费等。条件满足后,根据考勤数据处理病、事假,计算加班工资、中夜班津贴;计算个调税;对符合托底条件的进行托底(大病、工会大病补助、最低工资)运算;最后汇总实发工资等;
(5)打印工资单,编制工资统计报表;
(6)输出数据,供工资进卡和缴税用。
(1)根据员工上一年度的税前收入计算养老保险、医疗保险、失业保险、公积金的缴费基数;
(2)根据政府公布的平均工资及缴费费率,计算每位员工下一年度的月缴交额;
(3)定期(每月一次)维护员工的缴费状态。为“工资运算模块”准备数据。
(4)月报表输出
(1)数据库每日定时自动远程异地备份与强制还原。即便工作服务器完全崩溃,也能在较短时间内,启用备份服务器,将损失降到最小。
(2)系统运行参数维护。主要维护系统运行所必须的参数,如岗位分类表、岗位、技能和年功折点标准、托底标准(最低工资、大病托底、工会大病托底)、社保和公积金的缴费比例、个调税计算公式所需的参数,等等。
主要包括用户的创建、删除以及用户访问权限的授予和撤销等功能。
这是一个通用功能,内嵌于数据查询(数据挖掘)模块。
(1)通过扩展PrintDocument类,实现了对DataGridView控件的一键式打印、预览、页面设置功能。
(2)借助Microsoft Excel类库,实现了将DataGridView数据输出到Microsoft Excel的功能。
(3)借助WPS Office ET类库,实现了将DataGridView数据输出到WPS ET的功能。
浦煤人力资源信息管理系统有效地解决了公司在人力资源信息管理方面所碰到的一些问题,基本满足了人力资源部在日常事务管理方面的需求,减少了重复劳动,提高了工作效率,实现了设计目标。特别是,系统实现了人力资源部与计划财务部在薪酬管理权限上的划分,即人力资源部管“应发工资”,计划财务部管“实发工资”。
从两年多实际运行的情况来看,系统所实现的功能如人员变动与查询统计、工资基金台账管理、工资运算、收入统计、福利管理、考勤管理、考核工资管理等都取得了不错的实际运行效果。当然,系统中还有许多需要提高的地方。我们将加倍努力,把系统的维护工作做好,不断优化和完善系统代码,使之更好地为公司的生产、经营服务。