2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C#毕业设计——基于C#+asp.net+sqlserver的公司员工管理系统设计与实现(毕业论文+程

C#毕业设计——基于C#+asp.net+sqlserver的公司员工管理系统设计与实现(毕业论文+程

时间:2020-12-14 22:04:45

相关推荐

C#毕业设计——基于C#+asp.net+sqlserver的公司员工管理系统设计与实现(毕业论文+程

基于C#++sqlserver的公司员工管理系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于C#++sqlserver的公司员工管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

基于C#++sqlserver的公司员工管理系统设计与实现(毕业论文+程序源码)1、项目简介2、资源详情3、关键词:4、毕设简介5、资源下载

1、项目简介

本文设计的员工管理系统是为了更好,更方便的管理公司员工的信息。此系统主要包括员工基本信息,员工过失记录,员工奖金记录,员工社保记录,上级评语和基本设置等几个大模块。每个大模块又分成了几个小的模块,如员工基本信息模块又分成了员工列表,扩展信息,离职管理等小的模块。每个模块都完成了其相关信息的添加、修改、删除、查询和查看的功能,如员工列表模块就实现了员工信息的添加,修改,删除,查看和查询。在开发此系统时用了代码生存器,生成了与数据库有关的一些代码以及一些常用的存储过程如记录的添加,删除和修改存储过程。通过代码生成器生成的代码将数据访问层的很好的封装了起来,大大的提高了开发的效率。系统功能的实现大大提高了公司管理员工信息的效率。

2、资源详情

项目难度:中等难度

适用场景:相关题目的毕业设计

配套论文字数:8299个字28页

包含内容:整套源码+完整毕业论文


3、关键词:

员工管理系统;员工信息;信息管理

4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

1 引言

1.1 课题背景

公司员工信息很不完整,而且会经常的去添加和修改员工的信息。同时公司的员工信息也都是通过文档进行的管理,在管理上很不方便。例如:不方便员工信息的查找,修改等,所以需要开发此员工管理系统。开发此系统所用的数据库是 Microsoft Sql Server 。数据库中的表主要分为了静态表——数据不发生变化的基础表(如:国家表)和动态表——数据经常变动的表(如:员工表)。开发系统用的软件是 ,此软件功能强大,它封装了很多的服务器控件同时它也兼容HTML控件,如果将HTML控件中加上runat="server"属性那么它就变成了“服务器控件”(它并不是真得成了服务器控件,只是和服务器控件大致上一样)。此系统的开发主要用到了GridView控件以及一些其它的控件

1.2 系统开发环境

此系统通过 +Sql Server 在Windows 下开发。

1.3 系统预期结果

实现公司内部员工的管理,包括添加、删除、修改、查询,将每一个员工的详细资料记录下来,并为每个员工设定一个资料保密等级,只能让一些特定的管理者可以管理员工资料,以保证信息的安全性,除此之外,还要对员工的薪资变动、职位变动以及奖惩情况进行记录并管理

2 系统数据库设计

本系统的数据库主要有员工基本资料表,员工学习经历表,奖金记录表,过失记录表,员工担保人表,国籍表,民族表等19张表组成。下面将详细介绍这些表。

3 系统设计与实现

系统流程图如下所示:

图 3 1 系统流程图

3.1 系统权限

不同类别的用户登陆系统会有不同的权限。根据用户的权限限定了用户对系统的操作。不同权限的用户登陆系统后主要体现在菜单栏(页面的左边绿色背景部分)的菜单不同,如下图所示:

图 3 2不同权限的菜单

如过用户越权操作,系统将有如下提示:

图 3 3无权限时提示

3.2 系统登陆页面

登陆页面名称为Signin . aspx。此页面以简洁为主,用户输入登陆名和密码后点击登陆按钮登陆。如果用户名和对应的密码在数据库的员工表中找不到记录时将提示用户“用户名或密码错误!”,如果找到了记录就将用户名和加密后的密码存入Coolie,并跳转到系统首页。

图 3 4 登陆页面

主要代码

