|
@@ -305,53 +305,79 @@
|
|
|
SELECT
|
|
|
b.id,
|
|
|
CASE
|
|
|
- WHEN a.order_status IN (0, 1, 2) THEN '收入'
|
|
|
- WHEN a.order_status IN (3, 5, 6) THEN '支出'
|
|
|
- ELSE '其他'
|
|
|
+ WHEN a.order_status IN (0, 1, 2) THEN
|
|
|
+ '收入'
|
|
|
+ WHEN a.order_status IN (3, 5, 6) THEN
|
|
|
+ '支出'
|
|
|
+ ELSE
|
|
|
+ '其他'
|
|
|
END AS income_expense_type,
|
|
|
CASE
|
|
|
- WHEN b.order_id IS NULL THEN '待结算'
|
|
|
- WHEN c.profit_sharing_status = 0 THEN '待结算'
|
|
|
- WHEN c.profit_sharing_status = 1 THEN '已到账'
|
|
|
- ELSE '其他'
|
|
|
+ WHEN b.order_id IS NULL THEN
|
|
|
+ '待结算'
|
|
|
+ WHEN c.profit_sharing_status = 0 THEN
|
|
|
+ '待结算'
|
|
|
+ WHEN c.profit_sharing_status = 1 THEN
|
|
|
+ '已到账'
|
|
|
+ ELSE
|
|
|
+ '其他'
|
|
|
END AS amount_type,
|
|
|
CASE
|
|
|
- WHEN a.order_status IN (5, 6) THEN '用户退款'
|
|
|
- WHEN a.order_status IN (0, 1, 2) THEN '用户支付'
|
|
|
- WHEN c.profit_sharing_status = 0 THEN '分账'
|
|
|
- WHEN c.profit_sharing_status = 1 THEN '银行卡到账'
|
|
|
- ELSE '其他原因'
|
|
|
+ WHEN a.order_status IN (5, 6) THEN
|
|
|
+ '用户退款'
|
|
|
+ WHEN a.order_status IN (0, 1, 2) THEN
|
|
|
+ '用户支付'
|
|
|
+ WHEN c.profit_sharing_status = 0 THEN
|
|
|
+ '分账'
|
|
|
+ WHEN c.profit_sharing_status = 1 THEN
|
|
|
+ '银行卡到账'
|
|
|
+ ELSE
|
|
|
+ '其他原因'
|
|
|
END AS change_reason,
|
|
|
CASE
|
|
|
- WHEN b.id IS NOT NULL THEN b.cumulative - b.pre_amount
|
|
|
- WHEN b.order_id IS NULL THEN a.price
|
|
|
- ELSE 0
|
|
|
+ WHEN b.id IS NOT NULL THEN
|
|
|
+ (b.cumulative - b.pre_amount) / 100
|
|
|
+ WHEN b.order_id IS NULL THEN
|
|
|
+ a.price / 100
|
|
|
+ ELSE
|
|
|
+ 0
|
|
|
END AS amount_before,
|
|
|
CASE
|
|
|
- WHEN b.id IS NOT NULL THEN b.cumulative + b.pre_amount
|
|
|
- ELSE 0
|
|
|
+ WHEN b.id IS NOT NULL THEN
|
|
|
+ (b.cumulative + b.pre_amount) / 100
|
|
|
+ ELSE
|
|
|
+ 0
|
|
|
END AS amount_after,
|
|
|
CASE
|
|
|
- WHEN b.id IS NOT NULL THEN b.pre_amount
|
|
|
- WHEN b.order_id IS NULL THEN a.price
|
|
|
- ELSE 0
|
|
|
+ WHEN b.id IS NOT NULL THEN
|
|
|
+ b.pre_amount / 100
|
|
|
+ WHEN b.order_id IS NULL THEN
|
|
|
+ a.price / 100
|
|
|
+ ELSE
|
|
|
+ 0
|
|
|
END AS change_amount,
|
|
|
a.create_time,
|
|
|
ROW_NUMBER() OVER (
|
|
|
- PARTITION BY
|
|
|
- COALESCE(b.id, a.order_id)
|
|
|
+ PARTITION BY COALESCE(b.id, a.order_id)
|
|
|
ORDER BY
|
|
|
- CASE WHEN b.id IS NULL THEN 1 ELSE 0 END,
|
|
|
+ CASE
|
|
|
+ WHEN b.id IS NULL THEN
|
|
|
+ 1
|
|
|
+ ELSE
|
|
|
+ 0
|
|
|
+ END,
|
|
|
b.id DESC,
|
|
|
a.order_id
|
|
|
- ) as rn
|
|
|
- FROM nm_order_pro_info a
|
|
|
+ ) AS rn
|
|
|
+ FROM
|
|
|
+ nm_order_pro_info a
|
|
|
LEFT JOIN nm_profit_sharing_info b ON a.order_id = b.order_id
|
|
|
LEFT JOIN nm_order c ON a.order_id = c.id
|
|
|
- WHERE a.price > 0
|
|
|
+ WHERE
|
|
|
+ a.price > 0
|
|
|
AND a.type NOT IN (3, 4, 6)
|
|
|
- AND c.org_code = #{orgCode}
|
|
|
AND b.pre_amount > 0
|
|
|
+ AND c.org_code = #{orgCode}
|
|
|
<!-- 动态条件 -->
|
|
|
<if test="incomeExpenseType != null and incomeExpenseType != '' and incomeExpenseType != '全部'">
|
|
|
AND (
|
|
@@ -383,18 +409,25 @@
|
|
|
END
|
|
|
) = #{changeReason}
|
|
|
</if>
|
|
|
- )
|
|
|
- SELECT
|
|
|
+ ) SELECT
|
|
|
id,
|
|
|
income_expense_type,
|
|
|
amount_type,
|
|
|
change_reason,
|
|
|
- amount_before,
|
|
|
+ CASE
|
|
|
+ WHEN amount_before < 0 THEN
|
|
|
+ 0
|
|
|
+ ELSE
|
|
|
+ amount_before
|
|
|
+ END AS amount_before,
|
|
|
amount_after,
|
|
|
change_amount,
|
|
|
create_time
|
|
|
- FROM RankedData
|
|
|
- WHERE rn = 1
|
|
|
- ORDER BY create_time DESC
|
|
|
+ FROM
|
|
|
+ RankedData
|
|
|
+ WHERE
|
|
|
+ rn = 1
|
|
|
+ ORDER BY
|
|
|
+ create_time DESC
|
|
|
</select>
|
|
|
</mapper>
|