fix: 合并多件档口入库码回写 (#240)
This commit is contained in:
@@ -1027,10 +1027,13 @@ CREATE UNIQUE INDEX idx_client_assignment_current
|
||||
档口入库码使用一张业务表完成导入、匹配、回写和异常恢复。Excel 只是导入载体,系统
|
||||
不保存原文件、文件哈希,不再拆批次表或尝试记录表。
|
||||
|
||||
- 业务键为 `(business_date, order_number, stall, spec_key)`;同一业务日期的
|
||||
`inner_code` 另设唯一约束,防止一张标签被分配给两个商品。
|
||||
- 业务键为 `(business_date, order_number, stall, spec_key)`。一个顺运宝商品明细数量大于 1
|
||||
时,Excel 按件生成的不同入库码按源行顺序使用英文逗号连接,作为该业务记录唯一的
|
||||
`inner_code` 目标值;单个码不得包含逗号,聚合值不得超过 128 个字符。
|
||||
- 同一业务日期的聚合 `inner_code` 另设唯一约束;导入事务还会拆分并核对同日现有聚合值,
|
||||
防止其中任一单件码被分配给另一个业务键。
|
||||
- `spec_raw` 永远保留 Excel 原文,`spec_key` 只用于确定性匹配;
|
||||
`source_duplicate_count > 1` 表示同一文件存在重复业务组,匹配时整组跳过。
|
||||
`source_duplicate_count` 保存合并前的 Excel 源行数,只用于展示和审计,不阻止确定性匹配。
|
||||
- `stock_id/detail_id` 和 `syb_*`、`purchase_*`、`remote_inner_code` 保存最近一次远端
|
||||
规划快照,不替代 `syb_orders`,也不修改采购数据。
|
||||
- 状态固定为 `pending/ready/applying/updated/already_filled/skipped/failed/needs_check`。
|
||||
|
||||
Reference in New Issue
Block a user