APP下载

工资查询系统的设计与应用

2015-03-18朱春满官小云

产业与科技论坛 2015年23期
关键词:工资管理工资栏目

□朱春满 刘 伟 官小云 王 斌

随着计算机不断增加和信息化的日益普及,企事业单位日常工作信息量越来越大,这其中也包括财务部门的工资管理。目前各单位的工资查询,大多是在财务管理系统下进行工资条打印,然后由职员各自进行剪取,使得财务部门人流急剧增大严重影响财务的正常办公。职员为了了解自己的工资情况,必须到财务部门领取工资条或打印工资报表,这也给职员带来了很多的不便。利用计算机管理系统来为管理员和职员提供管理和查询服务,就能高效地解决这些问题。但在设计工资查询系统中所面临的一个难题就是多数单位可能出现在同一个月中发几次工资,并且每次工资栏目可能不同的现象,从而对工资数据的存储和操作带来了很大的困难。本文介绍了基于浏览器/服务器(Browser/Server)模式的工资查询系统,提出了在工资栏目名称和栏目数可变的情况下对数据进行分段存储的数据库操作方法。该方法既解决了数据存储的难题,又提高了数据库存储空间的利用率。

一、系统介绍

(一)系统简介。为了开发出适合高职院校单位使用的简洁工资查询系统,本系统主要包括以下几个模块。

1.工资管理。工资管理菜单包括:员工工资查询、员工工资管理、员工工资批量导入。通过工资管理模块可以基本实现员工工资信息的查询、添加、修改、删除、批量导入和导出以及对批次信息的修改等操作。

2.员工信息管理。员工信息管理菜单包括:员工信息查看、添加新员工。通过员工信息管理模块可以基本实现对员工个人信息的查询、添加、修改、删除、批量导入和导出等操作。

3.管理员帐号管理。系统管理菜单主要包括:修改密码。该模块主要实现管理员用户的帐号和密码修改。

4.个人用户管理。系统管理菜单主要包括:查询工资、查询个人信息、修改密码。用户可以选择“年份”、“月份”、“批次”等选项,点示“查询”,可以实现对指定批次、指定月份、指定年份的个人工资明细进行查询,并有相应的按年、按月、按批次的统计。同时还可以查询个人基本工资信息,修改个人密码等。

(二)系统技术架构。本系统是采用C # + SqIserver2000+ jquery 的体系结构开发的B/S 模式管理系统。项目运行在Windows 操作系统下的IIS 信息服务器上,支持浏览器Firefox、IE 7.0 及以上。

(三)数据库结构。为了满足单位每个月可以发多次工资,且每次工资信息栏目的名称和数目不确定的需求,本文提出了对工资栏目信息和数据信息进行分开分段存储的设计思想,即对每批次的栏目信息和工资记录信息进行相同的数据分段操作。例如:如果某次导入工资信息有23 个工资栏目,以6 个栏目为一段,则工资栏目信息在数据库中将占用4 条记录,每条工资数据信息同样占用4 条记录。为了方便数据操作,对存放栏目的数据表和存放工资的信息表的设计如下。

1.实体属性。数据库对象实体,分别为:工资栏目名称信息、工资记录信息,各个实体分别拥有自己独特的属性。工资栏目名称信息实体的属性有:ID、栏目1、栏目2、栏目3、栏目4、栏目5、栏目6、年份、月份、批次、序号、存放的栏数。工资记录信息的属性有:ID、记录1、记录2、记录3、记录4、记录5、记录6、对应栏目的ID、人员ID。

2.数据表。两张表分别为栏目表、记录表。

(四)数据库分页技术。由于采用了分段存储的模式,导致了对数据库查询时数据记录条数放大了几倍。为了克服查询数据量大的难题,本文采用了目录较为流行的分页技术。分页返回用户数据大大减少了数据传送量,减少了服务器和网络的负载,提高了数据获取的效率。目前应用较为广泛的分页技术有如下两种。

