第一篇:车站售票管理系统心得体会
对于此次数据库课程设计我感慨颇多,收获颇多。从拿到题目到分析设计再到完成整个编程,从理论到实践,在整整两个星期的日子里,把理论用于实践,在实践过程中,以前所学过的知识都得到了更深层次的理解,同时也学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学到的理论知识与实践相结合起来,从理论中得出结论,将结论辅助与理论,才能真正学到知识并写出有用的程序,所以提高自己的实际动手能力和独立思考的能力是十分重要的。在设计的过程中遇到很多的问题,可以说得是困难重重,由于对以前所学过的知识理解得不够深刻,掌握得不够牢固。导致自己在程序设计过程中经常出错,致使程序无法运行或无法实现要求的步骤。还有很多是些小问题,这都是由于我粗心大意而造成的,所以我认识到设计程序一定要仔细,容不得丝毫的马虎和粗心大意。当然还有其他的问题,尤其是关于文件的操作,是我们最大的问题,不过,经过卫凡老师的讲解和改错之后,也开始懂得设计和运用了。
在本次课程设计中,我认识到了团队的重要性,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。某个人的离群都可能导致导致整项工作的失败。只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。团结协作是我们实习成功的一项非常重要的保证。而这次实习也正好锻炼我们这一点,这也是非常宝贵的。我很清楚的知道团结协作的力量是伟大的,如果是我一个人孤军奋战的话,肯定不能在规定时间内完成这次课程设计的要求内容,因此我很怀念这两个星期的合作,想起我们一起查阅资料,一起讨论设计程序的思路,成功的时候一起分享喜悦,失败的时候互相鼓励,我坚信,在这两个星期的时间里面,我们的友情和团结精神在历练中经受住了考验,变的更加顽强,我们是一个集体的思想已经深入人心!
经过一个星期的实践学习,使我们对VB和ACCESS有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我们也发现我们的好多不足之处,最主要是自己在DMI窗体使用上不够熟悉,通过实践,使我们在这个方面的认识有所提高。
其次,经过查找资料,调查研究,获取需求以及在这些基础上做出的系统分析。总的来说,这个系统的设计考虑了大部分要考虑的因素,一些影响不大的因素就没有考虑在内,系统的需求分析中占相当一部分比例的用例规格说明采用表格的方式,直观,便于理解,不过需求分析在整体的格式多样性上有所欠缺,这在以后的设计中要吸取教训。通过这次的课程设计,我们不但学到了很多东西,也把原来学的东西理解的更透彻了,特别是把原来学的不同科目的东西结合起来了,收获很大。
第二篇:车站售票管理系统数据库课设
中文摘要
本文针对车站的售票实际情况,按照软件工程的结构化设计思想,经过项目的需求分析、概要设计、详细设计,以及编码实现和调试等步骤设计开发了车站售票系统。并运用E-R图和数据库逻辑结构、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行了分析和设计。
工具软件利用VS2012开发工具和SQL Server 2012数据库来开发这个车站售票管理系统。该系统要解决的是车站售票工作所要解决的问题,可以满足车站售票的基本要求,包括票务管理、查询、报表打印、车次管理、账户管理、修改密码等六个方面的功能。该系统能运用到车站售票的工作中,根据用户的需求,设置其权限,并快捷方便的为用户提供服务。
目录 引言...........................................................................1 2概要设计....................................................................2
2.1.系统需求分析...................................................2 2.2.系统结构设计...................................................4 2.3.功能模块设计...................................................4 3 详细设计...................................................................8
3.1系统数据库设计...............................................8
3.1.1概念结构设计.........................................8 3.1.2逻辑结构设计.........................................8 3.2系统主要功能模块设计................................12 3.3各模块的主要算法对应的原代码................15 4 调试与运行结果及存在的主要问题.....................37 5课程设计小结..........................................................60 6 参考文献.................................................................61 引言
课程设计的目的:按照关系型数据库的基本原理,综合运用所学的基本知识,以小组为单位,设计开发一个小型的管理信息系统。通过对一个实际问题的分析、设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实际问题,培养学生的动手能力,另一方面,使学生能深入理解和灵活掌握教学内容。
课程设计的要求:考察市长途汽车站、火车站售票业务,设计车站售票管理系统。要求:
①具有方便、快速的售票功能,包括车票的预订和退票功能,能够支持团体的预订票和退票。
②能准确地了解售票情况,提供多种查询和统计功能,如车次的查询、时刻表的查询等;
③能按情况所需实现对车次的更改、票价的变动及调度功能;
④完善的报表系统;
⑤具备一定的维护功能,如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
该系统的开发环境为 vs2012 和sql server 2012 ,是基于c#以及sql server 数据库开发的一个车站售票管理系统。
我们小组有我以及同班同学严鑫剑,分工为:严鑫剑负责开发用户登录、票务管理、查询三个子模块,本人负责开发车次管理、账户管理、修改密码三个子模块。另外因为不知道如何具体在c#环境下运用触发器以及报表打印,所以系统中用到的触发器以及报表打印功能是我们两个共同完成的。
2概要设计
2.1.系统需求分析
本系统是严鑫剑与司房昭同学共同开发的,集车站售票退票,线路查询修改,车次管理,报表打印,账户管理等功能为一体的应用软件。车站售票管理系统,为车站快速便捷售票提供了一个较好的解决方案。
本系统具有以下功能:
1.具有方便、快速的售票功能,包括车票的预订和退票功能,能够支持团体的预订票和退票。
2.能准确地了解售票情况,提供多种查询和统计功能,如车次的查询、时刻表的查询等。
3.能按情况所需实现对车次的更改、票价的变动及调度功能。
4.完善的报表系统。
5.具备一定的维护功能,如数据安全管理(含备份与恢复)、操作员管理、权限设置等。
在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQL SERVER 2012数据库,使得本系统可以方便的和其他子系统进行数据交换。同时,注意从软件的图形应用界面上优化软件质量,使得本系统具有很强的可操作性。
1.开发的系统的一般描述
车站售票管理系统采用C/S体系结构,结合车站的实际需要,对票务管理和线路、车次信息进行高效有序的管理,提供丰富的管理和分析功能,用户界面友好,能满足车站售票管理的软件,提高车站工作效率。
本系统旨在车站管理人员与售票人员工作更加方便,以减轻工作人员的负担。快速的对信息进行管理,输入,输出,查找,修改,删除的操作,是大量的工作更加的具体化,直观化,合理化。
2.产品功能
开发的系统软件具有数据的更新,借阅的判定,数据的管理等功能。
3.用户特点
本软件的使用对象是车站管理员与售票员。可以方便的利用该软件进行车站售票的各种操作。
4.一般约束
(1)本系统作为C/S结构的一个应用系统,不可避免的要受到C/S结构的约束。在其实施的各个阶段都要服从它的一些规划,包括功能设计、系统配置和计划。
(2)硬件环境。
Intel Pentium 166MHz或以上;
内存:需要至少512MHZ;
网络容量:少于50人需16Mb/s的令版环网和10Mb/s可以勉强满足要求,建议100Mb/s的以太网或者更高。
设备需求:打印机。(3)软件环境
运行于Windows7及更高版本的操作系统之上。SQL Server2012数据库。5.假设和依据
本系统要求具有较高的可靠性和保密性。对于不同的用户给予不同的权限,对于各个用户的信息要安全稳定的存储。
本系统开发的时间为:2012年12月20日至2013年01月02日。
2.2.系统结构设计
本系统主要由六个模块构成分别为:用户登录,票务管理,查询,报表打印,修改密码,车次管理,账户管理。通过这个六个模块,可以实现对车票的出售与退订,车次的查询、修改、增加与删除,线路的查询、修改,增加与删除,用户信息修改等等。通过这下功能在本系统的实现,系统的使用者可以相当方便的对售票进行方便的管理。在权限方面,分为管理员与售票员,功能区分,管理效率提高。
车站售票管理系统结构图
车站售票管理系统票务管理查询功能报表打印修改密码车次管理账户管理用户登录购票功能退票功能团体购票团体退票车次查询线路查询打印设置页面设置打印预览打印功能修改车次修改票价车次录入车次删除账户添加账户修改账户删除
2.3.功能模块设计
本系统通过各个模块与数据库之间的调用,实现了售票管理所需的各个功能,方便使用。1.登录模块
鉴于车站售票的实际情况,对于本系统的使用者,设置为管理员与售票员两种,方便管理。系统管理员能享有查询,报表打印,修改用户密码,车次管理,账户管理五种功能。而售票员可以进行票务管理,查询,报表打印,修改密码四种操作。对于不同的用户,给予不同的权限,享有不同的操作。
2.票务管理
这是售票员用户特有的操作模块,主要负责车站的售票退票工作。为了满足人们购票需要,加入了团体购票与团体退票功能。
在售票过程中,首先要进行条件查询。在本系统中,则是依据出发站与到达站为查询依据,并显示查询结果。出入要乘坐的车次,选择购票。对于车票不足的车次则不能购买。在购买车票时,如选择的座位已售出,能提示不能购买,选择其他座位。选择正确的座位,则购票成功。
对于团体购票,同样的需要先进行查询,输入乘坐车次,对于车票,座位的各种情况给予判断,首先保证剩余的车票数量不小于售票数量才能进行团体售票。在进行团体售票的座位选择时,加入了一个循环,在完成团体订票以前,对于座位情况一直给予判定,直至车票购买完毕,循环结束。
退票功能首先需要查询车票所属车次,查询成功后,弹出输入座位号界面窗口,输入已经购买过的座位号,选择退票,则会成功退票。对于退票中的车次信息,座位信息都演进行判定,对于不存在的信息要给予提示,方面操作。
在使用团体退票功能时,也是需要输入所属车次,不同的是还需输入需要退票的数量,用来做循环。成功判定退票后,依次输入退票的座位号,直至退票完毕。在输入退票座位号是,如果未完成全部退票,就中断了操作,指挥进行已经输入座位号的退票操作,对于未输入的不会有影响,对剩余票数也是正常显示。
3.查询操作
在本系统中,包括了两种查询。一种为车次查询。输入正确 的车次,则会在Datagridview显示出关于本车次的详细信息,包括车次,始发站,终点站,价格,余票,限载人数具体信息,方便操作人员进行其他操作。另一种线路查询则需要输入起始站与终点站,则会出现所有这个路线所以车次的详细信息。对于不正确的信息都要给予错误报告。
4.报表打印 5.修改密码
为了保证用户的安全系,以及管理员的权限操作,可以进行密码修改。在修改时,需要输入用户名及其次用户的原密码才能进行密码修改操作。对于用户名不存在或密码错误都要进行报错。再确认新密码后可以修改成功。
6.车次管理
此模块为管理员特有模块,是为了可以是管理员根据实际情况对车次,票价进行改动,便于车站的系统管理。
鉴于管理员可能需要更改某个车次的路线,特加入了车次修改功能方便其操作。输入需要修改的车次,以及实际的始发站及终点站,如果车次存在,即可完成修改。对于不正常的输入要给予提示。
根据实际情况,车票价格不可能是一成不变的,所以加入改动票价功能是十分必要的,输入始发站与终点站和需要修改成的价格。如果输入的这条线路存在,则按照你输入的价格进行修改。如果输入线路不存在,则给予提示。
车次录入功能则是管理员管理车次最重要的一个功能,输入车次号,始发站,终点站,发车时间,价格,限载人数。如果输入数据没有问题则可以完成录入操作。
车次删除功能是为了管理员删除那些无用的车次信息而设定的操作。输入需要删除的车次,如果数据库信息里有输入的车次,则完成删除信息,如没有,则给予提示。
7.账户管理
此功能也是管理员特有操作。为了保证系统的安全性,以及 系统操作员权限的区分,此功能可以用来添加和删除用户,也可以修改账户的权限。对系统的安全性有所改善。
系统处理流程图
账户修改确认修改登录选择权限账户管理选择管理项账户添加录入修改账户删除用户名与密码判定口令文件修改成功或失败输入数据选择车票确认登陆个人售票团体售票车次查询票务管理功能选择查询选择查询条件车次、线路信息个人退票团体退票密码修改输入数据线路查询选择车票输入用户名密码车次管理录入修改口令文件判定用户车次修改改动票价车次录入车次删除数据显示修改成功或失败信息管理修改成功或失败口令文件 详细设计
3.1系统数据库设计
3.1.1概念结构设计
根据需求分析,E-R图表示的概念模型如下:
E-R图
3.1.2逻辑结构设计
由E-R图转换成为的关系模型如下: 用户表(用户名,密码,身份类型)
车次信息表(车次编号,起始站,终点站,出发时间,票价,余票,限载人数)
车票信息表(车次编号,座位号)用户表主码为用户名,每一个非主属性既不部分依赖于码,也不传递依赖于码,所以符合3NF。
车次信息表主码为车次编号,每一个非主属性既不部分依赖于码,也不传递依赖于码,所以符合3NF。
车票信息表主码为车次编号和座位号,每一个非主属性既不部分依赖于码,也不传递依赖于码,所以符合3NF。
按以上关系模式在sql server 2012中建立的表,如下所示:
用户信息表
车次信息表
车票信息表 建立外码,保持参照完整性。
Trainno表中的trainno 为主码,ticket表中seat,trainno 为主码,所以trainno 为ticket表的外码。
为了让ticket表中座位号更加规范化,所以添加check约束。
输入表达式为:(seat between ‘1’ and ‘99’)
触发器的应用:
为了更好的同步车票余票信息,为ticket表建立触发器gengxingjian,每当ticket表插入数据时,对应的车次余票减1。触发器gengxinjia每当有数据删除时,对于车次余票加1。建立gengxinjian触发器: Select *from ticket GO Create trigger gengxinjian on ticket after insert as begin
declare @trainno nvarchar(10);select @trainno=trainno from inserted
update Trainno set lastticket=lastticket-1 where trainno=@trainno end
建立gengxinjia触发器: Select*from ticket Go Create trigger gengxinjia on ticket after delete as begin
declare @trainno nvarchar(10);select @trainno=trainno from deleted
update Trainno set lastticket=lastticket+1 where trainno=@trainno end
3.2系统主要功能模块设计
对于本系统的使用者,设置为管理员与售票员两种,方便管理。系统管理员能享有查询,报表打印,修改用户密码,车次管理,账户管理五种功能。而售票员可以进行票务管理,查询,报表打印,修改密码四种操作。
登录模块流程图
登陆界面输入用户名密码选择用户类型管理员帐户售票员账户数据库判定用户名密码有误登陆成功
这是售票员用户特有的操作模块,主要负责车站的售票退票工作。为了满足人们购票需要,加入了团体购票与团体退票功能。
票务管理流程图
票务管理售票团体售票退票团体退票输入始发终点站输入退票车次退票车次票数显示车次输入座位号选择车次选择车次票数输入座位号判断座位存在判断座位空闲出售成功出退票成功
在本系统中,包括了两种查询。一种为车次查询。输入正确的车次,另一种线路查询则需要输入起始站与终点站。对于不正确的信息都要给予错误报告。
查询流程图
查询功能车次查询线路查询输入查询车次输入起始终点站判断是否存在判断线路存在显示车次显示所有车次 在修改时,需要输入用户名及其次用户的原密码才能进行密码修改操作。对于用户名不存在或密码错误都要进行报错。再确认新密码后可以修改成功。
修改密码流程图
修改密码输入用户名,原密码,新密码判断用户是否存在提示输入信息有误修改成功
此模块为管理员特有模块,包括车次修改,票价改动,车次删除,车次录入四个功能,方便管理员操作。
车次管理流程图
车次管理车次修改改动票价车次录入车次删除输入需要改动车次的新始发站终点站输入改动的始发站终点站及新票价输入新车次的各种详细信息输入需要删除的车次判断是否存在车次判断是否存在路线录入成功判断是否存在车次修改成功修改成功删除成功 此功能也是管理员特有操作,可以用来添加和删除用户,也可以修改账户的权限。对系统的安全性有所改善。
用户管理流程图
账户管理账户修改账户添加账户删除输入用户名输入用户名密码输入删除用户名选择用户类型选择用户类型判断用户存在判断用户存在完成添加完成删除完成修改
3.3各模块的主要算法对应的原代码
在系统原代码中含有大量的数据库连接,和关闭的代码,过于重复,故有时候会省略此部分代码。
1.登录模块
登录模块的主要算法是:把输入的数据与数据库中存放用户信息的用户表进行比对,如果一致,则登陆成功。登录功能主要的源代码为:
string sql = “select * from Login where username='” + textBox1.Text + “' and password='” + textBox2.Text + “'and type='”+ comboBox1.Text+“'”;try
{ DataSet ds = new sqlConnect().Getds(sql);if(ds.Tables[0].Rows.Count > 0){ string usertype;usertype = ds.Tables[0].Rows[0][2].ToString();MessageBox.Show(“登陆成功”, “登录”, MessageBoxButtons.OK, MessageBoxIcon.Information);Main main = new Main();main.Show();if(usertype == “售票员”){ main.account.Enabled = false;} if(usertype == “管理员”){ main.piaowu.Enabled = false;}
this.Hide();} else { MessageBox.Show(“用户名或密码错误,请重新输入!”, “登录”, MessageBoxButtons.OKCancel, MessageBoxIcon.Information);this.textBox1.Clear();this.textBox2.Clear();this.textBox1.Focus();} } main.trainmanagement.Enabled = false;2.查询模块
查询的算法就是把用户输入的数据当作查询条件,从数据库里面查询出相关信息。思路是一样的,所以在此写其中的线路查询源代码:
string sql = “ select trainno as 车次, starttime as 发车 时间 , price as 价格 , lastticket as 余票, number as 限载人数 from Trainno where 1=1”;DataSet ds = new DataSet();SqlDataAdapter da;SqlConnection conn = new SqlConnection(“Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;”);if(textBox2.Text.Equals(“")&& textBox3.Text.Equals(”“)){ MessageBox.Show(”请输入始发站或者终点站“);} else { try { if((textBox2.Text.Trim().Equals(”“))==false)sql +=”and start='“+textBox2.Text.Trim()+”'“;if((textBox3.Text.Trim().Equals(”“))== false)sql += ”and finish='“ + textBox3.Text.Trim()+ ”'“;
SqlCommand comm = new SqlCommand(sql, conn);da = new SqlDataAdapter(comm);da.Fill(ds);dataGridView2.DataSource = ds.Tables[0];} catch { MessageBox.Show(”查询信息失败!“);} finally { conn.Close();} } }
3.票务管理
票务管理的算法主要分为购票和退票两个主要的算法。购票算法中首先需要根据始发站与终点站,查询出可以到达的车次,再根据购票者的选择选择车次,再选择座位,至此购票完成。购票的算法: 1.查询的代码:
string sql = ” select trainno as 车次, starttime as 发车时间 , price as 价格 , lastticket as 余票, number as 限载人数 from Trainno where start='“ + textBox1.Text.Trim()+ ”' and finish='“ + textBox2.Text.Trim()+ ”'“;DataSet ds = new DataSet();SqlDataAdapter da;SqlConnection conn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);if
(textBox1.Text.Equals(”“)||textBox2.Text.Equals(”“)){ MessageBox.Show(”请输入起始站和终点站“);} else { try
{ SqlCommand comm = new SqlCommand(sql, conn);da = new SqlDataAdapter(comm);da.Fill(ds);dataGridView1.DataSource = ds.Tables[0];} catch { MessageBox.Show(”查询信息失败!“);} finally { conn.Close();} } 2.接下来输入车次,如果是团体购票还需要输入数量,选择购买的时候,检查一下选择的车次余票是否大于或者等于需要购买的数量,如果输入的车次无效或者票数不足,应当进行提示。代码如下:
if((textBox7.Text.Trim().Equals(”“)|| textBox8.Text.Trim().Equals(”“))== false){ Int32 nu;object isnull;SqlConnection connnn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sqll = ” select lastticket from Trainno where trainno='“ + textBox7.Text.Trim()+ ”'“;SqlCommand cmddd;try { connnn.Open();cmddd = new SqlCommand(sqll, connnn);isnull =(object)cmddd.ExecuteScalar();nu = Convert.ToInt32(isnull);} finally { connnn.Close();} string num = textBox8.Text.Trim();Int32 temp = Convert.ToInt32(num);if(nu >= temp&& isnull!=null){ try { try {
MessageBox.Show(”选择班次成功,请选择座位!“);tuanmai tm = new
tuanmai(this.textBox7.Text.Trim(), textBox8.Text.Trim());tm.Show();} catch { MessageBox.Show(”购票失败!“, ”错误“, MessageBoxButtons.RetryCancel, MessageBoxIcon.Information);} } catch { MessageBox.Show(”购票失败!“);} } else { MessageBox.Show(”购票失败,票数不足!或者输入车次错误,不存在此车次!“);} } else { MessageBox.Show(”未输入班次或者票的数量,购票失败!请重新输入!“);} 3.接下来是选座位,选择座位的时候,系统会显示该车次已经售出的票的座位号。如果用户输入的座位号大于限载量,或者小于0,或者已经售出,应当给出相关提示信息。如果座位号合法有 效,可以购买。则购买成功。购买成功后,在这里我们用到了上课学习到的触发器,每购买一张票成功,将售票的车次的余票数量减1。并且如果是团体购票,如果团体购票成功,将选择座位窗体关闭,防止无限买票。保证系统的正常运行。源代码如下: 选择座位:
SqlConnection connn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sqll = ” select * from ticket where trainno='“ + checi + ”' and seat='“ + textBox1.Text.Trim()+ ”'“;SqlCommand cmdd;try { connn.Open();cmdd = new SqlCommand(sqll, connn);number =(object)cmdd.ExecuteScalar();
} finally { connn.Close();}
if(number == null){ try {
SqlConnection conn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sql = ” insert into ticket(trainno,seat)values('“ + checi + ”','“ + textBox1.Text.Trim()+ ”')“;SqlCommand cmd;try { conn.Open();cmd = new SqlCommand(sql, conn);cmd.ExecuteNonQuery();MessageBox.Show(”选择座位成功,购买成功!“);count++;if(count == amount){ MessageBox.Show(”购票完成!“);this.Close();}
} catch { MessageBox.Show(”选择座位失败,购买失败!“, ”错误“, MessageBoxButtons.RetryCancel, MessageBoxIcon.Information);} finally { conn.Close();}
} catch { MessageBox.Show(”选择座位失败,购买失败!“);} } else { MessageBox.Show(”选择座位失败,该座位已经卖出!“);} } else { MessageBox.Show(”座位号超出限载量,请重新输入座位号!“);textBox1.Clear();}
触发器的使用:在ticket表建立触发器,每当有数据插入表中,就更新相应车的的余票数量。触发器的代码为:
USE [ticket] GO
/****** Object: Trigger [dbo].[gengxinjian] Script Date: 2013/1/3 16:47:16 ******/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
ALTER trigger [dbo].[gengxinjian] on [dbo].[ticket] after insert as begin
declare @trainno nvarchar(10);select @trainno=trainno from inserted
update Trainno set lastticket=lastticket-1 where trainno=@trainno end
2.退票的算法
首先输入需要退票的车次,如果是团体退票还需要输入退票速来。如果车次无效,应该给出提示信息。如果有效,则输入退票的座位号。如果输入的座位号不合法,如次座位未售出,超出限载量等,应当给出相关提示信息。如果合法,则将其从车票信 息表中删除。退票的时候,我们也使用到了触发器,每当有信息从车票信息表中删除,就更新相应的车次的余票。源代码如下:
int zuowei = Convert.ToInt32(textBox1.Text.Trim());int shuliang;SqlConnection con = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sqlll = ” select number from Trainno where trainno='“ + checi + ”'“;SqlCommand cmddd;try { con.Open();cmddd = new SqlCommand(sqlll, con);shuliang =(int)cmddd.ExecuteScalar();} finally { con.Close();} if(zuowei > 0 && zuowei <= shuliang){ object number;SqlConnection conn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sql = ” select * from ticket where trainno='“ + checi + ”' and seat='“ + textBox1.Text.Trim()+ ”'“;SqlCommand cmd;try { conn.Open();cmd = new SqlCommand(sql, conn);number =(object)cmd.ExecuteScalar();} finally { conn.Close();} if(number!= null){ SqlConnection connn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sqll = ” delete from ticket where trainno='“ + checi + ”' and seat='“ + textBox1.Text.Trim()+ ”'“;SqlCommand cmdd;try { connn.Open();cmdd = new SqlCommand(sqll, connn);cmdd.ExecuteNonQuery();MessageBox.Show(”退票成功!“);count++;if(count == amount){ MessageBox.Show(”退票完成!“);this.Close();} } catch { MessageBox.Show(”退票失败!“, ”错误“, MessageBoxButtons.RetryCancel, MessageBoxIcon.Information);} finally { connn.Close();} } else { MessageBox.Show(”该车次尚未出售此座位,请重新输入!“);} } else { MessageBox.Show(”座位号超出限载量,请重新输入座位号!“);textBox1.Clear();} 触发器的代码:
USE [ticket] GO
/****** Object: Trigger [dbo].[gengxingjia] Script Date: 2013/1/3 16:46:31 ******/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
ALTER trigger [dbo].[gengxingjia] on [dbo].[ticket] after delete as begin
declare @trainno nvarchar(10);select @trainno=trainno from deleted
update Trainno set lastticket=lastticket+1 where trainno=@trainno end 4.报表打印
查询相关信息,然后再加上打印功能,完成了报表打印的功能。因为之前有连接数据库,查询相关信息的代码。在这里以后,不在重复写此类相关代码,只写相关关键性代码。查询相关源代码:
SqlConnection conn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sql = ”select trainno as 车次, start as 始发站, finish as 终点站,starttime as 发车时间, price as 价格,(number-lastticket)*price as 当次班车所售出票的总价 from Trainno Where trainno like '“ + textBox1.Text + ”%'“;SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);DataSet da = new DataSet();adapter.Fill(da);dataGridView1.DataSource = da.Tables[0].DefaultView;5.修改密码
修改密码的算法:根据输入的信息,与数据库中的数据,进行校验。如果正确,则修改密码。如果不正确,则给出相关提示信息。相关源代码:
object isnull;SqlConnection conn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);SqlCommand cmd;string updatestr;updatestr = ”update login set password = '“ + textBox3.Text + ”' where username = '“ + textBox1.Text + ”' and password ='“ + textBox2.Text + ”'“;if(this.textBox3.Text.Equals(this.textBox4.Text)){ try { conn.Open();cmd = new SqlCommand(updatestr, conn);isnull= cmd.ExecuteScalar();if(isnull!= null){ MessageBox.Show(”密码修改成功!“, ”密码修改“, MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Close();} else { MessageBox.Show(”密码修改失败,输入了无效的用户名,请重新输入!“);} } catch { MessageBox.Show(”密码修改失败,原密码输入错误!“, ”错误“, MessageBoxButtons.RetryCancel, MessageBoxIcon.Information);} finally { conn.Close();} }
else { MessageBox.Show(”两次输入的新密码不一致!“, ”错误“, MessageBoxButtons.OK, MessageBoxIcon.Warning);this.textBox3.Clear();this.textBox4.Clear();} 6.车次管理
车次管理包括车次修改、车次录入、车次删除、票价修改。1.车次修改的算法:
输入车次编号,以及修改的相关信息。如果车次编号无效,要给出相关的提示信息。关键性源代码如下:
SqlConnection conn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sql = ” update Trainno set start='“ + textBox2.Text.Trim()+ ”', finish='“ + textBox3.Text.Trim()+ ”'where trainno='“ + textBox1.Text.Trim()+ ”'“;SqlCommand cmd;try { conn.Open();cmd = new SqlCommand(sql, conn);isnull = cmd.ExecuteNonQuery();if(isnull == 1)
MessageBox.Show(”车次更改成功!“);else { MessageBox.Show(”车次更改失败,输入了无效的车次,请重新输入!“);} 2.车次录入
输入车次录入的相关信息,系统进行校验,如果合法则添加到数据库。关键性源代码:
try {
SqlConnection conn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sql = ” insert into Trainno(trainno,start,finish,starttime,price,lastticket,number)values('“ + textBox7.Text.Trim()+ ”','“ + textBox8.Text.Trim()+ ”','“ + textBox9.Text.Trim()+ ”','“ + textBox10.Text.Trim()+ ”','“ + textBox11.Text.Trim()+ ”','“ + textBox12.Text.Trim()+ ”','“ + textBox12.Text.Trim()+ ”')“;SqlCommand cmd;try { conn.Open();cmd = new SqlCommand(sql, conn);cmd.ExecuteNonQuery();MessageBox.Show(”录入成功!“);textBox7.Clear();textBox8.Clear();textBox9.Clear();textBox10.Clear();textBox11.Clear();textBox12.Clear();} catch { MessageBox.Show(”录入失败!“, ”错误“, MessageBoxButtons.RetryCancel, MessageBoxIcon.Information);} finally { conn.Close();} } catch { MessageBox.Show(”录入失败!“);} 3.车次删除
根据输入的车次信息,系统进行校验,如果存在,则删除成功。如果不存在,给出提示信息,输入了无效信息。关键性源代码:
SqlConnection conn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sql = ” delete from Trainno where trainno='“ + textBox13.Text.Trim()+ ”'“;SqlCommand cmd;try { conn.Open();cmd = new SqlCommand(sql, conn);isnull = cmd.ExecuteNonQuery();if(isnull == 1){ MessageBox.Show(”删除车次成功!“);textBox1.Clear();} else { MessageBox.Show(”删除失败,输入了无效的车次号“);} 4.票价修改
票价修改的算法:根据输入的信息,系统校验,看是否存在该线路。如果存在,进行票价修改。给出修改成功信息,否则错误提示信息。关键性源代码:
try {
SqlConnection conn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sql = ” update Trainno set price='“ + textBox6.Text.Trim()+ ”' where start='“ + textBox4.Text.Trim()+ ”'and finish='“ + textBox5.Text.Trim()+ ”'“;SqlCommand cmd;try
{ conn.Open();cmd = new SqlCommand(sql, conn);isnull = cmd.ExecuteNonQuery();if(isnull == 1)MessageBox.Show(”改价成功!“);else
MessageBox.Show(”输入起始站或者终点站有误,不存在此线路!“);
} catch { MessageBox.Show(”改价失败!“, ”错误“, MessageBoxButtons.RetryCancel, MessageBoxIcon.Information);} finally { conn.Close();}
} catch { MessageBox.Show(”改价失败!“);} 7.账户管理
账户管理包括账户修改、账户添加、账户删除。1.账户修改
根据输入的账户信息,进行系统校验。如果存在则修改账户 信息,否则给出失败提示信息。关键性源代码:
int isnull;if(textBox1.Text.Equals(”“)||
comboBox1.Text.Equals(”“)){ MessageBox.Show(”请输入需要修改的的帐户信息“);} else { try { SqlConnection conn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sql = ” update login set type='“ + comboBox1.Text.Trim()+ ”' where username='“ + textBox1.Text.Trim()+ ”'“;SqlCommand cmd;try { conn.Open();cmd = new SqlCommand(sql, conn);isnull = cmd.ExecuteNonQuery();if(isnull ==1){ MessageBox.Show(”修改成功!“);textBox1.Clear();} else { MessageBox.Show(”修改失败,输入了无效的帐户“);} } catch { MessageBox.Show(”修改失败!“, ”错误“, MessageBoxButtons.RetryCancel, MessageBoxIcon.Information);}
finally { conn.Close();}
} catch { MessageBox.Show(”修改失败!“);} } 2.账户添加
根据输入的相关信息,系统进行校验,如果不存在同名的用户,则进行添加。否则给出相关错误提示信息。关键性源代码:
if(textBox3.Text.Equals(”“)|| textBox2.Text.Equals(”“)||comboBox2.Text.Equals(”“)){ MessageBox.Show(”请输入需要添加的的帐户信息“);} else { try {
SqlConnection conn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);string sql = ” insert into login(username,password,type)values('“ + textBox1.Text.Trim()+”','“+textBox2.Text.Trim()+”','“+comboBox2.Text.Trim()+”')“;SqlCommand cmd;try { conn.Open();cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();MessageBox.Show(”添加帐户成功!“);textBox1.Clear();} catch { MessageBox.Show(”添加帐户失败!“, ”错误“, MessageBoxButtons.RetryCancel, MessageBoxIcon.Information);} finally { conn.Close();} } catch { MessageBox.Show(”添加帐户失败!“);} } 3.账户删除
根据输入的信息,系统进行校验,如果存在此用户,则删除。否则给出相关错误提示,如:账户名无效等。关键性源代码:
int isnull;if(textBox4.Text.Equals(”“)){ MessageBox.Show(”请输入需要删除的的帐户名“);} else { try { SqlConnection conn = new SqlConnection(”Data Source=SIFANGZHAO-PC;Initial Catalog=ticket;Integrated Security=True;“);
string sql = ” delete from login where username='“ + textBox1.Text.Trim()+ ”'“;SqlCommand cmd;try { conn.Open();cmd = new SqlCommand(sql, conn);isnull = cmd.ExecuteNonQuery();if(isnull ==1){ MessageBox.Show(”删除帐户成功!“);textBox1.Clear();} else { MessageBox.Show(”删除帐户失败,输入了无效的帐户“);}
} catch { MessageBox.Show(”删除帐户失败!“, ”错误“, MessageBoxButtons.RetryCancel, MessageBoxIcon.Information);} finally { conn.Close();} } catch { MessageBox.Show(”删除帐户失败!");} }
4 调试与运行结果及存在的主要问题
1.登录
2.查询 车次查询
线路查询
3.票务管理 售票
(1)售票查询
38(2)输入购买车次
(3)购买车次有误
39(4)选择座位成功
(5)座位冲突无法售出
退票
(1)输入退票车次
(2)输入无效车次
(3)输入座位号,成功退票
(4)座位未出售,退票失败
团体售票
(1)团体购票查询
(2)团体购票车次不存在
(3)团体购票车次成功
(3)团体第一次出售
(4)团体第二次出售
(5)团体购票完成
团体退票
(1)输入退票车次与退票数量
(2)输入无效车次
46(3)团体退票第一次退票
(4)团体退票第二次退票
47(5)团体退票完成
(6)团体退票座位未出售
第三篇:航空售票管理系统
#include
typedef struct node//定义信息结构体 {
char num[10];// 航班号
int hour;//起飞时间小时
int minitues;//起飞时间分钟
char start[10];//起始
char end[10];//终点
float prize;//经济舱票价
int last;//剩余座位 }FLIGHT;
typedef struct Order//订单信息 {
char name[10];//乘客姓名
char num[10];//航班号
int count;//订票数量 }Order;
class flight//定义类 {
private: FLIGHT stu[N];//每个元素对应一条信息
Order psg[N];//订单
int len;//航班总数
int lenp;//订票者总数 public:
flight();
~flight();void input();//录入信息
void show();//浏览
void sall();//售票
void back();//退票
void search();// 信息查询
void search2();// 信息查询(起点终点)
char menu();//菜单
};
flight stud;
char filename[]=“flight.txt”;
flight::flight(){}//构造函数 flight::~flight(){}//析构函数
bool CheckTime(int h1,int m1,int h2,int m2)//判断两个时间前后
{ if(h1
return true;else if(h1==h2){
if(m1 return true; else return false;} else return false;} void flight::show()//浏览 { system(“cls”);//清屏 cout<<“ 所有航班信息如下:”< 起飞时间 起点 终点 经济舱票价 剩余座位 备注”< for(int i=0;i printf(“%-10s%-2.2d:%-2.2d %-10s%-10s%-12.2f%-10d”,stu[i].num,stu[i].hour,stu[i].minitues,stu[i].start,stu[i].end,stu[i].prize,stu[i].last); time_t t; struct tm *tm; t=time(NULL);//获取当前系统时间 tm=localtime(&t); if(CheckTime(stud.stu[i].hour,stud.stu[i].minitues,tm->tm_hour,tm->tm_min)==true)//如果起飞时间在当前时间之前 输出此次航班已发出 cout<<“此次航班已发出”< else cout< } cout<<“_______________________________________________________________________________”< void flight::back()//退票 { char name[20]; char s[20]; system(“cls”);//清屏 cout<<“请输入退票的航班编号:”;cin>>s; for(int i=0;i if(strcmp(stud.stu[i].num,s)==0) break;//存在 结束循环 if(i==stud.len)//这二者相等说明查找完所有信息也没找到输入信息,说明输入航班编号不存在{ cout<<“对不起!没有你输入航班编号的相关信息。n”; system(“pause”);//任意键继续 return;} time_t t; struct tm *tm; t=time(NULL);//获取当前系统时间 tm=localtime(&t);if(CheckTime(stud.stu[i].hour,stud.stu[i].minitues,tm->tm_hour,tm->tm_min)==true) { cout<<“对不起!该航班已经起飞。不能退票。n”; system(“pause”);//任意键继续 return;} int j=i; cout<<“请输入您的姓名:”;cin>>name;for(i=0;i if(strcmp(stud.psg[i].name,name)==0 && strcmp(stud.psg[i].num,s)==0)//查询这个名字是否相同 { stud.stu[j].last+=stud.psg[i].count;//退票 stud.psg[i]=stud.psg[stud.lenp-1];///删除这个订单 stud.lenp--;//订单数减一 cout<<“退票成功!n”; system(“pause”);//任意键继续 return; } } cout<<“对不起!您没有定该航班的票。n”; system(“pause”);//任意键继续 } void flight::sall()//售票 { char s[20]; system(“cls”);//清屏 cout<<“请输入要购买的航班编号:”;cin>>s; for(int i=0;i if(strcmp(stud.stu[i].num,s)==0) break;//存在 结束循环 if(i==stud.len)//这二者相等说明查找完所有信息也没找到输入信息,说明输入航班编号不存在{ cout<<“对不起!没有你输入航班编号的相关信息。n”; system(“pause”);//任意键继续 return;} if(stud.stu[i].last<=0)//没有票了 { cout<<“对不起!该航班票已售完。n”; system(“pause”);//任意键继续 return;} time_t t; struct tm *tm; t=time(NULL);//获取当前系统时间 tm=localtime(&t);if(CheckTime(stud.stu[i].hour,stud.stu[i].minitues,tm->tm_hour,tm->tm_min)==true) { cout<<“对不起!该航班已经起飞。n”; system(“pause”);//任意键继续 return;} int j=i;i=stud.lenp;strcpy(stud.psg[i].num,stud.stu[i].num);cout<<“请输入购票数量:”;cin>>stud.psg[i].count; while(stud.psg[i].count>stud.stu[i].last){ cout<<“余票不足,请重新输入:”; cin>>stud.psg[i].count; } cout<<“请输入您的姓名:”;cin>>stud.psg[i].name; stud.stu[j].last-=stud.psg[i].count;//剩余票数 stud.lenp++;cout<<“购票成功!n”;system(“pause”);//任意键继续 } void flight::input()//录入信息 { system(“cls”);//清屏 for(int i=stud.len;i { cout<<“请输入航班号:”; cin>>stud.stu[i].num; cout<<“请输入起飞时间(格式: 12:30):”; char ch; cin>>stud.stu[i].hour>>ch>>stud.stu[i].minitues; cout<<“请输入起点:”; cin>>stud.stu[i].start; cout<<“请输入终点:”; cin>>stud.stu[i].end; cout<<“请输入经济舱票价:”; cin>>stud.stu[i].prize; cout<<“请输入剩余座位:”; cin>>stud.stu[i].last; stud.len++;//个数加1 cout<<“一条航班信息录入完成,是否继续录入?(y/n):”; while(1) { cin>>ch; if(ch=='y' || ch=='Y' || ch=='n' || ch=='N') break; else cout<<“输入错误请重新输入:”; } if(ch=='n' || ch=='N') break; } } void flight::search()// 信息查询 { char s[20]; system(“cls”);//清屏 cout<<“请输入要查询的航班编号:”;cin>>s; for(int i=0;i if(strcmp(stud.stu[i].num,s)==0) break;//存在 结束循环 if(i==stud.len)//这二者相等说明查找完所有信息也没找到输入信息,说明输入航班编号不存在{ cout<<“对不起!没有你输入航班编号的相关信息。n”; system(“pause”);//任意键继续 return;} cout<<“ 查询结果如下:”< 起飞时间 起点 终点 经济舱票价 剩余座位 备注”< printf(“%-10s%-2.2d:%-2.2d %-10s%-10s%-12.2f%-10d”,stu[i].num,stu[i].hour,stu[i].minitues,stu[i].start,stu[i].end,stu[i].prize,stu[i].last); time_t t; struct tm *tm; t=time(NULL);//获取当前系统时间 tm=localtime(&t); if(CheckTime(stud.stu[i].hour,stud.stu[i].minitues,tm->tm_hour,tm->tm_min)==true)//如果起飞时间在当前时间之前 输出此次航班已发出 cout<<“此次航班已发出”< else cout< cout<<“_______________________________________________________________________________”< void flight::search2()// 信息查询(按线路){ char s1[20],s2[20]; system(“cls”);//清屏 cout<<“请输入要查询的线路起点:”;cin>>s1; cout<<“请输入要查询的线路终点:”;cin>>s2; for(int i=0;i if(strcmp(stud.stu[i].start,s1)==0 && strcmp(stud.stu[i].end,s2)==0) break;//存在 结束循环 if(i==stud.len)//这二者相等说明查找完所有信息也没找到输入信息,说明输入航班编号不存在{ cout<<“对不起!没有你输入线路的相关信息。n”; system(“pause”);//任意键继续 return;} cout<<“ 查询结果如下:”< 起飞时间 起点 终点 经济舱票价 剩余座位 备注”< for(i=0;i if(strcmp(stud.stu[i].start,s1)==0 && strcmp(stud.stu[i].end,s2)==0) { printf(“%-10s%-2.2d:%-2.2d %-10s%-10s%-12.2f%-10d”,stu[i].num,stu[i].hour,stu[i].minitues,stu[i].start,stu[i].end,stu[i].prize,stu[i].last); time_t t; struct tm *tm; t=time(NULL);//获取当前系统时间 tm=localtime(&t); if(CheckTime(stud.stu[i].hour,stud.stu[i].minitues,tm->tm_hour,tm->tm_min)==true)//如果起飞时间在当前时间之前 输出此次航班已发出 cout<<“此次航班已发出”< else cout< } cout<<“_______________________________________________________________________________”< char flight::menu()//菜单 { char c; system(“cls”);//清屏 cout<<“nnnn ╔═══════════════════════════╗n”;cout<<“ ║ 1、录入航班信息 ║n”; cout<<“ ╠═══════════════════════════╣n”;cout<<“ ║ 2、浏览航班信息 ║n”;cout<<“ ╠═══════════════════════════╣n”; cout<<“ ║ 3、查询路线(按编号) ║n”; cout<<“ ╠═══════════════════════════╣n”;cout<<“ ║ 4、查询路线(按线路) ║n”; cout<<“ ╠═══════════════════════════╣n”;cout<<“ ║ 5、售票 ║n”; cout<<“ ╠═══════════════════════════╣n”;cout<<“ ║ 6、退票 ║n”; cout<<“ ╠═══════════════════════════╣n”;cout<<“ ║ 0、退出系统 ║n”; cout<<“ ╚═══════════════════════════╝n”;cout<<“ 请选择:”; cin>>c; return c;} int main(){ while(1) { char ch; ch=stud.menu();//获取选择 switch(ch) { case '1': stud.input();break;//录入航班信息 case '2': stud.show();break;//浏览航班信息 case '3': stud.search();break;// 查询路线 case '4': stud.search2();break;// 查询路线(按线路) case '5': stud.sall();break;// 售票 case '6': stud.back(); break;// 退票 case '0': exit(0);//退出 } } return 0;} 车站售票班组工作总结 一年来,xxx车站售票房在段、站各级领导的关心支持下,依靠班组的团结协作、聪明才智、齐心协力,在取得我段双文明班组荣誉后,将继续加强客运优质服务建设,逐步完善各项措施。 一、加强政治和业务学习,不断提高售票员综合素质。班组始终把政治理论学习放在工作的首要位置上,对车间下达的学习计划,能严格执行,并做到了学前有准备、学习有记录、学后有总结。通过经常的政治学习,班组成员的政治思想觉悟普遍有了很大的提高。我们还在班组内开展了丰富多彩的读书活动,根据班组中的学习任务和培训情况,向大家推荐学习了《如何高效、自动、快速的完成任务》的书籍,大家轮流传阅后使得售票员了解了怎样能更快、更有效的完成工作。鼓励每位售票员写出了读后感,大家相互交流、探讨了好的售票经验,互相取长补短,使理论与实际相融合,促进了工作质量的有效性。今年车站开展了《别把工作当儿戏》一书的演讲比赛,售票班组人员踊跃参加,为车间荣获了第二名的好成绩。在业务学习方面,我们时刻不放松,针对客运服务特点,班组内部也开展了多次岗位仪容仪表、礼节礼貌、窗口迎宾的培训,并进行了考评活动。班组内有4人正在参加各类大专、本科的自考学习,还有冯晓娟、刘红梅、宁喜荣、周晓曼、蔡双红5人代表车站参加了段业务技术比武活动,活动中有4人被段选拔参加路局技术大比武活动。岗位成员的文化素质和技能在不断提高,班组内学习气氛浓厚。 二、任务评比,增运增收。票房工作是车间生产任务标志性的体现,同时也是经济效益的体现,因此我们班组把营销进度列入了日常工作计划,在售票房内墙壁上将每日发送人数、亏欠人数及时记载公布,起到了很明显的督促作用。在班组内我们将售票员个人完成发送人数与讲评考核及奖金分配挂钩,实现了良性的任务评比制度,增强了售票员的危机感、责任感、,增强了售票员的营销意识。在全局生产任务紧张情况下,班组人员积极加强了返程票、联程票的销售力度,大打增运增收攻坚战,取得了较大成效。为保证完成车间生产任务,班组人员在计划室的带领下深入各大院校、厂矿、部队提供上门服务,受到了一致好评。在现场值班员的指引下,班组人员积极配合站台乘降组织,将乘降难度大的车次分流于临客车次,降低了工作难度、提高了工作效率。 三、打击违法犯罪,确保旅客利益,维护铁路形象。从xx年6月售票班组实施岗位人员优化调整后,我们以崭新的面貌、全面的业务技能、良好的思想作风,坚持“以人为本”以最大能力打击“票贩子”、“票托”等违法分子的生存空间,我们做到了坚决不以票谋私,坚决不与票贩子勾结,权利维护铁路正常售票秩序和广大旅客的合法权益。 四、建文明岗,树服务明星,减少路风投诉。继全路开展“树标塑形”活动后,我们售票人员都注重仪表、着标准装、干标准活、持之以恒的使用文明用语,做到了“请”字当头。在班组中,我们每月开展以比出勤、比服务、比文明、比安全生产的岗位劳动竞赛,从中涌现出一批先进个人、岗位能手,形成了一股你追我赶的竞赛热潮。在车间开展的“做文明职工、评服务明星”活动中,有宁喜荣、王芳丽2名售票员先后被评为服务明星。班组成员牢固树立了“建、创、做”活动意识,“你的满意、我的追求”的理念深入人心。对评选出的先进人员形象照片在醒目处张贴,促进大家的工作热情,给旅客也留下了深刻的印象,同时促使本人不断的进步,保持优秀的工作状态。在这一年中,班组人员为旅客做出好人好事12件,收到表扬信件9封,锦旗3面。班组人员在服务态度上有很大的提高,违章违纪大幅度下降,路风投诉与路风不良反映明显减少。 五、开展丰富多彩的活动。为了营造售票班组朝气蓬勃的氛围,我们在繁忙的工作之余开展了多姿多彩的活动,在车间拔河比赛中我们发挥了团结协作精神,在不敌对手的情况下大家不气不馁,充分体现了班组中团结、紧张、严肃、活泼、不骄不躁的作风。 总结了一年来客运车间售票班组的各方面工作后,我们将在今后工作中坚持不移地贯彻“xx大”精神,在政治上更加严格要求,在思想上加强修养,在技术领域里不断学习,永攀高峰,紧密围绕上级制定的目标开展工作,为我段、站安全生产工作做出更大的贡献!篇二:收费站班组工作年终总结 班组年终总结 时光如梭,2011年很快就要过去了,即将迎来崭新的2012年,在这新旧交错的季节里,我内心不禁感慨万千。回首过去的一年,首先要衷心的感谢站领导在工作上给我指明了正确的方向,其次要感谢同事们在平时的工作中给了我大力的支持,让我有信心和动力做好班组的各项工作。 我们收费一班,一共14名员工。我们是一个团结的队伍,我们是一个优秀的集体,是一个努力团队。我们在一起一同为了一个目标而努力,就是要把收费工作给做好,努力成为最优秀的班集体。我们坚决拥护站领导,认真的完成领导交办的各项工作和任务。遵守国家法律法规和公司以及站部制定的各项规章制度,在收费征收工作中做到应征不免,应免不征。认真履行岗位职责,尽心尽责完成本职工作。 对今年的工作经过一番思考,现在从以下几个方面对这一年的工作进行总结,这一年我们班从文明服务、岗上纪律、收费业务、打击逃费的车辆、文明创建、员工思想动态、等方面为重点展开工作的。 一、文明服务 收费站是最能体现优质文明服务的地方,我们是窗口单位,我们每天服务于广大的司乘朋友。我们的一言一行、一举一动随时随地的展现高速公路的形象。关于优质的文明服务,站部也非常重视,对每一个手势、每一个动作、文明用语、微笑服务、落实到个人,要求每一名员工都能自觉按到要求做好。我们雷锋班每一名员工首先从思想上都能高度重视,都能按照公司及站部的要求严格要求自己。从迎宾手势——微笑服务——唱收唱付——转身目送。我们在文明服务上热情与真心,以诚待人。用最真诚的微笑和最衷心的祝福,送给南来北往的司乘人员。我们的优质服务的到了广大司乘人员的高度认可,不仅每天都有司乘人员当面称赞。还多次收到感谢信,以及96777表扬。在站部也多次被授予“先进班组”的光荣称号。对于这些我们并没有满足,我们要求做的更好,要让每一位过往的司乘朋友都称赞我们的服务的好,给他们留下最美好的印象。 二、岗上纪律 班组对岗上要求是非常严格的,首先认真学习各项规章制度、收费员百分制考核办法,以准军事化的标准严格要求。其次从小事做起、从细节抓起、杜绝岗上各类违纪违规现象的发生、不做与工作无关的事情。 三、收费业务 收费业务技能是每一个收费员都应该熟悉掌握的,收费业务的好坏直接影响收费工作的顺利开展。我们在收费业务方面认真学习,刻苦专研,学习各类收费业务知识,熟悉掌握各类收费征收政策,努力提高特情处理能力,保证收费道口的畅通。不仅如此我班还每月定期带领组员练习点钞、点卡、还出关于收费的业务试卷,通过多种形式多种方法努力提高大家的收费业务技能。 四、打击逃费的车辆 班组今年对利用各种方法逃费的车辆进行的严厉的打击,为公司减少经济损失。特别是今年增加“绿色通道”,“绿色通道”的意义是什么,总的一句话“为了就是稳定物价,稳定消费价格总水平,保障人民群众最基本的生活。”但在今年的查验的过程中发现很多不法司机受利益的驱使假冒“绿色通道”偷逃通行费。如果不认真的检查,不认真的把关,就会被那些弄虚作假的车辆,蒙混过关,有司乘之机。也会一传十,十传百,会有更多的司机弄虚作假,冒充“绿色通道”。这对我们正常通行费的征收会有很大的损失,而且会严重影响正常的市场秩序,打乱正常供求关系,造成不正当的竞争等众多不利之处,给国家造成重大的难以估量的损失。所以对绿色通道的检查就要格外的认真,严格的把关。在今年打击这类车辆应该说还是取得了一定的成绩,狠狠的打击了偷逃通行费车辆的嚣张气焰。在今后的工作中我也会带领大家努力钻研业务,刻苦学习,发现新的问题,杜绝利用各种方法逃费的现象发生,为高速公路通行费正常征收做出贡献。 五、文明创建 班组文明创建工作一直以来都进行的有声有色,从2008年一开站到现在就把文明创建工作放在重要的位置,我们先后开展了,“虎凤蝶行动”、“义买报纸活动”、长期关爱脑瘫儿童、看望孤寡老人和家庭困难的人,为灾区儿童捐书,看望了“明心幼儿园“患有自闭症的小朋友们等等,今年我们依旧多次看望了我们长期资助脑瘫儿童王鹏小朋友给他送去了我们的爱心。我们的爱心的活动得到 了社会的广泛好评,被东方卫报、扬子晚报、金陵晚报多家媒体多次报道。我们的爱心活动让更多的人知道了宁杭高速,知道南京站有这么一个雷锋班,一个光荣而又优秀的集体。文明创建活动我们雷锋班还会一如既往做下去,我们的爱心奉献也会一直延续下去,尽我们最大的努力去帮助需要帮助的人。 五、员工思想动态 我始终认为班长是为班组员工服务的。一方面,我以身作则,按照各项规章制度,高标准的要求他们,对一切违规操作、不合理操作及时纠正制止,严格控制;另一方面,关心爱护班组成员,满足他们提出的合理要求。平时也多和班组员工聊聊天、多组织班组集体活动、通过良好的沟通,了解员工的思想动态。团结互助,先人后己,同舟共济,共度难关。创造班组有一个和谐的气氛,和班组员工共同努力把各项工作给完成好。一个人的力量是渺小的,但集体的力量是无限巨大的。而我的工作就是发现每一名员工的优点,发挥他们的潜力,带好这个优秀的团队。调动起每一名员工的工作积极性,把大家都凝聚到一起,齐心协力勇攀高峰。班组员工也深深知道这一点,一切以班组利益为重。 2011年班组在全体员工的共同努力下取得一定的成绩,但也存在着许多不足之处,这需要我们去总结、去探讨、去改正。2012年即将来临我会严格要求自己,以身作则,带领全班员工带领我们雷锋班有计划、有目标把各项工作给完成好,为高速公路事业添砖加瓦。篇三:车站工作总结 工作总结 弹指一挥间,2009年即将逝去。在这一年里,我认真贯彻执行集团公司以及分公司的有关指示精神,围绕分公司布置的各项任务,认真开展工作,本着对工作负责的态度,严格要求自己,以身作则,力争一流。为工作目标不断的总结经验,努力工作,并在实践中学到了知识、经受了锻炼。这一年来,我主要从以下几个方面开展了工作 一、努力提高自身素质,加强班组领导,落实各项管理制度。 车站的管理根本在于对人员的管理,而其中站班组人员更是起到了核心的作用,带头的作用,充分发挥班组成员的积极性、代表性、示范性,以点带面,全面落实各项管理措施,为此我根据其工作特点,对班组成员进行了专门的分工,各人有各项的具体布署和分管内容,目标分化,任务落实到各个岗位“千斤重担人人挑,个个头上有指标”从而彻底纠正了过去那种班组成员分工不明,思想不统一,人心焕散的现象。同时在此基础上我站建立健全了以岗位责任制为主的包括劳动纪律制度、安全管理制度、工作交接班制度等十多项规章制度,并分发各职工组织学习,在工作中突出以制度管理的特点,体现了公平性、透明性及适用性,受到了广大站务职工的欢迎。另外针对个别工作不扎实,无责任心,不能胜任工作的班组成员,毫不心软,按“能者上,庸者下”的原则,进行了调换,今年我站空值班组、服务班组,就撤消班长x人,调换班长x人,而实事证明,这样做极大的提高了职工的积极性,人人有了动力和压力,工作起来更加努力。 为提高全站服务质量,树立车站文明“窗口”,分公司于今年x月 举行一次“如何提高执行力”的知识充电,由客运分公司杜经理亲自主讲。讲课的内容十分生动,可谓“入木三分”。分公司全体管理人员都参加了此次听课,并要求人人撰写学习心得体会。我也按照分公司要求,从上到下的贯彻和执行学习内容,从自身做起,在工作和生活中我不断通过学习丰富自己,来提高自己的业务技能素质;完善管理机制,积累管理经验是我一直工作的重心,把做好真正切实提高员工素质、提高服务质量放在工作首位。通过分公司领导的指导和站班组成员的共同努力,使全站上下面貌焕然一新。员工的业务素质也得到了极大的补充和提高。 制度的建立只是一个基础,而执行落实才是首要,不流于形式,不搞表面工作,是我在今年工作中一直倡导要求的,我站专门成立了劳动纪律督查小组,由站长任组长,副站长及各班组成员为组员,由站长亲自领导,每天对车站各岗位的劳动生产情况做不定期的检查,发现问题,按有关规章制度予以相应处罚,对个别严重违纪人员作出了下岗处理的决定,今年共计查处违纪人员 x人次,罚款xxx元,下岗x人,维护了制度的严肃性,使全站上下的工作作风有了非常大的改变。 在平时日常工作中,面对出现的各种问题,更是要充分发挥民主集中的原则,不搞“一言堂”,定期召开班组工作会议,商议讨论有关重大问题。今年共计召开了站班组工作会议xx次,通过了有关处理意见、决议共计xx项。保证了公正性和透明度,使员工有归属感和主人翁的意识。 二、确保安全,搞好卫生工作。 安全是运输生产的重点,向安全要效益不是一句空话,有针对性的做了以下几点: 1..建立了车辆安全检查(门检)制度,对出站车辆进行安全检查,做到“三不进站、五不出站”的要求。即易燃、易爆和易腐蚀等危险品不进站、无关人员不进站(发车区)、无关车辆不进站,超载客车不出站、安全例行检查不合格客车不出站、驾驶员资格不符合要求不出站、客车证件不齐全不出站、出站登记表未经签字审核不出站。内稽组和三品检查班服务人员严格执行此规定,为广大旅客的生命财产安全提供了必要的保障。2..要求车站服务人员加强乘车安全宣传教育,严格查堵危险品,做好旅客行包和携带物品的危险品检查登记处理工作。 3..上车服务员做到每一趟车对旅客进行一次乘车安全常识的宣传,发车时绕车一周,检查有无不安全因素,无,方可发车,发车时,服务人员应正确引导车辆安全倒车出库,确保站场安全。 4..广播员每天上午、下午进行四次乘车安全常识宣传,提醒旅客在候车时、上车前,注意保管好自己的随身贵重物品,照看好小孩。确保旅客的正常出行和人、财安全。 卫生工作是车站的门面,是直接关系到旅客对我站的第一印象,原来我站的卫生工作存在着一定脏、乱、现象,旅客对此也颇有微词。今年以来,通过人员合理调配加大这方面的投入,将卫生清洁人员从原来的x人增加到了x人,并规定随脏随扫,谁出现问题找谁负责,责任落实到人,到现在车站的卫生状况有了很大的改观,站场清洁干净了许多,赢得了广大旅客的好评和赞赏。 2009我在自身工作上虽然取得了一定的的成绩,但我们也还存在诸多不足,比如我站在站场管理及人员管理方面,也没有全面的落实和实施,职工的职业素质也亟待提高,在2009年我站需要在以下方面多做功夫:1.积极开辟新的班次,增加企业效益。2.扩大多种经营,努力加大非客运招揽收入在总收入中的比例,加强企业的抗风险能力。3.加强管理,确保运输生产秩序化、规范化。4.提高职工的福利,增加职工工资。 目前我站的主要收入还是靠日常发班从售票收入中提取劳务费,其它方面的收入所占比例不大,这种局面就决定了运输生产工作是我站工作之中的重中之重,我建议采取以下几点措施: 1、加大对站场设施基础的设入。随着人们生活水平的不断提高,旅客对乘车环境、乘车秩序、乘车工具有了更高的要求,为适应社会发展潮流,我站应加大投入对部分站场设施进行更新,比如侯车室内已坏的座椅、破损的乘车公告牌、各种图表等。 2、应对站场停车区重新进行科学的规划。随着公司的日益发展,新增车辆越来越多,每天都会有早班车辆经常出现被前车堵死而无法驶出应班,从而导致晚点的现象出现。应明确科学的划分待班区,发班区,修车区,停车区。所有进站车辆应配发进站卡,根据车辆应停区域的不同发放不同颜色的进站卡,如发现有乱停乱放的车辆要对其进 行劝导,对屡教不改的坚决罚款。杜绝一切外来车辆无故进入车站。从而使整个站场更加美观实用,秩序井然。 3、加强对站场的管理工作。针对“票贩子”拉客、卖客的现象和过境车辆偷客的情况,应需要运管办安排专人专车,上街主动出击,打击非法营运。对车站前坪的士“拉客”“抢客”的现象应举全站之力重点打击。因为的士拉走、抢走的不仅仅是车站的钱,还有“形象”。另外应安排运管办、综治办、机动队人员划定责任区域,责任到人流动值勤整治站场秩序。对于车站内“喊客”的现象应予重点处罚。还站场一个“清新”的次序。杜绝一切拉客、喊客现象。 4、加强服务人员的思想素质提升。车站乃至分公司的管理者应用跨越式发展的崭新思维,对我们所属行业进行二次“定位”。要以科学的目光与市场经济的思维,从跨越式发展的高度,重新认识我们的管理工作与经营性质。我们应从自身做起,不应把自己看做一名管理者,应自身认识到自己是一名服务人员,以自己做出榜样,从上到下的带动基层服务人员。让他们主动实施“换脑”工程。只有使这种思想观念的跨越成为每个车站、每个员工、每个生产岗位的自觉行动,全面提高我们的思想素质,车站效益的跨越式发展才能成为现实。 5、大打“品牌牌”。衡汽集团在衡阳地区乃至全省的客运行业中都是一个佼佼者,我们应努力提升我们“产品”的硬件与软件,让所有消费者都有“安全、舒适、快捷”的感受。让旅客觉着:坐衡汽的车就是放心,就是舒适。 车站售票岗学习心得 近日总站实行换岗学习,一岗多能。我有幸在三,四,五号三天于阳光售票班参加学习。此次学习让我感触颇多,学习到以前所不知道的东西。此次学习让我感触颇多,学习到以前所不知道的东西,更好的熟悉了售票工作,也掌握了更广泛的服务技能。对于我们总站员工是一种锻炼,也是很好的提升完善自己的机会。 李XX主任安排我与李XX学习。娜姐温和耐心,无论是对待旅客还是同事都平易近人。售票过程中严格按流程操作,使用文明用语,耐心介绍保险以及远程票......让旅客感受到温馨周到的服务。 在没有接触售票工作之前会认为售票非常复杂,当我坐到椅子上亲自售票时非常紧张,娜姐及其他售票员都告诉我不要紧张,当我第一张票买完时,已经是满头大汗,十分紧张,师傅在旁边鼓励,于是第二张,第三张.....每一张票都是进步。第三天,李瑞主任安排我独立售票,我自己小心翼翼的准备好每一个步骤,坐下深呼吸,“您好,请问去哪里?”“临清快客一张”“临清快客15一张,收您100找您85”虽然比起售票员很慢。但是每一步按流程操作,减少差错率。慢慢的,一张一张越来越好,抽屉的钱越来越多,售票完毕清点票款,票款无误,自己很有成就感。 三天的学习时间虽然很短,但在我的人生中留下了珍贵的记忆,换岗学习使我带着问题做学生,在实践中不断提高自己,完善自己,不再单纯的在自己的岗位做井底之蛙,而是更好的学习更多的技能,可以实现更多领导交给我的工作,实现企业更良好的运转。 这次学习,让我在工作中很有进步,对售票工作进一步了解,无论是售票还是检票工作,都需要我们员工认真对待,按工作流程操作就会降低差错率,本身作为服务性行业,必须提高自身综合素质,为旅客提供优质服务,感谢领导提供这次学习的机会,不仅提高自身综合能力,还增进班组团结,同事间可以取长补短。第四篇:车站售票班组工作总结
第五篇:车站售票岗学习心得