Files
baiyue-firstleg/lastleg-service/src/main/resources/openapi/appointment-calendar-warehouse-v1.yaml
T

57 lines
3.0 KiB
YAML

openapi: 3.0.3
info: {title: 四类日历整柜到仓来源, version: 1.0.0}
security: [{bearerAuth: []}]
paths:
/api/platform/v1/last-leg/appointment-calendar/warehouse-arrivals/query:
post:
summary: 查询日历整柜人工到仓计划与冻结事实
description: >-
仅平台,同时要求platform:appointment:list与platform:overseas-warehouse:last-mile-order:list。
返回所选来源柜,以及查询区间内已人工维护或已有入库计划的到仓记录,支持跨月人工改期。
同柜多个客户合并一条。plannedAt只有整柜时间一致且人工维护版本大于0或已经建计划时才有值。
未人工维护、未建计划的日历默认日期由到港来源加2个自然日;此只读接口不写入库计划、不补造时刻。
actualAt只读PDA首次收货时间,不替换计划日期。
具备原尾程订单编辑权限、版本一致、无入库计划且未实际到仓时canEdit=true。
保存复用overseas-business-v1的整柜expected-arrival入口和原版本、幂等键、冻结门禁。
无法核平的整柜版本为-1,不能用默认日期覆盖。最多2000条,超出返回400。
x-permissions: [platform:appointment:list, 'platform:overseas-warehouse:last-mile-order:list']
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [from, to, sourceContainerBookingIds]
properties:
from: {type: string, format: date}
to: {type: string, format: date, description: 左闭右开,最多42天}
sourceContainerBookingIds: {type: array, maxItems: 2000, uniqueItems: true, items: {type: string, pattern: '^[1-9][0-9]*$'}}
responses:
'200':
description: 成功业务响应,code为字符串200
content:
application/json:
schema:
type: object
properties:
code: {type: string}
data:
type: array
items:
type: object
properties:
sourceContainerBookingId: {type: string}
containerNo: {type: string, nullable: true}
warehouseName: {type: string, nullable: true}
warehouseCode: {type: string, nullable: true}
plannedAt: {type: string, format: date-time, nullable: true}
actualAt: {type: string, format: date-time, nullable: true}
version: {type: integer, minimum: -1}
planCount: {type: integer, minimum: 0}
canEdit: {type: boolean}
'400': {description: 日期、来源柜或数量不符合约束}
'403': {description: 非平台或缺少任一读取权限}
components:
securitySchemes:
bearerAuth: {type: http, scheme: bearer, bearerFormat: JWT}