1.利用各种开发框架下的分页控件进行分页。如在. NET平台下使用GridView 数据库访问控件中的分页功能进行分页,使用这种分页技术通常要加载大量其他页的缓存数据。

2.在数据库中实现分页处理。这种方法能够从源头减少数据处理量和网络数据的传输量。本文采用的就是第二种方法,下面主要介绍一下该数据库的分页技术。

常规的取第n 页数据方法为:Select top n* PageSize *from TableA where Primary_Key not in (select top (n-1)* Page-Size Primary_Key from TableA )。

这种方法通过排除当前页面以前的页面数据来实现分布。如果数据记录量比较大,为了排除以前的页面数据需要将以前的数据缓存起来进行比较,使用该方法的服务器负载较重。为了提高上述方法的效率,减少数据量的缓存,目前较为流行的改进后的方法如下:

Select top PageSize * from TableA where Primary_Key <(select min(Primary_Key)from TableA where Primary_Key in (select top (n-1)* PageSize Primary_Key from TableA order by Primary_Key desc))order by Primary_Key desc。

二、系统应用到的关键技术

为了方便项目的开发,本系统使用了Web 应用三层结构设计的操作模式,即表示层、应用逻辑层、数据层。三层结构使用开发团队间的协调更清晰和合理,项目代码的可读性、移置性更强。为了增加用户体验,本系统大量用到了基于JQuery 的Ajax 技术。JQuery 是继prototype 之后又一个优秀的轻量级Javascript 框架,对现在主流浏览器IE、Firefox、Opera 等的高低版本兼容性较好。其优秀的Ajax 异步交互能力,以及能方便地利用HTML documents、events 等类来实现动画效果的能力,充分地满足了用户体验需求,同时还有许多成熟的插件可供选择。

三、系统测试

本系统在学院局域网内分别进行了性能测试、安全性测试、系统基本功能测试。性能测试主要进行了连接速度测试、负载测试。连接速度测试主要通过在不同局域网中进行网站的访问速度测试。负载测试主要测试了多个用户同时进行网站访问的能力。安全性能测试中,本文对网站的安全性(服务器安全,脚本安全)进行了测试,包括可能有的漏洞测试、攻击性测试、错误性测试。同时,还对系统的各项业务功能进行了测试。通过这些测试,满足了系统的安全和性能需求。

四、系统应用情况

该系统在2014年10月开始应用于宜宾职业技术学院,经过不断的升级、优化,已经成为一套较成熟的适合高职院校的工资查询系统。这套系统的实施,提供了便捷的立体式的工资数据查询平台,增加了职员信息时代的便捷体验;大大提高了工资查询的及时性、准确性以及会计事务的严肃性;提高了学院财务工资管理水平,减少了不必要的支出。

五、结语

本文提出了在工资栏目名称和栏目数可变的情况下对工资数据进行分段存储的数据库操作方法。既解决了数据存储的难题,又提高了数据库存储空间的利用率。同时借助ASP.NET框架、JQuery 技术、SQL Server 数据库技术及其它相关技术,方便全院教职工通过Internet 实时查询工资数据,同时在减轻财务工作人员的工作量、节约打印材料、保护个人隐私方面具有重要的意义。

[1]范振钧.基于ASP.net 的三层结构实现方法研究[J]. 计算机科学,2007,34,4

[2]亓传伟,王新勇.数据库分页优化技术分析与实现[J].煤炭技术,2012,31,8

[3]郭靖.ASP.NET 开发技术大全[M].北京:清华大学出版社,2009,5

[4]刘海舒.浅谈jQuery 的应用[J].数字技术与应用,2010,2

猜你喜欢

工资管理工资栏目
这种情况下未续订劳动合同是否应当支付二倍工资
关于栏目的要求
刍议人事工资管理工作中信息化建设的作用
栏目主持人语
“大师问答Ask the Guru!”栏目问答精选(二)
栏目制,为什么这样红
浅谈高校工资管理存在的问题及对策
数据库在工资管理中的应用
说说索要工资那些事
不用干活,照领工资