1、项目概要
功能要求方面,本系统主要实现票务管理(票额分配、票价调整)、列车管理(车次线路安排、安排车厢)、车票发放以及基础信息管理功能。
1)
票务管理的主要功能有车票定价、票额分配
车票定价:旅客的票价主要由3部分组成,第一部分为客票基础票价,客票基础票价包括硬座、软座、市郊客票价格。其中硬座票价为基础票价,软座等票价均以硬座票价为基础按照一定比率换算。第二部分为附加票票价,附加票票价包括加快票票价、卧铺票票价、空调票票价,附加票票价也是以硬座票价为基础按一定比率换算。第三部分为保险费票价,保险费按硬座客票基本票价的2%计算,作为旅客旅行中发生意外伤害时支付保险费的基金。基础票价的计算:各区段分别按其区段里程计算,根据各区段的递减票价率,计算出该区段的全程票价和最后一个区段按中间里程求出的票价相加,即为基础票价。
票额分配:各铁路局分票工作人员根据该局列车所途经站点的待购票人数合理地将票分配的沿途各站。
2)
列车管理主要是为列车合理地安排运行线路和对列车基本信息的维护。
3) 列车的车票进行完票额分配将提前生成的票保存到票库后,有很多的票是网上购票的旅客和车站售票工作人员查不到的(例如预留票要距离列车开车前6个小时才能发售)。生成在票库的车票需要放票工作人员定期发放到网上和车站发售,旅客才能查到票和购票。
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用来保存车厢的席位类型(如上铺 中铺 硬座)