refactor(db_compare): 差缺统计改为应到驱动,以出库日为批次归属日
将未到统计从实到驱动(实到锚点反推批次)改为应到驱动(batch_out_date 归属日直接取应到批次),以吸收应到任务提前 1~2 天提交的扰动(韵达固定 +1、中通偶发 +1)。 - expected_record 新增 out_date / batch_out_date + 索引;入库解析出库时间并聚合批次归属日,支持历史回填 - 新增 compare_site_outdate 应到驱动入口,保留 compare_site_date 实到驱动作对照 - 未到任务 / POST /compare / 全站汇总切换到应到驱动 - 附现状梳理、设计、实现总结三篇文档
This commit is contained in:
@@ -19,12 +19,16 @@ CREATE TABLE IF NOT EXISTS expected_record (
|
||||
handover_pieces INTEGER, -- 交接件数(应到件数口径)
|
||||
order_pieces INTEGER, -- 录单件数
|
||||
business_date DATE, -- 业务日期(属性,非唯一键;读不到则 NULL)
|
||||
out_date DATE, -- 出库日(批次归属日口径;从 raw.出库时间 解析)
|
||||
batch_out_date DATE, -- 批次归属日(同交接单号出库日众数,并列取较早)
|
||||
raw JSONB NOT NULL, -- 站点原始全列(key=原列名)
|
||||
ingested_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
UNIQUE (site, waybill_no)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_expected_site_date ON expected_record (site, business_date);
|
||||
CREATE INDEX IF NOT EXISTS idx_expected_handover ON expected_record (site, handover_no);
|
||||
CREATE INDEX IF NOT EXISTS idx_expected_out_date ON expected_record (site, out_date);
|
||||
CREATE INDEX IF NOT EXISTS idx_expected_batch_out_date ON expected_record (site, batch_out_date);
|
||||
|
||||
-- 实到货物(扫描件级:一扫描一行;每扫描一件系统生成一个单号)
|
||||
CREATE TABLE IF NOT EXISTS actual_record (
|
||||
|
||||
Reference in New Issue
Block a user