配送履约、自提、骑手与三方配送

本文整理 DGJ2.0 配送履约链路,包括骑手配送、轨迹上报、到达、签收、取消、自提、三方配送和调拨中心回调。配送状态会影响销售出库、采购配送和客户签收。

业务目标

  • 出库后创建配送任务或自提任务。
  • 骑手可接单、上报位置、到达、签收或取消。
  • 三方配送订单和销售出库单保持关联。
  • 调拨中心/TMS 回调推进采购或销售配送状态。

入口文件

  • App 配送接口:application/config/appapis.phptransport*
  • 配送服务:application/Services/Transport/TransportSer.php
  • 自提服务:application/Services/Transport/SelfDeliverySer.php
  • 三方配送:application/Services/SaOrders/ThirdDeliverySer.php
  • 调拨中心回调:application/controllers/tasks/DispatchCenterNotify.php
  • AI 控台配送:application/controllers/aiConsole/Courier.php

核心表

| 表 | 用途 | | --- | --- | | t_scm_sa_invoice | 销售出库主单 | | t_scm_sa_invoice_info | 销售出库明细 | | t_scm_third_party_delivery_order | 三方配送订单 | | t_sa_invoice_delivery_relation | 出库单和三方配送关系 | | t_scm_po_out_info | 采购出库/配送明细 | | t_app_order_sign | App 签收记录 | | t_app_order_back | 物流反馈记录 |

核心方法

配送:

  • TransportSer::transportCreate:创建配送。
  • transporCourierList:骑手列表。
  • transportReceiverList:收货人列表。
  • transportTaking:接单。
  • transportArrive:到达。
  • transportReceipt:签收。
  • transportCancel:取消。
  • courierReportRegister:轨迹设备注册。
  • courierReport:轨迹上报。
  • transportStatusChange:配送状态变更。

自提:

  • SelfDeliverySer::create:创建自提。
  • cancel:取消自提。
  • detail:自提详情。

调拨中心回调:

  • dispatchCenterDeliveryStockOut:配送出库。
  • dispatchCenterLogisticeInfoNotify:物流信息。
  • dispatchCenterSelfPickUpNotify:自提通知。
  • dispatchCenterReturnClose:退货关闭。

AI 控台:

  • Courier::pushTmsTransportCreate:推送 TMS 创建配送。
  • getTransportByTmsNo:按 TMS 单号查询。
  • getTransportReceiverList:收货人列表。

主流程

flowchart TD
  A["销售出库/采购发货"] --> B["创建配送或自提任务"]
  B --> C["骑手接单或客户自提"]
  C --> D["轨迹/物流状态上报"]
  D --> E["到达/签收"]
  E --> F["更新出库单配送状态"]
  F --> G["同步下游或触发对账/核销"]

异常流程

  • 配送单未生成:查出库单状态、配送创建入口、三方配送关系。
  • 骑手接不了单:查骑手列表、服务站、配送任务状态。
  • 签收后状态没变:查 transportReceipt、调拨中心物流回调、出库单状态。
  • 三方配送查不到:查 t_scm_third_party_delivery_order 和关系表。
  • TMS 回调重复:查 dispatch 回调幂等和业务单据状态。

常用 rg 命令

rg -n "transportTaking|transportArrive|transportReceipt|courierReport|transportStatusChange" application/Services/Transport application/config/appapis.php
rg -n "SelfDeliverySer|ThirdDeliverySer|SCM_THIRD_PARTY_DELIVERY_ORDER|SCM_SA_INVOICE_DELIVERY_RELATION" application
rg -n "dispatchCenterDeliveryStockOut|dispatchCenterLogisticeInfoNotify|dispatchCenterSelfPickUpNotify" application/controllers/tasks/DispatchCenterNotify.php
rg -n "pushTmsTransportCreate|getTransportByTmsNo" application/controllers/aiConsole application/Services/Transport

改动风险和回归清单

  • 销售出库后配送、自提、三方配送。
  • 骑手接单、轨迹、到达、签收、取消。
  • 采购配送中心出库和物流状态。
  • 重复回调、乱序回调、运单号变更。
  • 对账/核销前后的配送状态兼容。