@be-link/ecommerce-plan-allocation-service-node-sdk 0.0.41 → 0.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/enum.d.ts CHANGED
@@ -319,4 +319,48 @@ export declare namespace ENUM {
319
319
  MANUAL_DIRECT = "MANUAL_DIRECT"
320
320
  }
321
321
  }
322
+ namespace PURCHASE_ORDER_ENUM {
323
+ /** 采购单状态 */
324
+ enum STATUS {
325
+ PENDING = "PENDING",
326
+ CANCELLED = "CANCELLED",
327
+ PURCHASED = "PURCHASED"
328
+ }
329
+ enum STATUS_CHINESE {
330
+ PENDING = "\u5F85\u91C7\u8D2D",
331
+ CANCELLED = "\u5DF2\u64A4\u56DE",
332
+ PURCHASED = "\u5DF2\u91C7\u8D2D"
333
+ }
334
+ const STATUS_MAP: {
335
+ readonly PENDING: STATUS_CHINESE.PENDING;
336
+ readonly CANCELLED: STATUS_CHINESE.CANCELLED;
337
+ readonly PURCHASED: STATUS_CHINESE.PURCHASED;
338
+ };
339
+ /** 采购明细采购类型 */
340
+ enum PURCHASE_TYPE {
341
+ PENDING = "PENDING",
342
+ PURCHASED = "PURCHASED"
343
+ }
344
+ enum PURCHASE_TYPE_CHINESE {
345
+ PENDING = "\u5F85\u91C7\u8D2D",
346
+ PURCHASED = "\u5DF2\u91C7\u8D2D"
347
+ }
348
+ const PURCHASE_TYPE_MAP: {
349
+ readonly PENDING: PURCHASE_TYPE_CHINESE.PENDING;
350
+ readonly PURCHASED: PURCHASE_TYPE_CHINESE.PURCHASED;
351
+ };
352
+ /** 采购单配送方式 */
353
+ enum DELIVERY_METHOD {
354
+ DELIVERY_TO_WAREHOUSE = "DELIVERY_TO_WAREHOUSE",
355
+ DELIVERY_TO_STORE = "DELIVERY_TO_STORE"
356
+ }
357
+ enum DELIVERY_METHOD_CHINESE {
358
+ DELIVERY_TO_WAREHOUSE = "\u914D\u9001\u5230\u4ED3",
359
+ DELIVERY_TO_STORE = "\u914D\u9001\u5230\u5E97"
360
+ }
361
+ const DELIVERY_METHOD_MAP: {
362
+ readonly DELIVERY_TO_WAREHOUSE: DELIVERY_METHOD_CHINESE.DELIVERY_TO_WAREHOUSE;
363
+ readonly DELIVERY_TO_STORE: DELIVERY_METHOD_CHINESE.DELIVERY_TO_STORE;
364
+ };
365
+ }
322
366
  }
package/enum.js CHANGED
@@ -317,4 +317,55 @@ var ENUM;
317
317
  DETAIL_NOT_FOUND: '入库单明细不存在',
318
318
  };
319
319
  })(WAREHOUSE_STOCK_IN_ORDER_ENUM = ENUM.WAREHOUSE_STOCK_IN_ORDER_ENUM || (ENUM.WAREHOUSE_STOCK_IN_ORDER_ENUM = {}));
