|
|
@@ -23,14 +23,15 @@
|
|
|
IFNULL(tot.free_num, 0) AS freeCount,
|
|
|
(IFNULL(tot.adult_total_num, 0) + IFNULL(tot.child_total_num, 0) +
|
|
|
IFNULL(tot.baby_total_num, 0) + IFNULL(tot.with_total_num, 0) + IFNULL(tot.free_num, 0)) AS totalCount,
|
|
|
- o.pay_amount AS marketingPrice,
|
|
|
+ p.pay_amount - COALESCE(refund_fee_sum.refund_amount, 0) AS marketingPrice,
|
|
|
o.free_amount AS discountAmount,
|
|
|
COALESCE(refund_fee_sum.refundFee, 0) AS refundFee,
|
|
|
- (o.pay_amount - IFNULL(o.free_amount, 0) - COALESCE(refund_fee_sum.refundFee, 0)) AS actualSettlementPrice
|
|
|
+ (p.pay_amount - IFNULL(o.free_amount, 0) - COALESCE(refund_fee_sum.refundFee, 0) - COALESCE(refund_fee_sum.refund_amount, 0)) AS actualSettlementPrice
|
|
|
FROM trade_order o
|
|
|
INNER JOIN product_voyage v ON o.voyage_id = v.id AND v.deleted = 0
|
|
|
INNER JOIN resource_route r ON v.route_id = r.id AND r.deleted = 0
|
|
|
LEFT JOIN trade_order_total tot ON o.id = tot.old_order_id AND tot.deleted = 0
|
|
|
+ INNER JOIN trade_order_pay p on p.order_id = o.id AND p.deleted = 0 and p.pay_status = 1
|
|
|
LEFT JOIN (
|
|
|
SELECT rm.order_id,
|
|
|
GROUP_CONCAT(DISTINCT rm.room_model_name SEPARATOR ',') AS room_model_name
|
|
|
@@ -39,12 +40,18 @@
|
|
|
GROUP BY rm.order_id
|
|
|
) rm ON o.id = rm.order_id
|
|
|
LEFT JOIN (
|
|
|
- SELECT order_id, SUM(fee) AS refundFee
|
|
|
+ SELECT order_id, SUM(fee) AS refundFee, SUM(refund_amount) AS refund_amount
|
|
|
FROM trade_refund
|
|
|
WHERE deleted = 0 AND refund_status IN (6)
|
|
|
GROUP BY order_id
|
|
|
) refund_fee_sum ON o.id = refund_fee_sum.order_id
|
|
|
WHERE o.deleted = 0
|
|
|
+ AND NOT EXISTS (
|
|
|
+ SELECT 1 FROM ota_bill_order bo
|
|
|
+ INNER JOIN ota_bill b ON bo.bill_id = b.id AND b.deleted = 0
|
|
|
+ WHERE bo.order_id = o.id AND bo.deleted = 0
|
|
|
+ AND b.bill_status = 0
|
|
|
+ )
|
|
|
<if test="vo.orderNo != null and vo.orderNo != ''">
|
|
|
AND o.order_no LIKE CONCAT('%', #{vo.orderNo}, '%')
|
|
|
</if>
|
|
|
@@ -106,14 +113,15 @@
|
|
|
IFNULL(tot.free_num, 0) AS freeCount,
|
|
|
(IFNULL(tot.adult_total_num, 0) + IFNULL(tot.child_total_num, 0) +
|
|
|
IFNULL(tot.baby_total_num, 0) + IFNULL(tot.with_total_num, 0) + IFNULL(tot.free_num, 0)) AS totalCount,
|
|
|
- o.pay_amount AS marketingPrice,
|
|
|
+ p.pay_amount - COALESCE(refund_fee_sum.refund_amount, 0) AS marketingPrice,
|
|
|
o.free_amount AS discountAmount,
|
|
|
COALESCE(refund_fee_sum.refundFee, 0) AS refundFee,
|
|
|
- (o.pay_amount - IFNULL(o.free_amount, 0) - COALESCE(refund_fee_sum.refundFee, 0)) AS actualSettlementPrice
|
|
|
+ (p.pay_amount - IFNULL(o.free_amount, 0) - COALESCE(refund_fee_sum.refundFee, 0) - COALESCE(refund_fee_sum.refund_amount, 0)) AS actualSettlementPrice
|
|
|
FROM trade_order o
|
|
|
INNER JOIN product_voyage v ON o.voyage_id = v.id AND v.deleted = 0
|
|
|
INNER JOIN resource_route r ON v.route_id = r.id AND r.deleted = 0
|
|
|
LEFT JOIN trade_order_total tot ON o.id = tot.old_order_id AND tot.deleted = 0
|
|
|
+ inner join trade_order_pay p on p.order_id = o.id AND p.deleted = 0 and p.pay_status = 1
|
|
|
LEFT JOIN (
|
|
|
SELECT rm.order_id,
|
|
|
GROUP_CONCAT(DISTINCT rm.room_model_name SEPARATOR ',') AS room_model_name
|
|
|
@@ -122,12 +130,18 @@
|
|
|
GROUP BY rm.order_id
|
|
|
) rm ON o.id = rm.order_id
|
|
|
LEFT JOIN (
|
|
|
- SELECT order_id, SUM(fee) AS refundFee
|
|
|
+ SELECT order_id, SUM(fee) AS refundFee, SUM(refund_amount) AS refund_amount
|
|
|
FROM trade_refund
|
|
|
WHERE deleted = 0 AND refund_status IN (6)
|
|
|
GROUP BY order_id
|
|
|
) refund_fee_sum ON o.id = refund_fee_sum.order_id
|
|
|
WHERE o.deleted = 0
|
|
|
+ AND NOT EXISTS (
|
|
|
+ SELECT 1 FROM ota_bill_order bo
|
|
|
+ INNER JOIN ota_bill b ON bo.bill_id = b.id AND b.deleted = 0
|
|
|
+ WHERE bo.order_id = o.id AND bo.deleted = 0
|
|
|
+ AND b.bill_status = 1
|
|
|
+ )
|
|
|
<if test="vo.orderNo != null and vo.orderNo != ''">
|
|
|
AND o.order_no LIKE CONCAT('%', #{vo.orderNo}, '%')
|
|
|
</if>
|