UNPKG

sf-apple-sdk

Version:

Apple SF SDK for SF WMS

43 lines (42 loc) 1.72 kB
// src/services/receipt-serial-number.service.ts import { SERVICE_CODE } from '../constants/service.js'; import { post } from '../utils/post.js'; /** * 入库序列号信息接口 Service 3.15 ✅ * ServiceCode = 'RECEIPT_SERIAL_NUMBER_SERVICE' * 顺丰用来比对入库时扫描的序列号与接口传递的序列号 */ export class InboundSnService { constructor(options) { this.options = options; } /** * 给入库单添加序列号信息 * @param req ReceiptSerialNumberRequest * @throws 如果 CompanyCode、ReceiptSerialNumber.WarehouseCode * 或 ReceiptSerialNumber.ErpOrder 缺失,则抛 Error */ async addInboundSn(data) { const body = data.receiptSerialNumber; if (!body.ErpOrder || // 至少要有一个简单序列号 body.Pallets?.every((p) => p.Containers?.every((c) => !c.SerialNumberList?.length))) { throw new Error('CompanyCode、ReceiptSerialNumber.WarehouseCode、ErpOrder 必填,且至少有一条 SerialNumberList'); } const res = await post({ url: this.options.baseURL, checkword: this.options.checkword, sysSource: this.options.sysSource, serviceCode: SERVICE_CODE.RECEIPT_SERIAL_NUMBER_SERVICE, specialStr: this.options.specialStr, body: { CompanyCode: this.options.sysSource, Checkword: this.options.checkword, AccessCode: this.options.accessCode, ServiceCode: SERVICE_CODE.RECEIPT_SERIAL_NUMBER_SERVICE, ReceiptSerialNumber: data.receiptSerialNumber, }, }); return res; } }