首页 基于c#酒店人事管理系统论文

基于c#酒店人事管理系统论文

举报
开通vip

基于c#酒店人事管理系统论文金都酒店人事管理系统 金都酒店人事管理系统 前言 人的管理是一切管理工作的核心。员工代表一个酒店的形象,因而人事管理机制设计的好坏,直接影响一个酒店的成败。 员工的档案管理是酒店人事管理的基础,在酒店员工普遍流失的今天,一个准确而及时的人事管理系统,有利于人事部门对员工流动进行分析、编制,为酒店所需人员提供了保障。 人力资源部那些重复的,事务性的工作交给HRP(Human Resource Planning,人力资源管理系统)来解决,可以省去用户以往人力资源管理工作的繁琐、枯燥;用领先的人力资源管...

基于c#酒店人事管理系统论文
金都酒店人事管理系统 金都酒店人事管理系统 前言 人的管理是一切管理工作的核心。员工代表一个酒店的形象,因而人事管理机制设计的好坏,直接影响一个酒店的成败。 员工的档案管理是酒店人事管理的基础,在酒店员工普遍流失的今天,一个准确而及时的人事管理系统,有利于人事部门对员工流动进行 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 、编制,为酒店所需人员提供了保障。 人力资源部那些重复的,事务性的工作交给HRP(Human Resource Planning,人力资源管理系统)来解决,可以省去用户以往人力资源管理工作的繁琐、枯燥;用领先的人力资源管理理念,把人力资源管理的作业流程控制和战略规划设计巧妙地集合于一体;系统重点涉及到人力资源管理工作中的薪资、考勤、绩效、调动、基本信息、用户管理以及用户切换等方面,并有综合的系统安全设置、报表综合管理模块。可以很好地为用户的人力资源管理部门在对员工的成本管理、知识管理、绩效管理等综合管理给予帮助。以每个月中所发工资为例,其中包括考勤、人事信息变动、奖惩、迟到和旷工对本月的薪资计算都有影响,为了及时的计算发放工资往往要提前一个星期花费大量时间,加班加点才能及时完成,而这样做无论从工作效率还是准确度方面,都不允许,而且还浪费大量的人力财力。如果改用HRP管理做到高效、高精度,还可以减少管理时带来的一些繁琐的工作,节约管理带来的开支。 .NET技术概述 2000年七月在美国奥兰多举行的专业开发者大会上,微软公司展示了它最新的.NET体系,从多的发言人向大会介绍了.NET的特征和构成。从此,软件业界就开始掀起了一股“.NET”热潮。通过.NET, 微软公司为人们提供了一种全新的开发平台,这个平台将推动以新体系为基础的协同WEB应用开发。微软公司推出Visual Studio.NET 的目的就是要推进网络应用软件的开发,使用Visual Studio.NET开发系统可以编写最简单的基于Windows的单层应用软件,也可以编写Windows下的客户/服务器多层应用软,无论是为了Windows还是为Web , Visual Studio都在各个层面上作了大量的工作。 Visual Studio.NET与以往版本相比发生了巨大的变化,这种变化主要来自以下两个方面。 一是语言本身的改进和.NET平台的建立。无论是在网络应用还是在本地应用上,都对各种语言做了许多改进,特别是用崭新的C#语言代替了J++。C#具有简捷、灵活、安全、面向对象和兼容性强等许多优点,是.NET中的旗帜语言。 二是开发环境的重大改变。首先,在一个开发环境中同时集成了Visual Basic、Visual C++、Visual C#和FoxPro。其次,开发环境的适应性大大增强了,适用于快速Web应用软件的开发,可以轻松地运用XML和WEB服务进行跨平台计算,也可以快速开发中间层商务组件。再次,调试功能增强了,它可以调试不同语言开发的应用程序,也可以调试工程,进程和存储过程。这些新特性使用户的开发效率有了大幅度的提高。 正如微软公司首席执行管鲍尔默所说:“Microsoft.NET代表了一个集合、一个环境、一个可以作为平台支持下一代Internet的可编程结构。Microsoft.NET的策略是把因特网本身作为构建新一代操作系统的基础,将因特网和操作系统的设计思想合理延伸。 Visual C#是微软公司为它的Microsoft.NET 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 推出的核心编程语言。该语言几乎综合了目前所有编程语言系统的优点,并结合因特网的需要,增加了丰富的新特性和增强功能。 Visual C#语言面向对象的设计,可以用来构建从高水平的商务目标到体系标准应用程序的范围宽广的组件。使用Visual C#语言,程序员能够迅速地建造提供充分开拓计算和通信的工具和服务的新的Microsoft.NET平台。C#语言的组成部分使用简单的C#语言结构体,能被转化成WEB服务,允许人们通过Internet调用在任何操作系统上运行的任何语言。 Visual C#语言作为一种编程语言,具有以下几个至关重要的特点: 兼容性; 灵活性; 简单性; 面向对象; 类开安全; 版本控制; Visual C#具有C,C++语言的灵活性和VB语言开发效率高的特点,同时又是网络服务语言,体现了许多新的现代化开发技术。因此我们完成底层平台的调用和底层平代码的控制,实现跨语言、跨平台的因特网远程调用、可以构建复杂的商务系统。, 性能要求 一个合理的HRP管理软件必须具备以下功能: 信息管理 考勤管理 薪资管理 变动管理 奖惩管理 用户管理 系统安全 综合报表 权限管理 档案信息管理: 企业人事档案管理信息化模块;具有快速、无限量员工数据输入及保存功能;由特定权限的管理员统一管理员工档案。对员工从进入公司开始直至离职的整个过程进行人面管理,档案信息包括,职员编号,职员姓名,出生年月,职工学历,定时检查更新员工信息,具有权限的使用者可以登记、查询、修改、统计部门信息、岗位设置情况。并且可以根据一定条件查询后浏览各项记录,并可以进得相应的操作。 个人资料录入,建立企业人事档案数据库。 个人资料维护,更新,删除数据库记录。 个人资料查询(按员工编号查询,按员工姓名查, 按员工学历查询, 按所属部门查询)。 屏幕显示员工照片。 分类打印。 信息浏览。 考勤管理: 企业考勤管理信息化模块;记录员工上下班、加班、出、缺勤时间; 可将考勤数据轻松处理,并连至薪资计算系统,以便作薪资结算;企业还可根据此考勤系统查询企业内各时段的员工出、缺勤状况,作管理方面的分析;提供了全面的考勤管理。 录入数据, 对员工每一天的考勤都能动态添加,与薪资系统直接无缝集成。 更新数据,可以对员工的考勤信息做出更新,以便于统计更准确的数据。 删除数据,可以对数据的冗余信息及时清理,及时清理数据库。 查询数据,可对特定员工的特定月份进行查询,这对人事管理都及时了 考勤信息是很重要的。 报表分析,报表分析可以实现对特定职员的考勤信息进行统计,并实现打印功 还可以实现对所有员工的考勤信息进行统计,对比,可以帮助人力资源管理都,省时,省力,准确地统计本公司员工的考勤信息。 右键功能:并提供了方便,强大的右键功能,可以方便地实现对数据进行更新,添加删除操作,执行添加操作时,考勤编号由系统自动生成,为了更能体现交互性,管理者也可以对职员编号进行改变,更新操作,当选取一项记录后执行更新操作,相应的数据将全都显示出来,操作者只需对特定的信息加修改,然后提交即可,在很大程序上减轻了操作者的工作量,真正体现本系统的省时,省力之功效。 薪资管理: 企业成本核算信息化模块;符合国家薪资 管理制度 档案管理制度下载食品安全管理制度下载三类维修管理制度下载财务管理制度免费下载安全设施管理制度下载 要求。 薪资录入: 与考勤系统直接集成,无缝数据接口问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,薪资编号也由系统自动生成,财务人员也可以对编号进行更改,财务人员只需输入员工编号,并选择薪资日期,以下的信息都会由系统自动填充,由于信息都实现了与职员基本信息,奖惩管理,考勤管理无缝连接,所以由系统生成的数据都是不能修改的,这在很大程序上可以保证薪资数据信息的安全,准确。 薪资浏览: 插入记录,实现与薪资录入系统的连接,可以更方便地执行录入操作, 删除记录,可以从窗体上方的浏览窗口中选取数据前执行操作, 打印所有,实现对全体员工薪资资料实现打印,保存, 打印预览,对于有权限的操作者可以选定特定的职员后,执行薪资支付操作,生成支会表单,前可以实现打印功能, 制度 关于办公室下班关闭电源制度矿山事故隐患举报和奖励制度制度下载人事管理制度doc盘点制度下载 设置: 具有权限的操作者可以根据公司制度的变化,对于迟到,加班,出差,旷工等的具体奖励,还是处罚标准能够灵活地进行动态变更, 绩效考核: 企业员工考核规范化模块;可对员工在公司的不同就职时间段作绩效考评记录;实现企业员工考核信息的录入,(按职员编号,按奖惩编号)分类查询,并可以对无用的信息资料执行删除操作,及时清理数据库。 系统安全:对于一个成功的人事管理系统来说,系统安全是非常重要的,由系统管理员或系统管理员授权的超级用户对系统进行管理维护;确保人力资源记录及工资数据等资料的高度保密,防止秘密数据外传和程序遭破坏,每个使用者有各自的密码进入系统; 用户可以在受权的范围内自由更改密码;对于有具有一定权限的用户可以任意修改其它用户的密码。依据工作需要由管理员分配系统操作权限。 报表分析: 一个完善的人事管理系统必须具备报表分析功能,对一特定的数据进行分析,实现打印功能,对数据资料进行保护。 用户管理和用户切换: 由于在操作过程序中有些用户可能要更改自己的权限,如果系统数据库有相应的个人用户资料,他就可以进行用户切换,来提高或降低自己的操作权限。要限比较低的用户只能修改自己的密码,而高级用户则可以添加,删除,更新其它用户,提高系统安全性。 开发环境 Windows 2000 professional Visual Studio.NET C#语言 MicroSoft Sql server 2000 系统功能简介 登录窗体:提供安全的管理机制,进入系统时要输入用户名,密码,并选取类别,只有三项全部与数据库记录相符后才能进入系统,系统对用户的登陆信息进行记录,只有有特定权限的用户才能执行相应的操作,控制系统安全。如图(1-1)所示: 图(1-1) 登陆验证的代码: string sel="select user_pass,user_type from TheUser where user_name='"+this.textBox1.Text.ToString().Trim()+"'"; string data="none"; SqlCommand com=new SqlCommand(sel,this.sqlConnection1); try {this.sqlConnection1.Open(); SqlDataReader reader=com.ExecuteReader(); while(reader.Read()) { string pas=reader[0].ToString().Trim(); string leibie=reader[1].ToString().Trim(); data="some"; string pas1=this.textBox2.Text.ToString().Trim(); string leibie1=this.comboBox1.Text.ToString().Trim(); if(pas1==pas&&leibie1==leibie) { this.islogin=true; ManageInfo.Employerleixing=leibie1; ManageInfo.Employername=this.textBox1.Text.ToString().Trim(); ManageInfo.Employermima=pas1; this.Close(); break; } else { MessageBox.Show("输入信息有误,请重新输入","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); } } reader.Close(); this.sqlConnection1.Close(); if(data!="some") { MessageBox.Show("没有相应的用户信息,请查证后重新输入","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Error); } } catch(Exception ee) {MessageBox.Show(ee.Message); this.sqlConnection1.Close(); } Main(); login log=new login(); log.ShowDialog(); if(log.islogin==true) {Application.Run(new Form1());} 可操作部分包括:职员档案管理、职员考勤管理、职员奖惩管理、职员工资管理,工作调动管理等四大部分组成,如图(2):以及附加更改密码,和更换用户功能,其界面如图(1-2): 图(1-2) 职员档案管理,提供录入、查询、修改、删除和统计功能。职员档案信息录入系统如图:其中员工编号由系统自动生成,操作者也可以通过点击后面的按钮来执行编号加一操作。如图(1-3)所示: 图(1-3) 实现编号加一操作的代码: int num=System.Int32.Parse(this.textid.Text.ToString().Trim()); ++num; this.textid.Text=num.ToString().Trim(); 员工信息浏览,更新,修改,删除,以及打印操作,操作者可以通过点击左边的树形控件浏览选定职员的信息,也可以通过选择查询条件(按员工编号查询,按员工姓名查询,按员工学历查询,按所属部门查询)并输入查询条件后查询显示,然后执行相应的操作,如图(1-4)所示: 图(1-4) 实现窗体中树形控件节点动态绘制功能的代码为: //此函数功能是实现树的重新描绘,描绘时清除原来的树 this.treeView1.Nodes.Clear(); //先从部门表中读取部门信息,添加为该树的根结点 //读取方法是,用数据集的形式,循环读入 this.sqlSelectCommand1.CommandText="Select * from Department"; this.dataSet31.Clear(); this.sqlConnection1.Open(); try {this.sqlDataAdapter1.Fill(this.dataSet31,"Department");} catch(Exception aa) { MessageBox.Show(aa.Message); this.sqlConnection1.Close(); } this.sqlConnection1.Close(); DataTable myDataTable1=this.dataSet31.Tables["Department"]; foreach(DataRow myDataRow1 in myDataTable1.Rows) { //以下方法程序段实现的是在树形控件中添加根节点 TreeNode treeNode1=new TreeNode(); treeNode1.Text=myDataRow1["Eminfo_jobdept"].ToString().Trim(); this.treeView1.Nodes.Add(treeNode1); string sel=treeNode1.Text; //以下方法程序段实现的是在树形控件的根节点下面添加子节点 this.sqlSelectCommand2.CommandText="SELECT Eminfo_id, Eminfo_name, Eminfo_jobdept FROM Employerinfo WHERE Eminfo_jobdept = '"+sel+"'"; this.dataSet41.Clear(); this.sqlConnection1.Open(); //this.sqlSelectCommand1.ExecuteNonQuery(); this.sqlDataAdapter2.Fill(this.dataSet41,"Employerinfo"); this.sqlConnection1.Close(); DataTable myDataTable2=this.dataSet41.Tables["Employerinfo"]; foreach(DataRow myDataRow in myDataTable2.Rows) { TreeNode treeNode=new TreeNode(); treeNode.Text=myDataRow["Eminfo_name"].ToString().Trim(); treeNode1.Nodes.Add(treeNode); } } 用户执行分类打印的操作如图: 可以打印所有,还可以按部门打印职员的基本信息;在一定程序上提高了程序与操作者之间的交互性。如图(1-5)所示: 图(1-5) 工作调动处理:可处理员工在部门内、部门之间的工作职务调动。员工调入、调出本单位处理等。对于本子系统,也由系统自动后成编号,操作者只需输入职员编号,和需要调往的部门或职位,,另外要选择事件发生的时间,其余的信息都由系统自动生成,用户也可以对职员的调动信息进行预览,删除等操作, 自动生成职位变动编号代码为: string sel="select count(*) from Emposchange"; SqlCommand com=new SqlCommand(sel,this.sqlConnection1); try { this.sqlConnection1.Open(); SqlDataReader reader=com.ExecuteReader(); while(reader.Read()) { string date=System.DateTime.Now.Year.ToString(); this.textBox4.Text=date+reader[0].ToString().Trim().PadLeft(2,'0'); } reader.Close(); this.sqlConnection1.Close(); } catch(Exception ee) { this.sqlConnection1.Close(); MessageBox.Show(ee.Message); } 子系统执行界面如图(1-6)所示: 图(1-6) 当焦点进入职员姓名后的编辑框后实现实动填充信息的代码为: if(this.textBox5.Text="") { MessageBox.Show("你没有输入相应编号的职员,请查证后输入以显示正确信息"); } else { string sel="Select Eminfo_name,Eminfo_jobposit from Employerinfo where Eminfo_id='"+this.textBox5.Text.ToString().Trim()+"'"; SqlCommand com=new SqlCommand(sel,this.sqlConnection1); this.sqlConnection1.Open(); try { SqlDataReader reader=com.ExecuteReader(); while(reader.Read()) { this.textBox6.Text=reader[0].ToString().Trim(); this.textBox8.Text=reader[1].ToString().Trim(); } reader.Close(); this.sqlConnection1.Close(); } catch(Exception ee) { this.sqlConnection1.Close(); MessageBox.Show(ee.Message); } } 奖惩管理子系统:可处理员工在本月份职员奖惩信息的录入(包括考评记录,以及金额等,)以及删除功能,此子系统将与薪资管理系统无缝接合,实现薪资数据的自动化添加。如图(1-7)所示: 图(1-7) 职员奖惩信息录入的代码为: this.sqlConnection1.Open(); this.sqlDataAdapter1.Fill(this.emre1,"Emre"); this.sqlConnection1.Close(); DataRow myDataRow1=this.emre1.Tables["Emre"].NewRow(); try { myDataRow1["Emreinfo_num"]=this.textBox1.Text; myDataRow1["Eminfo_id"]=this.textBox2.Text; myDataRow1["Emreinfo_date"]=this.combyear.Text.ToString().Trim()+this.combomont.ToString().Trim(); myDataRow1["Emreinfo_resco"]=this.textBox3.Text; myDataRow1["Emreinfo_punsco"]=this.textBox4.Text; myDataRow1["Emreinfo_punmon"]=this.textBox5.Text; myDataRow1["Emreinfo_remon"]=this.textBox6.Text; this.emre1.Tables["Emre"].Rows.Add(myDataRow1); this.sqlDataAdapter1.Update(this.emre1,"Emre"); MessageBox.Show("录入数据成功"); } catch(Exception ee) { MessageBox.Show(ee.Message); this.sqlConnection1.Close(); } 考勤管理:本子系统实现了自动生成编号,实实现考勤信息的录入,更新,删除功能。本系统也提供最一定功能的右键功能,操作都可以选取一定的记录后执行相应的操作,如果是执行更新信息操作,则所选项的信息资料将在窗体下方的编辑框中显示,有权限的操作者只需填写相应更新的项后就可以执行更新操作,在很大程序上降低操作者的工作量。如图(1-8)所示: 图(1-8) 为了防止提高系统的安全性,在该窗体打开时对用户的权限做了如下规定: if(ManageInfo.Employerleixing=="一般职员"||ManageInfo.Employerleixing=="财务人员 ") {this.button1.Enabled=false; this.button5.Enabled=false; this.button8.Enabled=false; this.button6.Enabled=false; } else{} this.sqlConnection2.Open(); this.sqlDataAdapter1.Fill(this.emattendmanage1,"Emattendinfo"); this.sqlConnection2.Close(); 实现数据录入的代码为: DataTable myDataTable=this.emattendmanage1.Tables["Emattendinfo"]; DataRow myDataRow=myDataTable.NewRow(); myDataRow["Emattend_num"]=this.textBox1.Text.ToString().Trim(); myDataRow["Eminfo_id"]=this.textBox2.Text.ToString().Trim(); myDataRow["Emattend_month"]=this.comboBox1.Text.ToString().Trim()+"-"+this.comboBox2.Text.ToString().Trim(); myDataRow["Emattend_late"]=Convert.ToInt16(this.textBox3.Text); myDataRow["Emattend_abs"]=System.Double.Parse(this.textBox4.Text); myDataRow["Emattend_even"]=System.Double.Parse(this.textBox5.Text); myDataRow["Emattend_jiab"]=System.Convert.ToInt16(this.textBox6.Text); myDataRow["Emattend_matt"]=Convert.ToInt16(this.textBox7.Text); myDataTable.Rows.Add(myDataRow); try { this.sqlDataAdapter1.Update(this.emattendmanage1,"Emattendinfo"); MessageBox.Show("录入数据成功"); FillData(); } catch(Exception ee) {MessageBox.Show(ee.Message); This.SqlConnection.Close(); } ListView控件的数据添加代码为: this.listView1.Items.Clear(); string sel="Select * from Emattendinfo"; SqlCommand com=new SqlCommand(sel,this.sqlConnection2); this.sqlConnection2.Open(); SqlDataReader reader=com.ExecuteReader(); while(reader.Read()) { ListViewItem item=new ListViewItem(); item.SubItems[0].Text=reader[0].ToString().Trim(); item.SubItems.Add(reader[1].ToString().Trim()); item.SubItems.Add(reader[2].ToString().Trim()); item.SubItems.Add(reader[3].ToString().Trim()); item.SubItems.Add(reader[4].ToString().Trim()); item.SubItems.Add(reader[5].ToString().Trim()); item.SubItems.Add(reader[6].ToString().Trim()); item.SubItems.Add(reader[7].ToString().Trim()); this.listView1.Items.Add(item); } reader.Close(); this.sqlConnection2.Close(); } 执行右键删除考勤信息的代码为: if(this.listView1.Items.Count<1) {MessageBox.Show("请你先中一项记录后再执行相应的操作");} else if(MessageBox.Show ("您确定要删除选定的记录吗? ", "删除记录",MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { string sel=this.listView1.SelectedItems[0].SubItems[0].Text.ToString().Trim(); string del="delete from Emattendinfo where Emattend_num='"+sel+"'"; SqlCommand com=new SqlCommand(del,this.sqlConnection2); try { this.sqlConnection2.Open(); com.ExecuteNonQuery(); MessageBox.Show("成功删除数据"); FillData(); this.sqlConnection2.Close(); } catch(Exception ee) { MessageBox.Show(ee.Message); This.sqlConnection2.Close(); } } 实现更新考勤信息的代码为: DataTable myDataTable=this.emattendmanage1.Tables["Emattendinfo"]; myDataTable.PrimaryKey= new DataColumn[] { myDataTable.Columns["Emattend_num"] }; string find=this.textBox1.Text.ToString().Trim(); DataRow myDataRow=myDataTable.Rows.Find(find); myDataRow["Emattend_num"]=this.textBox1.Text.ToString().Trim(); myDataRow["Eminfo_id"]=this.textBox2.Text.ToString().Trim(); myDataRow["Emattend_month"]=this.comboBox1.Text.ToString().Trim()+"-"+this.comboBox2.Text.ToString().Trim(); myDataRow["Emattend_late"]=Convert.ToInt16(this.textBox3.Text); myDataRow["Emattend_abs"]=System.Double.Parse(this.textBox4.Text); myDataRow["Emattend_even"]=System.Double.Parse(this.textBox5.Text); myDataRow["Emattend_jiab"]=System.Convert.ToInt16(this.textBox6.Text); myDataRow["Emattend_matt"]=Convert.ToInt16(this.textBox7.Text); try { this.sqlDataAdapter1.Update(this.emattendmanage1,"Emattendinfo"); MessageBox.Show("你已经成功实现了数据更新操作"); FillData(); } catch(Exception ee) { MessageBox.Show(ee.Message); } 本系统还提供一项分打报表功能是,如果操作在右边的职员编号中没有输入数据,则系统将统计分析所有职员的考勤信息,如图(1-9)所示: 如图(1-9) 如果输入确实存在的职员信息,奖会显示该职员的本月份考勤统计报表,可以实现打印操作。如图(1-10)所示: 图(1-10) 打开Emattendbaobiao时的代码为: Emattendman man=new Emattendman(); man.sqlConnection2.Open(); man.sqlSelectCommand1.CommandText=ManageInfo.Emattendsel; man.sqlDataAdapter1.Fill(man.emattendmanage1,"Emattendinfo"); man.sqlConnection2.Close(); EmattendReport1 rep=new EmattendReport1(); rep.SetDataSource(man.emattendmanage1); this.crystalReportViewer1.ReportSource=rep; 薪资管理 : 对职员的工资信息进行管理。 薪资录入: 此子系统实现了薪资的录入,包括奖惩查询,考勤查询,以及工资计算等,此过程都实现时填充了所选月份的的奖惩统计,考勤统计,打开窗体后系统自动生成薪资录入编号,财务人员也可以通过点击后面的“+”按钮实现薪资编号加一操作。如图(1-11)所示: 图(1-11) 考勤查询的代码为: if(this.textid.Text==""||this.textnum.Text==""||this.combyear.Text==""||this.combomont.Text=="") { MessageBox.Show("请你注意选好职员编号,工资编号,工资月份后再执得相应的操作","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning); } else { FindName(); EmattendSel(); } 另附两个函数: FindName(); string id=this.textid.Text.ToString().Trim(); string sel="Select Eminfo_name,Eminfo_salarysort from Employerinfo where Eminfo_id='"+id+"'"; SqlCommand com=new SqlCommand(sel,this.sqlConnection1); try { this.sqlConnection1.Open(); SqlDataReader reader=com.ExecuteReader(); while(reader.Read()) { this.textname.Text=reader[0].ToString().Trim(); this.textbasic.Text=reader[1].ToString().Trim(); } reader.Close(); this.sqlConnection1.Close(); } catch(Exception ee) { this.sqlConnection1.Close(); MessageBox.Show(ee.Message); } EmattendSel() string id=this.textid.Text.ToString().Trim(); string month=this.combyear.Text.ToString().Trim()+"-"+this.combomont.Text.ToString().Trim(); string sel="select sum(Emattend_late),sum(Emattend_abs),sum(Emattend_even),sum(Emattend_jiab) "+ "from Emattendinfo where Eminfo_id='"+id+"' AND Emattend_month='"+month+"'"; SqlCommand com=new SqlCommand(sel,this.sqlConnection1); this.sqlConnection1.Open(); SqlDataReader reader=com.ExecuteReader(); while(reader.Read()) { if(reader[0].ToString().Trim()!="") { string late=reader[0].ToString().Trim(); string abs=reader[1].ToString().Trim(); string even=reader[2].ToString().Trim(); string jiab=reader[3].ToString().Trim(); double jia=System.Double.Parse(ManageInfo.EmSalaryjia); double eve=System.Double.Parse(ManageInfo.EmSalaryeve); double lat=System.Double.Parse(ManageInfo.EmSalarylat); double abss=System.Double.Parse(ManageInfo.EmSalaryabs); double late1=System.Double.Parse(late)*lat; double abs1=System.Double.Parse(abs)*abss; double even1=System.Double.Parse(even)*eve; double jiab1=System.Double.Parse(jiab)*jia; this.texteve.Text=even1.ToString().Trim(); this.textjia.Text=jiab1.ToString().Trim(); this.textabs.Text=abs1.ToString().Trim(); this.textlate.Text=late1.ToString().Trim(); } else { this.texteve.Text="0"; this.textjia.Text="0"; this.textabs.Text="0"; this.textlate.Text="0"; } } reader.Close(); this.sqlConnection1.Close(); 奖惩查询的代码为: string id=this.textid.Text.ToString().Trim(); string month=this.combyear.Text.ToString().Trim()+"-"+this.combomont.Text.ToString().Trim(); string sel="select sum(Emreinfo_remon),sum(Emreinfo_punmon) from Emreinfo where Eminfo_id='"+id+"' AND Emreinfo_date='"+month+"'"; SqlCommand com=new SqlCommand(sel,this.sqlConnection1); this.sqlConnection1.Open(); SqlDataReader reader=com.ExecuteReader(); while(reader.Read()) { if(reader[0].ToString().Trim()!="") { string remon=reader[0].ToString().Trim(); string punmon=reader[1].ToString().Trim(); double remon1=System.Double.Parse(remon); double punmon1=System.Double.Parse(punmon); this.textre.Text=remon1.ToString().Trim(); this.textpun.Text=punmon1.ToString().Trim(); } else { this.textre.Text="0"; this.textpun.Text="0"; } } reader.Close(); this.sqlConnection1.Close(); 薪资浏览:功能包括(插入记录,刷新记录,删除记录,打印所有,工资支付等)界面如图: 工资支付的代代码为: if(this.listView1.SelectedItems.Count<1) { MessageBox.Show("请你选择一个员工后,再进行相应的操作","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning ); } else{ SalaryClass.Eminfosal_num=this.listView1.SelectedItems[0].SubItems[1].Text; SalaryClass.Eminfosal_name=this.listView1.SelectedItems[0].SubItems[2].Text; SalaryClass.Eminfosal_money=this.listView1.SelectedItems[0].SubItems[11].Text; SalaryClass.salarydate =this.listView1.SelectedItems[0].SubItems[12].Text; Salaryzhifu zhifu=new Salaryzhifu(); zhifu.Show(); this.listView1.SelectedItems[0].Selected=false; } 插入记录实现与录入窗体的链接, 删除记录:当操作者选取一项一记录后,执行删除操作,确认删除后就可以从数据库中删除相应的记录; 打印所有:实现对所有职员工资详细信息的报表打印操作。如图(1-12)所示: (1-12) 工资支付: 操作者选定一条记录后,将打开工资支付窗体。系统自动生成职员工资支付表单信息,如果该员工的工资没有支付,将会弹出该员工工资已支付过的对话话,如图(1-13)所示: 图(1-13) 当Salaryzhifu窗体打开后实现信息自动填充的代码为: this.labname.Text=SalaryClass.Eminfosal_name; this.labmon.Text=SalaryClass.Eminfosal_money; this.labnum.Text=SalaryClass.Eminfosal_num; this.labyear.Text=SalaryClass.salarydate.Substring(0,4); this.labmonth.Text=SalaryClass.salarydate.Substring(5,2); this.labman.Text=ManageInfo.Employername; string sel1="select getdate()"; this.sqlConnection1.Open(); SqlCommand com1=new SqlCommand(sel1,this.sqlConnection1); thedate=(DateTime)com1.ExecuteScalar(); this.sqlConnection1.Close(); this.labdate.Text=thedate.Year.ToString().Trim()+"-"+thedate.Month.ToString().Trim()+"-"+thedate.Day.ToString().Trim(); this.labno.Text=SalaryClass.salarydate.Substring(0,4)+SalaryClass.salarydate.Substring(5,2)+this.labnum.Text.ToString().Trim(); SalaryClass.salaryzhino=this.labno.Text; 否则的话将弹出工员工资支付表单的打印报表并把工资支付信息填充到数据库中。如图(1-14)所示: 图(1-14) 制度设置:为了使系统更具灵活性,又加入了工资设置功能,主要是具有权限的操作者可以根据公司制度的变化,对于
本文档为【基于c#酒店人事管理系统论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_163201
暂无简介~
格式:doc
大小:571KB
软件:Word
页数:27
分类:互联网
上传时间:2012-02-23
浏览量:33