薛蛟 杜钦生 李莲
摘 要:根据某分公司在绩效考核方面存在的漏洞和不足而进行研究立项。对绩效考核管理系统首先进行需求分析,从而将绩效考核管理信息系统功能模块划分为人员管理、考核管理、班组考核、考核查询等模块。利用VS2008作为开发工具,C#语言作为开发语言,SQLServer2008作为后台数据库,构建C/S模式下的分公司绩效考核管理信息系统。本系统的特点是使用应用程序页面进行网络考核,增强了考核时间的灵活性,为提高企业对人员的管理水平以及加强员工的绩效管理提供了技术支持。
关键词:绩效考核;C#;SQL Sever 2008;应用程序
中图分类号:F272.92 文献标志码:A 文章编号:1673-291X(2020)15-0090-03
引言
当今的时代是信息化的时代,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已被人们深深地印入脑海中,它已进入人类社会的各个领域并发挥着越来越重要的作用。现在我国各大公司员工的绩效评估水平普遍不高,有的甚至还停留在纸介质的基础上,这种管理手段显然已不能适应当今时代的发展。在如今的信息时代,这种传统的管理方法必然会被绩效考核管理系统所代替。
一、系统功能介绍
通过网上查阅资料以及实地调研的结果,我们把绩效考核管理系统的主要功能分为四个大模块:分公司岗位、考核管理、班组考核和考核查询,而每个大模块下又分为若干个子模块用以实现该系统其他的功能。
第一,一是分公司岗位,包括分公司组织机构设定、岗位设定和人员管理(新增人员、调动人员)等信息的操作维护,拥有本模块的操作功能权限有管理员、领导班子和综合办公室人员。二是组织机构,分公司下属科室内小组的设定与维护。三是岗位设定,分公司的岗位和岗位考核系数的设定与维护。四是人员管理,分公司的参与考核的人事档案,包含人员的新增和调动管理。
第二,一是考核管理。该部分是整个绩效考核管理系统最主要的部分,该部分主要实现了考核的运算和考核信息的维护。二是考核运算。手动进行考核运算,各种考核运算均是进行当前日期的上月时间段内的考核运算,可以进行多次运算。三是考核信息库维护。对考核项目分数等考核信息的编辑。四是考核项目设定。可以录入或修改,查看相关人员的工作业绩、出勤、工作安全和卫生等项目分类,并且可以填写项目名称。五是考核级别设定。可以添加或者修改相关人员的级别名称和相关说明。
第三,一是班组考核,包括录入考核记录,拥有本模块的操作功能权限有管理员、各科室领导和科室录入人员。二是考核记录录入,录入本科室被考核人员的考核记录。
第四,一是考核查询,包含绩效考核结果查询和考核相关信息的查询,公司所有员工能够通过个人的编号和密码查看相关信息。二是考核记录查询,查询被考核对象的考核记录。三是考核结果,考核按1个月为一个考核周期,此查询能够查询被考核人的最后一次的考核情况。四是考核历史,查询自建立考核系统以来的每月的考核情况。五是考核信息查询,查询考核项目,内容及相应的考核方法。
具体功能模块介绍图(如下页图1所示)。
二、数据库设计
第一,数据库概念模型设计。数据库概念模型即系统的实体——关系模型,一般采用E-R图来表示。其中,实体表示用户工作环境中涉及的事物,属性则表示实体特征的描述。用户是本系统的实际使用者,主要分为管理员和其他用户,其中管理员的权限最高,其他用户按所处阶级的不同则权限不同。但是这些人都是同一个实体,都看作用户。用户的属性有姓名、编号、密码、职位、日期。
第二,数据库逻辑设计。本系统为绩效考核管理系统,有很多张表来记录数据,系统中数据库的作用非常大。下面简要介绍考核结果表(如下表所示),表中记录的是考核结果的数据,主要通过程序运行时给员工添加信息来改变表内数据,主要包含车队ID、路队ID、员工编号、考核日期、(运算)日期、考核级别和考核金额几项数据。
三、系统实现
(一)分公司岗位模块
该模块分为三个子模块,组织机构负责将公司的各种机构划分层次,并分别显示出来,具有增加和修改功能;岗位设定负责将公司内的各种职位一一列举出来,具有增加和修改功能;人员管理负责将公司内的员工进行分类,每个人都隶属于不同的工作层,并且也有不同的职位,该模块可以进行人员的调动和新增。这三个模块都是用lable控件预先写好显示的,为他们都设置一个mouseclick事件,点击后即可进入各自的主页面。这之中,人员管理是最核心的部分。
1.组织机构。首先点击页面上的组织机构,就能进入组织机构的主页面,在主页面左侧用treeView控件设置一个树结构,并把车队名称输入进去,之后定义TreeNode方法,通过节点的Name属性来判断被选择的点并执行tn.Text=ds_CD.Tables[0].Rows[i]["CKMC"].ToString()语句使树结构上的信息与数据库內对应的的车队信息联系起来。然后选择车队里的要查看的班组,这时后台就会通过dt=new DataTable()语句创建一个虚拟表,之后通过dt.Rows[i]["LDID"]=ds.Table[0].Rows[i]["LDID"].ToString()语句和dt.Rows[i]["LUDUI"]=ds.Tables[0].Rows[i]["LUDUI"].ToString()语句将数据库中的数据转变成字符串的形式,之后再通过建立新的标题行并用dataGrid View1.DataSource=dt语句绑定数据源,使用dataGrid View1.Columns[0].Visible=false语句将ID行全都屏蔽,最后再用dataGridView1.AutoResizeRows()语句自动调整单元格的行高,使得整个界面更美观,组织机构图(如图2所示)。
2.岗位设定。选择分公司岗位主界面的岗位设定,就可以进入岗位设定主界面。岗位设定和组织机构的实现方法基本上是类似的。同样的,先创建一个虚拟表,之后通过dt.Rows[i]["GUID"]=ds_gw.Tables[0].Rows[i]["GUID"].ToString()语句和dt.Rows[i]["SZMC"]=ds_gw.Tables[0].Rows[i]["SZMC"].ToString()语句将数据库中的数据转变成字符串的形式,之后再建立新行并用dataGridView1.DataSource=dt语句绑定数据源,使用dataGridView1.Columns[0].Visible=false语句使ID行不显示出来,最后再用dataGridView1.AutoResizeRows()语句自动调整单元格的行高。则可以显示各种岗位设定,并带有“记录修改”与“记录录入”操作按钮。
3.人员管理。点击分公司岗位主界面上的人员管理,就会进入人员管理的主界面。人员管理是该模块中非常重要的一部分。该模块主要实现了人员的调动和人员的新增功能。
人员管理的主界面中,左侧事先用TreeView控件写入一个树结构,并加入各种子结构,然后定义TreeNode方法,使用name属性判断选择的点并执行tn.Text=ds_CD.Tables[0].Rows[i]["CKMC"].ToString()语句来获得父节点的信息,然后需要循环添加子节点的数据,要通过for循环语句来得到符合要求的子节点。最后,通过这种方式使得树结构和数据库的信息联系在一起。
显示信息时,依然是先建立虚拟表,并通过转化语句使数据库内的信息转变为字符串的形式。又因为人员信息中有在职状态和是否参与考核两种特殊数据,所以需要使用到switch case语句来判断数字并用文字的形式输出。
最后依然是通过dataGridView1.DataSource=dt语句来绑定数据源,但是这时候需要显示出员工的编号,所以需要用dataGridView1.Rows[0].Frozen=true语句来锁定行,dataGrid View1.DefaultCellStyle.WrapMode=DataGridViewTriState.True语句用来自动换行,最后再用dataGridView1.AutoResizeRows()语句来自动调整单元格行高,效果图(如图3所示)。
该模块具有人员调动功能,进行人员调动时,点击人员调动,会弹出一个应用程序窗口,这个应用程序主要由textBox、radiobutton、checkbox、lable和button控件组成。
首先在员工编号的textbox中输入要调动人员的编号,然后就会启动查询语句,通过输入的编号对数据库进行遍历,以获取整个数据库中对应编号的员工的数据,这个过程中会触发if else语句进行判断,因为人员信息中会有在职状态信息,需要进行判断来使radiobutton正确显示。
显示完成之后,选择要调入的科室,再经过后台的if else语句对radiobutton的判断来使用declare进行声明,使用set和select对变量进行赋值,弹出提示窗口后点YES,然后通过UPDATE语句进行数据库数据的更新,用以完成人员的调动。
(二)其他模块
系统还包括考核管理模块、班组考核模块、信息查询模块,每个模块都还包括一些子模块,这里就不再逐一介绍。
结语
绩效考核是企业人事决策的重要依据,因此绩效考核管理系统使单位能够为员工提供一个更加便捷的平台,这不仅有利于公司的管理,而且能提高员工的积极性。
参考文献:
[1] 何洋.国内外绩效考核現状研究[J].现代商业,2014,(12):137-138.
[2] 唐潮.黑龙江省铁路集团公司绩效考核问题研究[D].哈尔滨:哈尔滨工业大学,2018.
[3] 杨雪.成都社科赛斯教育咨询有限公司绩效考核评价研究[D].乌鲁木齐:新疆大学,2017.
[4] 郝世选.C#程序设计与实践[M].北京:清华大学出版社,2018:72-86.
[5] 张震,陈金萍,等.C#.NET程序设计项目化教程[M].北京:清华大学出版社,2018:129-157.