package edu.wtbu.dao;
import edu.wtbu.utils.JDBCUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class ScheduleDao {
/**
* 对start表联表查询
*
* @param startDate 查询日期开始
* @param endDate 查询日期结束
* @param startPage 当前页面
* @param pageSize 每次分页抽取数量
* @return
*/
public static List<HashMap<String, Object>> findScheduleListByDate(String startDate, String endDate, Integer startPage, Integer pageSize) {
List<HashMap<String, Object>> list = null;
String sql = """
SELECT
`schedule`.ScheduleId,
`schedule`.FlightNumber,
`schedule`.Gate,
route.FlightTime,
`schedule`.Time,
`schedule`.Date,
DepartureCity.CityName AS DepartCityName,
DepartureAirport.IATACode AS DepartureAirportIATA,
ArrivalCity.CityName AS ArriveCityName,
ArrivalAirport.IATACode AS DepartureAirportIATA
FROM
`schedule`
LEFT JOIN route ON route.RouteId = `schedule`.RouteId
LEFT JOIN flightstatus ON flightstatus.ScheduleId = `schedule`.ScheduleId
LEFT JOIN airport AS DepartureAirport ON route.ArrivalAirportIATA = DepartureAirport.IATACode
LEFT JOIN airport AS ArrivalAirport ON route.ArrivalAirportIATA = ArrivalAirport.IATACode
LEFT JOIN city AS DepartureCity ON DepartureCity.CityCode = DepartureAirport.CityCode
LEFT JOIN city AS ArrivalCity ON ArrivalCity.CityCode = ArrivalAirport.CityCode\s
WHERE
`schedule`.Date BETWEEN ?\s
AND ?\s
LIMIT ?,
?
""";
list = JDBCUtils.executeQuery(sql, new Object[]{startDate, endDate, startPage, pageSize});
return list;
}
public static HashMap<String, Object> findScheduleListByDateTotal(String startDate, String endDate) {
List<HashMap<String, Object>> list = null;
String sql = """
SELECT
COUNT(1) AS total
FROM
`schedule`
LEFT JOIN route ON route.RouteId = `schedule`.RouteId
LEFT JOIN flightstatus ON flightstatus.ScheduleId = `schedule`.ScheduleId
LEFT JOIN airport AS DepartureAirport ON route.ArrivalAirportIATA = DepartureAirport.IATACode
LEFT JOIN airport AS ArrivalAirport ON route.ArrivalAirportIATA = ArrivalAirport.IATACode
LEFT JOIN city AS DepartureCity ON DepartureCity.CityCode = DepartureAirport.CityCode
LEFT JOIN city AS ArrivalCity ON ArrivalCity.CityCode = ArrivalAirport.CityCode\s
WHERE
`schedule`.Date BETWEEN ?\s
AND ?\s
""";
list = JDBCUtils.executeQuery(sql, new Object[]{startDate, endDate});
return list.get(0);
}
/**
* 根据日期和城市查询机票列表
*
* @param startDate 出发日期
* @param endDate 到达日期
* @param fromCity 出发城市
* @param toCity 到达城市
* @return List<HashMap < String, Object>>
*/
public static List<HashMap<String, Object>> findScheduleListByDateAndCity(String startDate, String endDate, String fromCity, String toCity) {
List<HashMap<String, Object>> list = null;
String sql = """
SELECT
`schedule`.ScheduleId,
`schedule`.Date,
`schedule`.Time,
DepartureCity.CityName AS DepartCityName,
DepartureAirport.IATACode AS DepartureAirportIATA,
ArrivalCity.CityName AS ArriveCityName,
ArrivalAirport.IATACode AS DepartureAirportIATA,
aircraft.`Name`,
`schedule`.EconomyPrice,
`schedule`.FlightNumber,
`schedule`.Gate,
`schedule`.`Status`\s
FROM
`schedule`
LEFT JOIN aircraft ON `schedule`.AircraftId = aircraft.AircraftId\s
LEFT JOIN route ON route.RouteId = `schedule`.RouteId
LEFT JOIN airport AS DepartureAirport ON route.DepartureAirportIATA = DepartureAirport.IATACode
LEFT JOIN airport AS ArrivalAirport ON route.ArrivalAirportIATA = ArrivalAirport.IATACode
LEFT JOIN city AS DepartureCity ON DepartureCity.CityCode = DepartureAirport.CityCode
LEFT JOIN city AS ArrivalCity ON ArrivalCity.CityCode = ArrivalAirport.CityCode
WHERE
DepartureCity.CityName = ?\s
AND ArrivalCity.CityName = ?\s
AND `schedule`.Date BETWEEN ?\s
AND ?
""";
list = JDBCUtils.executeQuery(sql, new Object[]{fromCity, toCity, startDate, endDate});
return list;
}
public static HashMap<String, Object> findScheduleInfoById(Integer id) {
String sql = """
SELECT
`schedule`.ScheduleId,
`schedule`.Date,
`schedule`.Time,
`schedule`.AircraftId,
`schedule`.RouteId,
`schedule`.EconomyPrice,
`schedule`.FlightNumber,
`schedule`.Gate,
`schedule`.`Status`,
route.DepartureAirportIATA,
route.ArrivalAirportIATA,
route.Distance,
route.FlightTime,
aircraft.`Name`,
aircraft.FirstSeatsLayout,
aircraft.FirstSeatsAmount,
aircraft.BusinessSeatsLayout,
aircraft.BusinessSeatsAmount,
aircraft.EconomySeatsLayout,
aircraft.EconomySeatsAmount\s
FROM
`schedule`
LEFT JOIN route ON `schedule`.RouteId = route.RouteId
LEFT JOIN aircraft ON `schedule`.AircraftId = aircraft.AircraftId\s
WHERE
`schedule`.ScheduleId = ?
""";
List<HashMap<String, Object>> list = JDBCUtils.executeQuery(sql, new Object[]{id});
return list.get(0);
}
public static List<HashMap<String, Object>> findTicketInfoListById(Integer id) {
String sql = """
SELECT\s
flightreservation.CabinTypeId,
COUNT(1) AS SoldCounts,
COUNT(SeatLayoutId) AS SelectedCounts
FROM flightreservation
WHERE flightreservation.ScheduleId = ?
GROUP BY CabinTypeId
""";
List<HashMap<String, Object>> list = JDBCUtils.executeQuery(sql, new Object[]{id});
return list;
}
public static List<HashMap<String, Object>> findSelectedSeatListById(Integer id) {
String sql = """
SELECT\s
flightreservation.CabinTypeId,
seatlayout.RowNumber,
seatlayout.ColumnName
FROM flightreservation
LEFT JOIN seatlayout ON seatlayout.Id = flightreservation.SeatLayoutId
WHERE flightreservation.ScheduleId = ?
""";
List<HashMap<String, Object>> list = JDBCUtils.executeQuery(sql, new Object[]{id});
return list;
}
public static List<HashMap<String, Object>> findSeatLayoutListByAircraftId(Integer aircraftId) {
String sql = """
SELECT * FROM seatlayout WHERE seatlayout.AircraftId = ?
""";
List<HashMap<String, Object>> list = JDBCUtils.executeQuery(sql, new Object[]{aircraftId});
return list;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于javaweb的管理系统-航空管理系统源码+数据库(课程设计大作业).zip
共42个文件
class:15个
java:13个
xml:8个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 135 浏览量
2022-11-23
17:48:34
上传
评论 2
收藏 2.71MB ZIP 举报
温馨提示
基于javaweb的管理系统-航空管理系统源码+数据库(课程设计大作业).zip 90分以上高分项目,必过啊。本项目基于javaweb的管理系统-航空管理系统源码,主要针对计算机相关专业的正在做毕设的学生和需要项Java学习者。也可作为课程设计、期末大作业 包含:项目源码、数据库脚本、软件目实战练习的工具、项目说明等,该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! 基于javaweb的管理系统-航空管理系统源码+数据库(课程设计大作业).zip 90分以上高分项目,必过啊。本项目基于javaweb的管理系统-航空管理系统源码,主要针对计算机相关专业的正在做毕设的学生和需要项Java学习者。也可作为课程设计、期末大作业 包含:项目源码、数据库脚本、软件目实战练习的工具、项目说明等,该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! 基于javaweb的管理系统-航空管理系统源码+数据库(课程设计大作业).zip 90分以上高分项目,必过啊。本项目基于javaweb的管理系统-航空管理系统源码,主要针对计算机相关专业的正在做毕设的学生和需要项Java学习者。也可
资源推荐
资源详情
资源评论
收起资源包目录
基于javaweb的航空管理系统.zip (42个子文件)
sunshine-airlines-master
SunshineAirlines.iml 2KB
src
edu
wtbu
dao
UserDao.java 5KB
ScheduleDao.java 8KB
CityDao.java 323B
filter
GlobalFilter.java 568B
test
MyTest.java 3KB
pojo
Page.java 1013B
Result.java 995B
servlet
LoginServlet.java 784B
service
ScheduleService.java 3KB
UserService.java 5KB
CityService.java 244B
utils
JDBCUtils.java 4KB
Main.java 116B
.idea
uiDesigner.xml 9KB
misc.xml 271B
vcs.xml 180B
modules.xml 272B
.gitignore 182B
artifacts
SunshineAirlines_war_exploded.xml 527B
inspectionProfiles
Project_Default.xml 368B
out
production
SunshineAirlines
Main.class 516B
edu
wtbu
dao
CityDao.class 640B
UserDao.class 4KB
ScheduleDao.class 4KB
filter
GlobalFilter.class 1KB
test
MyTest.class 5KB
pojo
Page.class 2KB
Result.class 2KB
servlet
LoginServlet.class 1KB
service
CityService.class 519B
UserService.class 5KB
ScheduleService.class 3KB
utils
JDBCUtils.class 4KB
artifacts
SunshineAirlines_war_exploded
WEB-INF
web.xml 304B
classes
Main.class 516B
edu
wtbu
servlet
HelloServlet.class 1KB
index.jsp 301B
web
WEB-INF
web.xml 304B
lib
fastjson-1.2.66.jar 647KB
mysql-connector-java-8.0.16.jar 2.19MB
index.jsp 301B
共 42 条
- 1
资源评论
程序员张小妍
- 粉丝: 1w+
- 资源: 2604
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功