Files
baiyue-firstleg/scripts/db/relabel-wait-status-incremental.sql
T

17 lines
1.0 KiB
SQL
Raw Normal View History

2026-09-17 17:37:29 +08:00
-- 存量换标尾程主单状态修正:不创建入库单,不增减库存;可重复执行。
USE baiyue_lastleg;
START TRANSACTION;
UPDATE ll_order o
JOIN ll_relabel_application a ON a.relabel_no=o.relabel_order_no AND a.customer_id=o.customer_id
SET o.current_status=CASE
WHEN a.status IN ('PENDING_PROCESSING','PROCESSING','CUSTOMER_CONFIRM_PENDING') THEN 'WAIT_RELABEL'
WHEN a.status='READY_FOR_OUTBOUND' AND a.fulfillment_status='WAIT_PRE_DISPATCH' THEN 'WAIT_OUTBOUND'
WHEN a.status='READY_FOR_OUTBOUND' AND a.fulfillment_status IN ('WAIT_OUTBOUND_CREATION','OUTBOUND_CREATED') THEN 'WAIT_OUTBOUND'
ELSE o.current_status END,
o.updated_at=CURRENT_TIMESTAMP(3)
WHERE o.order_type='RELABEL_APPLICATION' AND o.current_status='PENDING_ASSIGNMENT'
AND o.inbound_order_no IS NULL
AND (a.status IN ('PENDING_PROCESSING','PROCESSING','CUSTOMER_CONFIRM_PENDING')
OR (a.status='READY_FOR_OUTBOUND' AND a.fulfillment_status IN ('WAIT_PRE_DISPATCH','WAIT_OUTBOUND_CREATION','OUTBOUND_CREATED')));
COMMIT;