1、项目概要
  功能要求方面,本系统主要实现票务管理(票额分配、票价调整)、列车管理(车次线路安排、安排车厢)、车票发放以及基础信息管理功能。
1) 票务管理的主要功能有车票定价、票额分配
车票定价:旅客的票价主要由3部分组成,第一部分为客票基础票价,客票基础票价包括硬座、软座、市郊客票价格。其中硬座票价为基础票价,软座等票价均以硬座票价为基础按照一定比率换算。第二部分为附加票票价,附加票票价包括加快票票价、卧铺票票价、空调票票价,附加票票价也是以硬座票价为基础按一定比率换算。第三部分为保险费票价,保险费按硬座客票基本票价的2%计算,作为旅客旅行中发生意外伤害时支付保险费的基金。基础票价的计算:各区段分别按其区段里程计算,根据各区段的递减票价率,计算出该区段的全程票价和最后一个区段按中间里程求出的票价相加,即为基础票价。
票额分配:各铁路局分票工作人员根据该局列车所途经站点的待购票人数合理地将票分配的沿途各站。
2) 列车管理主要是为列车合理地安排运行线路和对列车基本信息的维护。

3) 列车的车票进行完票额分配将提前生成的票保存到票库后,有很多的票是网上购票的旅客和车站售票工作人员查不到的(例如预留票要距离列车开车前6个小时才能发售)。生成在票库的车票需要放票工作人员定期发放到网上和车站发售,旅客才能查到票和购票。


客运售票系统Java类图 客票系统的主要功能_字段类型


 


2、数据库设计


  (说明:列出整个数据库表名;业务数据表的字段清单)


      火车票务综合系统数据库分析(Tables)




表名 备注


User 用户表 用来记录用户信息


TrainBox 列车车厢表 用来记录列车车厢信息


Passenger 乘客表 记录乘客信息


LinkPeople 联系人表 记录联系人信息


Order 订单表 记录用户订单信息


M_order 订单明细表 记录乘客购票信息


Province 省份表  


Station 站点表  


CarBoxType 车厢类型表  


Seat 座位表  


AttributeCollection 属性集合表


M_attribute 属性明细表


Staff 员工表


Train 车次表


M_train 车次明细表


Ticket 票库表 存放车票


StaffDedicated 员工账号表


Department 部门表


DepartmentRole 角色权限表


SeatType 席位类别表






User表格字段定义: 


字段名称 字段类型

是否主键 描述


User_id Int

true 用户主键ID


UserName nvarchar

账号


UserPassword nvarchar

密码


User表格定义说明:User表格用于保存本系统的使用者的账号和密码信息。User_id是用户的唯一标识,用户名和账号不能同时相同。






Passenger表格字段定义: 


字段名称 字段类型

是否主键 描述


Passenger_id Int

true 乘客ID


PassengerName nvarchar

乘客姓名


IDCard nvarchar

证件号


M_IDCardType_id Int

证件类型ID


M_passengerType_id Int

乘客类型ID


Passenger表格定义说明:Passenger表格用于保存乘客信息,Passenger_id是乘客唯一标识。




TrainBox表格字段定义:


字段名称 字段类型

是否主键 描述


TrainBox_id Int

true 车厢id


Number nvarchar

车厢号


CarBoxType_id Int

车厢类型ID


Train_id Int

车次ID


TrainBox表格定义说明:TrainBox表格用于保存列车车厢信息,TrainBox_id是列车车厢的唯一标识,Number是列车车厢的顺序号,CarBoxType_id对应的是车厢的类型(如硬卧车厢),Train_id对应的是车次。


Station表格字段定义:


字段名称 字段类型

是否主键 描述


Station_id Int

true 站点ID


Station nvarchar

站点名称


ShortCode nvarchar

站点拼音简写


FullCode nvarchar

站点拼音全称


Province_id Int

省份ID


Station表格定义说明:Station表格用来保存站点信息,Station_id是站点的唯一标识。






Ticket表格字段定义:


字段名称 字段类型

是否主键 描述


Ticket_id Int

True 车票ID


TicketNumber nvarchar

车票编号


DriveDate Date

出发日期


TicketGeneratedTime DateTime

车票生成时间


StartStation_M_train_id Int

车次明细ID(出发站、出发时间)


EndStation_M_train_id Int

车次明细ID(目的站、到达时间)


TrainBox_id Int

列车车厢ID(车厢号)


CarSeat_id Int

座位ID(座位号)


Price decimal

车票价格


BuyNo bit

被购否


studentTicketNo bit

学生票否(true为学生 false为普通票)


Station表格定义说明:Station表格用来保存系统生成的车票信息,Ticket_id是车票的唯一标识,TicketNumber对应系统自动生成的唯一的车次编号,DriveDate对应的是列车从某站出发的具体日期(如2015年12月19号),TicketGeneratedTime对应车票生成的具体时间


