新增接单模板价格同步

This commit is contained in:
yml2213
2026-08-20 20:24:00 +08:00
parent 6539e0fb21
commit e05a6797a3
9 changed files with 437 additions and 3 deletions
@@ -0,0 +1,25 @@
-- 045_work_order_source_product_rule.sql —— 记录工单的来源接单模板,支持后续按模板同步价格。
ALTER TABLE work_orders
ADD COLUMN IF NOT EXISTS product_rule_id BIGINT
REFERENCES work_product_rules(id) ON DELETE SET NULL;
CREATE INDEX IF NOT EXISTS idx_work_orders_product_rule_open
ON work_orders(product_rule_id, id DESC)
WHERE status = 'open';
-- 历史自动建单已在 source_synced 事件中记录 ruleKey,迁移时尽可能补齐关联。
UPDATE work_orders wo
SET product_rule_id = wpr.id
FROM work_product_rules wpr
WHERE wo.product_rule_id IS NULL
AND EXISTS (
SELECT 1
FROM work_order_events event
WHERE event.work_order_id = wo.id
AND event.event_type = 'source_synced'
AND event.payload_json ->> 'ruleKey' = wpr.rule_key
);
COMMENT ON COLUMN work_orders.product_rule_id
IS '自动建单时命中的接单模板;用于模板价格同步,删除模板后保留工单但置空';