按「国家 → 推导 Region / 推导 POE」的内在逻辑,比对每行实际单元格值。第 1 部分 用于补缺失 (Region 名称 / 国家名称 两张归一表);第 2 部分 是对应关系表 :录入数据后按它比对,不一致的行会在「当天提货」「历史明细」中标色 (红=冲突或缺失,黄=歧义待人工)。仅展示,不自动回写。
各列判定优先级(从左到右依次尝试,命中即停)
目的国
① 别名表反查(US / 美国 / UNITED STATES…) →
② 美国 Ship-to 细分(CARLISLE、USA-5651~5660)→ US →
③ 美国泛值别名 → US →
④ 都不中 → 显示原值(进「未映射」提示)
POE
① 单元格有值 → 直接显示原值 →
② 为空时 Ship-to 三字码(USA-5652→SDF、CARLISLE→MDT) →
③ 国家代码(JP→NRT、SG→SIN…ASIA 固定映射) →
④ 国家=US → 显示 US →
⑤ AMR/EMEIA 非美国 → 国家代码本身
Region
① 写法归一(EMEA→EMEIA 等) →
② 国家反查对应关系表(US→AMR、JP→ASIA…)
厂别
① 发件人/后缀 → 线路 →
② 正文提货地址唯一命中 → 定厂(防主题错位;与主题代码冲突时按地址+标红) →
③ 主题工厂代码兜底
详见「邮件识别」子选项卡
检测
第 1 部分 · 写法归一映射(缺失补数据用)
四张表均可直接编辑 (改别名 / 增行 / 删行),点「保存」后弹窗确认 才生效,避免误触;「恢复默认」回到 config.json 的默认映射。分三张表:① Region 名称 ② 国家名称 ③ POE 对应表 。采集到的原始写法按此全部转为标准名称;国家写法不规范或缺失时,按别名反查标准国家 / Region / POE 补数据。
1 · Region 名称
标准 Region 其他名称(逗号分隔,含标准名本身)
+ 添加行
保存
恢复默认
2 · 国家名称
+ 添加行
保存
恢复默认
第 2 部分 · 对应关系表(标准国家 → Region / POE)
每个标准国家一行,标准 POE 按规则推导:Region 为 AMR/EMEIA 时 POE=国家代码(美国泛值=US;分仓编号如 USA-5652→SDF 单列一行);Region 为 ASIA 时按固定映射 AU=SYD、KR=ICN、JP=NRT、SG=SIN。Region 与 POE 可编辑(保存写入映射);当天的 Region/POE 与本表不一致的行会在「当天提货」「历史明细」标色。
+ 添加行
保存
恢复默认
「邮件识别」——厂别判定链(2026-10-15 定稿):① 发件人/邮箱后缀 → 线路(白名单 120/120=100%)→ ② 正文提货地址唯一命中工厂库 → 定厂(防主题/标题错位,回测零误判)→ ③ 主题工厂代码兜底 → ④ 仍定不了 → 留空 + 告警,人工在看板指定(绝不猜) 。 全量回测(7 天 891 封):地址优先可 100% 修正 veritiv 代发全系(RH→壬和、HTS→汉特、FY→富扬);63 封正文无地址的线路(创源/联钢/赛腾/迈锐——地址在附件资料里)由发件人白名单 100% 兜底。R109 起: 每个厂别的「特定识别要点 / 历次特定优化 / 最近回测 / 已知缺口」登记在 看板/email_rules_notes.json,本页直接展示;改动识别逻辑必须同步登记(见项目根 AGENTS.md 第 8 节与 错误档案.md)。
厂别
抓取邮件识别逻辑(发件人 → 主题代码 → 正文地址)
提货日期规则(A 表 tab = 提货日)
识别等级
特定识别要点
特定优化记录
最近回测
已知缺口 / 待办
把同一货代的多种写法统一成一个标准名(如 DSV / SCH / SCHENKER 统一为 SCH )。保存后立即对「当天提货」的货代列与货代筛选生效;A表原始值不变 (仅显示层归一)。
每条规则 = 一个标准名称 + 若干别名(逗号分隔,可含标准名本身);命中任一别名的货代都会显示为该标准名。
HAWB 特征 :该货代单号的位数/结构写法,采集端按此特征在邮件正文 里精确识别分单号(留空则回落 config.json 默认)。KWE=8 开头 12 位数字;DGF=7 位(数字+2 字母+4 数字);SCH=3 字母+8 位数字。
标准名称 别名(逗号分隔) HAWB 特征(三家代理单号写法)
+ 添加规则
保存
恢复默认
仓库
按 货代(FWD) 对应提货仓库,「当天提货」的 W/H 列自动显示仓库名。
保存后同步写回 config.json ,采集端随即生效(采集器只读 config.json)。
当前对应:KWE → 唯凯 · DGF → 景鸿 · SCH / DSV → 传盛128号 。
别名货代(如 SCHENKER)按上面的「标准名称」归一到标准名后再查本表。
历史不补:仅 2026-10-20 及之后提货日的数据显示仓库;
更早的历史 tab 保持原样(W/H 空就是空)。
+ 添加仓库
保存仓库
货代补全软规则
按发件人 + 区域 自动补全货代(如 veritiv Catherine 表:货代为空且区域属 EMEIA/AMR → 货代补 SCH )。规则存于 config.json → soft_rules,此处可一键启用 / 停止 ;停止后下一次采集即不再补全(A 表已有值保持不变)。
正规流程:OEM 工厂数据先进 → 建行 → HAWB 后到匹配进该行 。若 HAWB 先到、同 tab 找不到 OEM 行(现网仅赛腾这类:收到 HAWB 后填表再发),HAWB 暂存于此 ,等工厂数据到达自动认领。两边数据分开存放 ;匹配成功即从列表消失;当天/历史里人工删去 HAWB(解绑) 后,工厂数据与 HAWB 会分别回到下面两个子表。自动匹配不上时,可按数据信息 + 邮件主题 人工匹配。每行末尾的 定位 可直接跳到当天明细并高亮该行。
工厂数据缺失
HAWB未匹配数据
厂别未识别
工厂数据不完整
刷新
提货日 厂别 货代 国家 POE 毛重 尺寸 托数/箱数 工厂编号 原因 行号
下拉候选已按匹配度排序:★ = 同 tab(且同国家 + 同 POE),通常直接选第一个即可。选错也不会串行——目标行必须 HAWB 为空、HAWB 全局唯一,任一不满足都会被拒绝。
若某票在候选配对组 里(上方分组块),说明它属于「同组多票同时缺 HAWB、机器没有消歧维度」那一批,可直接在组内点选、一次提交整组 。
HAWB 提货日 厂别 货代 国家 POE 毛重 来源 / 邮件主题 原因 首次登记 / 行号 匹配到工厂行
这些行数据是全的 ,只是厂别没认出来(M 列为空,或值是工厂库里没有的脏值)。因为不属于「缺数据」也不属于「缺 HAWB」,以前它们哪儿都不显示 —— 只能逐日翻表才发现。点行首的分单号 或末尾的 定位·定厂别 可跳到该行并直接打开「查看抓取邮件 + 人工指定厂别」弹窗。
提货日 分单号 厂别(原始值) 货代 国家 POE 毛重 原因 行号 操作
R159 工厂数据完整性契约 :提货日期 + 厂别 + 货代 + 目的国 + 外包装 + 尺寸 + 毛重 这 7 项缺一不可 ;另有 7 个厂别(创源 / 迈锐 / 领益 / 昆山嘉艺 / 上海嘉艺 / 联钢 / 赛腾)必须有工厂编号 (恒铭达一族「一般会有」但不强制)。
来源两种:表内 = 行已在主表、只是缺字段(点「定位」跳过去直接补);未落表 = 被 R144 完整性闸拦下、根本没进主表(无行号,只能回邮件补)。
来源 提货日 分单号 厂别 货代 国家 外包装 尺寸 毛重 工厂编号 缺什么 原因 操作