优化
This commit is contained in:
@@ -1986,7 +1986,7 @@ CREATE TABLE IF NOT EXISTS ll_dispatch_item (
|
||||
return_receipt_id BIGINT NULL COMMENT '明确选用的真实退回入仓来源',
|
||||
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_ll_dispatch_item_source (dispatch_order_id,plan_pallet_id,warehouse_pallet_id),
|
||||
UNIQUE KEY uk_ll_dispatch_item_source (dispatch_order_id,source_key),
|
||||
KEY idx_ll_dispatch_item_order (customer_id,order_id),
|
||||
KEY idx_ll_dispatch_item_inbound (customer_id,inbound_code),
|
||||
KEY idx_ll_dispatch_item_pallet (customer_id,plan_pallet_id,warehouse_pallet_id)
|
||||
@@ -1998,12 +1998,70 @@ SET @ddl = (SELECT IF(EXISTS (SELECT 1 FROM information_schema.columns WHERE tab
|
||||
SET @ddl = (SELECT IF(EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='ll_dispatch_item' AND column_name='gross_weight_kg'), 'SELECT 1', 'ALTER TABLE ll_dispatch_item ADD COLUMN gross_weight_kg DECIMAL(18,3) NOT NULL DEFAULT 0 COMMENT ''毛重(千克)'' AFTER package_count, ADD COLUMN volume_weight_kg DECIMAL(18,3) NOT NULL DEFAULT 0 COMMENT ''材积重(千克)'' AFTER gross_weight_kg')); PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
SET @ddl = (SELECT IF(EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='ll_dispatch_item' AND column_name='destination_type'), 'SELECT 1', 'ALTER TABLE ll_dispatch_item ADD COLUMN destination_type VARCHAR(32) NULL COMMENT ''目的类型:FBA或PRIVATE'' AFTER fba_warehouse_code, ADD COLUMN delivery_address VARCHAR(1000) NULL COMMENT ''私人仓目的地址快照'' AFTER destination_type, ADD COLUMN postal_code VARCHAR(32) NULL COMMENT ''私人仓邮编快照'' AFTER delivery_address, ADD COLUMN contact_name VARCHAR(128) NULL COMMENT ''私人仓联系人快照'' AFTER postal_code, ADD COLUMN contact_phone VARCHAR(64) NULL COMMENT ''私人仓联系电话快照'' AFTER contact_name')); PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_dispatch_item_source (
|
||||
id BIGINT NOT NULL COMMENT '逻辑运输来源贡献快照主键',
|
||||
dispatch_order_id BIGINT NOT NULL COMMENT '所属整车排车主单ID',
|
||||
dispatch_item_id BIGINT NOT NULL COMMENT '所属客户逻辑排车明细ID',
|
||||
customer_id VARCHAR(128) NOT NULL COMMENT '本条真实客户ID',
|
||||
relabel_application_id BIGINT NOT NULL COMMENT '换标申请ID',
|
||||
relabel_item_id BIGINT NOT NULL COMMENT '换标申请原明细ID',
|
||||
relabel_round_key VARCHAR(128) NOT NULL COMMENT '冻结的真实换标作业轮次,扫码数量变化不改变轮次',
|
||||
warehouse_pallet_id BIGINT NOT NULL COMMENT '当前真实物理托盘ID',
|
||||
inventory_position_id BIGINT NOT NULL COMMENT '绑定后实际库存位置ID',
|
||||
inventory_balance_id BIGINT NOT NULL COMMENT '绑定后实际库存余额ID',
|
||||
source_inventory_balance_id BIGINT NULL COMMENT '原货源库存余额快照,未知为空',
|
||||
source_inbound_order_id BIGINT NULL COMMENT '逐换标明细原货源订单ID,未知为空',
|
||||
source_inbound_order_no VARCHAR(128) NULL COMMENT '逐换标明细原货源订单业务号快照',
|
||||
source_inbound_code VARCHAR(128) NULL COMMENT '逐换标明细原入仓业务号快照',
|
||||
notified_package_count BIGINT NOT NULL COMMENT '本来源通知箱数,不代表全部换标成功',
|
||||
package_count BIGINT NOT NULL COMMENT '本来源实际绑定的可拣箱数',
|
||||
product_quantity BIGINT NULL COMMENT '有真实依据的来源产品件数,未知为空',
|
||||
binding_basis_hash CHAR(64) NOT NULL COMMENT '申请轮次、位置及逐来源贡献的冻结依据摘要',
|
||||
unit_facts_json JSON NOT NULL COMMENT '逐件新旧箱唛及成功或异常工作事实快照',
|
||||
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_dispatch_item_source_contribution (dispatch_item_id,relabel_item_id,inventory_position_id),
|
||||
KEY idx_dispatch_item_source_dispatch (dispatch_order_id,dispatch_item_id),
|
||||
KEY idx_dispatch_item_source_relabel (customer_id,relabel_application_id,relabel_item_id),
|
||||
CONSTRAINT chk_dispatch_item_source_packages CHECK(notified_package_count>=0 AND package_count>0),
|
||||
CONSTRAINT chk_dispatch_item_source_quantity CHECK(product_quantity IS NULL OR product_quantity>=0)
|
||||
) ENGINE=InnoDB COMMENT='换标逻辑来源实际贡献不可变快照';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_physical_pallet_guard (
|
||||
warehouse_pallet_id BIGINT NOT NULL COMMENT '真实全局物理托盘ID',
|
||||
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '首次建立串行点时间',
|
||||
PRIMARY KEY (warehouse_pallet_id)
|
||||
) ENGINE=InnoDB COMMENT='排车冻结与仓内实托组成修改的共同串行点';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_dispatch_physical_pallet_lock (
|
||||
id BIGINT NOT NULL COMMENT '物理实托占用主键',
|
||||
warehouse_id VARCHAR(128) NOT NULL COMMENT '真实起运仓ID',
|
||||
warehouse_pallet_id BIGINT NOT NULL COMMENT '全局真实物理托盘ID',
|
||||
active_warehouse_pallet_id BIGINT NULL COMMENT '活动物理排他键,释放后为空',
|
||||
dispatch_order_id BIGINT NULL COMMENT '正式排车主单ID,与草稿归属互斥',
|
||||
draft_token VARCHAR(64) NULL COMMENT '草稿拥有者令牌,与正式排车归属互斥',
|
||||
draft_container_id BIGINT NULL COMMENT '草稿内唯一占用该实托的容器ID',
|
||||
operator_id VARCHAR(128) NULL COMMENT '占用操作人ID',
|
||||
status VARCHAR(32) NOT NULL DEFAULT 'ACTIVE' COMMENT '物理占用状态',
|
||||
expires_at DATETIME(3) NULL COMMENT '草稿失效时间,正式占用为空',
|
||||
locked_at DATETIME(3) NOT NULL COMMENT '锁定时间',
|
||||
released_at DATETIME(3) NULL COMMENT '释放时间',
|
||||
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
||||
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间',
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_dispatch_physical_active_pallet (active_warehouse_pallet_id),
|
||||
KEY idx_dispatch_physical_order (dispatch_order_id,status),
|
||||
KEY idx_dispatch_physical_draft (draft_token,draft_container_id,status),
|
||||
CONSTRAINT chk_dispatch_physical_active_key CHECK((status='ACTIVE' AND active_warehouse_pallet_id IS NOT NULL AND active_warehouse_pallet_id=warehouse_pallet_id) OR (status<>'ACTIVE' AND active_warehouse_pallet_id IS NULL)),
|
||||
CONSTRAINT chk_dispatch_physical_owner CHECK((dispatch_order_id IS NOT NULL AND draft_token IS NULL AND draft_container_id IS NULL) OR (dispatch_order_id IS NULL AND draft_token IS NOT NULL AND draft_container_id IS NOT NULL))
|
||||
) ENGINE=InnoDB COMMENT='同车共享且跨车排他的物理实托占用';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_dispatch_pallet_lock (
|
||||
id BIGINT NOT NULL COMMENT '主键ID',
|
||||
physical_lock_id BIGINT NULL COMMENT '实际物理实托占用ID,非物理来源为空',
|
||||
customer_id VARCHAR(128) NOT NULL COMMENT '客户租户ID',
|
||||
source_pallet_key VARCHAR(160) NOT NULL COMMENT '来源托盘业务键',
|
||||
active_key VARCHAR(160) NULL COMMENT '生效中的资源排他键',
|
||||
active_warehouse_pallet_id BIGINT NULL COMMENT '活动占用的真实仓库托盘,释放后为空,跨客户及来源别名唯一',
|
||||
plan_id BIGINT NULL COMMENT '入仓计划ID',
|
||||
plan_pallet_id BIGINT NULL COMMENT '计划托盘ID',
|
||||
warehouse_pallet_id BIGINT NULL COMMENT '仓库实物托盘ID',
|
||||
@@ -2021,10 +2079,10 @@ SET @ddl = (SELECT IF(EXISTS (SELECT 1 FROM information_schema.columns WHERE tab
|
||||
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_ll_dispatch_active_pallet (customer_id,active_key),
|
||||
UNIQUE KEY uk_ll_dispatch_active_warehouse_pallet (active_warehouse_pallet_id),
|
||||
KEY idx_dispatch_logical_physical (physical_lock_id,status),
|
||||
KEY idx_ll_dispatch_pallet_lock_order (customer_id,dispatch_order_id,status),
|
||||
KEY idx_ll_dispatch_pallet_lock_source (customer_id,source_pallet_key,status)
|
||||
) ENGINE=InnoDB COMMENT='派车托盘排他锁';
|
||||
) ENGINE=InnoDB COMMENT='客户逻辑运输来源占用';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_dispatch_draft (
|
||||
id BIGINT NOT NULL COMMENT '主键ID', draft_token VARCHAR(64) NOT NULL COMMENT '智能排车草稿随机标识',
|
||||
@@ -2137,8 +2195,10 @@ CREATE TABLE IF NOT EXISTS ll_dispatch_pda_pick_order (
|
||||
product_quantity BIGINT NOT NULL DEFAULT 0 COMMENT '产品数量', created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
||||
return_receipt_id BIGINT NULL COMMENT '明确选用的真实退回入仓来源',
|
||||
return_carton_id BIGINT NULL COMMENT '原生退货箱来源ID,与实收来源互斥',
|
||||
dispatch_item_source_id BIGINT NULL COMMENT '换标实际来源贡献快照ID,与其他三类真实凭据互斥',
|
||||
KEY idx_dispatch_pick_return_receipt(customer_id,return_receipt_id),
|
||||
CONSTRAINT chk_dispatch_pick_receipt_source CHECK((receipt_id IS NOT NULL) + (return_receipt_id IS NOT NULL) + (return_carton_id IS NOT NULL) = 1),
|
||||
KEY idx_dispatch_pick_item_source(customer_id,dispatch_item_source_id),
|
||||
CONSTRAINT chk_dispatch_pick_receipt_source CHECK((receipt_id IS NOT NULL) + (return_receipt_id IS NOT NULL) + (return_carton_id IS NOT NULL) + (dispatch_item_source_id IS NOT NULL) = 1),
|
||||
|
||||
|
||||
PRIMARY KEY (id), KEY idx_ll_dispatch_pick_order_pick (customer_id,pick_id),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
openapi: 3.0.3
|
||||
info:
|
||||
title: 共用车次准备与拼车连续处理
|
||||
title: 外接登记与整车履约衔接
|
||||
version: 1.0.0
|
||||
security:
|
||||
- bearerAuth: []
|
||||
@@ -63,19 +63,3 @@ paths:
|
||||
components:
|
||||
securitySchemes:
|
||||
bearerAuth: {type: http, scheme: bearer, bearerFormat: JWT}
|
||||
schemas:
|
||||
Prepare:
|
||||
type: object
|
||||
required: [dispatchNos, idempotencyKey]
|
||||
properties:
|
||||
tripNo: {type: string, nullable: true, maxLength: 64}
|
||||
recordVersion: {type: integer, format: int64, nullable: true, minimum: 0}
|
||||
plan:
|
||||
allOf:
|
||||
- {$ref: './fleet-trips-v1.yaml#/components/schemas/Create'}
|
||||
nullable: true
|
||||
description: 仅新建提交,实际创建幂等键使用外层idempotencyKey。
|
||||
vehicleId: {type: string, nullable: true}
|
||||
driverId: {type: string, nullable: true}
|
||||
dispatchNos: {type: array, minItems: 1, maxItems: 100, uniqueItems: true, items: {type: string, maxLength: 64}}
|
||||
idempotencyKey: {type: string, minLength: 8, maxLength: 128}
|
||||
|
||||
@@ -3,27 +3,16 @@ info:
|
||||
title: 平台运输车次与资源分配
|
||||
version: 1.0.0
|
||||
description: >-
|
||||
车次是一次实际运输的稳定业务编号,客户排车、库存和派送单继续保留各自客户归属。
|
||||
本文件定义计划、资源分配及客户排车单关联命令;分配或关联不会扣库存或标记发车。
|
||||
创建可暂不指定车与司机,幂等键按创建人隔离;相同键相同内容返回同一车次,不同内容拒绝。
|
||||
正式分配要求在役海外车辆及已确认的托位/载重/容积,以及海外司机;司机按预计任务结束时间重新核验且验证证照文件。
|
||||
发车预览与实际发车重新核对司机当前海外区域和身份;分配后档案变更不能沿用原分配时的资格结果。
|
||||
一个车辆或司机同时只能占用一个未释放车次;当前不提供多个未来时段的并行预约。
|
||||
改派先取得新资源,成功后释放旧资源;整次写入与历史处于同一事务。
|
||||
司机预计结束包含承担的返程/转场;修改预计结束须重新核验司机,所有写命令使用recordVersion。
|
||||
普通计划接口不提供修改发车或签收状态的入口;PDA统一发车,结案检查所有客户派送终态及实发数量。
|
||||
货物结案不释放车辆或司机;结束各资源任务独立提交实际结束时间、地点和原因,车辆另确认可用/维修/停用/已归还状态。
|
||||
结案和结束任务命令携带版本及幂等键;结束司机任务不要求其证照仍有效,也不自动恢复其派车资格。
|
||||
关联要求已分配车和司机,客户排车单同起运仓且未开始拣货;可跨客户关联但不改变客户数据归属。
|
||||
同一排车单唯一关联一个车次;关联、改派、解除及尚未执行的派送单车/司机快照同步使用同一事务。
|
||||
关联后子排车不能独立编辑、取消或单独发车;取消车次前须解除关联,已开工不允许直接解除或变更路线。
|
||||
发车前允许在车次统一换车、换司机或调整时间,保留全部拣货事实与客户归属;已确认装载须能容纳于替换车辆。
|
||||
改派或调整计划使原装载确认失效,发车前须重新确认;不支持用计划接口处理在途换车或撤销已执行货物。
|
||||
关联只建立执行单据关系,不代表实际装载量、容量核验或审核已完成。
|
||||
每张客户排车单调度审核通过后允许新拣货;整车确认实际装载并通过理货审核后允许发车。
|
||||
审核仅通过或打回,通过意见选填、打回原因必填;无需额外提交或不同审核人。
|
||||
换车换司机、修改路线或时间使调度与理货审核待审;仅修改备注保留审核及装载。
|
||||
关联变更、重新确认装载或重新审核客户排车单使理货审核待审;保留全部拣货事实及历史审核快照。
|
||||
排车列表是一趟整车作业的唯一主入口,一张排车单对应唯一车次资源记录;同一起运仓允许多个客户和目的地。
|
||||
整车主单与任务不属于单一客户,货物明细、扫码归属、出库和派送单分别保留真实客户边界。
|
||||
本文件保留资源占用查询、历史详情、计划容量、外接预订、结案及车辆/司机任务结束等附加能力。
|
||||
不提供独立派送车次创建、多排车单手工绑定、旧调度/理货审核或装车写入口;审核和装发使用排车主单接口。
|
||||
已绑定排车主单的资源与路线调整由排车主单执行;零真实扫码时显式退回装车前,修改后重新两级审核。
|
||||
车辆和司机资格、容量与实际占用由服务端复验;候选可用不表示已预留,临时外配证据依排车主单规则核验。
|
||||
调度审核后经理货审核才可真实扫码;PDA拣货核平后,平台和PDA均可确认装车完成及实际发车。
|
||||
发车前整车派送安排须完整,正常签收汇总推进排车派送完成;既有异常业务和附加资源能力保留。
|
||||
货物结案不自动释放车辆或司机;各资源任务分别提交实际结束时间、地点和原因,车辆另确认结束状态。
|
||||
版本、幂等、客户隔离及事务要求以各实际端点及排车公共契约为准;历史数量不授权当前分配。
|
||||
security:
|
||||
- bearerAuth: []
|
||||
paths:
|
||||
@@ -350,7 +339,7 @@ components:
|
||||
dispatches: {type: array, items: {$ref: '#/components/schemas/DispatchBinding'}}
|
||||
previousDispatches:
|
||||
type: array
|
||||
description: 原绑定历史中已不在当前绑定的批次、客户及来源引用,按最新有效证据去重;历史数量不作为当前装载或可分配数量
|
||||
description: 原绑定历史中已不在当前绑定的批次及其客户、来源引用,按最新有效证据去重;历史数量不作为当前装载或可分配数量
|
||||
items: {$ref: '#/components/schemas/PreviousDispatch'}
|
||||
appointmentHistoryUnavailableReason:
|
||||
type: string
|
||||
@@ -656,20 +645,6 @@ components:
|
||||
manifestHash: {type: string, pattern: '^[0-9a-f]{64}$'}
|
||||
pallets: {type: array, minItems: 1, maxItems: 1000, items: {$ref: '#/components/schemas/Measurement'}}
|
||||
reason: {type: string, minLength: 1, maxLength: 1000}
|
||||
BindingCommand:
|
||||
type: object
|
||||
required: [recordVersion, dispatchNo, reason]
|
||||
properties:
|
||||
recordVersion: {type: integer, format: int64, minimum: 0}
|
||||
dispatchNo: {type: string, minLength: 1, maxLength: 64}
|
||||
reason: {type: string, minLength: 1, maxLength: 1000}
|
||||
Review:
|
||||
type: object
|
||||
required: [recordVersion, decision]
|
||||
properties:
|
||||
recordVersion: {type: integer, format: int64, minimum: 0}
|
||||
decision: {type: string, enum: [APPROVED, REJECTED]}
|
||||
reason: {type: string, nullable: true, maxLength: 1000, description: 通过选填;打回必填}
|
||||
ReviewState:
|
||||
type: object
|
||||
required: [status]
|
||||
@@ -685,17 +660,15 @@ components:
|
||||
properties:
|
||||
appointmentBatches: {type: array, items: {$ref: 'overseas-business-v1.yaml#/components/schemas/DispatchBatchReference'}}
|
||||
dispatchNo: {type: string}
|
||||
customerId: {type: string, description: 排车单自身客户归属,由服务端解析}
|
||||
packageCount: {type: integer, description: 关联时待发运箱数,不是实物托位数}
|
||||
boundBy: {type: string}
|
||||
boundAt: {type: string, format: date-time}
|
||||
review: {$ref: '#/components/schemas/ReviewState'}
|
||||
PreviousDispatch:
|
||||
type: object
|
||||
required: [dispatchNo, customerId, recordVersion, recordedAt, appointmentBatches]
|
||||
required: [dispatchNo, recordVersion, recordedAt, appointmentBatches]
|
||||
properties:
|
||||
dispatchNo: {type: string}
|
||||
customerId: {type: string}
|
||||
recordVersion: {type: integer, format: int64, description: 原绑定历史的车次版本}
|
||||
recordedAt: {type: string, format: date-time}
|
||||
appointmentBatches: {type: array, items: {$ref: 'overseas-business-v1.yaml#/components/schemas/DispatchBatchReference'}}
|
||||
@@ -712,16 +685,6 @@ components:
|
||||
name: {type: string, minLength: 1, maxLength: 128}
|
||||
address: {type: string, nullable: true, maxLength: 500}
|
||||
destinationKey: {type: string, nullable: true, maxLength: 160, description: 卸货站匹配Loading货物的destinationKey;未配置时可以保存计划但不能确认装载}
|
||||
Create:
|
||||
type: object
|
||||
required: [warehouseId, plannedDepartureAt, expectedDriverEndAt, stops, idempotencyKey]
|
||||
properties:
|
||||
warehouseId: {type: string, pattern: '^[1-9][0-9]*$'}
|
||||
plannedDepartureAt: {type: string, format: date-time}
|
||||
expectedDriverEndAt: {type: string, format: date-time}
|
||||
stops: {type: array, minItems: 2, maxItems: 200, items: {$ref: '#/components/schemas/Stop'}}
|
||||
remark: {type: string, nullable: true, maxLength: 1000}
|
||||
idempotencyKey: {type: string, minLength: 8, maxLength: 128}
|
||||
Plan:
|
||||
type: object
|
||||
required: [recordVersion, plannedDepartureAt, expectedDriverEndAt, stops, reason]
|
||||
|
||||
@@ -4038,10 +4038,6 @@ components:
|
||||
type: string
|
||||
format: date-time
|
||||
nullable: true
|
||||
vehicleAppointment:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/DispatchAppointmentReference'
|
||||
nullable: true
|
||||
remark:
|
||||
type: string
|
||||
nullable: true
|
||||
@@ -5602,6 +5598,10 @@ components:
|
||||
items:
|
||||
$ref: '#/components/schemas/DispatchBatchAllocation'
|
||||
nullable: true
|
||||
sourceOrigin:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/DispatchSourceOrigin'
|
||||
nullable: true
|
||||
required:
|
||||
- dispatchItemId
|
||||
- customerId
|
||||
@@ -5630,6 +5630,7 @@ components:
|
||||
- grossWeightKg
|
||||
- volumeCbm
|
||||
- batchAllocations
|
||||
- sourceOrigin
|
||||
DispatchCommandResult:
|
||||
type: object
|
||||
x-java-record: DispatchContracts.CommandResult
|
||||
@@ -5797,7 +5798,6 @@ components:
|
||||
sourceType:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/DispatchSourceType'
|
||||
nullable: true
|
||||
planPalletId:
|
||||
type: string
|
||||
pattern: ^[0-9]+$
|
||||
@@ -5815,7 +5815,9 @@ components:
|
||||
nullable: true
|
||||
sourceVersion:
|
||||
type: string
|
||||
nullable: true
|
||||
required:
|
||||
- sourceType
|
||||
- sourceVersion
|
||||
DispatchCreate:
|
||||
type: object
|
||||
x-java-record: DispatchCommands.Create
|
||||
@@ -5857,22 +5859,6 @@ components:
|
||||
- idempotencyKey
|
||||
- warehouseId
|
||||
description: 同一起运仓,允许空单或多客户、多目的仓。客户和来源归属由服务端解析,临时资源不生成假档案。
|
||||
DispatchAppointmentReference:
|
||||
type: object
|
||||
x-java-record: DispatchCommands.AppointmentReference
|
||||
properties:
|
||||
referenceNo:
|
||||
type: string
|
||||
nullable: true
|
||||
recordVersion:
|
||||
oneOf:
|
||||
- type: string
|
||||
pattern: ^[0-9]+$
|
||||
- type: integer
|
||||
minimum: 0
|
||||
description: 已有单写入必填;0合法。响应Long按十进制字符串输出。
|
||||
required:
|
||||
- recordVersion
|
||||
DispatchAddCargo:
|
||||
type: object
|
||||
x-java-record: DispatchCommands.AddCargo
|
||||
@@ -6351,24 +6337,6 @@ components:
|
||||
- status
|
||||
- confirmedAt
|
||||
- blockReason
|
||||
DispatchVehicleAppointment:
|
||||
type: object
|
||||
x-java-record: DispatchViews.VehicleAppointment
|
||||
properties:
|
||||
referenceNo:
|
||||
type: string
|
||||
nullable: true
|
||||
status:
|
||||
type: string
|
||||
nullable: true
|
||||
appointmentAt:
|
||||
type: string
|
||||
format: date-time
|
||||
nullable: true
|
||||
required:
|
||||
- referenceNo
|
||||
- status
|
||||
- appointmentAt
|
||||
DispatchDispatchInfo:
|
||||
type: object
|
||||
x-java-record: DispatchViews.DispatchInfo
|
||||
@@ -6393,10 +6361,6 @@ components:
|
||||
items:
|
||||
$ref: '#/components/schemas/DispatchFbaAppointment'
|
||||
nullable: true
|
||||
vehicleAppointment:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/DispatchVehicleAppointment'
|
||||
nullable: true
|
||||
appointmentBatches:
|
||||
type: array
|
||||
items:
|
||||
@@ -6408,7 +6372,6 @@ components:
|
||||
- departedAt
|
||||
- estimatedArrivalAt
|
||||
- fbaAppointments
|
||||
- vehicleAppointment
|
||||
- appointmentBatches
|
||||
DispatchDocuments:
|
||||
type: object
|
||||
@@ -6479,6 +6442,12 @@ components:
|
||||
sourceKey:
|
||||
type: string
|
||||
nullable: true
|
||||
sourceBusinessType:
|
||||
type: string
|
||||
nullable: true
|
||||
sourceBusinessNo:
|
||||
type: string
|
||||
nullable: true
|
||||
required:
|
||||
- customerId
|
||||
- customerName
|
||||
@@ -6490,6 +6459,8 @@ components:
|
||||
- volumeCbm
|
||||
- containerNo
|
||||
- sourceKey
|
||||
- sourceBusinessType
|
||||
- sourceBusinessNo
|
||||
DispatchDetail:
|
||||
type: object
|
||||
x-java-record: DispatchViews.Detail
|
||||
@@ -6660,6 +6631,14 @@ components:
|
||||
items:
|
||||
$ref: '#/components/schemas/DispatchReturnCarton'
|
||||
nullable: true
|
||||
sourceKey:
|
||||
type: string
|
||||
sourceBusinessType:
|
||||
type: string
|
||||
nullable: true
|
||||
sourceBusinessNo:
|
||||
type: string
|
||||
nullable: true
|
||||
required:
|
||||
- dispatchItemId
|
||||
- customerId
|
||||
@@ -6670,6 +6649,9 @@ components:
|
||||
- pickedPackages
|
||||
- positions
|
||||
- returnCartons
|
||||
- sourceKey
|
||||
- sourceBusinessType
|
||||
- sourceBusinessNo
|
||||
DispatchPosition:
|
||||
type: object
|
||||
x-java-record: DispatchViews.Position
|
||||
@@ -6970,6 +6952,11 @@ components:
|
||||
items:
|
||||
type: string
|
||||
nullable: true
|
||||
selectionGroup:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/DispatchSelectionGroup'
|
||||
required:
|
||||
- selectionGroup
|
||||
DispatchCandidateList:
|
||||
type: object
|
||||
x-java-record: DispatchPlanningModels.CandidateList
|
||||
@@ -7860,5 +7847,132 @@ components:
|
||||
sizeBytes:
|
||||
type: string
|
||||
pattern: ^[0-9]+$
|
||||
DispatchSelectionGroup:
|
||||
type: object
|
||||
x-java-record: DispatchPlanningModels.SelectionGroup
|
||||
properties:
|
||||
groupKey:
|
||||
type: string
|
||||
groupVersion:
|
||||
type: string
|
||||
sources:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/DispatchSelectionGroupSource'
|
||||
pallets:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/DispatchSelectionGroupPallet'
|
||||
complete:
|
||||
type: boolean
|
||||
blockReasons:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
required:
|
||||
- groupKey
|
||||
- groupVersion
|
||||
- sources
|
||||
- pallets
|
||||
- complete
|
||||
- blockReasons
|
||||
description: 服务端按完整实托及整换标申请计算未被页面筛选截断的来源集合;版本绑定组成、完工轮次、实际位置和各来源版本。complete=false或blockReasons非空禁止选入。
|
||||
DispatchSelectionGroupSource:
|
||||
type: object
|
||||
x-java-record: DispatchPlanningModels.SelectionGroupSource
|
||||
properties:
|
||||
selection:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/DispatchCargoSelection'
|
||||
sourceKey:
|
||||
type: string
|
||||
customerId:
|
||||
type: string
|
||||
customerName:
|
||||
type: string
|
||||
nullable: true
|
||||
sourceBusinessType:
|
||||
type: string
|
||||
nullable: true
|
||||
sourceBusinessNo:
|
||||
type: string
|
||||
nullable: true
|
||||
packages:
|
||||
type: string
|
||||
pattern: ^[0-9]+$
|
||||
required:
|
||||
- selection
|
||||
- sourceKey
|
||||
- customerId
|
||||
- customerName
|
||||
- sourceBusinessType
|
||||
- sourceBusinessNo
|
||||
- packages
|
||||
description: 客户和换标业务号按逻辑来源保留;selection携带本来源权威版本,正式建单和加货显式提交完整组,不从展示sourceKey推业务号。
|
||||
DispatchSelectionGroupPallet:
|
||||
type: object
|
||||
x-java-record: DispatchPlanningModels.SelectionGroupPallet
|
||||
properties:
|
||||
warehousePalletId:
|
||||
type: string
|
||||
pattern: ^[0-9]+$
|
||||
palletNo:
|
||||
type: string
|
||||
sourceKeys:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
packageCount:
|
||||
type: string
|
||||
pattern: ^[0-9]+$
|
||||
required:
|
||||
- warehousePalletId
|
||||
- palletNo
|
||||
- sourceKeys
|
||||
- packageCount
|
||||
description: 每实托只列一次,sourceKeys列出全部逻辑贡献;实际装载按实托测量,不能把整托容量重复计到各来源。
|
||||
DispatchSourceOrigin:
|
||||
type: object
|
||||
x-java-record: DispatchContracts.SourceOrigin
|
||||
properties:
|
||||
dispatchItemSourceId:
|
||||
type: string
|
||||
pattern: ^[0-9]+$
|
||||
nullable: true
|
||||
relabelApplicationId:
|
||||
type: string
|
||||
pattern: ^[0-9]+$
|
||||
nullable: true
|
||||
relabelItemId:
|
||||
type: string
|
||||
pattern: ^[0-9]+$
|
||||
nullable: true
|
||||
sourceInventoryBalanceId:
|
||||
type: string
|
||||
pattern: ^[0-9]+$
|
||||
nullable: true
|
||||
sourceInboundOrderId:
|
||||
type: string
|
||||
pattern: ^[0-9]+$
|
||||
nullable: true
|
||||
sourceInboundOrderNo:
|
||||
type: string
|
||||
nullable: true
|
||||
sourceInboundCode:
|
||||
type: string
|
||||
nullable: true
|
||||
productQuantity:
|
||||
type: string
|
||||
pattern: ^[0-9]+$
|
||||
nullable: true
|
||||
required:
|
||||
- dispatchItemSourceId
|
||||
- relabelApplicationId
|
||||
- relabelItemId
|
||||
- sourceInventoryBalanceId
|
||||
- sourceInboundOrderId
|
||||
- sourceInboundOrderNo
|
||||
- sourceInboundCode
|
||||
- productQuantity
|
||||
securitySchemes:
|
||||
bearerAuth: { type: http, scheme: bearer, bearerFormat: JWT }
|
||||
|
||||
Reference in New Issue
Block a user