需求背景

当前 WMS 在订单管理中缺少一个可直接用于衡量承运商“入站扫描/到站落点”的时间字段,导致在以下场景中需要人工翻查轨迹或跨系统核对,效率低:
时效监控与异常定位困难:当订单出现“未上网、上网慢、节点断档”等问题时,无法快速判断包裹是否已到达承运商站点并完成扫描,从而难以区分是仓内发货问题、交接问题还是承运商站点处理问题。

需求描述

站点扫描时间的取值口径

“站点扫描时间”来源于承运商轨迹信息,系统需在订单轨迹中自动识别到达站点并完成扫描的对应节点,并取该节点的时间作为“站点扫描时间”。
默认识别口径:优先匹配轨迹描述中与“到达 FedEx 站点/场站”含义一致的节点(当前基准节点为 Arrived at FedEx location)。

轨迹识别规则需支持可维护调整

考虑承运商轨迹文案可能存在小幅调整(例如同义表达、大小写变化、个别单词变动),站点扫描节点的识别规则需支持配置化维护,不依赖研发改代码发版。

配置能力要求:
支持维护多条匹配规则(用于覆盖不同表达/变体)
支持两类匹配方式:
包含匹配:轨迹内容包含某关键词即可命中
规则匹配:按更严格的规则匹配(用于处理复杂变体)
匹配时默认不区分英文大小写(避免大小写导致识别失败)

兜底与可追溯要求

当订单轨迹中未出现任何可识别的“站点扫描”节点时:
“站点扫描时间”字段保持为空(导出为空值),不做默认填充或替代时间;
系统需保留可追溯信息(如日志/记录),便于后续定位:是订单无该节点、轨迹未同步、还是规则需要补充。

多次命中时的统一口径

同一票订单可能出现多次“到达站点”类节点(例如到不同设施/重复扫描)。为保证口径稳定,需明确取值规则:
默认取“首次到站扫描时间”:在所有命中的站点扫描节点中,取时间最早的一条作为“站点扫描时间”。

导出呈现

“站点扫描时间”仅在 WMS 订单管理的导出 中提供,不涉及其他系统页面展示或流程变更。

开发设计

  1. 订单时间表-添加站点扫描时间 字段 site_scan_time

  2. 系统新加配置项:siteScanTimeTrackMapping

     [
         {
             "realCarrierName": "FedEx",
             "trackMappings": [
                 "Arrived at FedEx location",
                 "Arrived at FedEx location."
             ]
         }
     ]
  3. 在轨迹抓取后,按实际承运商匹配轨迹,符合站点扫描时间的数据,最早那一条轨迹时间取为 站点扫描时间

  4. 保存节点数据到订单时间表order_operation_time.site_scan_time

  5. wms-订单管理-基础导出excel,输出 站点扫描时间 列

  6. 导出任务也同时兼容导出 站点扫描时间 列

作者:黄天文  创建时间:2026-03-10 11:34
最后编辑:黄天文  更新时间:2026-04-17 09:34