refactor(cost-center): 精简成本中心,人工成本以 SKU 配置为唯一真源
- 删除「成本项目」「成本版本」「成本预览」三个 Tab:成本项只有 3 条系统内置,版本金额只是快照挂载点 - 新增只读「发单价格」面板,仅在接单平台来源显示,改价仍走接单模板后同步 - 成本预览改为弹窗,从成本异常行和订单详情「查成本」进入;人工单显示 SKU 配置成本并禁止生成快照 - 成本异常新增按原因聚合摘要接口,列表支持 reason/since 筛选,默认只看近 24 小时 - 迁移 111:把 sys_manual_service 的历史 ¥88 全局版本清零;预估同步与成本缺失判定排除 manual_actual
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
-- 人工履约成本金额的唯一真源是 manual_fulfillment_configs.credit_quantity × 平台换算率。
|
||||
-- cost_versions 里的 sys_manual_service 行只是 cost_snapshots.cost_version_id 的挂载点,
|
||||
-- 金额不参与计算;历史上手工填的 ¥88 全局版本会让「成本预览」显示错误金额,这里清零。
|
||||
|
||||
UPDATE cost_versions v
|
||||
SET amount_fen = 0,
|
||||
rate_bps = 0,
|
||||
change_reason = '系统占位:人工成本按人工 SKU 配置的消耗积分结算,版本金额不参与计算',
|
||||
updated_at = NOW()
|
||||
FROM cost_items ci
|
||||
WHERE ci.id = v.cost_item_id
|
||||
AND ci.code = 'sys_manual_service'
|
||||
AND v.scope_type = 'global'
|
||||
AND v.status = 'active';
|
||||
|
||||
-- 若人工成本项还没有生效版本,补一条 0 元全局占位,保证快照能挂到版本上。
|
||||
INSERT INTO cost_versions (
|
||||
cost_item_id, scope_type, provider, shop_id, canonical_product_id,
|
||||
work_product_rule_id, amount_fen, rate_bps, effective_from, source,
|
||||
status, change_reason, created_at, updated_at
|
||||
)
|
||||
SELECT
|
||||
ci.id, 'global', '', '', NULL, NULL, 0, 0,
|
||||
'1970-01-01T00:00:00+08:00', 'manual', 'active',
|
||||
'系统占位:人工成本按人工 SKU 配置的消耗积分结算', NOW(), NOW()
|
||||
FROM cost_items ci
|
||||
WHERE ci.code = 'sys_manual_service'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM cost_versions v
|
||||
WHERE v.cost_item_id = ci.id AND v.status = 'active'
|
||||
);
|
||||
Reference in New Issue
Block a user