还剩5页未读,继续阅读
文本内容:
管窥人事管理平台设计与实现
一、基于JavaEE规范的SSH开发模型Java开发人员对SSH肯定不会陌生,SSH即所谓的Spring+Struts2+Hibernate三大开发框架,这三者相互独立,可以单独使用,而又能完全融合为一体,各司其职,因此无数Java架构师为其着迷,发挥出无穷的想象力,整合出很多优秀的开发模型这些优秀的模型,如图1所示的开发模型让很多开发人员为其折服其中JQUERY为前台JS框架
1.框架的功能介绍本开发模型中的三个框架的功能与常规整合方案相一致Spring担任容器身份,包含并管理应用对象的配置和生命周期,将简单的组件配置、组合成为复杂的应用主要涉及两项强大技术,一个是控制反转IOC,另一个是支持面向切面编程技术AOPo Struts2用来处理请求,它的主要功能可以用三个单词来形容〃Request、“Control、Response涉及的主要技术是拦截器Interceptor机制,使得业务逻辑控制器能够与ServletAPI完全脱离开Hibernate作为数据持久层的框架,可以屏蔽数据库差异,让开发人员使用对象编程思维操纵数据库主要涉及的技术是缓存管理CacheManager,事务管理TransactionManager,延迟加载lazyload等Hibernate-Generci-Dao包含GenericDao,GenericEntityDao两个类,前者负责实体无关DA0方法的实现,后者负责实体相关DA0方法的实现两者都继承于HibernateDaoSupport,并且都基于泛型,使用相当方便只需要Spring注入的SessionFactory和实体类名就可以通过放射机制获得实体对应的DA0对象根据此思想,又加入继承自SimpleJdbcDaoSupport的SimpleJdbcDao自定义类来负责纯JDBC操作,这样就可以在Hibernate不满足需求的时候调用JDBC方法对数据库进行操作最后将Hibernate-Generic-Dao和SimpleJdbcDao中常用的方法在IBaseDao接口中进行声明,并在BaseDao类中实现这样就不需要对每个实体类重复编写DA0,大大减轻了对数据库CRUD的重复性编码工作
2.主要特点⑴摒弃传统的以hbm.xml对实体类进行映射,采用JPA标准的Annotation对实体类与数据表进行匹配映射,简洁明了,快捷,方便,易于维护;⑵对所有自己编写的实体类,Service类,Action类采用Spring的Annotation标准进行注解,加上Spring的组件扫描component-scan机制,减轻注册bean的工作量;⑶整合C3Po数据源,其强大的可配置性可以更好地提高数据库性能;⑷整合缓存框架EhCache,其快速、精干,多策略缓存等特点在业内受到一致好评⑸基于切面技术配置事务管理,权限控制,日志存写;⑹基于泛型的IBaseDao可以减轻开发人员大量的重复性编码工作来注重业务逻辑
二、人事管理平台设计与实现
1.课题业务需求分析
1.1薪资管理模块⑴工资项目管理功能对具体工资表中的各个工资项目进行设定及维护,须考虑到系统将来的扩展性,对于企业新的工资项目可以动态增加及删除、可以根据不同地区福利和信息制定模版,方便HR录入⑵固定工资管理功能批量维护员工的固定工资信息,如基本工资、采暖补贴等⑶工资发放管理功能工资进行结算、发放的管理可以对员工的各个工资项目进行批量计算,例如对某个部门的员工工资进行计算,包括考勤工资、五险一金、应发金额、应扣金额及实发金额等⑷查询统计功能要求既可以单项查询,比如查询某个员工的工资情况等;也可以多项查询,比如某部门员工在某个月的工资情况等某个部门或整个公司在某月或者某年的工资汇总统计等⑸报表打印功能每月发放工资时,要求能够打印本月的工资表、工资统计表和随工资发给每个职工的工资条
1.2绩效管理模块⑴绩效计划制定功能绩效计划中,每个计划都应含有可以动态添加、删除的选项,每个选项都有不同的评分与其对应⑵绩效计划实施功能将绩效计划分配到不同的岗位,并根据不同岗位设置不同的监督人员、一个岗位可以允许多个绩效考核设置考核时间,超过考核时间未自评的予以自动放弃并按零分处理,监督人员未在规定时间进行考核评价的,扣除监督人员的相应职能绩效分数(所有绩效分数,为零后不再扣除)⑶绩效考评绩效考评分为自评和监督考评,都需在绩效实施时间内完成考评直接根据绩效计划相应选项选择即可,自评60%+监督考评40%=总绩效分数100%如果超过要求时间,则绩效自动关闭,不允许补办,分数为零⑷绩效查询不同人员登录查看不同的绩效情况,普通职工只能查看自己的绩效情况,监督岗可以查看自己负责的绩效相关情况管理员和领导岗可以查看所有绩效情况⑸提醒功能对需要自评或者考核评价的人员,在他们登录系统后就可以看到需要自己完成的工作导航,方便或指引登录人员完成工作
2.课题平台需求分析在获得上述业务需求后,还进行了平台需求分析与薪资管理模块,绩效管理模块必然挂钩的因素是〃人〃,即企业员工,以及整个企业的组织结构,因而涉及到员工与部门管理,另外与绩效薪资项相关的考勤信息,奖惩信息也需要维护,所以添加人事管理模块另外,作为一个平台,必须安全可靠,因此我们又添加了一个功能模块叫做系统管理,主要负责用户,角色,权限的管理;而日志等管理,作为系统的安全支撑是必须的
2.1人事管理模块⑴部门信息管理功能按照部门显示部门员工列表,可添加部门员工信息,可对部门信息、员工信息进行维护操作⑵考勤管理分为请假管理和加班管理,记录信息准确详细,请假信息还需要有销假操作,从而可以更加公平地计算绩效薪资项⑶奖惩管理企业员工在获得某项成绩时要适当进行奖励,而对触犯公司员工章程,或做出对企业有损失的行为要有相应的惩罚,这些信息在此维护,并且与绩效薪资项挂钩
2.2系统管理模块⑴日志功能记录管理员进行的所有操作,记录操作人,操作时间,操作方法⑵角色管理维护系统的角色信息,基于角色的权限控制⑶用户信息管理功能用户信息维护
3.平台架构综合以上需求分析,总结出如图3所示的平台架构我们选择其中部分功能模块进行介绍⑴考核指标管理首先将考核指标分成不同的类别,比如团队协作,工作态度,专业技能等类别,然后在每种类别中又分成定量和定性指标,指标可维护,并且指标分类也可维护;⑵考核模板管理即为每个岗位定制一套指标集合,在创建考核计划时可以直接选择模板为其生成考核问卷,同时可以添加或者删除指标;⑶考核计划管理选择需要考核的岗位,并为其定制考核指标;⑷嘉奖及扣款标准管理在考核结束后将每个人的分数对照指标进行嘉奖及扣款;⑸月薪资管理创建月薪资计划,查询每个月的薪资记录,为员工批量或者单独设置薪资项的值,计算出相应的项目,将薪资记录导出到Excel以便打印,进行结账或者反结账操作,向员工发送薪资提示邮件;⑹津贴制管理包括职务津贴,职称津贴,学历津贴,工龄津贴四项,按照不同标准进行维护;⑺薪资数据分析以图表形式展示部门总薪资的月度折线图,职务月平均工资的柱状图,还有公司薪资按照部门的分布图等;⑻预备薪资项管理系统设置了十个预备的薪资项,可以设置其计算方式加或减,修改薪资项名称,启用或者不启用;⑼薪资计算公式管理包括五险一金的计算公式,个人所得税的计算公式,党费计算方式,以及个税9级超额累进税率等维护操作;
(10)角色管理为角色添加删除用户,为角色授权;
(11)节点管理由于本系统采用RBAC的权限控制思想,节点作为功能点被授予给角色
4.前台考核模块绩效考核功能,即员工自评后上级领导再对其进行评价,最终生成考核成绩,并将成绩按照标准折算成当月的考核薪资,计入薪资项中在员工登录前台时,系统会弹出当月考核的导航,方便员工进行自评以及领导对员工评价
5.开发模型优势⑴将RBAC权限管理与开发框架中Spring的A0P技术结合,在Servicelmpl层设置切点,判断当前用户是否拥有权限,有则放行,无则抛出异常让Action捕捉,返回提示页面;⑵在Action和Service中需要Servicelmpl对象时不再需要自己通过new给出,只需要©Resource对需要的对象进行注解,即可让Spring提供;⑶运用@TableGenerator注解,即可不再为Oracle自增长编写序列;
(4)Struts2可以利用org.apache.struts
2.dispatcher.ChartResult返回JFreeChart的图表,无需配置数据流
三、结束语本系统对薪资进行管理,提高了工作效率,实现了工资管理工作流程的系统化、规范化和自动化在绩效系统模块中,以模板创建考核问卷,指标分为定量和定性,考核分为自评和上级评价,这些实现方式使得系统在操作便捷性,考核公平性,数据可分析性等方面有了很大的提高其中丰富的数据图表,是提高数据可分析性的关键一个优秀的开发模型可以提高开发效率,降低开发成本,充分利用开发模型,将业务逻辑与模型相结合,可以降低业务逻辑实现的复杂度本课题使用的开发模型在DAO层有很好的封装性,但在Action层和Service层,乃至前台JS的代码仍然有着很高的重复性,这可以作为下一阶段研究的方向作者张晓晨杭润东徐金宝张建德单位南京工程学院计算机工程学院。