320
+ let PURCHASE_ORDER_ENUM;
321
+ (function (PURCHASE_ORDER_ENUM) {
322
+ /** 采购单状态 */
323
+ let STATUS;
324
+ (function (STATUS) {
325
+ STATUS["PENDING"] = "PENDING";
326
+ STATUS["CANCELLED"] = "CANCELLED";
327
+ STATUS["PURCHASED"] = "PURCHASED";
328
+ })(STATUS = PURCHASE_ORDER_ENUM.STATUS || (PURCHASE_ORDER_ENUM.STATUS = {}));
329
+ let STATUS_CHINESE;
330
+ (function (STATUS_CHINESE) {
331
+ STATUS_CHINESE["PENDING"] = "\u5F85\u91C7\u8D2D";
332
+ STATUS_CHINESE["CANCELLED"] = "\u5DF2\u64A4\u56DE";
333
+ STATUS_CHINESE["PURCHASED"] = "\u5DF2\u91C7\u8D2D";
334
+ })(STATUS_CHINESE = PURCHASE_ORDER_ENUM.STATUS_CHINESE || (PURCHASE_ORDER_ENUM.STATUS_CHINESE = {}));
335
+ PURCHASE_ORDER_ENUM.STATUS_MAP = {
336
+ [STATUS.PENDING]: STATUS_CHINESE.PENDING,
337
+ [STATUS.CANCELLED]: STATUS_CHINESE.CANCELLED,
338
+ [STATUS.PURCHASED]: STATUS_CHINESE.PURCHASED,
339
+ };
340
+ /** 采购明细采购类型 */
341
+ let PURCHASE_TYPE;
342
+ (function (PURCHASE_TYPE) {
343
+ PURCHASE_TYPE["PENDING"] = "PENDING";
344
+ PURCHASE_TYPE["PURCHASED"] = "PURCHASED";
345
+ })(PURCHASE_TYPE = PURCHASE_ORDER_ENUM.PURCHASE_TYPE || (PURCHASE_ORDER_ENUM.PURCHASE_TYPE = {}));
346
+ let PURCHASE_TYPE_CHINESE;
347
+ (function (PURCHASE_TYPE_CHINESE) {
348
+ PURCHASE_TYPE_CHINESE["PENDING"] = "\u5F85\u91C7\u8D2D";
349
+ PURCHASE_TYPE_CHINESE["PURCHASED"] = "\u5DF2\u91C7\u8D2D";
350
+ })(PURCHASE_TYPE_CHINESE = PURCHASE_ORDER_ENUM.PURCHASE_TYPE_CHINESE || (PURCHASE_ORDER_ENUM.PURCHASE_TYPE_CHINESE = {}));
351
+ PURCHASE_ORDER_ENUM.PURCHASE_TYPE_MAP = {
352
+ [PURCHASE_TYPE.PENDING]: PURCHASE_TYPE_CHINESE.PENDING,
353
+ [PURCHASE_TYPE.PURCHASED]: PURCHASE_TYPE_CHINESE.PURCHASED,
354
+ };
355
+ /** 采购单配送方式 */
356
+ let DELIVERY_METHOD;
357
+ (function (DELIVERY_METHOD) {
358
+ DELIVERY_METHOD["DELIVERY_TO_WAREHOUSE"] = "DELIVERY_TO_WAREHOUSE";
359
+ DELIVERY_METHOD["DELIVERY_TO_STORE"] = "DELIVERY_TO_STORE";
360
+ })(DELIVERY_METHOD = PURCHASE_ORDER_ENUM.DELIVERY_METHOD || (PURCHASE_ORDER_ENUM.DELIVERY_METHOD = {}));
361
+ let DELIVERY_METHOD_CHINESE;
362
+ (function (DELIVERY_METHOD_CHINESE) {
363
+ DELIVERY_METHOD_CHINESE["DELIVERY_TO_WAREHOUSE"] = "\u914D\u9001\u5230\u4ED3";
364
+ DELIVERY_METHOD_CHINESE["DELIVERY_TO_STORE"] = "\u914D\u9001\u5230\u5E97";
365
+ })(DELIVERY_METHOD_CHINESE = PURCHASE_ORDER_ENUM.DELIVERY_METHOD_CHINESE || (PURCHASE_ORDER_ENUM.DELIVERY_METHOD_CHINESE = {}));
366
+ PURCHASE_ORDER_ENUM.DELIVERY_METHOD_MAP = {
367
+ [DELIVERY_METHOD.DELIVERY_TO_WAREHOUSE]: DELIVERY_METHOD_CHINESE.DELIVERY_TO_WAREHOUSE,
368
+ [DELIVERY_METHOD.DELIVERY_TO_STORE]: DELIVERY_METHOD_CHINESE.DELIVERY_TO_STORE,
369
+ };
370
+ })(PURCHASE_ORDER_ENUM = ENUM.PURCHASE_ORDER_ENUM || (ENUM.PURCHASE_ORDER_ENUM = {}));
320
371
  })(ENUM || (exports.ENUM = ENUM = {}));
package/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { ENUM } from './enum';
1
2
  export { allocationService } from './modules/allocation/service';
2
3
  export type { Service as AllocationServiceTypes } from './modules/allocation/types';
3
4
  export { allocationOrderService } from './modules/allocationOrder/service';
@@ -12,7 +13,6 @@ export { productStatisticsService } from './modules/productStatistics/service';
12
13
  export { ProductStatisticsTypes } from './modules/productStatistics/types';
13
14
  export { pickingRuleService } from './modules/pickingRule/service';
14
15
  export { PickingRuleTypes } from './modules/pickingRule/types';
15
- export { ENUM } from './enum';
16
16
  export { logisticsService } from './modules/logistics/service';
17
17
  export type { Service as LogisticsServiceTypes } from './modules/logistics/types';
18
18
  export { storeProductFulfillService } from './modules/storeProductFulfill/service';
