基于ASP.NET技术的业绩考核系统设计与开发
2015-03-01仇善梁
仇善梁
(江苏联合职业技术学院扬州商务分院,江苏扬州225000)
基于ASP.NET技术的业绩考核系统设计与开发
仇善梁
(江苏联合职业技术学院扬州商务分院,江苏扬州225000)
【摘要】随着跨区域的移动办公员工人数的迅猛增加,基于传统手段的业绩考核模式已不再适应,亟需通过信息化手段来满足现实需求。文章基于ASP.NET开发技术和sql server数据库技术,研发了基于B/S架构的业绩考核管理系统,满足了企业对员工的业绩考核需求,实现了业绩考核管理的信息化,并在实际使用中取得了良好的效果。
【关键词】ASP.NET;业绩考核;管理系统
业绩考核通常也称为业绩考评,是企业针对每个员工所承担的工作,应用科学的定性和定量的方法,对其个人工作效率和对企业的贡献值进行考核和评价,从而促进企业目标的实现。业绩考核是现代企业管理中不可或缺的管理工具,有效的业绩考核,不仅可以激励员工士气,提高工作业绩,也可作为公平合理地酬赏员工的依据。根据经营范围不同,不少企业对员工都有明确的业绩要求,方法一般由专人负责统计考核,根据员工业绩进展定期在公司白板或公示栏等平台进行公示。如果企业不但规模较大,而且分布于异地,那么上述方法不但工作繁琐,而且实现不了数据更新和反馈的实时性。本文利用ASP.NET开发技术,建立一个基于B/S架构的员工业绩考核管理系统,不仅解决了上述问题,而且在实际使用中取得了良好的使用效果。
1 设计思路与总体架构
受某财富管理公司委托,开发员工业绩考核系统。本系统用户类别分为:理财顾问、团队经理、营业部经理、城市经理、区域经理、总经理、管理员七个角色模块。本系统首先是实现将公司年度目标进行逐层分解,最终落实到每个员工和月份,并能实时更新员工业绩,可按日、月、年对各个级别团队的业绩进行统计排名,引入竞争机制和显示总体进度;其次是实现员工对自己客户的登记和定期联系跟进功能。实现上述功能要求,可用B/S架构的应用程序实现,用户只需通过浏览器即可实现操作。
根据需求分析,本软件采用B/S架构开发模式,ASP.NET开发技术。作为目前主流开发技术之一,
ASP.NET具有简单易用,快速开发,易于部署等优点。其ado.net数据访问技术,同时具备在线式和离线式数据访问方式,其采取断开连接方式的数据结构,在浏览器向web服务器请求网页后,由服务器处理请求,并将请求的网页发给浏览器,断开连接,直到浏览器发出下一个请求。使用起来灵活方便。本软件的总体架构如图1所示。
图1 系统功能及架构图
2 实现方法
系统采用Visual Studio.Net 2010 Sp1开发环境,基于C#语言的ASP.NET开发技术,利用Sql Server 2008 R2作为数据库支撑平台,采用IIS+Framework 4.0作为部署发布平台。
2.1应用程序设计
系统开发采用三层架构,表示层以HTML标记语言描述各页面元素,采用DIV+CSS作为页面布局和美化方式,使用JQuery处理前台的各种验证和判断等交互事件。业务逻辑层通过.NET平台自带的控件来实现用户与界面的交互,通过事件处理机制向应用程序服务器提交HTTP请求,实现业务逻辑规则。数据访问层主要通过ado.net提供的五大对象,实现在线式(SqlDataReader)和离线式(DataSet)访问操作,完成常见的数据操作方法。
2.2数据库及数据库类设计
与开发技术对应,本系统选用微软系列的sql server作为数据库支持。根据系统功能需要,数据库共建立了参数表、产品表、城市表、分解表、角色表、开户表、客户表、目标表、年度表、区域表、团队表、信息表、营业部表、用户表等共15张表。对于一些权限开关型参数和日后可能需要修改的信息,全部存储在数据库中,以此提高程序的灵活性。
系统建立了数据库类(DB.CS),设计了6个方法,实现对数据库的添加、修改、删除和更新操作,介绍如图2所示。
图2 数据库类的方法
2.3安全设计
安全是系统设计和开发时需要充分考虑的问题。本系统采取了多种措施来提高系统的安全性。如对用户名和密码进行非法字符实施严格的过滤、SQL查询语句采用参数化、过滤特殊字符、限制服务器的响应、降低SQL注入、XSS攻击的可能性,同时定期对数据库进行备份。
2.4性能设计
随着系统用户量和数据量的增大,如何保证系统能够高效流畅地运行是系统设计必须要考虑的问题。针对本系统中查询、读取、统计数据比较多的特点,系统采取了以下两个方面措施来提高软件性能。首先是使用连接池(Connection Pool),减少多次打开与关闭数据库连接消耗的服务器资源;其实是使用存储过程(Stored Procedure)技术,存储过程是存储在数据库服务器上的一组预先定义并编译好的用来实现某种特定功能的SQL语句,相比传统的前台执行SQL语句有着显著的效率优势。
3 主要功能
本系统根据业绩考核与客户跟进的需求分析,共设计了7种用户类型,18个功能要点,由于篇幅限制,下面分别以某一角色为例,对能够体现系统主要功能的项目进行介绍。系统功能流程如图3所示。
图3 系统运行流程图
3.1目标管理
目标管理是业绩考核系统的主要功能之一,在目标管理中,根据用户级别不同,用户至上而下对年度目标进行逐层分解,虽然不同级别用户的管理对象范围不同,但是基本内容是一致的,下面以团队经理为例,介绍其如何进行目标分解及其实现方法。
图4 团队经理目标分解功能
图4显示李威团队从营业部经理分得的年度目标为500万,团队经理对所属组员进行月度分解。在服务器端,ASP.NET通过读取团队人数,通过循环语句动态绘制表格行(TableRow),每位成员占一行,在行内再通过实时加载文本框(TextBox)控件的方法进行阅读计算,方法如下:
SqlDataReader re = conn.Return_DataReader(sql);
if (re.Read())
{
TableRow row = new TableRow();//循环行,加载理财顾问
TableCell cell0 = new TableCell();
cell0.Text = "";
TableCell cell2 = new TableCell();
TextBox tb2 = new TextBox();//创建动态TextBox
tb2.ID = "tb" + i.ToString() + "_1";
tb2.MaxLength = 2;
tb2.Width = 40;
tb2.Text = re["1月"].ToString();
//动态创建onblur事件,当数值变化时调用前台js,实现实时计算
tb2.Attributes.Add("onblur", "mm(" + i + ")");
cell2.Controls.Add(tb2);//载入动态控件
row.Cells.Add(cell2);//载入行
……
}
在客户端,通过JQuery技术实现了用户输入目标值的实时计算,下面就以横向计算每位理财顾问的全年目标为例进行介绍,方法如下:
function count(hang) {
for (i = 1; i <= hang; i++) {
var hang_heji =0;//合计初始值为0
for (var j = 1; j <= 12; j++) {
hang_heji += parseInt($("#tb" + i + "_" + j).val());
}
$("#tb" + i + "_13").val(hang_heji);
}
}
依次类推,可以通过JQuery轻松实现所有理财顾问月度目标的实时计算,将计算结果与团队年度目标值进行比对,如果一致则完成提交,完成目标设置,否则提示报错信息,建议重新检查数值。
4.2客户管理
根据系统设计需要,客户管理设计了“客户跟进”、“15天未联系客户”、“正式客户”。客户跟进是实现业绩目标的重要手段,客户跟进栏目主要实现新增客户和跟进记录功能,主要解决了客户所有人和定期对客户进行拜访或电话跟进记录功能,能清晰地反映
跟进轨迹。“15天未联系客户”主要是通过计算机程序自动汇总出半个月未跟进的潜在客户,向理财顾问发出跟进提醒,如客户确定投资则提交开户申请,通过审核后,客户信息则出现在“正式客户”的列表中。
4.3业绩排行
以城市经理角色为例,其业绩排行功能分为:个人排行、团队排行、营业部排行、城市排行四个子项目功能。业绩排行的实时显示不但对各团队业绩的完成有促进作用,而且还为各管理单位开展工作提供了重要的参考数据。此外业绩排行除了默认显示月度业绩,还可以提供按年、月、日的自定义查询。下面以个人业绩排行为例,介绍实现方法,由于需要跨多表查询、子查询、多条件查询,系统采用存储过程的方法现实,方法如下:
create proc [dbo].[ge_pai_by_cityid]
@cityid int,@myyear int,@mymonth int,@myday int
as
declare @tempsql varchar(1000)
begin
set @tempsql='select用户表.编号,用户表.姓名,用户表.电话,isnull((select SUM(金额) from投资表where所有人=用户表.编号'
if @myyear<>0
set @tempsql=@tempsql+' and YEAR(时间)='+ltrim (@myyear)
if @mymonth<>0
set @tempsql=@tempsql+' and MONTH (时间) ='+ltrim(@mymonth)
if @myday<>0
set @tempsql=@tempsql+' and DAY (时间)='+ltrim (@myday)
set @tempsql=@tempsql+' and审核='+char (39) +'1'+char(39)+'),0) as业绩,团队表.名称as所属团队,……in (select编号from团队表where营业部in (select编号from营业部表where城市= '+ltrim(@cityid) +')) order by业绩desc'
execute(@tempsql)
end
上述存储过程的作用是根据传入的参数城市编号和查询条件,本城市内所有理财顾问的业绩排行。得益于存储过程在本系统中的使用,在实际应用中表明,在处理涉及交叉表的复杂查询方面,取得了比较良好的执行效率和加载速度。
4.4统计报表
对年度目标分解是作为实现目标的一种手段,业绩排行是完成目标过程中的一种推动力,都是为了完成公司的年度目标,统计报表是作为员工业绩考核的主要参照指标,具体做法分为数值显示和图表显示两种表现形式。
图5 进度报表(团队经理)
图5以团队经理为例,系统通过SQL语句对团队内所有成员的业绩状态进行统计汇总,通过ASP. NET的内置GridView控件以具体数字的方式进行显示。而相同功能针对城市经理而言,则会显示各营业部的明细完成进度,营业部经理则会显示各团队的完成进度,如此实现了各层各级的区别管理功能。
图6以总经理角色为例,系统使用ASP.NET中的内置的Chart控件读取数据源,实现完成进度的动态图表显示。由于角色的定位不同,总经理只看公司年度总体完成进度,而无需去关注每个员工的业绩详情。
5 结束语
现在是互联网+的时代,传统行业只要勇于融入互联网,接受互联网的改造就会出现全新的效果,利用ASP.NET技术开发基于互联网的业绩考核系统,对于企业提升员工的工作业绩,提高自身的管理水平,增强企业的竞争力方面取得了良好的使用效果。
图6 进度报表(总经理)
【参考文献】
[1]杨晓光.ASP.NET网络程序设计教程[M].北京:清华大学出版社,2013.
[2]殷茵,马蔓红,秦久明,石范锋.基于asp.net动态网站前台程序安全性设计的研究[J].电脑知识与技术,2015(12): 60-61.
[3]丁革媛,宋扬,袁中臣,魏宝武.利用SQL Server存储过程提高在线考试系统的性能[J].微型机与应用,2011(22):7-8.
[4]杨剑勇.基于Chart控件的Web动态图表现实技术[J].电脑知识与技术,2013(36):22-23.
Design and development of performance evaluation system based on ASP.NET technology
QIU Shan-liang
(Yangzhou Commerce Higher Occupation School, Jiangsu Union Technical Institute, Yangzhou, Jiangsu, China 225000)
Abstract:As the rapid increase of the cross-regional mobile working employees, the traditional performance evaluation mode is no longer suitable for the enterprise and the information means should be used to meet the demand. Based on ASP.NET technology and SQL server database technology, B/S-structure-based performance evaluation management system is developed, which meets the demand of the enterprise, realizes the informatization of performance evaluation management and achieves good effect in actual use.
Keywords:ASP.NET; performance evaluation; management system
[作者简介]仇善梁(1983-),男,江苏盐城人,信息中心副主任,讲师,硕士,研究方向:WEB应用开发。
[收稿日期]2015-10-16
【中图分类号】TP311.52
【文献标识码】A
【文章编号】2095-7661(2015)04-0048-05
【doi:10.3969/j.issn.2095-7661.2015.04.012】