UNPKG

sf-apple-sdk

Version:

Apple SF SDK for SF WMS

43 lines (42 loc) 1.66 kB
// src/services/cancel-sale-order.service.ts import { SERVICE_CODE } from '../constants/service.js'; import { post } from '../utils/post.js'; /** * 出库单取消接口 Service 3.6 ✅ * 该接口用于取消出库单,在仓库包装状态之前都允许取消 */ export class CancelOutboundService { constructor(options) { this.options = options; } /** * 取消出库单(可按 OMS 单号或 ErpOrder 二选一) * @param req CancelSaleOrderRequest * @throws 如果 CompanyCode 为空或 SaleOrders 为空,或每项既无 OutboundOrderId 又无 ErpOrder,则抛出 Error */ async cancelOutbound(data) { // if (!req.CompanyCode || !req.SaleOrders?.length) { // throw new Error("CompanyCode 和 SaleOrders 至少要有一项"); // } for (const so of data.saleOrders) { if (!so.OutboundOrderId && !so.ErpOrder) { throw new Error('每条 SaleOrders 必须提供 OutboundOrderId 或 ErpOrder'); } } const res = await post({ url: this.options.baseURL, checkword: this.options.checkword, sysSource: this.options.sysSource, serviceCode: SERVICE_CODE.CANCEL_SALE_ORDER_SERVICE, specialStr: this.options.specialStr, body: { CompanyCode: this.options.sysSource, AccessCode: this.options.accessCode, Checkword: this.options.checkword, ServiceCode: SERVICE_CODE.CANCEL_SALE_ORDER_SERVICE, SaleOrders: data.saleOrders, }, }); return res; } }