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

60 lines
3.5 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时才有值;仅日期的冻结计划通过plannedDate返回。
plannedDate/isDefault由与清关提柜和入库计划共用的服务端解析器返回,默认按权威到港当地日期加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}
cabinetNo: {type: string, nullable: true, description: 来源交接冻结的柜次号,作为日历主标识}
containerNo: {type: string, nullable: true}
warehouseName: {type: string, nullable: true}
warehouseCode: {type: string, nullable: true}
plannedAt: {type: string, format: date-time, nullable: true}
plannedDate: {type: string, format: date, nullable: true, description: 人工日期、已生成计划冻结日期或权威默认日期}
isDefault: {type: boolean, description: 仅当前未维护未建计划且有默认日期时为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}