2.5 KiB
仓储转运上门取货与车辆排车
客户选择仓库上门取货并提交,平台审核通过后,原转运单进入车辆排车的“待取货”。一个取货车次可取多名客户的多票货,目的海外仓必须相同。客户自送、未审核、库存转运和测量已完成的订单不进入候选。
业务入口为 fleet/pickup/PlatformFleetPickupController,按 Controller → Service → Repository → Mapper 持久化,复用原车次编号、车辆司机分配和资源占用。tripPurpose=PICKUP 区别于原 DELIVERY,取货车次不关联出库排车、不发布拼车余位、不执行原出库装载和扣库存。
车次按 PLANNED → IN_TRANSIT → COMPLETED 执行。逐票取货任务为 ASSIGNED → PICKED → ARRIVED:发车复验车辆司机资格和实际占用;取货必须填写实提箱数并上传本票凭证;到仓后才开放原 PDA 清点测量。实提箱数独立保存,不覆盖客户预报箱数、SKU件数和箱唛。全车送仓可结束运输,车辆与司机任务分别沿原入口释放,不需要等仓内测量。
计划阶段取消车次会保留操作历史、释放资源和原单关联,使原单重新可安排;发车后禁止取消。原车次分配入口支持发车前改派。所有取货命令在车次行锁、版本校验和持久幂等摘要下执行;来源安排同时锁原单,避免一单多车。前端遇到结果未知保留原请求和请求键,阻止刷新卸载或改派后重新生成命令。
平台待取货使用服务端分页;客户详情、平台尾程详情按原转运单查询同一运输进度。凭证只允许当前单已确认引用,本车其他客户文件不能借用或下载。文件数据归 File 服务,Lastleg仅持有文件归属和引用。
公开接口与请求字段见 src/main/resources/openapi/fleet-transfer-pickup-v1.yaml。数据库增量为 ../../scripts/db/fleet-transfer-pickup-20261017.sql,目标 baiyue_lastleg,可重复执行,无业务 DML。
本机验收入口 ../../scripts/local-transfer-pickup-acceptance.mjs 创建带 TEST 标记的新业务记录并保存报告。覆盖待取货、未审核、自送、异仓拒绝、共车、取消改派、资源冲突、同键重放与异载荷拒绝、跨客户文件隔离、未送仓禁止PDA和送仓后完整测量。合成图片仅验证上传与文件归属,不证明物理取货。本机构建、单测和HTTP验收与远端部署、真实页面视觉验收分别记录。