,StartStation_M_train_id对应车次明细表明细ID(获取出发站和出发时间),EndStation_M_train_id对应车次明细表明细ID(获取目的站和到达时间),TrainBox_id对应的是列车车厢表的车厢ID(获取车厢号),CarSeat_id对应座位表的座位ID(获取座位号和座位席别)Price对应车票的价格,BuyNo对应车票是否被购买,被购买了为true,未购买为false,studentTicketNo对应此车票是留给学生还是给普通乘客的,true是留给学生的,false是留给普通乘客的。






StaffDedicated表格字段定义: 


字段名称 字段类型

是否主键 描述


ID Int

true 主键ID


User_id Int

用户ID


Staff_id Int

员工ID


Role_id Int

角色ID


StaffDedicated表格定义说明:StaffDedicated表格用来保存员工对应的角色(如售票员)、账号、密码。


Staff表格字段定义:  


字段名称 字段类型

是否主键 描述


Staff_id Int

true 员工ID


StaffNumber nvarchar

员工编号


StaffName nvarchar

员工姓名


IDCardNumber nvarchar

身份证号码


Station_id Int

站点ID


Staff表格定义说明:Staff表格用来保存员工具体的信息,Staff_id是员工唯一的标识,Station_id对应的是员工所在的站点




Seat表格字段定义:


字段名称 字段类型

是否主键 描述


CarSeat_id Int

true 座位ID


SeatNumber nvarchar

座位号


SeatType_id Int

席别类型ID


CarBoxType_id nvarchar

车厢类型ID


Seat表格定义说明:Seat表格保存的是不同类型的车厢所对应的座位号和席位类别,CarSeat_id是某一类型车厢的座位的唯一标识。




Province表格字段定义:


字段名称 字段类型

是否主键 描述


Province_id int

true 省份ID


Province Nvarchar

省份名称


ProProvince Nvarchar

省份拼音简写






Order表格字段定义:


字段名称 字段类型

是否主键 描述


Order_id Int

true 订单ID


OrderNumber Nvarchar

订单编号


OrderTime Nvarchar

下单时间


User_id Int

用户ID


PayType_id Int

支付方式ID


Order表格字段定义:Order表格用来保存网上用户和窗口售票人员下的购票订单,Order_id是购票订单的唯一标识,OrderNumber对应系统自动生成的订单号,OrderTime对应用户下单时间,User_id对应下单的用户,PayType_id对应用户的支付方式(如未支付 现金支付 网上支付)




M_train表格字段定义:


字段名称 字段类型

是否主键 描述


M_train_id Int

true 车次明细ID


stationOrder Nvarchar

站序


Station_id Int

站点ID


Mileage int

里程数


NumberOfDay Nvarchar

天数


DriveTime Time

开车时间


ArriveTime Time

到达时间


Train_id Int

车次ID


M_train表格字段定义:M_train用来保存车次所经过的站点的出发时间、到达时间、从始发站到目的站的里程数、运行天数。


M_order表格字段定义:


字段名称 字段类型

是否主键 描述


M_order_id Int

True 订单明细ID


Passenger_id Int

乘客ID


Ticket_id Int

车票ID


Order_id Int

订单ID


M_ticketClass_id Int

票种ID


M_ticketType_id Int

车票状态ID


Remark Nvarchar

备注


M_order表格字段定义:M_order表格用来保存乘客所购买的车票信息。Passenger_id对应乘车人,Ticket_id对应乘客所购买的车票、Order_id对应的是车票所属的订单。M_ticketType_id对应车票状态(如退票 变更到站)




M_attribute表格字段定义:


字段名称 字段类型

是否主键 描述


M_attribute_id Int

True 属性明细ID


Name Nvarchar

属性明细名称


AttributeCollection_id Int

属性集合ID










LinkPeople表格字段定义:


字段名称 字段类型

是否主键 描述


LinkPeople_id Int

True 联系人ID


Passenger_id Int

乘客ID


User_id Int

用户ID


PhoneNumber Nvarchar

手机号


TelephoneNumber Nvarchar

固定电话


E_mail Nvarchar

电子邮件


Adress Nvarchar

住址


Postcode Nvarchar

邮政编号


UserNo Bit

用户否




DepartmentRole表格字段定义:


字段信息 字段类型

是否主键 描述


Role_id Int

True 角色ID


RoleName Nvarchar

角色名称


Department_id Int

部门ID




Department表格字段定义:


字段名称 字段类型

是否主键 描述


Department_id int

True 部门ID


sectionName Nvarchar

部门名称






CarBoxType表格字段定义:


字段名称 字段类型

是否主键 描述


CarBoxType_id Int

车厢类型ID


CarBoxName Nvarchar

车厢类型名称




AttributeCollection表格字段定义:


字段名称 字段类型

是否主键 描述


AttributeCollection_id int

True 属性集合ID


AttributeName int

属性集合名称




SeatType表格字段定义:


字段名称 字段类型

是否主键 描述


SeatType_id int

True 席位类别ID


SeatTypeName Nvarchar

席位类别名称


CarBoxType_id Int

车厢类型ID


AttributeCollection表格字段定义:AttributeCollection用来保存车厢的席位类型(如上铺 中铺 硬座)