|
|
@@ -664,7 +664,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
ORDER BY
|
|
|
cu.company_id DESC
|
|
|
</select>
|
|
|
-
|
|
|
+ <!--status: 0 待支付, 1 待发货, 2 待收货, 3 交易完成, -1退款中, -2已退款, -3已取消-->
|
|
|
<select id="selectOrderSaleStatisticsList" resultType="com.fs.hisStore.vo.OrderStatisticsVo">
|
|
|
SELECT * FROM (
|
|
|
SELECT
|
|
|
@@ -673,20 +673,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
cu.nick_name,
|
|
|
c.company_name,
|
|
|
c.company_id,
|
|
|
+ -- 总单数 - 统计经过 WHERE 条件过滤后(即非 0 状态)的订单数量
|
|
|
COUNT(DISTINCT fso.id) AS totalNum,
|
|
|
- SUM(CASE WHEN fso.`status` != 0 THEN fso.total_price ELSE 0 END) AS totalPrice,
|
|
|
- SUM(CASE WHEN fso.`status` != 0 THEN fso.pay_price ELSE 0 END) AS actualPaymentAmount,
|
|
|
- SUM(CASE WHEN fso.`status` = 5 THEN 1 ELSE 0 END) AS dealNum,
|
|
|
- SUM(CASE WHEN fso.`status` = 5 THEN fso.total_price ELSE 0 END) AS dealPrice,
|
|
|
- SUM(CASE WHEN fso.`status` = 1 OR fso.`status` = -2 THEN 1 ELSE 0 END) AS cancelNum,
|
|
|
- SUM(CASE WHEN fso.`status` = 1 OR fso.`status` = -2 THEN fso.total_price ELSE 0 END) AS cancelPrice,
|
|
|
- SUM(CASE WHEN fso.`status` = 2 AND (fso.delivery_pay_status = 0 OR fso.delivery_pay_status IS NULL) THEN 1 ELSE 0 END) AS pendingNum,
|
|
|
- SUM(CASE WHEN fso.`status` = 2 AND (fso.delivery_pay_status = 0 OR fso.delivery_pay_status IS NULL) THEN fso.total_price ELSE 0 END) AS pendingPrice,
|
|
|
- SUM(CASE WHEN fso.`status` = 3 AND fso.delivery_pay_status > 0 THEN 1 ELSE 0 END) AS invoiceNum,
|
|
|
- SUM(CASE WHEN fso.`status` = 3 AND fso.delivery_pay_status > 0 THEN fso.total_price ELSE 0 END) AS invoicePrice,
|
|
|
- IFNULL(SUM(CASE WHEN fso.`status` > 3 AND fso.delivery_pay_status = 3 THEN 1 ELSE 0 END), 0) AS signForNum,
|
|
|
- SUM(CASE WHEN fso.`status` > 3 AND fso.delivery_pay_status = 3 THEN fso.total_price ELSE 0 END) AS signFPrice,
|
|
|
+ -- 总金额 - 由于WHERE子句已过滤,无需CASE WHEN
|
|
|
+ SUM(fso.total_price) AS totalPrice,
|
|
|
+ -- 实付款金额 - 由于WHERE子句已过滤,无需CASE WHEN
|
|
|
+ SUM(fso.pay_price) AS actualPaymentAmount,
|
|
|
+ -- 成交单数
|
|
|
+ SUM(CASE WHEN fso.`status` = 3 THEN 1 ELSE 0 END) AS dealNum,
|
|
|
+ -- 成交金额
|
|
|
+ SUM(CASE WHEN fso.`status` = 3 THEN fso.total_price ELSE 0 END) AS dealPrice,
|
|
|
+ -- 取消单数 - 订单状态为 '已取消' (-3)
|
|
|
+ SUM(CASE WHEN fso.`status` = -3 THEN 1 ELSE 0 END) AS cancelNum,
|
|
|
+ -- 取消金额
|
|
|
+ SUM(CASE WHEN fso.`status` = -3 THEN fso.total_price ELSE 0 END) AS cancelPrice,
|
|
|
+ -- 待发货单数 - 订单状态为 '待发货' (1)
|
|
|
+ SUM(CASE WHEN fso.`status` = 1 AND (fso.delivery_pay_status = 0 OR fso.delivery_pay_status IS NULL) THEN 1 ELSE 0 END) AS pendingNum,
|
|
|
+ -- 待发货金额
|
|
|
+ SUM(CASE WHEN fso.`status` = 1 AND (fso.delivery_pay_status = 0 OR fso.delivery_pay_status IS NULL) THEN fso.total_price ELSE 0 END) AS pendingPrice,
|
|
|
+ -- 发货单数 - 订单状态为 '待收货' (2) 或 '交易完成' (3)
|
|
|
+ SUM(CASE WHEN fso.`status` IN (2, 3) THEN 1 ELSE 0 END) AS invoiceNum,
|
|
|
+ -- 发货金额
|
|
|
+ SUM(CASE WHEN fso.`status` IN (2, 3) THEN fso.total_price ELSE 0 END) AS invoicePrice,
|
|
|
+ -- 签收单数 - 订单状态为 '交易完成' (3)
|
|
|
+ IFNULL(SUM(CASE WHEN fso.`status` = 3 THEN 1 ELSE 0 END), 0) AS signForNum,
|
|
|
+ -- 签收金额
|
|
|
+ IFNULL(SUM(CASE WHEN fso.`status` = 3 THEN fso.total_price ELSE 0 END), 0) AS signFPrice,
|
|
|
+ -- 退单数 - 订单状态为 '退款中' (-1) 且退款状态为 '已退款' (2)
|
|
|
SUM(CASE WHEN fso.`status` = -1 AND fso.refund_status = 2 THEN 1 ELSE 0 END) AS chargebackNum,
|
|
|
+ -- 退单金额
|
|
|
SUM(CASE WHEN fso.`status` = -1 AND fso.refund_status = 2 THEN fso.total_price ELSE 0 END) AS chargebackPrice
|
|
|
FROM
|
|
|
company_user cu
|