public int DoLogin ( string aUserName, string aPassword ) {if ( aUserName == "" ) {return -1; }if ( aPassword == "" ) {return -1; }int staffID;staffs staffDAL = Staffs . Instance ( CommConfig . BaseInfoConnectstring ) ;try{staffID = staffDAL . C_GetStaffIDByUserName ( aUserName ) ;if ( staffID == -1 ) {return -1; }if ( staffDAL . C_CheckStaffByUserAndPassword ( staffID, WbForm . Common . Safety . MD5 ( aPassword ) ) == false ) {return -1; }int jobid = this . GetJobId ( staffID . ToString ( ) ) ;int PartPopedom = this . GetPartPopedom ( staffID . ToString ( ) ) ;this . SetCookie ( "Username", aUserName ) ;this . SetCookie ( "Password", Safety . MD5 ( aPassword ) ) ;this . SetCookie ( "StaffID", staffID . ToString ( ) ) ;this . SetCookie ( "JobID", jobid . ToString ( ) ) ;this . SetCookie ( "PartPopedomID", PartPopedom . ToString ( ) ) ;return 1; }catch ( Exception ex ) {this . errorHandler ( ex . Message ) ; return -1; } }

3.3 模版页面

模版页面名称是MasterPage . maste,它为整个系统的页面提供一个框架。它的上面是公司的Logo以及导航栏,左边是菜单栏。菜单栏根据登陆的用户的权限生成不同菜单。

3.4 员工信息管理

员工管理流程图

图 3 5员工管理流程图

2.1.1 员工管理首页

员工管理首页在模版页面菜单栏的名称(以后就叫:菜单名称)是员工列表,页面名称是Staff / Staffs / Default . aspx(最后一个“ / ”后面的表示页面名称,前面表示此文件所放的文件夹。)。此页面的列表显示用的是ASP . NET的服务器控件GridView控件。列表主要显示了员工的编号、工号、用户名、员工姓名、部门、职位、添加的日期。此页面有查询功能,可以按员工的姓名、部门、工号、户籍地址查找。如下图所示

图 3 6 员工记录管理首页

主要代码

public void GetList ( bool aIsAllStaffer ) {Staffs staffDAL = Staffs . Instance ( CommConfig . BaseInfoConnectstring ) ;try{if ( aIsAllStaffer ) {GridView1 . DataSource = staffDAL . C_GetList ( ) . DefaultView; / / 取得所有员工列表}else{GridView1 . DataSource = staffDAL . C_GetMyList ( int . Parse ( this . GetCookie ( "StaffID" ) ) ) . DefaultView; / / 取得下属列表}GridView1 . DataBind ( ) ;}catch ( Exception ex ) {this . errorHandler ( ex . Message ) ; }}

通过员工管理首页可以连接到添加员工信息页面、查看员工信息的页面、修改员工信息的页面以及删除员工。在删除员工信息时会弹出信息提醒框,提醒操作者是否真的要删除此员工,员工删除后不能找会资料。

2.1.2 添加员工信息

添加员工信息的菜单名称是添加员工信息,页面名称是Staff / Staffs / StaffAdd . aspx。可以通过员工管理首页和菜单栏的添加员工信息跳转到此页面。在此页面填完必要的信息(后面带有“*”为必要信息)后,点击确定钮添加员工,点击取消按钮回到员工管理首页。新加的员工可以登陆此系统,密码和用户名一样。此页面版面如下图所示

图 3 7 添加员工信息页面

主要代码

