1、售票记录订票信息查询顾客信息核对后的顾客信息车票记录 订票记录1. 4数据字典1.数据项票号、票价、车次、日期、车型、开车时间、票种、座位号、起始站、终点 站、身份证号、银行卡号、数量、退票时间、退票手续费、订票时间、订票 手续费2 数据结构表1. 1车票的数据结构DS04-01 车票DS04-02:车票标志DS04-03:车次信息DS04-04:座位信DS04-05:票价信11 :车票编号I3 :起始站18 :座位号19 :全票价I2 :车票类型I4 :车次编号I10 :折扣15 :终点站16 :发车时间17 :乘车日期3数据流数据流编号:D04-01数据流名称:车票简述:车票有关信息数据流
2、来源:用户执行售票操作结果数据流去向:购票旅客数据流组成:车票编号+车票类型+车次信息+座位信息+票价信息4 数据存储售票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型,票种,座位号,售出时间退票记录:车型,票种,座位号,退票时间订票记录:票号,起始站,终点站,票价,车次,日期,开车时间, 车型,票种,座位号,订票时间,顾客身份证号缺票记录:票号,起始站,终点站,票价,车次,日期,开车时间, 车型,票种车票记录:票号,起始站,终点站,票价,车次,日期,开车时间, 车型,票种,座位号,售出时间,票数5处理过程车票汇总:工作人员将一天所售出的票进行统计,包括票数,票类, 形成确定的车
3、票记录。查询:将顾客需要的车票信息输入系统,并查询其是否可供应。 查询顾客信息:为订票所设, 将顾客的准确信息记录, 为其预定所车票。 处理买票:进行买票交易,把顾客需要的票(可供应)售出,并在系统 中作相应记录,确定车票记录。处理订票: 进行订票交易, 工作人员为顾客预定其所需车票, 并在系统 中作相应记录,确定订票记录。处理退票: 进行退票交易, 工作人员为顾客办理退票手续, 并在系统中作相应记录,确定退票记录。2概念及逻辑结构设计2.1E-R 图本系统根据以上的设计规划出的实体有:车票实体、车站实体、顾客实体。各 个实体具体的描述E - R图如下:图2-2顾客ER图丰匚曲口 新票号日期原
4、票号换票隹亜口 xK换票时间换票手续费W p票号退票退 票 时 间退 票 手 续 费订票数量顾客身份证号交易金额图2-3实体之间ER图2.2关系模型:车票与顾客之间的联系售票 1: N车票(票号,车次月期,车型,票价,开车时间,票种,座位号,起始站,终点站)顾客(身份证号,银行卡号 ,票号)退票1:顾客(身份证号,银行卡号,票号,退票时间,退票手续费)订票1:N顾客(身份证号,银行卡号,票号,日期,交易时间,交易金额,数量,起始站,终点站)2.3数据库结构表2.1 Car表详细设计字段名数据类型是否主键是否必填字段说明CarID文本是CarType数字P否否客车型号PlateNumber车牌号
5、CarHolder责任人Runnin gWay经营路线SeatLimit否座位限额OutSetTime日期/时间表2.2 Seat 表详细设计是否主键Date时间/日期Termi nalSelled是/否票是否售出Price车票价格表2.3 PriceDiscount 表详细设计RecordNumber自动编号记录号TicketTypeIDDisco unt车次表2.4 Price 表详细设计Termi nallD终点站编号OutStati onTermi nalNameTNPYCode拼音码TicketPrice票价表2.5 Type 表详细设计RecordID车票类型编号TicketTyp
6、e3数据库设计本车站售票系统有两个实体,分别是车票和顾客,利用SQL建表如下:列名檢度允许空Jchar10车枚开车时间车型cha*7检農口uh飪IQ1/票种数禹类型长度允许空chr银行卡号4 系统软件结构4.1. 系统功能设计汽车站售票管理系统主要设有五个主要功能模块: 分别是车次管理、 票价管 理、票务管理、用户管理和查询管理。如图 4-1 所示。1车次管理模块 该模块主要实现车次信息的编辑。车次管理中的数据源为 Access 数据库中 Car 表,在此管理部分中,能够使用界面操作实现车次信息的编辑,并将数据库 中的数据按照编辑的要求来及时更新数据表中的相关数据。2票价管理模块该模块主要实现
7、票价信息的录入、 修改与删除以及票价折扣信息的录入、 修 改与删除。 票价详细信息的录入、修改、删除,它的数据源为 Access 数据库的 Price表。在此管理部分中,通过票价管理(FrmPriceManage)界面来选择记录 并决定执行何种操作, 是修改、 添加或删除。 当命令为修改或者添加时则自动跳 转到票价编辑窗体 (FrmPriceEdit )实现票价信息的编辑并更新数据库中相应数 据记录。3票务管理模块 票务管理部分实现前台售票、前台退票功能。主要完成售票、远程售票、废 票、取消废票功能、改签票、退票、取消退票功能、补票、售票查询和票款结算 单填写等功能。4用户管理模块该模块主要实
8、现用户添加, 用户信息修改与用户的删除。 所有系统用户的管 理,包括系统普通用户与系统管理员。此管理模块数据源为 Access 数据库的 Users表。在系统主界面中首先进入的是名称为 FrmUserMan的用户管理主窗体, 通过提取用户名、 用户类型来查看用户具体信息, 选择添加或删除用户进入名为 FrmUserEdit 的用户编辑界面进行操作,操作完成便更新数据库数据。5查询管理模块 该模块主要实现拥护通过查询界面可以根据条件进行车次时刻、 车次票价查 询。4-1 功能模块图4. 2其他需求汽车站售票系统数据库中的数据量十分庞大,而且更新速度十分快。在数据 大小方面要求数据的属性要设置合理
9、, 假如是数据的属性值越大,则数据本身所 占用的容量也就十分的庞大,不但会造成传输的不方便甚至错误, 也更加重系统 的负担,有可能削弱系统运行速度,使得系统无法达到预期的目的。另外,在整 个系统当中要确保数据在保存与传递过程中的安全, 以免发生严重的错误,造成巨大的损失。4. 3说明正常出售本站所有车次车票,并按要求打印出车票。远程售票正常出售远程车站所有车次车票,并按远程车站的要求打印出车票 废票在正常售票过程中,可能因操作失误或打印机械故障等原因造成错票而作废车取消废票当废票时,发现废的票是不应该废的,即为正常票,需要通过取消废票来实现。远程废票对所售远程车票作废票处理。在正常退票时间内办
10、理退票,并根据退票规定收取一定的手续费。远程退票对所售远程车票作退票处理。取消退票当退票时,发现退的票是不应该退的,即为正常的票,需要通过取消退票来实现。改签票由于乘客或车站某种原因需对已出售的车票作更换车次的车票。 改签仅允许改签一次。远程改签票对所售远程车票作改签处理。注销票删除某些由于调试程序所用的票记录及其影响。补票只能在超过售票时限后进行,且在未发车之前,在统计时注意对非微机售票的票 的处理(例如:剪刀票)。售票查询通过一定的授权和设定售票员可以查询在设定时间范围内或多少张票以前的出售、作废、改签和退票的情况,并对有权限的人员可有累计票款服务。票款结算单售票员每天售完车票后填写每日结
11、算单,以便财务人员查询。重打车票在正常售票过程中, 可能因打印机械故障等原因造成错票而重新打印车票。售票类型车票中所有联都应有的信息为车次、起止站点、票价、发车日期时间,而正联所 特有的信息为售票员工号、检票口、是否改签票、车票上应有的信息:车票固有 票号、计算机打印的票号、票号条形码(仅用于自动检票的车站)。( 2 )车票类型1)正常班次车票:发售的当天或预售正常轮班车次的车票。2)远程售票:发售远程车站车次的车票,其打印格式同远程车站。3)流水班次车票:发售的流水班次车票。4)退票和改签票:退票分为A、 正常退票。办理标准规定退票时间内的退票。B、 强行退票。在超过时限后退票,即强行退票。
12、补票: 补票只能在超过售票时限后进行,且必须在未发车之前。订票: 设定定票有效期限,在有有效时限保留座位,有效时外释放座位等。 票种的定义1全价票2半价票 允许设定可用标志,自由定义名称。3免票 只允许设定可用标志。4优惠票 1-3 允许设定可用标志,自由定义名称。5折扣票 对原票价的基础上进行一定的打折,有严格的权限控制。5 程序模块设计5.1功能模块详细设计5.1.1 车次管理模块代码实现Private Sub Cmd_OK_Click() 检查用户录入数据的有效性If Len(Trim(txtCarID) = 0 ThenMsgBox 请输入车次编号 txtCarID.SetFocusE
13、xit SubEnd IfIf Len(Trim(txtOutTime) = 0 Then 请输入发车时间 txtOutTime.SetFocus 把用户录入的数据赋值到数据库对象变量中With MyType.CarID = MakeStr(txtCarID) 车次编号 .OutSetTime = MakeStr(TimeEdit) 发车时间 .RunninWay = MakeStr(WayEdit) 经营路线 .CarType = MakeStr(TypeEdit) 车辆类型.PlateNumber = MakeStr(CNnEdit) 车牌号 .CarHolder = MakeStr(Ho
14、lderEdit) 责任人.SeatLimit = MakeStr(LSeatEdit) 额定座位 根据变量 Modify 决定是插入新数据,还是修改已有的数据 If Modify = False Then.Insert 插入新数据Else 修改.Update (nId) 修改已有的数据End WithUnload Me 关闭窗口5.1.2 票价管理模块代码实现 票价管理部分代码如下(信息添加过程) :Private Sub Cmd_Add_Click() 初始化 FrmDiscountEdit 信息FrmPriceEdit.txtTerminalName = FrmPriceEdit.txt
15、TNPYCode = FrmPriceEdit.txtCarID = FrmPriceEdit.txtTicketPrice = FrmPriceEdit.Modify = FalseFrmPriceEdit.VarTermanalID = OriTerminalIDFrmPriceEdit.ShowRefreshDataEnd Sub5.1.3 用户管路模块代码实现(编辑窗体代码) :If Trim(txtUserName) = Then 请输入用户名 txtUserName.SetFocusIf Len(txtPass) 5 Then 密码长度不能小于 5txtPass.SetFocust
16、xtPass.SelStart = 0txtPass.SelLength = Len(txtPass2)If txtPass txtPass2 Then 密码和确认密码不相同,请重新确认 txtPass2.SetFocustxtPass2.SelStart = 0txtPass2.SelLength = Len(txtPass2) 判断是否存在同名用户With MyUserIf Modify = False Or OriUser = 3 Then 您已经三次尝试进入本系统,均不成功,系统将关闭 DBapi_DisconnectEndElseExit Function 判断密码是否正确MyUse
17、r.GetINfo (NameKey)If MyUser.Pwd 登陆成功,将当前用户的信息保存在 CurUser 中 CurUser.UserName = MyUser.UserNameCurUser.User_type = MyUser.User_typeCurUserEmpID = MyUser.EmpID 关闭自己并显示主窗体FrmMain.ShowEnd Function( 2)主窗体 (FrmMain) 代码汽车站售 设置数据库连接字符串票管理系统 .mdb Presist Security Info=False 系统登陆界面FrmLogin.ShowPrivate Sub PJC
18、X_Click()Private Sub PJGL_Click()FrmPriceManage.ShowPrivate Sub SPGL_Click()FrmTicketSell.ShowPrivate Sub TPGL_Click()FrmBack.ShowPrivate Sub XGMM_Click()With FrmUserEdit.OriUser = CurUser.UserName.txtUserName = CurUser.UserNameIf CurUser.User_type = 1 Then.ComboType.AddItem 系统管理员 普通用户 .ComboType.Li
19、stIndex = 0.ComboType.Enabled = False.Modify = True.Show 1Private Sub YHGL_Click()FrmUserMan.Show 没有权限 Private Sub ZKGL_Click()FrmDiscount.Show(3)售票窗体( FrmTicketSell )代码Private Sub Cmd_Search_Click()GridRsfresh 根据条件查询所有信息Private Sub Cmd_Sell_Click()Dim ComboDate As String, TNPYCode As String, CarID As String Dim left As IntegerDim seatnumber As StringDim strseat As
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1