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