protected void btnOK_Click ( object sender, ImageClickEventArgs e ) {this . CheckLogin ( ) ;#region 验证输入的数据合法性if ( txtStaffName . Text . Length < 2 || txtStaffName . Text . Length > 30 ) {lblInfo . Text = NameWarning; return; }if ( txtStaffNumber . Text . Length < 2 || txtStaffNumber . Text . Length > 20 ) {lblInfo . Text = StaffFactID; return; }if ( RegexValidator . IsMatch ( txtStaffUserName . Text,Pattern . ACCOUNT ) == false ) {lblInfo . Text = UseNameWarning; return; }if ( ! RegexValidator . IsMatch ( ddlPart . SelectedValue,Pattern . INTEGER ) ) {lblInfo . Text = SelectStaffPart; return; }if ( !RegexValidator . IsMatch ( ddlJob . SelectedValue, Pattern . INTEGER ) ) {lblInfo . Text = SelectStaffJob; return; }if ( chkCheckIDCard . Checked ) {if ( ! ( RegexValidator . IsMatch ( txtStaffIDCard . Text,Pattern . IDCARDNUMBER18 ) || RegexValidator . IsMatch ( txtStaffIDCard . Text,Pattern . IDCARDNUMBER15 ) ) ) {if ( ! ( txtStaffIDCard . Text . Length == 10 ) ) {lblInfo . Text = IDCardError; return; }}}if ( txtStaffTryoutPay . Text == "" || RegexValidator . IsMatch ( txtStaffTryoutPay . Text, Pattern . FLOAT ) == false ) {lblInfo . Text = StaffPayError; return; }if ( txtStaffTel . Text . Length < 2 || txtStaffTel . Text . Length > 16 ) lblInfo . Text = TelephoneErrorLegth; return; }if ( !RegexValidator . IsMatch ( txtStaffWorkEmail . Text, Pattern . EMAIL ) ) {lblInfo . Text = WorkEmailError; return; }lblInfo . Text = "";#endregionstaffs staffDAL = Staffs . Instance ( CommConfig . BaseInfoConnectstring ) ;// 检查用户名是否有存在的try{if ( staffDAL . C_GetStaffIDByUserName ( txtStaffUserName . Text ) != -1 ) {lblInfo . Text = LoginWarning + txtStaffUserName . Text + LoginWarnings; return; }}catch ( Exception ex ) {this . errorHandler ( ex . Message ) ; }staff staff = new Staff ( ) ;staff . BloodTypeID = int . Parse ( ddlBloodType . SelectedValue ) ;staff . CountryID = int . Parse ( ddlCountry . SelectedValue ) ;staff . JobID = int . Parse ( ddlJob . SelectedValue ) ;staff . PartID = int . Parse ( ddlPart . SelectedValue ) ;staff . PayTypeID = int . Parse ( ddlPayType . SelectedValue ) ;staff . RaceID = int . Parse ( ddlRace . SelectedValue ) ;staff . StaffAddress = txtStaffAddress . Text;staff . StaffAddtime = DateTime . Now;staff . StaffBirthday = txtStaffBirthday . Date;staff . StaffDemerit = txtStaffDemerit . Text;staff . StaffDeputy = txtStaffDeputy . Text;staff . StaffDesc = txtStaffDesc . Text;staff . StaffIDCard = txtStaffIDCard . Text;staff . StaffIDCardFileID = tIDCardFileID;staff . StaffInfoLv = int . Parse ( ddlInfoLv . SelectedValue ) ;staff . StaffInWork = true;staff . StaffIsMarry = rdoStaffisMarry . Checked;staff . StaffLike = txtStaffLike . Text;staff . StaffMail = txtStaffMail . Text;staff . StaffMobile = txtStaffMobile . Text;staff . StaffName = txtStaffName . Text;staff . StaffNumber = txtStaffNumber . Text;staff . StaffOtherTel = txtStaffOtherTel . Text;staff . StaffPassword = Safety . MD5 ( txtStaffUserName . Text ) ;staff . StaffPicFileID = tPicFileID;staff . StaffPoint = txtStaffPoint . Text;staff . StaffRPRAddress = txtStaffRPRAddress . Text;staff . StaffSex = bool . Parse ( ddlSex . SelectedValue ) ;staff . StaffTel = txtStaffTel . Text;staff . StaffTryoutBeginTime = txtStaffTryOutBeginTime . Date;if ( txtStaffTryOutEndTime . Date != null ) {staff . StaffTryoutEndTime = txtStaffTryOutEndTime . Date; } staff . StaffTryoutPay = float . Parse ( txtStaffTryoutPay . Text ) ;staff . StaffUserName = txtStaffUserName . Text;staff . StaffWorkMail = txtStaffWorkEmail . Text;staff . StarID = int . Parse ( ddlStar . SelectedValue ) ;try{staff = staffDAL . Insert ( staff ) ; this . RedirectPage ( "StaffDetail . aspx?id=" + staff . StaffID . ToString ( ) ) ;}catch ( Exception ex ) {this . errorHandler ( ex . Message ) ; }}

添加完数据后跳转到查看员工信息的页面Staff / Staffs / StaffDetail . aspx,此页面显示员工的基础信息。查看员工信息页面下方有浏览亲属资料、浏览朋友资料、浏览语言等级资料、浏览学习经历资料、浏览工作经历资料、浏览担保人资料的连接,点击这些连接将弹出相关的信息。如点击浏览语言等级资料,将弹出语言等级信息。如下图所示

图 3 8查看员工信息页面

2.1.3 添加员工扩展信息

员工的扩展信息主要有:

员工工作经历:菜单名称是添加员工工作经历,页面名称是Staff / Staffs / WorkExp . aspx。它主要记录员工的工作经历以及在每次工作阶段中员工的一些相关信息。员工学习经历:菜单名称是添加员工学习经历,页面名称是Staff / Staffs / StudyExp . aspx。它主要记录员工的学习经历以及员工的特长。员工语言能力:菜单名称是添加员工语言能力,页面名称是Staff / Staffs / LanguageLV . aspx。它主要记录员工外语能力如:英语过四级,日语过三级。员工亲属:菜单名称是添加员工亲属,页面名称是Staff / Staffs / Familys . aspx。它主要记录员工的主要亲戚的联系方式以方便在员工需要时公司帮忙联系。员工朋友:菜单名称是添加员工朋友,页面名称是Staff / Staffs / Friends . aspx。它主要记录员工朋友的联系方式以方便在员工需要时公司帮忙联系,可以通过联系的优先级别知道优先联系的员工朋友。员工担保人:菜单名称是添加员工担保人,页面名称是Staff / Staffs / Suretys . aspx。它主要记录员工朋友的担保联系方式以及相关信息。

2.1.4 修改员工信息

修改员工信息的页面名称是Staff / Staffs / StaffEdit . aspx。此页面根据传入的员工编号修改员工信息,但员工的用户名不能修改,因为员工用此名登陆系统。

2.1.5 员工本人资料

员工本人资料页面的菜单名称是查看我的资料。通过此页面可以查看到员工自己的相关信息。

2.1.6 员工离职管理

离职管理的菜单名称是离职管理。此页面有添加、修改、离职信息的按钮和复职按钮,点击按钮分别跳转到添加员工离职记录页面,修改离职记录页面和恢复离职员工。在点击复职按钮后,会弹出信息提醒框,提醒操作者是否要将此员工复职。

3.5 员工过失记录

图 3 9员工过失记录流程图

2.1.1 员工过失列表

员工过失列表菜单名称是员工过失列表,页面名称是Staff / LapseLogs / Default . aspx。通过此页面可以跳转到添加过失记录页面,修改过失记录页面和查看过失记录页面。在此页面中可以按员工工号、员工姓名、部门以及过失等级查询过失记录,还可以删除过失记录,在删除会时会提醒操作者是否真的删除此条记录,如果点确定就删除此条记录,点取消就返回。

主要代码

public void BindData ( int aGetType,int aStaffID ) {LapseLogs lapselogsDAL = LapseLogs . Instance ( CommConfig . BaseInfoConnectstring ) ;try{gvList . DataSource = lapselogsDAL . C_GetList ( aGetType, aStaffID ) . DefaultView;gvList . DataBind ( ) ;}catch ( Exception ex ) {this . errorHandler ( ex . Message ) ; } }protected void gvList_PageIndexChanging ( object sender, GridViewPageEventArgs e ) {int listGetType;if ( Master . JobID == 1 || Master . JobID == 4 || Master . JobID == 3 ) {listGetType = 3; }else{listGetType = 2; } int staffID;if ( !RegexValidator . IsMatch ( this . GetCookie ( "StaffID" ) , Pattern . INTEGER ) ) {this . RedirectPage ( CommConfig . LoginUrl ) ; }staffID = int . Parse ( this . GetCookie ( "StaffID" ) ) ;gvList . PageIndex = e . NewPageIndex;BindData ( listGetType, staffID ) ; }

2.1.2 添加过失记录

添加过失记录菜单名称添加过失记录,页面名称是Staff / LapseLogs / LapseLogAdd . aspx。在添加员工过失记录时首先选择员工,在添完相关信息后点击确定按钮添加选择员工的过失记录,并跳转到员工过失记录列表页面;点击取消也跳转到员工过失记录列表页面。

2.1.3 我的过失记录

我的过失记录菜单名称是我的过失,页面名称是Staff / LapseLogs / MyLapseLog . aspx。此页面列出了自己的过失记录,通过此页面可以查看自己的过失记录的详细信息。

3.6 评语管理

图 3 10员工评语记录流程图

3.6.1 评语记录管理

评语记录管理菜单名称是评语管理,页面名称是Staff / Comments / Default . aspx。此页面列出了所有的评语记录,可以通过员工姓名、工号、员工所在的部门和评语者查询评语记录。通过此页面可以通过评语编号跳转页面查看评语记录的详细信息,以及可以删除评语信息。

主要代码

public void BindData ( ) {Comments commentDAL = Comments . Instance ( CommConfig . BaseInfoConnectstring ) ;try{gvComments . DataSource = commentDAL . C_GetList ( ) . DefaultView;gvComments . DataBind ( ) ; }catch ( Exception ex ) {this . errorHandler ( ex . Message ) ; }}protected void gvComments_PageIndexChanging ( object sender, GridViewPageEventArgs e ) {gvComments . PageIndex = e . NewPageIndex; BindData ( ) ;}

3.6.2 添加评语

添加评语的菜单名称是新建评语,页面名称是Staff / Comments / CommentAdd . aspx。在添加时首先选择被评价的员工,在填完评语内容后点击确定按钮添加评语同时跳转到评语管理页面,点击取消也跳转到评语管理页面。

3.6.3 我发出的评语

我发出的评语的菜单名称时我发出的评语,页面名称是Staff / Comments / CommentSend . aspx。此页面列出了登陆者本人发出的评语。通过此页面可以查看,修改和删除列出的评语记录,并且可以添加评语记录所对应的被评员工的评语。

3.6.4 我收到的评语

我收到的评语的菜单名称时我收到的评语,页面名称是Staff / Comments / CommentGet . aspx。

此页面列出了登陆者本人收到的评语记录。通过此页面可查看收到评语的详细信息。

3.7 奖金记录

图 3 11员工奖金记录流程图

3.7.1 奖金记录管理

奖金记录管理的菜单名称是奖金记录管理,页面名称是Staff / BonusLogs / Default . aspx。此页面列出了所有员工的所有奖金记录信息。管理管理员可以修改这些奖金记录。此页面还有添加和查看奖金记录的连接以及删除按钮。在此页面中可以按员工的姓名,工号,员工部门和奖金金额查询奖金记录。

3.7.2 我的奖金记录

我的奖金记录页面名称是Staff / BonusLogs / MyBonusLog . aspx。此页面记录了登陆者本人的奖金记录,同时此页面设有查看连接,登陆者可以查看自己的奖金记录。

3.8 社保记录

图 3 12员工社保管理流程图

3.8.1 社保记录管理

社保记录管理的管理首页菜单名称是员工社保记录管理,页面名称是Staff / SoseLogs / Default . aspx。此页面列出了所有员工的所有社保记录,同时可以按员工的姓名,社保编号和社保金额查询员工的社保记录。此页面有添加,修改,查看和删除员工社保记录的连接或按钮。

3.8.2 添加社保记录

添加员工社保记录的页面名称是Staff / SoseLogs / SoseLogAdd . aspx。通过此页面添加员工的社保记录。添加完记录后跳转到社保记录管理的首页。

3.8.3 我的社保记录

我的社保记录的页面名称是Staff / SoseLogs / MySoseLog . aspx。此页面列出了登陆者本人的社保记录,同时用户可以查看自己的社保记录。

3.9 基本设置

职位管理的页面名称是baseinfo / Jobs / Default . aspx。通过此页面管理职位信息。此页面有添加,修改和删除职位的按钮。职位管理因为记录不多所以查询功能。

部门管理、过失级别管理、工资等级管理、社保等级管理同职位管理差不多,这里不赘述。

结 论

通过本对本系统的开发,我对,C#和SQL 都有了一定的了解同时。此系统每个模块的实现方式一样,在模块的管理首页中都设有添加,修改,删除和查看的连接(因为基础设置中的模块数据较少所以没有查看连接),同时在模块的管理首页都有查询功能(因为基础设置中的模块记录较少所以没有查询功能),大多可以按员工姓名,工号查询和员工相关的记录。

参考文献

[1] 方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,。

[2] 吉根林,崔海源. 程序设计教程[M].北京:电子工业出版社,。

[3] 王征.JavaScript网页特效实例大全[M].北京:清华大学出版社,。

[4] Laurence Moroney[美].Atlas基础教程[M].北京:人民邮电出版社,。

[5] JEFFREY PUTZ[美].最优化[M].北京:电子工业出版社,。

[6] Andy Budd[美],Cameron Moll[美],Simon Collison[美].精通CSS[M].北京:人民邮电出版社,。

[7] Thiru Thangarathinam[美]. 2.0 XML 高级编程[M].北京:清华大学出版社,。

[8] 张海藩.软件工程导论[M].北京:清华大学出版社,。

[9] 郝刚. 2.0 开发指南[M].北京:人民邮电出版社,。

致 谢

省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

C#毕业设计——基于C#++sqlserver的公司员工管理系统设计与实现(毕业论文+程序源码)——员工管理系统

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。