1、员工信息管理系统设计与实现摘 要本文设计的员工管理系统是为了更好,更方便的管理公司员工的信息。此系统主要包括员工基本信息,员工过失记录,员工奖金记录,员工社保记录,上级评语和基本设置等几个大模块。每个大模块又分成了几个小的模块,如员工基本信息模块又分成了员工列表,扩展信息,离职管理等小的模块。每个模块都完成了其相关信息的添加、修改、删除、查询和查看的功能,如员工列表模块就实现了员工信息的添加,修改,删除,查看和查询。在开发此系统时用了代码生存器,生成了与数据库有关的一些代码以及一些常用的存储过程如记录的添加,删除和修改存储过程。通过代码生成器生成的代码将数据访问层的很好的封装了起来,大大的提高
2、了开发的效率。系统功能的实现大大提高了公司管理员工信息的效率。关键词:员工管理系统;员工信息;信息管理 Staff Information Management System Design and ImplementationABSTRACTThis staff administration system, which is investigated and designed in order to administer company staffs more effectively and more conveniently, contains some sections such as s
3、taff basic information, records of staff lapses, bonus, and social securities, as well as superior comments and fundamental settings, etc. Every section can be further divided, e.g. staff basic information is divided into staff list, extensive information, dismissing administration and so on. Furthe
4、rmore, every section has such functions as adding, resetting, checking, and referring to the relevant data, e.g. the staff list part has such functions as adding, resetting, deleting, checking, and referring to the relevant data, which will be introduced below in detail. Code producer, which has bee
5、n used in the process of developing this system, has produced several codes relevant to the data base as well as several frequently used memory processes, such as adding records, deleting and revising memory processes. Those codes made the data visiting layer well sealed so as to promote developing
6、efficiency greatly. The realization of system functions has enormously enhanced the efficiency of business staff information administration.Key words: staff administration system; staff information; data administration 目 录第一章 系统概述11.1课题背景11.2系统开发环境11.3系统预期结果1第二章 系统数据库设计12.1 表 1国籍表12.2 表 2民族表12.3 表 3
7、币种表12.4 表 4血型表12.5 表 5星座表22.6 表 6员工学习经历表22.7 表 7工作经历表22.8 表 8员工基本资料32.9 表 9上级评语记录表42.10 表 10语言能力42.11 表 11薪资变动记录52.12 表 12薪资等级表52.13 表 13奖金记录表52.14 表 14过失级别62.15 表 15过失记录表62.16 表 16社保记录表62.17 表 17社保等级表72.18 表 18员工离职记录表72.19 表 19家庭情况表72.20 表 20朋友情况表8第三章 系统设计与实现103.1系统权限103.2系统登陆页面113.3模版页面133.4员工信息管理
8、133.4.1员工管理首页133.4.2添加员工信息143.4.3添加员工扩展信息183.4.4修改员工信息193.4.5员工本人资料193.4.6员工离职管理193.5员工过失记录193.5.1员工过失列表203.5.2添加过失记录213.5.3我的过失记录213.6评语管理213.6.1评语记录管理223.6.2添加评语223.6.3我发出的评语233.6.4我收到的评语233.7奖金记录233.7.1奖金记录管理243.7.2我的奖金记录243.8社保记录243.8.1社保记录管理243.8.2添加社保记录253.8.3我的社保记录253.9基本设置25致谢26参考文献27附 录28II
9、I公司员工系统设计与实现 项目源代码联系QQ 85030242 (推荐邮件)第一章 系统概述1.1课题背景公司员工信息很不完整,而且会经常的去添加和修改员工的信息。同时公司的员工信息也都是通过文档进行的管理,在管理上很不方便。例如:不方便员工信息的查找,修改等,所以需要开发此员工管理系统。开发此系统所用的数据库是 Microsoft Sql Server 2000。数据库中的表主要分为了静态表数据不发生变化的基础表(如:国家表)和动态表数据经常变动的表(如:员工表)。开发系统用的软件是VS.NET 2005,此软件功能强大,它封装了很多的服务器控件同时它也兼容HTML控件,如果将HTML控件中
10、加上runat=server属性那么它就变成了“服务器控件”(它并不是真得成了服务器控件,只是和服务器控件大致上一样)。此系统的开发主要用到了GridView控件以及一些其它的控件1.2系统开发环境此系统通过VS.NET 2005+Sql Server 2000在Windows 2003下开发。1.3系统预期结果实现公司内部员工的管理,包括添加、删除、修改、查询,将每一个员工的详细资料记录下来,并为每个员工设定一个资料保密等级,只能让一些特定的管理者可以管理员工资料,以保证信息的安全性,除此之外,还要对员工的薪资变动、职位变动以及奖惩情况进行记录并管理9第二章 系统数据库设计本系统的数据库主要
11、有员工基本资料表,员工学习经历表,奖金记录表,过失记录表,员工担保人表,国籍表,民族表等19张表组成。下面将详细介绍这些表。国籍表存储世界所有国家的名称。2.1 表 1国籍表表名:国籍表(Countrys)字段名中文名类型长度备注CountryID国家编号intAutoCountryName国家名varchar40民族表存储我国所有民族的名称。2.2 表 2民族表表名:民族表(Races)字段名中文名类型长度备注ReceID民族编号intAutoReceName民族名varchar40币种表存储世界主要的币种如:人民币、美元,欧元。2.3 表 3币种表表名:币种表(PayTypes)字段名中文
12、名类型长度备注PayTypeID币种编号IntAutoPayTypeName币种名varchar40血型表存储人的血型名称如:O型、AB型。2.4 表 4血型表表名:血型表(BloodTypes)字段名中文名类型长度备注BloodTypeID币种编号intAutoBloodTypeName币种名varchar40星座表存储12个星座的名称2.5 表 5星座表表名:星座表(Stars)字段名中文名类型长度备注StarID星座编号intAutoStarName星座名varchar40员工学习经历表存储员工的学习经历。2.6 表 6员工学习经历表表名:员工学习经历表(StudyExps)字段名中文名
13、类型长度备注StudyExpID编号intAutoStaffID员工编号int联系Staffs表StudyExpSchool学校名varchar200StudyExpClass系别varchar50StudyExpSpec专业varchar50StudyExpBeginTime开始日期DateimeStudyExpEndTime结束日期Datetime工作经历表存储员工的工作经历。2.7 表 7工作经历表表名:工作经历表(WorkExps)字段名中文名类型长度备注WorkExpID编号intAutoStaffID员工编号int联系Staffs表WorkExpCompany公司名varchar2
14、00WorkExpPart部门varchar50WorkExpJob职位varchar50WorkExpBeginTime开始日期DatetimeWorkExpEndTime结束日期DatetimeWorkExpPay工作薪资floatWorkExpTask工作内容varchar200WorkExpWhyOut离职原因varchar200员工基本资料存储员工的基本信息。2.8 表 8员工基本资料表名:员工基本资料(Staffs)字段名中文名类型长度备注StaffID员工编号intAutoStaffNumber员工实际编号varchar20StaffUserName用户名Varchar20Sta
15、ffPassword密码Varchar32MD5加密StaffName员工姓名varchar20StaffBirthday出生日期DatetimeBloodTypeID血型编号int联系BloodTypesStarID星座编号int联系StarsStaffSex性别bitint1男 0女CountryID国家编号int关系Countrys表RaceID民族编号int关系Races表StaffRPRAddress户籍地址varchar200StaffIsMarry婚否bitint1为已婚StaffPicPath相片地址varchar200相片存放的地址StaffDeputy代理人varchar4
16、0StaffIDCard身份证号varchar30StaffIDCardFilePath身份证复印件地址varchar200身份证复印件地址StaffPayTypeID工资币种int联系 PayTypes表StaffMail私用邮箱varchar200StaffWorkMail公司邮箱varchar200StaffTel联系电话varchar30StaffMobile手机号varchar30StaffOtherTel备用电话varchar30StaffPoint特长varchar100StaffLike兴趣爱好varchar100StaffDemerit缺点varchar100StaffInf
17、oLv资料保密等级int这个程序上安排,存数字StaffTryoutBeginTime试用期开始时间DatetmeStaffTryoutEndTime试用结束时间DatetimeStaffTryoutPay试用工资float单位是按工资币种来的StaffAddtime添加日期DatetimeStaffInWork是否在职bitint1为在职PartID部门编号Int联系 Parts表JobID职位编号int联系 JobsStaffDesc员工备注Text上级评语记录表存储上级对员工的评语记录。2.9 表 9上级评语记录表表名:上级评语记录表(Comments)字段名中文名类型长度备注Comme
18、ntID评语编号intAutoStaffID员工编号int联系Staffs表CommenterID评语者编号int联系Staffs表CommentDesc评语内容TextCommentTime发表时间DatetimeOperaterID操作员员工编号int联系Staffs表语言能力存储员工对外语掌握的能力。2.10 表 10语言能力表名:语言能力(LanguageLvs)字段名中文名类型长度备注LangLvID编号intAutoStaffID员工编号int联系Staffs表LangID语言编号int联系 Languages表LangLv能力等级int数字的 1-6LangLvDesc备注Tex
19、t薪资变动记录表记录员工的薪资变动记录。2.11 表 11薪资变动记录表名:薪资变动记录(ChangePayLogs)字段名中文名类型长度备注CPayID编号intAutoStaffID员工编号int联系Staffs表CPayLv薪资等级int联系PayLevels表CPayMoney基本工资floatCPayAllDutyMoney全勤奖金floatCPayTime变更日期DatetimeCPayDesc变更说明TextOperaterID操作员员工编号int联系Staffs表薪资等级表存储薪资的等级。2.12 表 12薪资等级表表名:薪资等级表(PayLevels)字段名中文名类型长度备注
20、PayLvID薪资等级编号intAutoPayLvMoney金额段varchar20如:1000-1500/month奖金记录表记录员工的奖金记录。2.13 表 13奖金记录表表名:奖金记录表(BonusLogs)字段名中文名类型长度备注BounsLogID奖金记录编号intAutoStaffID员工编号int联系 Staffs 表BonusLogMoney奖金float单位是员工的币种BonusLogTime日期DatetimeBounsLogDesc奖金原因TextMakerID提案者编号int联系 Staffs表OperaterID操作员员工编号int联系Staffs表过失级别存储员工的
21、过失等级。2.14 表 14过失级别表名:过失级别(LapseLvs)字段名中文名类型长度备注LapseLvID过失级别编号intAutoLapseLvName过失级别名varchar20LapseLvDesc过失介绍Varchar200过失记录表记录员工的过失记录。2.15 表 15过失记录表表名:过失记录表(LapseLogs)字段名中文名类型长度备注LapseLogID记录编号intAutoStaffID员工编号int联系Staffs表LapseLogTime过失日期DatetimeLapseLogDis过失描述TextMasterID主管编号int联系Staffs表LapseLvID过
22、失级别int联系LapseLvs 表LapseLogDo过失处理varchar200LapseLogDesc过失备注TextOperaterID操作员员工编号int联系Staffs表社保记录表记录员工的社保记录。2.16 表 16社保记录表表名:社保记录表(SoseLogs)字段名中文名类型长度备注SoseLogID编号intAutoStaffID员工编号int联系Staffs表SoseID社保编号varchar30SoseLvID社保等级编号int联系SoseLvs表SoseLvBeginTime开始日期DatetimeSoseLvEndTime结束日期DatetimeSoseLvDesc备
23、注TextOperaterID操作员员工编号int联系Staffs表社保等级表存储社保的等级。2.17 表 17社保等级表表名:社保等级表(SoseLvs)字段名中文名类型长度备注SoseLvID等级编号intAutoSoseLvMoney金额floatSoseLvDesc描述TextOperaterID操作员员工编号int联系Staffs表员工离职记录表记录员工的离职记录。2.18 表 18员工离职记录表表名:员工离职记录表(OutworkLogs)字段名中文名类型长度备注OutworkLogID记录编号intAutoStaffID员工编号int联系Staffs表OutworkLogDis原
24、因说明TextOutworkLogTime离职日期DatetimeOutworkLogDesc备注TextOperaterID操作员员工编号int联系Staffs表家庭情况表记录员工的家庭的主要联系人情况。2.19 表 19家庭情况表表名:家庭情况表(Familys)字段名中文名类型长度备注FamilyID编号intAutoStaffID员工编号int联系Staffs表FamilyTitle称谓varchar20FamilyName姓名varchar30FamilyCountryID国籍编号int联系Countrys表FamilyAddress地址varchar200FamilyTel电话va
25、rchar20FamilyDesc备注Text朋友情况表记录员工的主要朋友的联系方式。2.20 表 20朋友情况表表名:朋友情况表(Friends)字段名中文名类型长度备注FriendID编号intAutoStaffID员工编号int联系Staffs表FriendDis朋友关系简述varchar200FriendName朋友姓名varchar30FriendAddress朋友地址varchar200FriendTel朋友电话varchar20FriendPRI紧急联系优先级int越大越先FriendDesc备注text员工担保人表记录员工的担保人信息。2.21 表 21员工担保人表表名:员工担
26、保人表(Suretys)字段名中文名类型长度备注SuretyID编号intAutoStaffID员工编号int联系Staffs表SuretyName担保人姓名varchar20SuretyDis关系说明varchar200SuretySex性别bitint1为男SuretyHomeAddress户口地址varchar200SuretyAddress联系地址varchar200SuretyWorkAddress工作地址varchar200SuretyTel联系电话varchar20SuretyOtherTel备用电话varchar20SuretyIsOk担保是否成立Bitint1为成立Suret
27、yAuthority威信人Varchar20SuretyApproveID核准人编号Int联系Staffs表SuretyApproveTime核准日期DatetimeSuretyBeginTime担保开始时间DatetimeSuretyEndTime担保结束时间DatetimeSuretyEnderID担保终止人Int联系Staffs表第三章 系统设计与实现系统流程图如下所示:图 Error! No text of specified style in document.1 系统流程图3.1系统权限不同类别的用户登陆系统会有不同的权限。根据用户的权限限定了用户对系统的操作。不同权限的用户登陆系
28、统后主要体现在菜单栏的菜单不同,如下图所示:图 Error! No text of specified style in document.2系统预览3.2系统登陆页面登陆页面名称为Login.aspx。此页面以简洁为主,用户输入登陆名和密码后点击登陆按钮登陆。如果用户名和对应的密码在数据库的员工表中找不到记录时将提示用户“用户名或密码错误!”,如果找到了记录就将用户名和加密后的密码存入Coolie,并跳转到系统首页。图 Error! No text of specified style in document.3 登陆页面主要代码 protected void ImageButton1_Cl
29、ick(object sender, ImageClickEventArgs e) Sessioninput = EncryptDecrypt.Encrypt(GetRandom.GetRand(15); string strName = name.Value.Trim(); string strpwd = pwd.Value.Trim(); string path = Server.MapPath(/Manage/xml/test.config); DataSet ds = new DataSet(); ds.ReadXml(path); if (ds.Tables.Count = 0) r
30、eturn; DataTable dtxml = ds.Tables0; DataView dv = dtxml.DefaultView; string sql = no1= + EncryptDecrypt.Encrypt(admin) + and no2= + EncryptDecrypt.Encrypt(strpwd) + ; dv.RowFilter = sql; DataTable dt = dv.ToTable(); if (dt.Rows.Count 0) writeLog(); /记录日志 Sessionname = EncryptDecrypt.Encrypt(name.Va
31、lue); writeXml(Sessioninput.ToString(), Sessionname.ToString(); Sessiontype = admin; Response.Write(alert(欢迎进入公司员工管理系统!);window.opener=null;window.top.location=/Manage/index.htm); else Comm.alert(密码错误,请重新输入!); / / 记录日志 / private void writeLog() string path = Server.MapPath(/Manage/xml/Log.config); p
32、ath = XmlFile.CreateXML(path); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(path); XmlElement econtent = xmlDoc.CreateElement(content); econtent.SetAttribute(UserHostName, Page.Request.UserHostName); econtent.SetAttribute(ip, Page.Request.UserHostAddress); econtent.SetAttribute(inputtime, Dat
33、eTime.Now.ToString(); xmlDoc.DocumentElement.AppendChild(econtent); xmlDoc.Save(path); 3.3模版页面模版页面名称是MasterPage . maste,它为整个系统的页面提供一个框架。它的上面是公司的Logo以及导航栏,左边是菜单栏。菜单栏根据登陆的用户的权限生成不同菜单。3.4员工信息管理员工管理流程图图 Error! No text of specified style in document.4员工管理流程图 3.4.1员工管理首页员工管理首页在模版页面菜单栏的名称(以后就叫:菜单名称)是员工列表,页
34、面名称是Staff / Staffs / Default . aspx(最后一个“ / ”后面的表示页面名称,前面表示此文件所放的文件夹。)。此页面的列表显示用的是ASP . NET的服务器控件GridView控件。列表主要显示了员工的编号、工号、用户名、员工姓名、部门、职位、添加的日期。此页面有查询功能,可以按员工的姓名、部门、工号、户籍地址查找。如下图所示图 Error! No text of specified style in document.5 员工记录管理首页主要代码public void GetList ( bool aIsAllStaffer ) Staffs staffDA
35、L = Staffs . Instance ( CommConfig . BaseInfoConnectstring ) ;tryif ( aIsAllStaffer ) GridView1 . DataSource = staffDAL . C_GetList ( ) . DefaultView; / / 取得所有员工列表elseGridView1 . DataSource = staffDAL . C_GetMyList ( int . Parse ( this . GetCookie ( StaffID ) ) ) . DefaultView; / / 取得下属列表GridView1 .
36、 DataBind ( ) ;catch ( Exception ex ) this . errorHandler ( ex . Message ) ; 通过员工管理首页可以连接到添加员工信息页面、查看员工信息的页面、修改员工信息的页面以及删除员工。在删除员工信息时会弹出信息提醒框,提醒操作者是否真的要删除此员工,员工删除后不能找会资料。3.4.2添加员工信息添加员工信息的菜单名称是添加员工信息,页面名称是Staff / Staffs / StaffAdd . aspx。可以通过员工管理首页和菜单栏的添加员工信息跳转到此页面。在此页面填完必要的信息(后面带有“*”为必要信息)后,点击确定钮添加
37、员工,点击取消按钮回到员工管理首页。新加的员工可以登陆此系统,密码和用户名一样。此页面版面如下图所示图 Error! No text of specified style in document.6 添加员工信息页面主要代码 protected void btnOK_Click ( object sender, ImageClickEventArgs e ) this . CheckLogin ( ) ;#region 验证输入的数据合法性if ( txtStaffName . Text . Length 30 ) lblInfo . Text = NameWarning; return; i
38、f ( 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
39、= 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