@@ -23,4 +23,5 @@ export { warehouseInventoryService } from './modules/warehouseInventory/service'
23
23
  export { WarehouseInventoryTypes } from './modules/warehouseInventory/types';
24
24
  export { warehouseStockInService } from './modules/warehouseStockIn/service';
25
25
  export { WarehouseStockInTypes } from './modules/warehouseStockIn/types';
26
- export { ENUM as DEMO_ENUM } from './enum';
26
+ export { purchaseOrderService } from './modules/purchaseOrder/service';
27
+ export { PurchaseOrderTypes } from './modules/purchaseOrder/types';
package/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEMO_ENUM = exports.warehouseStockInService = exports.warehouseInventoryService = exports.warehouseLocationService = exports.storeProductFulfillService = exports.logisticsService = exports.ENUM = exports.PickingRuleTypes = exports.pickingRuleService = exports.productStatisticsService = exports.storeReplenishOrderService = exports.preAllocationOrderService = exports.storeStockInService = exports.allocationOrderService = exports.allocationService = void 0;
3
+ exports.purchaseOrderService = exports.warehouseStockInService = exports.warehouseInventoryService = exports.warehouseLocationService = exports.storeProductFulfillService = exports.logisticsService = exports.PickingRuleTypes = exports.pickingRuleService = exports.productStatisticsService = exports.storeReplenishOrderService = exports.preAllocationOrderService = exports.storeStockInService = exports.allocationOrderService = exports.allocationService = exports.ENUM = void 0;
4
+ var enum_1 = require("./enum");
5
+ Object.defineProperty(exports, "ENUM", { enumerable: true, get: function () { return enum_1.ENUM; } });
4
6
  var service_1 = require("./modules/allocation/service");
5
7
  Object.defineProperty(exports, "allocationService", { enumerable: true, get: function () { return service_1.allocationService; } });
6
8
  var service_2 = require("./modules/allocationOrder/service");
@@ -17,8 +19,6 @@ var service_7 = require("./modules/pickingRule/service");
17
19
  Object.defineProperty(exports, "pickingRuleService", { enumerable: true, get: function () { return service_7.pickingRuleService; } });
18
20
  var types_1 = require("./modules/pickingRule/types");
19
21
  Object.defineProperty(exports, "PickingRuleTypes", { enumerable: true, get: function () { return types_1.PickingRuleTypes; } });
20
- var enum_1 = require("./enum");
21
- Object.defineProperty(exports, "ENUM", { enumerable: true, get: function () { return enum_1.ENUM; } });
22
22
  var service_8 = require("./modules/logistics/service");
23
23
  Object.defineProperty(exports, "logisticsService", { enumerable: true, get: function () { return service_8.logisticsService; } });
24
24
  var service_9 = require("./modules/storeProductFulfill/service");
@@ -29,8 +29,8 @@ var service_11 = require("./modules/warehouseInventory/service");
29
29
  Object.defineProperty(exports, "warehouseInventoryService", { enumerable: true, get: function () { return service_11.warehouseInventoryService; } });
30
30
  var service_12 = require("./modules/warehouseStockIn/service");
31
31
  Object.defineProperty(exports, "warehouseStockInService", { enumerable: true, get: function () { return service_12.warehouseStockInService; } });
32
- var enum_2 = require("./enum");
33
- Object.defineProperty(exports, "DEMO_ENUM", { enumerable: true, get: function () { return enum_2.ENUM; } });
32
+ var service_13 = require("./modules/purchaseOrder/service");
33
+ Object.defineProperty(exports, "purchaseOrderService", { enumerable: true, get: function () { return service_13.purchaseOrderService; } });
34
34
  // 服务.模块.枚举名称.枚举值 示例: DEMO_ENUM.ORDER_ENUM.STATUS.PENDING
35
35
  // 门店入库单枚举示例: ENUM.STORE_STOCK_IN_ORDER_ENUM.STATUS.PENDING
36
36
  // 预配货单上传枚举示例: ENUM.PRE_ALLOCATION_ORDER_UPLOAD_EXCEL_ENUM.STATUS.PROCESSING
