|
|
@@ -972,21 +972,45 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
</select>
|
|
|
- <select id="selectFsStoreOrderAmountScrmStats" resultType="com.fs.his.vo.FsStoreOrderAmountScrmStatsVo">
|
|
|
+ <select id="selectFsStoreOrderAmountScrmStatsDetail"
|
|
|
+ resultType="com.fs.his.vo.FsStoreOrderAmountScrmStatsDetailVo">
|
|
|
SELECT
|
|
|
+ -- 1. 订单总数
|
|
|
COUNT(*) AS totalOrderCount,
|
|
|
+
|
|
|
+ -- 2. 全款订单 (pay_type = '1')
|
|
|
COUNT(CASE WHEN pay_type = '1' THEN 1 END) AS fullPayOrderCount,
|
|
|
+ SUM(CASE WHEN pay_type = '1' THEN COALESCE(pay_price, 0) ELSE 0 END) AS fullPayOrderAmount,
|
|
|
+ SUM(CASE WHEN pay_type = '1' THEN COALESCE(pay_money, 0) ELSE 0 END) AS fullPayActualAmount,
|
|
|
+ SUM(CASE WHEN pay_type = '1' THEN
|
|
|
+ COALESCE(pay_price, 0) - COALESCE(pay_money, 0)
|
|
|
+ ELSE 0 END) AS fullPayCodAmount, -- 全款订单理论上 pay_remain = 0,但按逻辑计算
|
|
|
+
|
|
|
+ -- 3. 物流代收订单总数 (pay_type IN ('2', '3'))
|
|
|
COUNT(CASE WHEN pay_type IN ('2', '3') THEN 1 END) AS codOrderCount,
|
|
|
+ SUM(CASE WHEN pay_type IN ('2', '3') THEN COALESCE(pay_price, 0) ELSE 0 END) AS codOrderAmount,
|
|
|
+ SUM(CASE WHEN pay_type IN ('2', '3') THEN COALESCE(pay_money, 0) ELSE 0 END) AS depositAmount,
|
|
|
+ SUM(CASE WHEN pay_type IN ('2', '3') THEN
|
|
|
+ COALESCE(pay_price, 0) - COALESCE(pay_money, 0)
|
|
|
+ ELSE 0 END) AS codAmount,
|
|
|
+
|
|
|
+ -- 4. 付定金的物流代收 (pay_type IN ('2','3') AND pay_money > 0)
|
|
|
COUNT(CASE WHEN pay_type IN ('2', '3') AND COALESCE(pay_money, 0) > 0 THEN 1 END) AS depositCodOrderCount,
|
|
|
+ SUM(CASE WHEN pay_type IN ('2', '3') AND COALESCE(pay_money, 0) > 0 THEN COALESCE(pay_price, 0) ELSE 0 END) AS depositCodOrderAmount,
|
|
|
+ SUM(CASE WHEN pay_type IN ('2', '3') AND COALESCE(pay_money, 0) > 0 THEN COALESCE(pay_money, 0) ELSE 0 END) AS depositCodDepositAmount,
|
|
|
+ SUM(CASE WHEN pay_type IN ('2', '3') AND COALESCE(pay_money, 0) > 0 THEN
|
|
|
+ COALESCE(pay_price, 0) - COALESCE(pay_money, 0)
|
|
|
+ ELSE 0 END) AS depositCodCodAmount,
|
|
|
+
|
|
|
+ -- 5. 0元定金物流代收 (pay_type IN ('2','3') AND pay_money = 0)
|
|
|
COUNT(CASE WHEN pay_type IN ('2', '3') AND COALESCE(pay_money, 0) = 0 THEN 1 END) AS noDepositCodOrderCount,
|
|
|
- SUM(pay_price) AS totalOrderAmount,
|
|
|
- SUM(CASE WHEN pay_type IN ('2', '3') THEN COALESCE(pay_money, 0) ELSE 0 END) AS depositAmount,
|
|
|
+ SUM(CASE WHEN pay_type IN ('2', '3') AND COALESCE(pay_money, 0) = 0 THEN COALESCE(pay_price, 0) ELSE 0 END) AS noDepositCodOrderAmount,
|
|
|
+ SUM(CASE WHEN pay_type IN ('2', '3') AND COALESCE(pay_money, 0) = 0 THEN
|
|
|
+ COALESCE(pay_price, 0) - COALESCE(pay_money, 0)
|
|
|
+ ELSE 0 END) AS noDepositCodCodAmount
|
|
|
|
|
|
- SUM(CASE WHEN pay_type IN ('2', '3') THEN COALESCE(pay_price, 0) ELSE 0 END)
|
|
|
- -
|
|
|
- SUM(CASE WHEN pay_type IN ('2', '3') THEN COALESCE(pay_money, 0) ELSE 0 END) AS codAmount
|
|
|
FROM fs_store_order_scrm
|
|
|
- WHERE is_del = 0 AND status > 0
|
|
|
+ WHERE is_del = 0 AND status > 1
|
|
|
<if test="startTime != null and startTime !=''">
|
|
|
AND create_time >= #{startTime}
|
|
|
</if>
|