<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.stylefeng.guns.modular.crossCity.dao.LineShiftDriverMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.crossCity.model.LineShiftDriver">
|
<id column="id" property="id"/>
|
<result column="lineShiftId" property="lineShiftId"/>
|
<result column="driverId" property="driverId"/>
|
<result column="day" property="day"/>
|
<result column="laveSeat" property="laveSeat"/>
|
<result column="laveSeatNumber" property="laveSeatNumber"/>
|
<result column="totalSeat" property="totalSeat"/>
|
<result column="inserTime" property="inserTime"/>
|
</resultMap>
|
|
<!-- 【202601】根据司机排班记录ID查询扫码下单详情 -->
|
<select id="queryScanOrderDetail" resultType="map">
|
SELECT
|
-- 司机信息
|
d.headImgUrl as headImgUrl,
|
CONCAT(LEFT(d.name, 1), '师傅') as driverName,
|
c.carLicensePlate as carLicensePlate,
|
CONCAT(cb.name, cm.name) as carBrand,
|
c.carColor as carColor,
|
(SELECT IFNULL(ROUND(AVG(fraction), 2), 0) FROM t_order_evaluate WHERE driverId = lsd.driverId) as score,
|
(SELECT COUNT(*) FROM t_order_cross_city WHERE driverId = lsd.driverId AND state = 9) as orderCount,
|
|
-- 线路信息
|
l.id as lineId,
|
l.name as lineName,
|
lp.content as priceContent,
|
DATE_FORMAT(lsd.day, '%Y-%m-%d') as day,
|
ls.startTime as startTime,
|
ls.endTime as endTime,
|
lsd.totalSeat as totalSeat,
|
lsd.laveSeat as laveSeat,
|
lsd.laveSeatNumber as laveSeatNumber,
|
|
-- 站点信息
|
(SELECT siteId FROM t_line_site WHERE lineId = l.id AND type = 1 LIMIT 1) as startSiteId,
|
(SELECT s.name FROM t_site s JOIN t_line_site tls ON s.id = tls.siteId WHERE tls.lineId = l.id AND tls.type = 1 LIMIT 1) as startSiteName,
|
(SELECT siteId FROM t_line_site WHERE lineId = l.id AND type = 2 LIMIT 1) as endSiteId,
|
(SELECT s.name FROM t_site s JOIN t_line_site tls ON s.id = tls.siteId WHERE tls.lineId = l.id AND tls.type = 2 LIMIT 1) as endSiteName,
|
(SELECT s.city FROM t_site s JOIN t_line_site tls ON s.id = tls.siteId WHERE tls.lineId = l.id AND tls.type = 1 LIMIT 1) as startCityName,
|
(SELECT s.city FROM t_site s JOIN t_line_site tls ON s.id = tls.siteId WHERE tls.lineId = l.id AND tls.type = 2 LIMIT 1) as endCityName,
|
|
-- 默认点信息
|
(SELECT s.defaultPointAddress FROM t_site s JOIN t_line_site tls ON s.id = tls.siteId WHERE tls.lineId = l.id AND tls.type = 1 LIMIT 1) as startDefaultPointAddress,
|
(SELECT s.defaultPointLon FROM t_site s JOIN t_line_site tls ON s.id = tls.siteId WHERE tls.lineId = l.id AND tls.type = 1 LIMIT 1) as startDefaultPointLon,
|
(SELECT s.defaultPointLat FROM t_site s JOIN t_line_site tls ON s.id = tls.siteId WHERE tls.lineId = l.id AND tls.type = 1 LIMIT 1) as startDefaultPointLat,
|
(SELECT s.defaultPointAddress FROM t_site s JOIN t_line_site tls ON s.id = tls.siteId WHERE tls.lineId = l.id AND tls.type = 2 LIMIT 1) as endDefaultPointAddress,
|
(SELECT s.defaultPointLon FROM t_site s JOIN t_line_site tls ON s.id = tls.siteId WHERE tls.lineId = l.id AND tls.type = 2 LIMIT 1) as endDefaultPointLon,
|
(SELECT s.defaultPointLat FROM t_site s JOIN t_line_site tls ON s.id = tls.siteId WHERE tls.lineId = l.id AND tls.type = 2 LIMIT 1) as endDefaultPointLat,
|
|
-- 其他信息
|
cs.serverCarModelId as serverCarModelId,
|
lsd.driverId as driverId,
|
lsd.id as lineShiftDriverId
|
FROM t_line_shift_driver lsd
|
LEFT JOIN t_line_shift ls ON lsd.lineShiftId = ls.id
|
LEFT JOIN t_line l ON ls.lineId = l.id
|
LEFT JOIN t_driver d ON lsd.driverId = d.id
|
LEFT JOIN t_car c ON d.carId = c.id
|
LEFT JOIN t_car_brand cb ON c.carBrandId = cb.id
|
LEFT JOIN t_car_model cm ON c.carModelId = cm.id
|
LEFT JOIN t_car_service cs ON c.id = cs.carId AND cs.type = 3
|
LEFT JOIN t_line_price lp ON l.id = lp.lineId AND cs.serverCarModelId = lp.serverCarModelId AND lp.state = 1
|
WHERE lsd.id = #{lineShiftDriverId}
|
</select>
|
|
</mapper>
|