配送履约、自提、骑手与三方配送
本文整理 DGJ2.0 配送履约链路,包括骑手配送、轨迹上报、到达、签收、取消、自提、三方配送和调拨中心回调。配送状态会影响销售出库、采购配送和客户签收。
业务目标
- 出库后创建配送任务或自提任务。
- 骑手可接单、上报位置、到达、签收或取消。
- 三方配送订单和销售出库单保持关联。
- 调拨中心/TMS 回调推进采购或销售配送状态。
入口文件
- App 配送接口:
application/config/appapis.php中transport*。 - 配送服务:
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
改动风险和回归清单
- 销售出库后配送、自提、三方配送。
- 骑手接单、轨迹、到达、签收、取消。
- 采购配送中心出库和物流状态。
- 重复回调、乱序回调、运单号变更。
- 对账/核销前后的配送状态兼容。