145 lines
7.6 KiB
YAML
145 lines
7.6 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: Firstleg Sailing Calendar API
|
|
version: v1
|
|
description: 船期实例、固定周模板、渠道管理、收货事实汇总和已放舱订舱关联。
|
|
paths:
|
|
/api/platform/v1/sailings/calendar:
|
|
get:
|
|
summary: 查询船期月历
|
|
description: 按 Asia/Shanghai 自然日仅返回今天及之后开船的船期和同范围汇总。有效已放舱订舱对应的排柜货量保留在其 OPEN/CLOSED 船期,截仓后仍保留;未安排或原船期取消、日期过期的未离仓余量,计入同仓、同渠道最近一班 OPEN 且尚未截仓的船期,按开船时间、船期编号和 ID 稳定排序。只调整展示投影,不改写订舱或排柜归属。响应 nextRefreshAt 为上海本地时间,取下一零点和同仓渠道范围内最近截仓时刻之后 1 毫秒的较早值,截仓查询不受展示月份、船名和港口筛选限制。
|
|
x-permission: platform:firstleg:sailing-calendar:list
|
|
parameters:
|
|
- {name: month, in: query, required: true, schema: {type: string, pattern: '^\\d{4}-\\d{2}$'}}
|
|
- {name: warehouseId, in: query, schema: {type: integer, format: int64}}
|
|
- {name: channelId, in: query, schema: {type: integer, format: int64}}
|
|
- {name: channelCode, in: query, schema: {type: string, maxLength: 64}}
|
|
- {name: departurePortCode, in: query, schema: {type: string, maxLength: 32}}
|
|
- {name: destinationPortCode, in: query, schema: {type: string, maxLength: 32}}
|
|
- {name: keyword, in: query, schema: {type: string, maxLength: 128}}
|
|
- {name: status, in: query, schema: {type: string}}
|
|
responses: {'200': {description: 月历和按船期汇总;nextRefreshAt 为下次自动刷新时间,volumeSummary 和 summary 的 availableBookedCapacityCbm 为扣除已离仓柜后的可用订舱容量,各船期 volumeSummary 的 bookedPlanningCapacityCbm 保留订舱总容量。}}
|
|
/api/platform/v1/sailings:
|
|
post:
|
|
summary: 新增单次船期
|
|
x-permission: platform:firstleg:sailing-calendar:create
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailings/{id}:
|
|
get:
|
|
summary: 查询船期详情
|
|
x-permission: platform:firstleg:sailing-calendar:list
|
|
parameters: [{name: id, in: path, required: true, schema: {type: integer, format: int64}}]
|
|
responses: {'200': {description: OK}}
|
|
put:
|
|
summary: 编辑船期
|
|
x-permission: platform:firstleg:sailing-calendar:edit
|
|
parameters: [{name: id, in: path, required: true, schema: {type: integer, format: int64}}]
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailings/{id}/history:
|
|
get:
|
|
summary: 查询船期变更历史
|
|
x-permission: platform:firstleg:sailing-calendar:list
|
|
parameters: [{name: id, in: path, required: true, schema: {type: integer, format: int64}}]
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailings/{id}/cancel:
|
|
post:
|
|
summary: 取消船期
|
|
x-permission: platform:firstleg:sailing-calendar:edit
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailings/{id}/copy:
|
|
post:
|
|
summary: 复制下一班船期
|
|
x-permission: platform:firstleg:sailing-calendar:create
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailings/{id}/volume-summary:
|
|
get:
|
|
summary: 查询实收、预报和归班明细
|
|
x-permission: platform:firstleg:sailing-calendar:list
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailings/{id}/booking-advice:
|
|
get:
|
|
summary: 查询只读订柜建议
|
|
description: 建议柜数按当前展示的全部待发实测与可核验预计体积除以统一柜型容量向上取整,正货量至少一柜;待补柜先扣除未离仓柜的可用订舱容量后再向上取整,下限为零。已离仓柜按所属柜型需求整柜扣除容量,同柜多票只扣一次。日历、汇总和柜型方案使用相同口径。
|
|
x-permission: platform:firstleg:sailing-calendar:list
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailings/{id}/booking-links:
|
|
post:
|
|
summary: 关联一条 RELEASED 海运订舱
|
|
x-permission: platform:firstleg:sailing-booking:link
|
|
responses: {'200': {description: ACTIVE 关联结果}}
|
|
/api/platform/v1/sailing-channels:
|
|
get:
|
|
summary: 查询当前生效船期价格表渠道
|
|
x-permission: platform:firstleg:sailing-calendar:list
|
|
parameters:
|
|
- {name: keyword, in: query, schema: {type: string, maxLength: 64}}
|
|
- {name: status, in: query, schema: {type: string, enum: [ACTIVE, INACTIVE]}}
|
|
- {name: warehouseId, in: query, schema: {type: integer, format: int64, minimum: 1}, description: 按收货仓筛选有有效报价的渠道}
|
|
responses: {'200': {description: OK}}
|
|
post:
|
|
summary: 新增船期渠道
|
|
x-permission: platform:firstleg:sailing-template:manage
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailing-channels/{id}:
|
|
put:
|
|
summary: 编辑或启停船期渠道
|
|
x-permission: platform:firstleg:sailing-template:manage
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailing-templates:
|
|
get:
|
|
summary: 查询固定周模板
|
|
x-permission: platform:firstleg:sailing-template:manage
|
|
responses: {'200': {description: OK}}
|
|
post:
|
|
summary: 新增固定周模板
|
|
x-permission: platform:firstleg:sailing-template:manage
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailing-templates/{id}:
|
|
put:
|
|
summary: 编辑固定周模板
|
|
x-permission: platform:firstleg:sailing-template:manage
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailing-templates/{id}/generation-preview:
|
|
post:
|
|
summary: 预览模板生成实例
|
|
x-permission: platform:firstleg:sailing-template:manage
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailing-templates/{id}/generate:
|
|
post:
|
|
summary: 按模板生成实例
|
|
x-permission: platform:firstleg:sailing-template:manage
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailings/{id}/exception-reassign:
|
|
post:
|
|
summary: 受限异常重新安排
|
|
x-permission: platform:firstleg:sailing-volume:exception-reassign
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailing-assignments/exceptions:
|
|
get:
|
|
summary: 查询未安排和晚到待办
|
|
x-permission: platform:firstleg:sailing-calendar:list
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailing-forecasts:
|
|
post:
|
|
summary: 新增未收货量预报
|
|
x-permission: platform:firstleg:sailing-volume:forecast-manage
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailing-forecasts/{id}:
|
|
put:
|
|
summary: 修订未收货量预报
|
|
x-permission: platform:firstleg:sailing-volume:forecast-manage
|
|
parameters: [{name: id, in: path, required: true, schema: {type: integer, format: int64}}]
|
|
responses: {'200': {description: 新版本预报}}
|
|
/api/platform/v1/sailing-forecasts/{id}/void:
|
|
post:
|
|
summary: 作废未收货量预报
|
|
x-permission: platform:firstleg:sailing-volume:forecast-manage
|
|
parameters: [{name: id, in: path, required: true, schema: {type: integer, format: int64}}]
|
|
responses: {'200': {description: OK}}
|
|
/api/platform/v1/sailing-forecasts/{id}/bind-receipt:
|
|
post:
|
|
summary: 将实收批次绑定到预报批次
|
|
x-permission: platform:firstleg:sailing-volume:forecast-manage
|
|
parameters: [{name: id, in: path, required: true, schema: {type: integer, format: int64}}]
|
|
responses: {'200': {description: OK}}
|