@@ -58,6 +58,8 @@ export declare namespace AllocationOrderTypes {
58
58
  */
59
59
  interface AllocationOrderDetailWithProduct extends AllocationOrderDetail {
60
60
  productName: string;
61
+ productImage: string;
62
+ imgList: string[];
61
63
  specName: string;
62
64
  storageMethod: string;
63
65
  classification: string;
@@ -0,0 +1,51 @@
1
+ import { PurchaseOrderTypes } from './types';
2
+ import BaseService from '../BaseService';
3
+ declare class PurchaseOrderService extends BaseService implements PurchaseOrderTypes.PurchaseOrderController {
4
+ protected prefixUrl: string;
5
+ /**
6
+ * 查询采购单类型列表
7
+ */
8
+ queryCategoryList(request: PurchaseOrderTypes.Request.QueryCategoryList): Promise<PurchaseOrderTypes.Response.QueryCategoryList>;
9
+ /**
10
+ * 新增采购单类型
11
+ */
12
+ addCategory(request: PurchaseOrderTypes.Request.AddCategory): Promise<PurchaseOrderTypes.Response.AddCategory>;
13
+ /**
14
+ * 删除待采购单(仅待采购状态可删)
15
+ */
16
+ delete(request: PurchaseOrderTypes.Request.Delete): Promise<void>;
17
+ /**
18
+ * Demo:查询采购单列表
19
+ */
20
+ list(request: PurchaseOrderTypes.Request.GetList): Promise<PurchaseOrderTypes.Response.GetList>;
21
+ /**
22
+ * 导出采购单Excel
23
+ */
24
+ exportExcel(request: PurchaseOrderTypes.Request.ExportExcel): Promise<PurchaseOrderTypes.Response.ExportExcel>;
25
+ /**
26
+ * 导入采购单Excel
27
+ */
28
+ importExcel(request: PurchaseOrderTypes.Request.ImportExcel): Promise<PurchaseOrderTypes.Response.ImportExcel>;
29
+ /**
30
+ * 查询采购单详情(含明细列表)
31
+ */
32
+ detail(request: PurchaseOrderTypes.Request.GetDetail): Promise<PurchaseOrderTypes.Response.GetDetail>;
33
+ /**
34
+ * 批量撤回已采购订单
35
+ */
36
+ batchRevoke(request: PurchaseOrderTypes.Request.BatchRevoke): Promise<PurchaseOrderTypes.Response.BatchRevoke>;
37
+ /**
38
+ * 批量提交采购单(待采购 -> 已采购)
39
+ */
40
+ batchSubmit(request: PurchaseOrderTypes.Request.BatchSubmit): Promise<PurchaseOrderTypes.Response.BatchSubmit>;
41
+ /**
42
+ * 批量更新采购单明细
43
+ */
44
+ batchUpdateDetail(request: PurchaseOrderTypes.Request.BatchUpdateDetail): Promise<void>;
45
+ /**
46
+ * 删除采购单明细(仅待采购类型可删)
47
+ */
48
+ deleteDetail(request: PurchaseOrderTypes.Request.DeleteDetail): Promise<void>;
49
+ }
50
+ export declare const purchaseOrderService: PurchaseOrderService;
51
+ export default purchaseOrderService;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
9
+ return function (target, key) { decorator(target, key, paramIndex); }
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.purchaseOrderService = void 0;
16
+ const tsoa_1 = require("tsoa");
17
+ const http_1 = require("../../utils/http");
18
+ const BaseService_1 = __importDefault(require("../BaseService"));
19
+ let PurchaseOrderService = class PurchaseOrderService extends BaseService_1.default {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.prefixUrl = '/purchase-order';
23
+ }
24
+ /**
25
+ * 查询采购单类型列表
26
+ */
27
+ queryCategoryList(request) {
28
+ return (0, http_1.callApi)(this.getApiUrl(this.queryCategoryList), request);
29
+ }
30
+ /**
31
+ * 新增采购单类型
32
+ */
33
+ addCategory(request) {
34
+ return (0, http_1.callApi)(this.getApiUrl(this.addCategory), request);
35
+ }
36
+ /**
37
+ * 删除待采购单(仅待采购状态可删)
38
+ */
39
+ delete(request) {
40
+ return (0, http_1.callApi)(this.getApiUrl(this.delete), request);
41
+ }
42
+ /**
43
+ * Demo:查询采购单列表
44
+ */
45
+ list(request) {
46
+ return (0, http_1.callApi)(this.getApiUrl(this.list), request);
47
+ }
48
+ /**
49
+ * 导出采购单Excel
50
+ */
51
+ exportExcel(request) {
52
+ return (0, http_1.callApi)(this.getApiUrl(this.exportExcel), request);
53
+ }
54
+ /**
55
+ * 导入采购单Excel
56
+ */
57
+ importExcel(request) {
58
+ return (0, http_1.callApi)(this.getApiUrl(this.importExcel), request);
59
+ }
60
+ /**
61
+ * 查询采购单详情(含明细列表)
62
+ */
63
+ detail(request) {
64
+ return (0, http_1.callApi)(this.getApiUrl(this.detail), request);
65
+ }
66
+ /**
67
+ * 批量撤回已采购订单
68
+ */
69
+ batchRevoke(request) {
70
+ return (0, http_1.callApi)(this.getApiUrl(this.batchRevoke), request);
71
+ }
72
+ /**
73
+ * 批量提交采购单(待采购 -> 已采购)
74
+ */
75
+ batchSubmit(request) {
76
+ return (0, http_1.callApi)(this.getApiUrl(this.batchSubmit), request);
77
+ }
78
+ /**
79
+ * 批量更新采购单明细
80
+ */
81
+ batchUpdateDetail(request) {
82
+ return (0, http_1.callApi)(this.getApiUrl(this.batchUpdateDetail), request);
83
+ }
84
+ /**
85
+ * 删除采购单明细(仅待采购类型可删)
86
+ */
87
+ deleteDetail(request) {
88
+ return (0, http_1.callApi)(this.getApiUrl(this.deleteDetail), request);
89
+ }
90
+ };
91
+ __decorate([
92
+ (0, tsoa_1.Post)('query-category-list'),
93
+ __param(0, (0, tsoa_1.Body)())
94
+ ], PurchaseOrderService.prototype, "queryCategoryList", null);
95
+ __decorate([
96
+ (0, tsoa_1.Post)('add-category'),
97
+ __param(0, (0, tsoa_1.Body)())
98
+ ], PurchaseOrderService.prototype, "addCategory", null);
99
+ __decorate([
100
+ (0, tsoa_1.Post)('delete'),
101
+ __param(0, (0, tsoa_1.Body)())
102
+ ], PurchaseOrderService.prototype, "delete", null);
103
+ __decorate([
104
+ (0, tsoa_1.Post)('list'),
105
+ __param(0, (0, tsoa_1.Body)())
106
+ ], PurchaseOrderService.prototype, "list", null);
107
+ __decorate([
108
+ (0, tsoa_1.Post)('export-excel'),
109
+ __param(0, (0, tsoa_1.Body)())
110
+ ], PurchaseOrderService.prototype, "exportExcel", null);
111
+ __decorate([
112
+ (0, tsoa_1.Post)('import-excel'),
113
+ __param(0, (0, tsoa_1.Body)())
114
+ ], PurchaseOrderService.prototype, "importExcel", null);
115
+ __decorate([
116
+ (0, tsoa_1.Post)('detail'),
117
+ __param(0, (0, tsoa_1.Body)())
118
+ ], PurchaseOrderService.prototype, "detail", null);
119
+ __decorate([
120
+ (0, tsoa_1.Post)('batch-revoke'),
121
+ __param(0, (0, tsoa_1.Body)())
122
+ ], PurchaseOrderService.prototype, "batchRevoke", null);
123
+ __decorate([
124
+ (0, tsoa_1.Post)('batch-submit'),
125
+ __param(0, (0, tsoa_1.Body)())
126
+ ], PurchaseOrderService.prototype, "batchSubmit", null);
127
+ __decorate([
128
+ (0, tsoa_1.Post)('batch-update-detail'),
129
+ __param(0, (0, tsoa_1.Body)())
130
+ ], PurchaseOrderService.prototype, "batchUpdateDetail", null);
131
+ __decorate([
132
+ (0, tsoa_1.Post)('delete-detail'),
133
+ __param(0, (0, tsoa_1.Body)())
134
+ ], PurchaseOrderService.prototype, "deleteDetail", null);
135
+ PurchaseOrderService = __decorate([
136
+ (0, tsoa_1.Route)('PurchaseOrder'),
137
+ (0, tsoa_1.Tags)('purchaseOrder')
138
+ ], PurchaseOrderService);
139
+ exports.purchaseOrderService = new PurchaseOrderService();
140
+ exports.default = exports.purchaseOrderService;
@@ -0,0 +1,289 @@
1
+ import { ENUM } from '../../enum';
2
+ export declare namespace PurchaseOrderTypes {
3
+ /** 实体定义 */
4
+ namespace Entity {
5
+ /** 待采购单(PurchasePreOrder)简化实体 */
6
+ interface PurchasePreOrder {
7
+ id: string;
8
+ createdAt: number;
9
+ updatedAt: number;
10
+ deletedAt: number;
11
+ categoryId: string;
12
+ status: ENUM.PURCHASE_ORDER_ENUM.STATUS;
13
+ deliveryMethod: ENUM.PURCHASE_ORDER_ENUM.DELIVERY_METHOD;
14
+ creator: string;
15
+ }
16
+ /** 采购单主表(PurchaseOrder)简化实体 */
17
+ interface PurchaseOrder {
18
+ id: string;
19
+ createdAt: number;
20
+ updatedAt: number;
21
+ deletedAt: number;
22
+ purchasePreId: string;
23
+ stockInOrderIds: string[];
24
+ supplierId: string;
25
+ categoryId: string;
26
+ status: ENUM.PURCHASE_ORDER_ENUM.STATUS;
27
+ deliveryMethod: ENUM.PURCHASE_ORDER_ENUM.DELIVERY_METHOD;
28
+ creator: string;
29
+ }
30
+ /** 采购单明细(PurchaseOrderDetail)简化实体 */
31
+ interface PurchaseOrderDetail {
32
+ id: string;
33
+ createdAt: number;
34
+ updatedAt: number;
35
+ deletedAt: number;
36
+ purchaseOrderId: string;
37
+ purchaseType: ENUM.PURCHASE_ORDER_ENUM.PURCHASE_TYPE;
38
+ productId: string;
39
+ skuId: string;
40
+ skuCode: string;
41
+ purchaseQuantity: number;
42
+ warehouseStock: number;
43
+ supplierId: string;
44
+ deliveryMethod: ENUM.PURCHASE_ORDER_ENUM.DELIVERY_METHOD;
45
+ destinationId: string;
46
+ expectedArrivalDate: number;
47
+ purchaseNote: string;
48
+ }
49
+ /** 采购单明细扩展实体(包含商品与展示信息) */
50
+ interface PurchaseOrderDetailWithProduct extends PurchaseOrderDetail {
51
+ productName: string;
52
+ productImage: string;
53
+ imgList: string[];
54
+ specName: string;
55
+ storageMethod: string;
56
+ classification: string;
57
+ supplierName: string;
58
+ destinationName: string;
59
+ }
60
+ /** 采购单类型(PurchaseCategory) */
61
+ interface PurchaseCategory {
62
+ id: string;
63
+ createdAt: number;
64
+ updatedAt: number;
65
+ deletedAt: number;
66
+ categoryName: string;
67
+ description: string;
68
+ isSystem: number;
69
+ creator: string;
70
+ }
71
+ }
72
+ /** 请求参数定义(Demo) */
73
+ namespace Request {
74
+ /** 查询采购单类型列表 */
75
+ interface QueryCategoryList {
76
+ categoryName?: string;
77
+ pageIndex: number;
78
+ pageSize: number;
79
+ }
80
+ /** 新增采购单类型 */
81
+ interface AddCategory {
82
+ categoryName: string;
83
+ description?: string;
84
+ operator: string;
85
+ }
86
+ /** 删除待采购单 */
87
+ interface Delete {
88
+ id: string;
89
+ operator: string;
90
+ }
91
+ /** 查询采购单列表(列表页) */
92
+ interface GetList {
93
+ ids?: string[];
94
+ type: string;
95
+ categoryIds?: string[];
96
+ creator?: string;
97
+ createAtStartTime?: number;
98
+ createAtEndTime?: number;
99
+ productIds?: string[];
100
+ skuIds?: string[];
101
+ skuCodes?: string[];
102
+ deliveryMethod?: string;
103
+ pageIndex: number;
104
+ pageSize: number;
105
+ }
106
+ /** 查询采购单详情(含明细列表) */
107
+ interface GetDetail {
108
+ purchaseOrderId: string;
109
+ productIds?: string[];
110
+ skuCodes?: string[];
111
+ skuIds?: string[];
112
+ pageIndex: number;
113
+ pageSize: number;
114
+ }
115
+ /** 导出采购单Excel,请求参数与列表查询保持一致 */
116
+ interface ExportExcel extends GetList {
117
+ }
118
+ /** 导入采购单Excel */
119
+ interface ImportExcel {
120
+ fileUrl: string;
121
+ categoryId: string;
122
+ operator: string;
123
+ }
124
+ /** 批量撤回已采购订单 */
125
+ interface BatchRevoke {
126
+ purchaseOrderIds: string[];
127
+ operator: string;
128
+ }
129
+ /** 批量提交采购单(待采购 -> 已采购) */
130
+ interface BatchSubmit {
131
+ purchaseIds?: string[];
132
+ purchaseDetailInfo?: PurchaseDetailIdInfo[];
133
+ operator: string;
134
+ }
135
+ /** 批量提交时的明细信息(可选覆盖采购数量、预计到仓日期、采购备注) */
136
+ interface PurchaseDetailIdInfo {
137
+ purchaseDetailId?: string;
138
+ purchaseQuantity?: number;
139
+ expectedArrivalDate?: number;
140
+ purchaseNote?: string;
141
+ }
142
+ /** 批量更新采购单明细 */
143
+ interface BatchUpdateDetail {
144
+ purchaseOrderId: string;
145
+ operator: string;
146
+ items: {
147
+ detailId: string;
148
+ updates: {
149
+ purchaseQuantity?: number;
150
+ expectedArrivalDate?: number;
151
+ purchaseNote?: string;
152
+ };
153
+ }[];
154
+ }
155
+ /** 删除采购单明细 */
156
+ interface DeleteDetail {
157
+ detailId: string;
158
+ operator: string;
159
+ }
160
+ }
161
+ /** 响应结果定义(Demo) */
162
+ namespace Response {
163
+ /** 查询采购单类型列表响应 */
164
+ interface QueryCategoryList {
165
+ list: Entity.PurchaseCategory[];
166
+ total: number;
167
+ }
168
+ /** 新增采购单类型响应 */
169
+ interface AddCategory {
170
+ id: string;
171
+ categoryName: string;
172
+ }
173
+ /** 采购单列表项(列表页) */
174
+ interface ListItem {
175
+ purchasePreId: string;
176
+ purchaseId: string;
177
+ stockInOrderIds?: string[] | null;
178
+ supplierId?: string;
179
+ supplierName?: string;
180
+ categoryId?: string;
181
+ categoryName: string;
182
+ creator: string;
183
+ createdAt: number;
184
+ updatedAt: number;
185
+ status: ENUM.PURCHASE_ORDER_ENUM.STATUS;
186
+ deliveryMethod: ENUM.PURCHASE_ORDER_ENUM.DELIVERY_METHOD;
187
+ }
188
+ /** 查询采购单列表响应(列表页) */
189
+ interface GetList {
190
+ total: number;
191
+ list: ListItem[];
192
+ pendingCount: number;
193
+ purchasedCount: number;
194
+ }
195
+ /** 采购单详情中的主单信息(精简字段) */
196
+ interface DetailOrder {
197
+ id: string;
198
+ createdAt: number;
199
+ status: ENUM.PURCHASE_ORDER_ENUM.STATUS;
200
+ }
201
+ /** 采购单明细列表项 */
202
+ interface DetailItem extends Entity.PurchaseOrderDetailWithProduct {
203
+ }
204
+ /** 查询采购单详情响应(含明细列表) */
205
+ interface GetDetail {
206
+ order: DetailOrder;
207
+ details: DetailItem[];
208
+ total: number;
209
+ }
210
+ /** 导出采购单Excel的每一行字段 */
211
+ interface ExportExcelItem {
212
+ 单号?: string;
213
+ 类型?: string;
214
+ 创建人?: string;
215
+ 创建时间: string;
216
+ 更新时间?: string;
217
+ 状态?: string;
218
+ 配送方式?: string;
219
+ productId?: string;
220
+ skuId?: string;
221
+ 商品名称?: string;
222
+ 规格明细?: string;
223
+ 规格编码?: string;
224
+ 商品分类?: string;
225
+ 储藏方式?: string;
226
+ 采购数量?: number;
227
+ 供应商?: string;
228
+ 目的地?: string;
229
+ 联系人电话?: string;
230
+ 预计到仓日期?: string;
231
+ 采购备注?: string;
232
+ }
233
+ /** 导出采购单Excel响应 */
234
+ interface ExportExcel {
235
+ data: ExportExcelItem[];
236
+ headerMap: string[];
237
+ }
238
+ /** 导入采购单Excel响应 */
239
+ interface ImportExcel {
240
+ errorList: Array<{
241
+ row: number;
242
+ errors: string[];
243
+ }>;
244
+ }
245
+ /** 批量操作通用响应 */
246
+ interface BatchRevoke {
247
+ successCount: number;
248
+ failCount: number;
249
+ failReasons?: string[];
250
+ }
251
+ /** 批量提交采购单失败项 */
252
+ interface FailedOrderInfo {
253
+ sourceOrderId: string;
254
+ failReason: string;
255
+ errorCode: string;
256
+ }
257
+ /** 批量提交采购单响应 */
258
+ interface BatchSubmit {
259
+ successCount: number;
260
+ failCount: number;
261
+ failedOrders?: FailedOrderInfo[];
262
+ }
263
+ }
264
+ /** 控制器接口定义(Demo) */
265
+ interface PurchaseOrderController {
266
+ /** 查询采购单类型列表 */
267
+ queryCategoryList(request: Request.QueryCategoryList): Promise<Response.QueryCategoryList>;
268
+ /** 新增采购单类型 */
269
+ addCategory(request: Request.AddCategory): Promise<Response.AddCategory>;
270
+ /** 删除待采购单(仅待采购状态可删) */
271
+ delete(request: Request.Delete): Promise<void>;
272
+ /** 查询采购单列表(Demo) */
273
+ list(request: Request.GetList): Promise<Response.GetList>;
274
+ /** 查询采购单详情(含明细列表) */
275
+ detail(request: Request.GetDetail): Promise<Response.GetDetail>;
276
+ /** 导出采购单Excel */
277
+ exportExcel(request: Request.ExportExcel): Promise<Response.ExportExcel>;
278
+ /** 导入采购单Excel */
279
+ importExcel(request: Request.ImportExcel): Promise<Response.ImportExcel>;
280
+ /** 批量撤回已采购订单 */
281
+ batchRevoke(request: Request.BatchRevoke): Promise<Response.BatchRevoke>;
282
+ /** 批量提交采购单(待采购 -> 已采购) */
283
+ batchSubmit(request: Request.BatchSubmit): Promise<Response.BatchSubmit>;
284
+ /** 批量更新采购单明细 */
285
+ batchUpdateDetail(request: Request.BatchUpdateDetail): Promise<void>;
286
+ /** 删除采购单明细 */
287
+ deleteDetail(request: Request.DeleteDetail): Promise<void>;
288
+ }
289
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -73,6 +73,8 @@ export declare namespace StoreStockInTypes {
73
73
  productIds?: string[];
74
74
  skuIds?: string[];
75
75
  skuCodes?: string[];
76
+ minRemainingQuantity?: number;
77
+ maxRemainingQuantity?: number;
76
78
  }
77
79
  /** 查询入库单列表请求 */
78
80
  interface GetList {
@@ -68,7 +68,8 @@ __decorate([
68
68
  __param(0, (0, tsoa_1.Body)())
69
69
  ], WarehouseInventoryService.prototype, "setDeductionSwitch", null);
70
70
  __decorate([
71
- (0, tsoa_1.Post)('get-deduction-switch')
71
+ (0, tsoa_1.Post)('get-deduction-switch'),
72
+ __param(0, (0, tsoa_1.Body)())
72
73
  ], WarehouseInventoryService.prototype, "getDeductionSwitch", null);
73
74
  WarehouseInventoryService = __decorate([
74
75
  (0, tsoa_1.Route)('WarehouseInventory'),
@@ -122,7 +122,7 @@ export declare namespace WarehouseInventoryTypes {
122
122
  specName: string;
123
123
  /** 库存数量 */
124
124
  availableStock: number;
125
- /** 单价(元) */
125
+ /** 单价(分) */
126
126
  price: number;
127
127
  /** 最后更新时间 */
128
128
  lastUpdateTime: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@be-link/ecommerce-plan-allocation-service-node-sdk",
3
- "version": "0.0.41",
3
+ "version": "0.0.43",
4
4
  "description": "EcommercePlanAllocationService Node.js SDK",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
package/utils/http.js CHANGED
@@ -16,8 +16,8 @@ const HTTP_CONFIG = {
16
16
  maxFreeSockets: 1000, // 保持空闲连接数(减少连接重建开销)
17
17
  maxTotalSockets: 10000, // 所有 host 总连接数上限(支持多个服务同时调用)
18
18
  keepAliveMsecs: 60000, // 保持连接60秒
19
- timeout: 5000, // socket超时5
20
- requestTimeout: 5000, // 请求超时5
19
+ timeout: 10000, // socket超时10
20
+ requestTimeout: 10000, // 请求超时10
21
21
  retries: 0, // 不重试(失败直接返回)
22
22
  retryBaseDelay: 200, // 基础重试延迟200ms
23
23
  };
@@ -45,7 +45,7 @@ axios_1.default.defaults.httpAgent = httpAgent;
45
45
  axios_1.default.defaults.httpsAgent = httpsAgent;
46
46
  axios_1.default.defaults.timeout = HTTP_CONFIG.requestTimeout;
47
47
  axios_1.default.defaults.maxRedirects = 3; // 限制重定向次数
48
- axios_1.default.defaults.maxContentLength = 50 * 1024 * 1024; // 50MB 最大响应大小
48
+ axios_1.default.defaults.maxContentLength = 100 * 1024 * 1024; // 100MB 最大响应大小
49
49
  // 高并发场景下的智能重试配置
50
50
  (0, axios_retry_1.default)(axios_1.default, {
51
51
  retries: HTTP_CONFIG.retries,