广东信息科技职业培训学院
软件工程与外包服务学院
项目实训总结书
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
项目名称: 火车订票后台管理系统
技术架构:C# / WPF
完成起止时间:2016 年 3 月 1 日~2016 年 4 月 30 日
授课教师:张艳红老师
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
班级:一班 姓名: 杨楠
手机: QQ: 1576687685 微信:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
广信学院教务科编制
目 录
1、项目概要 ........................................................................................................................................................ 2
2、数据库设计 .................................................................................................................................................... 3
2.1 数据表 ................................................................................................................................................... 3
2.2 业务表及其字段 ................................................................................................................................... 4
3、设计与实现 .................................................................................................................................................... 7
3.1-1 功能实现 .................................................................................................................................... 7
3.1-2 表和关系 .................................................................................................................................... 8
3.1-2 经典代码 .................................................................................................................................... 9
3.2 功能 2 名称:不同路线进行拼接形成一条路线 ............................................................................... 9
3.2-1 功能实现 .................................................................................................................................... 9
3.2-2 表和关系 .................................................................................................................................. 10
3.2-2 经典代码 .................................................................................................................................. 10
3.3 功能 3 名称:查询所有剩余的车票 ................................................................................................. 12
3.3-1 功能实现 .................................................................................................................................. 12
3.3-2 表和关系 .................................................................................................................................. 12
3.3-2 经典代码 .................................................................................................................................. 12
3.4 功能 4 名称:combox 的自动完成源 ............................................................................................... 13
3.4-1 功能实现 .................................................................................................................................. 13
3.4-2 表和关系 .................................................................................................................................. 13
3.4-2 经典代码 .................................................................................................................................. 13
4、技术总结 ......................................................................................................................... 错误!未定义书签。
1、项目概要
系统主要功能模块有:
(1)列车信息:在列车信息管理模块中有不同的车厢类型席位分布的管理,列车的新增、
修改、删除等操作功能,列车与车厢是一对多的关系。
(2)列车路线:可以添加途径的站点形成某一条线路,比如京广线就是起始站为北京终
点站为广州的线路。一台列车可以经过很多条线路形成属于它的一条路线。
(3)站点维护:对站点信息进行新增、修改、删除等操作
(4)员工信息:对售票员工或管理员进行操作。
(5)网上用户:用户管理模块主要审核网上用户注册的信息。
(6)系统维护:用于备份还原系统数据。
(7)生成车票:设置生成的学生票、预留票、网上票的个数,可以按照设置的方式生成
某一段时间段的车票保存到票库中。
(8)查看车票:查看某一台车某一天的所有车票。
(9)余票查询:查看某一个起始站到终点站的所有列车剩余票数。
(10)计费管理:乘客的票价是由基本价格(客票票价+附加票价)、联合票价(客票发展
金、候车室空调费、卧铺订票费)相加得出来的,在计费管理模块中可以设置计费
的方式和收费的价格。
(11)退票管理:可以查看和操作用户的退票情况。
(12)销售管理:在这里可以查看的每一个季度或一个月的某一个地方的销售情况以便制
定相应的销售方法或票务的分配。
2、数据库设计
实体表开头用 t,关系表开头用 r,之后接模块名,数据库表按照三范式来设计。
2.1 数据表
SN
数据表
描述
系统数据表:
员工表
投诉记录表
班次表
网上用户表
常用联系人表
乘客审核表
列车车次表
列车时刻详细表
席位价格表
票价设置表
里程价格表
席位类型率表
列车类型率表
站点名称表
车厢信息表
席位编号表
票库表
售票订单表
订单明细表
销售统计表
统计明细表
属性集合表
属性明细表
省份表
市区表
县城表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
t_employee
r_complaint_record
t_schedule
t_online_user
t_common_contacts
t_passenger_audit
t_train_list
t_train_time_detail
t_seats_price
t_ticket_price_set
t_distance_price
t_seat_type_rate
t_train_type_rate
t_site_name
r_car_information
t_seat_number
t_ticket_library
t_ticket_form
r_order_list
t_sales_statistics
t_statistical_detail
t_attribute_mx
t_detailed_mx
T_Province
T_City
T_District
售票员下单流程关系表:
:
票价设置和保存基本席位价格关系表:
2.2 业务表及其字段
t_train_list 列车车次表:
表格说明:t_train_list 表存储基本列车信息供列车时刻票价表调用。
数据表名称
t_train_list
SN
字段
数据型态
数据表描述
长度
null
PK
PK 车次 ID
描述
1
2
3
4
5
train_listID
train_name
train_TypeID
start_stationID
end_stationID
6 R_Date
7
8
distance
no_running
int identity
(10, 0) NO
nvarchar
35
YES
车次编号
int
int
int
nvarchar
int
char
(10, 0) YES
车次类型 ID
(10, 0) YES
出发_车站 ID
(10, 0) YES
20
YES
(10, 0) YES
1
YES
终到_车站 ID
历时
里程
停运否
t_train_time_detail 列车时刻详细表:
表格说明:t_train_time_detail 表详细记录每台列车经过的站点、到发时间、里程数等一些信息。
数据表名称
t_train_time_detail
字段
数据型态
数据表描述
长度
null
PK
描述
train_time_detailID
int identity
(10, 0) NO
PK 车次途径 ID
SN
1
2
3
train_listID
station_id
4 S_No
5 Day
6 A_Time
7 D_Time
8 R_Date
9
distance
10
train_name
int
int
int
int
nvarchar
nvarchar
nvarchar
int
nvarchar
(10, 0) YES
trains_id
(10, 0) YES
(10, 0) YES
(10, 0) YES
20
20
20
YES
YES
YES
(10, 0) YES
35
YES
站点 ID
站序
所需天数
到达时间
开车时间
里程
运行时间
车次编号
t_seats_price 席位价格表:
表格说明:t_seats_price 表记录每列列车每类席位从某一个站点到另外一个站点的价格,其中价格是根
据票价表设置好的计算率进行计算的。
数据表名称
t_seats_price
SN
字段
数据型态
seats_priceID
int identity
(10, 0) NO
数据表描述
长度
null
(10, 0) YES
描述
PK
PK 席位价格 ID
票价设置 ID
(10, 0) YES
列车车次 ID
(10, 0) YES
站点名称 ID(起始站)
(10, 0) YES
100
YES
(19, 4) YES
(19, 4) YES
站点名称 ID(目标站)
里程
硬座价格
软座价格
(19, 4) YES
硬卧上价格
(19, 4) YES
硬卧中价格
(19, 4) YES
(19, 4) YES
(19, 4) YES
(19, 4) YES
硬卧下价格
软卧上价格
软卧中价格
软卧下价格
ticket_price_setID
train_listID
start_stationID
end_stationID
distance
seat_prices
soft_seat_prices
upper_sHard_price
10
in_sHard_price
11
lower_sHard_price
12 upper_sSoft_price
13
14
in_sSoft_price
lower_sSoft_price
t_ticket_price_set 票价设置表:
int
int
int
int
nchar
money
money
money
money
money
money
money
money
1
2
3
4
5
6
7
8
9
1
2
3
4
5
表格说明:t_ticket_price_set 表设置好里程、上浮率、附加费、空调费等的一些基本数据,提供给程
序计算生成席位价格表里的数据。
数据表名称
t_ticket_price_set
SN
字段
数据型态
ticket_price_setID
int identity
(10, 0) NO
数据表描述
长度
null
PK
PK 票价设置 ID
描述
seat_prices
decimal
(18, 4) YES
硬座客票(公里/元)
distance_lenPriceID
air_Rate
seat_tyRateID
int
nchar
int
(10, 0) YES
里程价格 ID
10
YES
(10, 0) YES
空调票率
席位类型率 ID
数据表名称
t_ticket_price_set
字段
数据型态
SN
6
7
8
train_tyRateID
floating_rate
soft_ticket_price
9 wait_Price
10 book_sPrice
t_ticket_library 票库表:
int
nchar
money
money
money
数据表描述
长度
null
PK
描述
(10, 0) YES
列车类型率 ID
10
YES
(19, 4) YES
(19, 4) YES
(19, 4) YES
上浮率
软票费
候车室空调费
卧铺订票费
表格说明:t_ticket_library 表用于保存生成的车票,seat_numberID 是席位编号表的主键,票库中的信
息一旦生成就不会再轻易地去改变的,所以记录的信息都是以字符串来保存。
数据表名称
t_ticket_library
字段
数据型态
数据表描述
长度
null
PK
描述
SN
1
2
3
4
ticket_libraryID
seat_numberID
start_station
end_station
5 mileage
6
duration
7 D_Time
8
9
ticket_types
ticket_prices
10
sold_no
11
reserved_no
12 S_date
13 S_Place
14 production_date
t_ticket_form 售票订单表:
int identity
(10, 0) NO
PK 票库 ID
int
nchar
nchar
nchar
datetime
datetime
nchar
decimal
bit
bit
datetime
datetime
datetime
(10, 0) NO
席位编号 ID
10
10
10
NO
NO
NO
(23, 3) NO
(23, 3) NO
起始站
目的站
里程
历时
开车时间
10
NO
车票种类
(18, 2) NO
车票价格
1
1
NO
NO
(23, 3) NO
(23, 3) NO
售出否
预留否
抛售日期
抛售点
(23, 3) NO
生成日期
表格说明:t_ticket_form 表记录售票员或网上用户下的订单。buy_ticket_usersID 是网上用户表或售票
员表的主键,effective_no 有效否,如果订单生成后在 30 分钟内不进行支付,那么系统将作废该订单。
数据表名称
t_ticket_form
SN
字段
数据型态
数据表描述
长度
null
PK
描述
ticket_formID
int identity
(10, 0) NO
PK 售票订单 ID
int
nchar
(10, 0) YES
购票用户 ID(网上用户 ID/售票员
ID)
100
YES
订单号码
datetime
(23, 3) YES
订单日期
1
2
3
4
5
6
7
buy_ticket_usersID
order_number
order_date
payment_no
effective_no
bit
bit
1
1
YES
YES
支付否
有效否
支付金额
payment_amount
decimal
(18, 2) YES
r_order_list 订单明细表:
表格说明:r_order_list 表记录对应每一张订单所购买的车票的详细信息。
数据表名称
数据表描述
r_order_list
字段
数据型态
长度
null
PK
描述
int identity
(10, 0) NO
PK 订单明细 ID
int
int
nchar
nchar
nchar
nchar
bit
bit
bit
bit
int
(10, 0) YES
售票订单 ID
(10, 0) YES
票库 ID
7
10
10
10
10
1
1
1
1
YES
YES
YES
YES
YES
YES
YES
YES
YES
票纸编号(7 位)
取票站点
购票渠道(网/窗口)
乘车人姓名
乘车人证件号码
退票否
改签否
变更否
出行否
(10, 0) YES
订单明细父 ID(改签、变更后的直
属)
order_listID
ticket_formID
ticket_libraryID
paper_number
tickets_site
purchase_channels
passenger_name
passenger_document_num nchar
refund_no
10 meal_no
11 change_no
12
trip_no
13 order_listFul_ID
t_sales_statistics 销售统计表:
SN
1
2
3
4
5
6
7
8
9
SN
1
2
3
4
表格说明:t_sales_statistics 表统计每个月,每个站点的销售数量和金额。
数据表名称
t_sales_statistics
字段
数据型态
数据表描述
长度
null
PK
描述
sales_statisticsID
int identity
(10, 0) NO
PK 销售统计 ID
statistical_month
total_money
total_votes
nchar
decimal
decimal
10
YES
(18, 2) YES
(18, 0) YES
统计月份
统计月份
销售总票数
3、设计与实现
3.1 功能 1 名称:按照要求动态生成席位
3.1-1 功能实现
3.1-2 表和关系
无关联表关系