优化
This commit is contained in:
@@ -34,7 +34,7 @@ paths:
|
|||||||
/api/pda/v1/last-leg/receiving-containers/current/sign:
|
/api/pda/v1/last-leg/receiving-containers/current/sign:
|
||||||
post:
|
post:
|
||||||
summary: 签收当前柜
|
summary: 签收当前柜
|
||||||
description: 权限 lastleg:pda:operate;校验非空照片归属后由 WAIT_SIGN 推进 SIGNED。
|
description: 权限 lastleg:pda:operate;精确校验车牌、封签、开柜三类照片各一次及文件归属后由 WAIT_SIGN 推进 SIGNED。
|
||||||
security: [{ bearerAuth: [] }]
|
security: [{ bearerAuth: [] }]
|
||||||
requestBody: { required: true, content: { application/json: { schema: { $ref: '#/components/schemas/ReceivingSign' } } } }
|
requestBody: { required: true, content: { application/json: { schema: { $ref: '#/components/schemas/ReceivingSign' } } } }
|
||||||
responses: { '200': { description: 已签收会话, content: { application/json: { schema: { $ref: '#/components/schemas/ReceivingSessionApiResponse' } } } }, '409': { description: 状态或照片校验失败 } }
|
responses: { '200': { description: 已签收会话, content: { application/json: { schema: { $ref: '#/components/schemas/ReceivingSessionApiResponse' } } } }, '409': { description: 状态或照片校验失败 } }
|
||||||
@@ -51,6 +51,13 @@ paths:
|
|||||||
security: [{ bearerAuth: [] }]
|
security: [{ bearerAuth: [] }]
|
||||||
requestBody: { required: true, content: { application/json: { schema: { type: object, required: [cartonMark], properties: { cartonMark: { type: string } } } } } }
|
requestBody: { required: true, content: { application/json: { schema: { type: object, required: [cartonMark], properties: { cartonMark: { type: string } } } } } }
|
||||||
responses: { '200': { description: 箱唛与入仓码信息, content: { application/json: { schema: { $ref: '#/components/schemas/ReceivingCartonResolvedApiResponse' } } } }, '409': { description: 跨柜、重复箱或目的类型不符 } }
|
responses: { '200': { description: 箱唛与入仓码信息, content: { application/json: { schema: { $ref: '#/components/schemas/ReceivingCartonResolvedApiResponse' } } } }, '409': { description: 跨柜、重复箱或目的类型不符 } }
|
||||||
|
/api/pda/v1/last-leg/receiving-containers/current/skus/resolve:
|
||||||
|
post:
|
||||||
|
summary: 解析当前柜 FBA SKU
|
||||||
|
description: 权限 lastleg:pda:operate;仅解析当前已签柜内唯一归属一个入仓码的 FBA SKU,返回冻结箱数与实收进度。
|
||||||
|
security: [{ bearerAuth: [] }]
|
||||||
|
requestBody: { required: true, content: { application/json: { schema: { type: object, required: [skuCode], properties: { skuCode: { type: string, minLength: 1, maxLength: 128 } } } } } }
|
||||||
|
responses: { '200': { description: SKU与入仓码信息, content: { application/json: { schema: { $ref: '#/components/schemas/ReceivingSkuResolvedApiResponse' } } } }, '404': { description: A0404:SKU不在当前FBA柜内 }, '409': { description: A0409:SKU跨多个入仓码导致归属不唯一 } }
|
||||||
/api/pda/v1/last-leg/receiving-containers/current/pallets/resolve:
|
/api/pda/v1/last-leg/receiving-containers/current/pallets/resolve:
|
||||||
post:
|
post:
|
||||||
summary: 解析当前柜实物托盘码
|
summary: 解析当前柜实物托盘码
|
||||||
@@ -422,15 +429,22 @@ components:
|
|||||||
properties: { idempotencyKey: { type: string, minLength: 1, maxLength: 255 } }
|
properties: { idempotencyKey: { type: string, minLength: 1, maxLength: 255 } }
|
||||||
ReceivingSign:
|
ReceivingSign:
|
||||||
type: object
|
type: object
|
||||||
required: [photoFileIds, idempotencyKey]
|
required: [photos, idempotencyKey]
|
||||||
properties:
|
properties:
|
||||||
photoFileIds: { type: array, minItems: 1, uniqueItems: true, items: { type: integer, format: int64 } }
|
photos: { type: array, minItems: 3, maxItems: 3, items: { $ref: '#/components/schemas/ReceivingSignedPhoto' } }
|
||||||
idempotencyKey: { type: string, minLength: 1, maxLength: 255 }
|
idempotencyKey: { type: string, minLength: 1, maxLength: 255 }
|
||||||
|
ReceivingSignedPhoto:
|
||||||
|
type: object
|
||||||
|
required: [role, fileId]
|
||||||
|
properties:
|
||||||
|
role: { type: string, enum: [LICENSE_PLATE, CONTAINER_SEAL, DOOR_OPEN] }
|
||||||
|
fileId: { type: integer, format: int64, minimum: 1 }
|
||||||
ReceivingBulk:
|
ReceivingBulk:
|
||||||
type: object
|
type: object
|
||||||
required: [inboundCode, palletCode, packageCount, idempotencyKey]
|
required: [inboundCode, skuCode, palletCode, packageCount, idempotencyKey]
|
||||||
properties:
|
properties:
|
||||||
inboundCode: { type: string, minLength: 1 }
|
inboundCode: { type: string, minLength: 1 }
|
||||||
|
skuCode: { type: string, minLength: 1, maxLength: 128 }
|
||||||
palletCode: { type: string, minLength: 1 }
|
palletCode: { type: string, minLength: 1 }
|
||||||
packageCount: { type: integer, minimum: 1 }
|
packageCount: { type: integer, minimum: 1 }
|
||||||
idempotencyKey: { type: string, minLength: 1, maxLength: 255 }
|
idempotencyKey: { type: string, minLength: 1, maxLength: 255 }
|
||||||
@@ -466,24 +480,26 @@ components:
|
|||||||
pendingPackages: { type: integer }
|
pendingPackages: { type: integer }
|
||||||
ReceivingCandidate:
|
ReceivingCandidate:
|
||||||
type: object
|
type: object
|
||||||
required: [containerNo, status, planCount, inboundCodeCount, totalPackages, receivedPackages, currentAccount]
|
required: [containerNo, status, planCount, inboundCodeCount, destinationCodes, plannedPalletCount, totalPackages, receivedPackages, currentAccount]
|
||||||
properties:
|
properties:
|
||||||
containerNo: { type: string }
|
containerNo: { type: string }
|
||||||
status: { type: string, enum: [WAIT_SIGN, SIGNED, RECEIVING, COMPLETED] }
|
status: { type: string, enum: [WAIT_SIGN, SIGNED, RECEIVING, COMPLETED] }
|
||||||
planCount: { type: integer }
|
planCount: { type: integer }
|
||||||
inboundCodeCount: { type: integer }
|
inboundCodeCount: { type: integer }
|
||||||
|
destinationCodes: { type: array, uniqueItems: true, items: { type: string } }
|
||||||
|
plannedPalletCount: { type: integer }
|
||||||
totalPackages: { type: integer }
|
totalPackages: { type: integer }
|
||||||
receivedPackages: { type: integer }
|
receivedPackages: { type: integer }
|
||||||
currentAccount: { type: boolean }
|
currentAccount: { type: boolean }
|
||||||
ReceivingSession:
|
ReceivingSession:
|
||||||
type: object
|
type: object
|
||||||
required: [containerNo, status, version, photoFileIds, totalPackages, receivedPackages, pendingPackages, inbounds]
|
required: [containerNo, status, version, photos, totalPackages, receivedPackages, pendingPackages, inbounds]
|
||||||
properties:
|
properties:
|
||||||
containerNo: { type: string }
|
containerNo: { type: string }
|
||||||
status: { type: string, enum: [WAIT_SIGN, SIGNED, RECEIVING, COMPLETED] }
|
status: { type: string, enum: [WAIT_SIGN, SIGNED, RECEIVING, COMPLETED] }
|
||||||
operatorName: { type: string, nullable: true }
|
operatorName: { type: string, nullable: true }
|
||||||
version: { type: integer }
|
version: { type: integer }
|
||||||
photoFileIds: { type: array, items: { type: integer, format: int64 } }
|
photos: { type: array, maxItems: 3, items: { $ref: '#/components/schemas/ReceivingSignedPhoto' } }
|
||||||
preparedAt: { type: string, format: date-time, nullable: true }
|
preparedAt: { type: string, format: date-time, nullable: true }
|
||||||
signedAt: { type: string, format: date-time, nullable: true }
|
signedAt: { type: string, format: date-time, nullable: true }
|
||||||
receivingAt: { type: string, format: date-time, nullable: true }
|
receivingAt: { type: string, format: date-time, nullable: true }
|
||||||
@@ -508,6 +524,14 @@ components:
|
|||||||
properties:
|
properties:
|
||||||
cartonMark: { type: string }
|
cartonMark: { type: string }
|
||||||
skuCode: { type: string, nullable: true }
|
skuCode: { type: string, nullable: true }
|
||||||
|
ReceivingSkuResolved:
|
||||||
|
allOf:
|
||||||
|
- { $ref: '#/components/schemas/ReceivingInbound' }
|
||||||
|
- type: object
|
||||||
|
required: [skuCode]
|
||||||
|
properties:
|
||||||
|
skuCode: { type: string }
|
||||||
|
productName: { type: string, nullable: true }
|
||||||
ReceivingPalletResolved:
|
ReceivingPalletResolved:
|
||||||
type: object
|
type: object
|
||||||
required: [palletCode, warehouseId, status, inboundCode, destinationType, compatible]
|
required: [palletCode, warehouseId, status, inboundCode, destinationType, compatible]
|
||||||
@@ -556,6 +580,12 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [data]
|
required: [data]
|
||||||
properties: { data: { $ref: '#/components/schemas/ReceivingCartonResolved' } }
|
properties: { data: { $ref: '#/components/schemas/ReceivingCartonResolved' } }
|
||||||
|
ReceivingSkuResolvedApiResponse:
|
||||||
|
allOf:
|
||||||
|
- { $ref: '#/components/schemas/ReceivingApiResponseBase' }
|
||||||
|
- type: object
|
||||||
|
required: [data]
|
||||||
|
properties: { data: { $ref: '#/components/schemas/ReceivingSkuResolved' } }
|
||||||
ReceivingPalletResolvedApiResponse:
|
ReceivingPalletResolvedApiResponse:
|
||||||
allOf:
|
allOf:
|
||||||
- { $ref: '#/components/schemas/ReceivingApiResponseBase' }
|
- { $ref: '#/components/schemas/ReceivingApiResponseBase' }
|
||||||
|
|||||||
Reference in New Issue
Block a user