@things-factory/operato-mms 4.3.671 → 4.3.673

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.
Files changed (77) hide show
  1. package/dist-server/controllers/index.js +1 -0
  2. package/dist-server/controllers/index.js.map +1 -0
  3. package/dist-server/entities/index.js +5 -0
  4. package/dist-server/entities/index.js.map +1 -0
  5. package/dist-server/graphql/index.js +33 -0
  6. package/dist-server/graphql/index.js.map +1 -0
  7. package/dist-server/graphql/resolvers/index.js +32 -0
  8. package/dist-server/graphql/resolvers/index.js.map +1 -0
  9. package/dist-server/graphql/resolvers/interface-with-hub/add-release-order.js +242 -0
  10. package/dist-server/graphql/resolvers/interface-with-hub/add-release-order.js.map +1 -0
  11. package/dist-server/graphql/resolvers/interface-with-hub/auto-add-release-order.js +218 -0
  12. package/dist-server/graphql/resolvers/interface-with-hub/auto-add-release-order.js.map +1 -0
  13. package/dist-server/graphql/resolvers/interface-with-hub/auto-update-all-marketplace-product-variation-quantity.js +159 -0
  14. package/dist-server/graphql/resolvers/interface-with-hub/auto-update-all-marketplace-product-variation-quantity.js.map +1 -0
  15. package/dist-server/graphql/resolvers/interface-with-hub/generate-replenishment-order.js +27 -0
  16. package/dist-server/graphql/resolvers/interface-with-hub/generate-replenishment-order.js.map +1 -0
  17. package/dist-server/graphql/resolvers/interface-with-hub/index.js +12 -0
  18. package/dist-server/graphql/resolvers/interface-with-hub/index.js.map +1 -0
  19. package/dist-server/graphql/resolvers/interface-with-hub/warehouse-marketplace-products.js +157 -0
  20. package/dist-server/graphql/resolvers/interface-with-hub/warehouse-marketplace-products.js.map +1 -0
  21. package/dist-server/graphql/resolvers/shipping-provider/index.js +6 -0
  22. package/dist-server/graphql/resolvers/shipping-provider/index.js.map +1 -0
  23. package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js +32 -0
  24. package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +1 -0
  25. package/dist-server/graphql/resolvers/warehouse-product/auto-link-warehouse-marketplace-product-variations.js +63 -0
  26. package/dist-server/graphql/resolvers/warehouse-product/auto-link-warehouse-marketplace-product-variations.js.map +1 -0
  27. package/dist-server/graphql/resolvers/warehouse-product/index.js +6 -0
  28. package/dist-server/graphql/resolvers/warehouse-product/index.js.map +1 -0
  29. package/dist-server/graphql/types/index.js +33 -0
  30. package/dist-server/graphql/types/index.js.map +1 -0
  31. package/dist-server/graphql/types/interface-with-hub/index.js +29 -0
  32. package/dist-server/graphql/types/interface-with-hub/index.js.map +1 -0
  33. package/dist-server/graphql/types/interface-with-hub/new-stock-replenishment.js +34 -0
  34. package/dist-server/graphql/types/interface-with-hub/new-stock-replenishment.js.map +1 -0
  35. package/dist-server/graphql/types/interface-with-hub/replenishment-order-product.js +50 -0
  36. package/dist-server/graphql/types/interface-with-hub/replenishment-order-product.js.map +1 -0
  37. package/dist-server/graphql/types/interface-with-hub/stock-replenishment-list.js +16 -0
  38. package/dist-server/graphql/types/interface-with-hub/stock-replenishment-list.js.map +1 -0
  39. package/dist-server/graphql/types/interface-with-hub/stock-replenishment.js +47 -0
  40. package/dist-server/graphql/types/interface-with-hub/stock-replenishment.js.map +1 -0
  41. package/dist-server/graphql/types/interface-with-hub/warehouse-inventory.js +17 -0
  42. package/dist-server/graphql/types/interface-with-hub/warehouse-inventory.js.map +1 -0
  43. package/dist-server/graphql/types/interface-with-hub/warehouse-marketplace-product-list.js +14 -0
  44. package/dist-server/graphql/types/interface-with-hub/warehouse-marketplace-product-list.js.map +1 -0
  45. package/dist-server/graphql/types/interface-with-hub/warehouse-marketplace-product.js +20 -0
  46. package/dist-server/graphql/types/interface-with-hub/warehouse-marketplace-product.js.map +1 -0
  47. package/dist-server/graphql/types/shipping-provider/index.js +10 -0
  48. package/dist-server/graphql/types/shipping-provider/index.js.map +1 -0
  49. package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js +13 -0
  50. package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js.map +1 -0
  51. package/dist-server/graphql/types/shipping-provider/shipping-provider.js +13 -0
  52. package/dist-server/graphql/types/shipping-provider/shipping-provider.js.map +1 -0
  53. package/dist-server/graphql/types/warehouse-product/index.js +11 -0
  54. package/dist-server/graphql/types/warehouse-product/index.js.map +1 -0
  55. package/dist-server/graphql/types/warehouse-product/warehouse-product.js +12 -0
  56. package/dist-server/graphql/types/warehouse-product/warehouse-product.js.map +1 -0
  57. package/dist-server/index.js +34 -0
  58. package/dist-server/index.js.map +1 -0
  59. package/dist-server/middlewares/index.js +4 -0
  60. package/dist-server/middlewares/index.js.map +1 -0
  61. package/dist-server/migrations/1599732967233-SeedCommonCode.js +52 -0
  62. package/dist-server/migrations/1599732967233-SeedCommonCode.js.map +1 -0
  63. package/dist-server/migrations/1608009991075-SeedUser.js +51 -0
  64. package/dist-server/migrations/1608009991075-SeedUser.js.map +1 -0
  65. package/dist-server/migrations/index.js +12 -0
  66. package/dist-server/migrations/index.js.map +1 -0
  67. package/dist-server/routers/etrax-router.js +155 -0
  68. package/dist-server/routers/etrax-router.js.map +1 -0
  69. package/dist-server/routers/shopify-pos-public-router.js +109 -0
  70. package/dist-server/routers/shopify-pos-public-router.js.map +1 -0
  71. package/dist-server/routes.js +11 -0
  72. package/dist-server/routes.js.map +1 -0
  73. package/dist-server/util/interface-helper.js +53 -0
  74. package/dist-server/util/interface-helper.js.map +1 -0
  75. package/dist-server/util/no-generator.js +14 -0
  76. package/dist-server/util/no-generator.js.map +1 -0
  77. package/package.json +33 -33
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/controllers/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.entities = void 0;
4
+ exports.entities = [];
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/entities/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,EAAE,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.schema = void 0;
27
+ const typeDefs = __importStar(require("./types"));
28
+ const resolvers = __importStar(require("./resolvers"));
29
+ exports.schema = {
30
+ typeDefs,
31
+ resolvers
32
+ };
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/graphql/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,uDAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,QAAQ;IACR,SAAS;CACV,CAAA"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.mutations = exports.queries = void 0;
27
+ const InterfaceWithHub = __importStar(require("./interface-with-hub"));
28
+ const WarehouseProduct = __importStar(require("./warehouse-product"));
29
+ const ShippingProviders = __importStar(require("./shipping-provider"));
30
+ exports.queries = [InterfaceWithHub.Query, ShippingProviders.Query];
31
+ exports.mutations = [InterfaceWithHub.Mutation, WarehouseProduct.Mutation];
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/resolvers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAwD;AACxD,sEAAuD;AACvD,uEAAwD;AAE3C,QAAA,OAAO,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAE3D,QAAA,SAAS,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA"}
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addReleaseOrderResolver = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const auth_base_1 = require("@things-factory/auth-base");
6
+ const biz_base_1 = require("@things-factory/biz-base");
7
+ const env_1 = require("@things-factory/env");
8
+ const integration_fulfillment_1 = require("@things-factory/integration-fulfillment");
9
+ const marketplace_base_1 = require("@things-factory/marketplace-base");
10
+ const product_base_1 = require("@things-factory/product-base");
11
+ const shell_1 = require("@things-factory/shell");
12
+ exports.addReleaseOrderResolver = {
13
+ async addReleaseOrder(_, { marketplaceOrderIds, warehouseId }, context) {
14
+ var _a, _b, _c;
15
+ const { domain } = context.state;
16
+ const fulfilmentCenter = await integration_fulfillment_1.FulfillmentAPI.getFulfillmentCenter(warehouseId);
17
+ const centerId = fulfilmentCenter.centerId;
18
+ var warehouseDomain = await (0, typeorm_1.getRepository)(shell_1.Domain).findOne({ where: { subdomain: centerId } });
19
+ var customerBizplaces = await (0, biz_base_1.getCustomerBizplaces)(warehouseDomain);
20
+ const customerBizplaceId = customerBizplaces.find(customerBizplace => customerBizplace.company.domain.id === domain.id).id;
21
+ for (var i = 0; i < marketplaceOrderIds.length; i++) {
22
+ const marketplaceOrderId = marketplaceOrderIds[i];
23
+ const marketplaceOrder = await (0, typeorm_1.getRepository)(marketplace_base_1.MarketplaceOrder).findOne(marketplaceOrderId, {
24
+ relations: [
25
+ 'marketplaceOrderItems',
26
+ 'marketplaceOrderItems.marketplaceProductVariation',
27
+ 'marketplaceOrderItems.marketplaceOrderShippingItems',
28
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
29
+ 'marketplaceStore'
30
+ ]
31
+ });
32
+ const marketplaceOrderItems = marketplaceOrder.marketplaceOrderItems;
33
+ const qt = (0, typeorm_1.createQueryBuilder)(marketplace_base_1.MarketplaceOrderShipping, 'MOS');
34
+ let marketplaceOrderShippings = await qt
35
+ .leftJoinAndSelect('MOS.marketplaceOrderShippingItems', 'MOSI')
36
+ .leftJoinAndSelect('MOSI.product', 'P')
37
+ .leftJoinAndSelect('MOSI.marketplaceOrderItem', 'MOI')
38
+ .where('MOS.domain = :domainId', { domainId: domain.id })
39
+ .andWhere('MOS.orderNoRef = :orderNoRef', { orderNoRef: marketplaceOrder.orderNo })
40
+ .andWhere('MOS.releaseOrderId IS NULL')
41
+ .orderBy('MOS.subOrderNoRef', 'ASC')
42
+ .addOrderBy('MOS.orderNoRef', 'ASC')
43
+ .addOrderBy('MOS.createdAt', 'ASC')
44
+ .getMany();
45
+ for (let j = 0; j < marketplaceOrderShippings.length; j++) {
46
+ let marketplaceOrderShipping = marketplaceOrderShippings[j];
47
+ let marketplaceOrderShippingItems = marketplaceOrderShipping.marketplaceOrderShippingItems;
48
+ if (!(marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.releaseOrderId)) {
49
+ const date = new Date();
50
+ const releaseDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date
51
+ .getDate()
52
+ .toString()
53
+ .padStart(2, '0')}`;
54
+ var newReleaseOrder = {
55
+ releaseDate,
56
+ type: 'b2c',
57
+ source: auth_base_1.ApplicationType.MMS,
58
+ transporter: marketplaceOrder.shippingProvider,
59
+ trackingNo: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.ownTrackingNo)
60
+ ? marketplaceOrderShipping.ownTrackingNo
61
+ : marketplaceOrderShipping.trackingNo,
62
+ packingOption: true,
63
+ exportOption: false,
64
+ ownTransport: true,
65
+ courierOption: true,
66
+ lmdOption: ((_a = marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceStore) === null || _a === void 0 ? void 0 : _a.lmdOption) || false,
67
+ collectionOrderNo: marketplaceOrder.orderNo,
68
+ refNo: marketplaceOrder.orderNo,
69
+ refNo2: marketplaceOrderShippings.length > 1 ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.subOrderNoRef : marketplaceOrder.orderNo,
70
+ deliverTo: {
71
+ deliveryAddress1: marketplaceOrderShipping.address1,
72
+ deliveryAddress2: marketplaceOrderShipping.address2,
73
+ deliveryAddress3: marketplaceOrderShipping.address3,
74
+ deliveryAddress4: marketplaceOrderShipping.address4,
75
+ deliveryAddress5: marketplaceOrderShipping.address5,
76
+ attentionTo: marketplaceOrderShipping.attentionTo,
77
+ city: marketplaceOrderShipping.city,
78
+ postalCode: marketplaceOrderShipping.postCode,
79
+ country: marketplaceOrderShipping.country,
80
+ state: marketplaceOrderShipping.state,
81
+ phone1: marketplaceOrderShipping.phone1,
82
+ phone2: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.phone2) ? marketplaceOrderShipping.phone2 : null
83
+ },
84
+ marketplaceOrderStatus: marketplaceOrder.status,
85
+ airwayBill: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.airwayBill) ? marketplaceOrderShipping.airwayBill : null,
86
+ invoice: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.invoice) ? marketplaceOrderShipping.invoice : null,
87
+ refOrderId: marketplaceOrder.id,
88
+ orderInventories: marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {
89
+ return {
90
+ product: {
91
+ sku: marketplaceOrderShippingItem.product.sku
92
+ },
93
+ releaseQty: marketplaceOrderShippingItem.qty
94
+ };
95
+ })
96
+ };
97
+ try {
98
+ let releaseOrder = await integration_fulfillment_1.FulfillmentAPI.createOutboundOrder(fulfilmentCenter, {
99
+ customerBizplaceId,
100
+ releaseOrder: newReleaseOrder
101
+ });
102
+ //if release order is not created, throw error
103
+ if (!(releaseOrder === null || releaseOrder === void 0 ? void 0 : releaseOrder.id)) {
104
+ throw new Error('Failed to create release order');
105
+ }
106
+ // deduct reserve qty
107
+ if ((_b = marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceStore) === null || _b === void 0 ? void 0 : _b.reserveEnabled) {
108
+ try {
109
+ await deductReservedQty(marketplaceOrderItems, domain);
110
+ }
111
+ catch (e) {
112
+ env_1.logger.error(`[add-release-order] failed to deduct reserved qty (${marketplaceOrder.orderNo})`);
113
+ }
114
+ }
115
+ marketplaceOrderShipping.releaseOrderId = releaseOrder.id;
116
+ marketplaceOrderShipping.fulfillmentCenter = fulfilmentCenter;
117
+ await (0, typeorm_1.getRepository)(marketplace_base_1.MarketplaceOrderShipping).save(marketplaceOrderShipping);
118
+ }
119
+ catch (e) {
120
+ console.error(e);
121
+ }
122
+ }
123
+ }
124
+ //fetch the latest updated of marketplaceOrderShipping
125
+ const mos = await (0, typeorm_1.createQueryBuilder)(marketplace_base_1.MarketplaceOrderShipping, 'MOS')
126
+ .where('MOS.domain = :domainId', { domainId: domain.id })
127
+ .andWhere('MOS.orderNoRef = :orderNoRef', { orderNoRef: marketplaceOrder.orderNo })
128
+ .distinctOn(['MOS.subOrderNoRef', 'MOS.orderNoRef'])
129
+ .orderBy('MOS.subOrderNoRef', 'ASC')
130
+ .addOrderBy('MOS.orderNoRef', 'ASC')
131
+ .addOrderBy('MOS.createdAt', 'ASC')
132
+ .getMany();
133
+ //validation to prevent creating invoice if there is any failed creation order
134
+ if (mos.some(mos => mos.releaseOrderId === null || mos.releaseOrderId === '')) {
135
+ continue;
136
+ }
137
+ if (mos.length > 0 && ((_c = mos[0]) === null || _c === void 0 ? void 0 : _c.releaseOrderId)) {
138
+ await (0, typeorm_1.getRepository)(marketplace_base_1.MarketplaceOrder).update(marketplaceOrder.id, {
139
+ releaseOrderId: mos[0].releaseOrderId,
140
+ fulfillmentCenter: fulfilmentCenter
141
+ });
142
+ }
143
+ try {
144
+ var invoiceProducts = await Promise.all(marketplaceOrderItems.map(async (mi) => {
145
+ let product = await (0, typeorm_1.getRepository)(product_base_1.Product).findOne({
146
+ where: { domain, sku: mi.marketplaceProductVariation.sku }
147
+ });
148
+ let productBundle;
149
+ if (!product) {
150
+ productBundle = await (0, typeorm_1.getRepository)(product_base_1.ProductBundle).findOne({
151
+ where: { domain, sku: mi.marketplaceProductVariation.sku }
152
+ });
153
+ }
154
+ return {
155
+ sku: product ? product.sku : productBundle.sku,
156
+ name: product ? product.name : productBundle.name,
157
+ description: product ? product.description : productBundle.description,
158
+ qty: mi.qty,
159
+ unitPrice: ((mi === null || mi === void 0 ? void 0 : mi.originalPrice) || 0) / mi.qty,
160
+ paidPrice: ((mi === null || mi === void 0 ? void 0 : mi.paidPrice) || 0) / mi.qty,
161
+ discount: (mi === null || mi === void 0 ? void 0 : mi.discount) || 0,
162
+ shippingFeePaidByCustomer: (mi === null || mi === void 0 ? void 0 : mi.shippingFeePaidByCustomer) || 0
163
+ };
164
+ }));
165
+ let newInvoice = {
166
+ invoiceProducts,
167
+ name: '-',
168
+ refNo1: newReleaseOrder.refNo.toString(),
169
+ refNo2: newReleaseOrder.refNo2.toString(),
170
+ issuedOn: new Date(),
171
+ from: marketplaceOrder.marketplaceStore.storeName,
172
+ fromContactPhone: '-',
173
+ fromAddress1: '-',
174
+ fromAddress2: null,
175
+ fromAddress3: null,
176
+ fromAddress4: null,
177
+ fromAddress5: null,
178
+ fromPostcode: null,
179
+ fromCity: null,
180
+ fromState: null,
181
+ fromCountry: null,
182
+ deliverTo: newReleaseOrder.deliverTo.attentionTo || '-',
183
+ deliverToPhone: newReleaseOrder.deliverTo.phone1 || '-',
184
+ deliveryAddress1: newReleaseOrder.deliverTo.deliveryAddress1 || '-',
185
+ deliveryAddress2: newReleaseOrder.deliverTo.deliveryAddress2,
186
+ deliveryAddress3: newReleaseOrder.deliverTo.deliveryAddress3,
187
+ deliveryAddress4: newReleaseOrder.deliverTo.deliveryAddress4,
188
+ deliveryAddress5: newReleaseOrder.deliverTo.deliveryAddress5,
189
+ deliveryPostcode: newReleaseOrder.deliverTo.postalCode || '-',
190
+ deliveryCity: newReleaseOrder.deliverTo.city || '-',
191
+ deliveryState: newReleaseOrder.deliverTo.state || '-',
192
+ deliveryCountry: newReleaseOrder.deliverTo.country || '-',
193
+ billTo: newReleaseOrder.deliverTo.attentionTo || '-',
194
+ billToPhone: newReleaseOrder.deliverTo.phone1 || '-',
195
+ billingAddress1: newReleaseOrder.deliverTo.billingAddress || newReleaseOrder.deliverTo.deliveryAddress1 || '-',
196
+ billingAddress2: null,
197
+ billingAddress3: null,
198
+ billingAddress4: null,
199
+ billingAddress5: null,
200
+ billingPostcode: '-',
201
+ billingCity: '-',
202
+ billingState: '-',
203
+ billingCountry: '-'
204
+ };
205
+ await integration_fulfillment_1.FulfillmentAPI.createSalesInvoice(fulfilmentCenter, {
206
+ customerBizplaceId,
207
+ invoice: newInvoice
208
+ });
209
+ }
210
+ catch (e) {
211
+ console.log(e);
212
+ }
213
+ }
214
+ }
215
+ };
216
+ async function deductReservedQty(marketplaceOrderItems, domain) {
217
+ for (let item of marketplaceOrderItems) {
218
+ let variations = await (0, typeorm_1.getRepository)(marketplace_base_1.MarketplaceProductVariation).find({
219
+ where: { sku: item.marketplaceProductVariation.sku, domain }
220
+ });
221
+ for (let variation of variations) {
222
+ let newReserve = variation.reserveQty - item.qty;
223
+ await (0, typeorm_1.getRepository)(marketplace_base_1.MarketplaceProductVariation).update({ id: variation.id }, { reserveQty: newReserve > 0 ? newReserve : 0 });
224
+ }
225
+ let bundle = await (0, typeorm_1.getRepository)(product_base_1.ProductBundle).findOne({
226
+ where: { sku: item.marketplaceProductVariation.sku, domain },
227
+ relations: ['productBundleSettings', 'productBundleSettings.product']
228
+ });
229
+ if (bundle) {
230
+ for (let setting of bundle.productBundleSettings) {
231
+ let bundleVariations = await (0, typeorm_1.getRepository)(marketplace_base_1.MarketplaceProductVariation).find({
232
+ where: { sku: setting.product.sku, domain }
233
+ });
234
+ for (let bundleVariation of bundleVariations) {
235
+ let newReserve = bundleVariation.reserveQty - item.qty * setting.bundleQty;
236
+ await (0, typeorm_1.getRepository)(marketplace_base_1.MarketplaceProductVariation).update({ id: bundleVariation.id }, { reserveQty: newReserve > 0 ? newReserve : 0 });
237
+ }
238
+ }
239
+ }
240
+ }
241
+ }
242
+ //# sourceMappingURL=add-release-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-release-order.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/interface-with-hub/add-release-order.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.autoAddReleaseOrderResolver = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const auth_base_1 = require("@things-factory/auth-base");
6
+ const biz_base_1 = require("@things-factory/biz-base");
7
+ const integration_fulfillment_1 = require("@things-factory/integration-fulfillment");
8
+ const marketplace_base_1 = require("@things-factory/marketplace-base");
9
+ const product_base_1 = require("@things-factory/product-base");
10
+ const shell_1 = require("@things-factory/shell");
11
+ exports.autoAddReleaseOrderResolver = {
12
+ async autoAddReleaseOrder(_, { warehouseId }, context) {
13
+ var _a, _b;
14
+ const { domain } = context.state;
15
+ const qb = (0, typeorm_1.createQueryBuilder)(marketplace_base_1.MarketplaceOrder, 'MO');
16
+ const marketplaceOrders = await qb
17
+ .leftJoinAndSelect('MO.marketplaceOrderItems', 'MOI')
18
+ .leftJoinAndSelect('MOI.marketplaceOrderShippingItems', 'MOSI')
19
+ .leftJoinAndSelect('MOSI.marketplaceOrderShipping', 'MOS')
20
+ .leftJoinAndSelect('MOI.marketplaceProductVariation', 'MPV')
21
+ .leftJoinAndSelect('MO.marketplaceStore', 'MPS')
22
+ .where('MO.domain = :domainId', { domainId: domain.id })
23
+ .andWhere('MO.releaseOrderId IS NULL')
24
+ .andWhere('MO.status IN (:...status)', {
25
+ status: ['ready_to_ship', 'unfulfilled', 'packed', 'processing', 'processed']
26
+ })
27
+ .andWhere('MPS.status = :marketplaceStatus', { marketplaceStatus: 'ACTIVE' })
28
+ .getMany();
29
+ var fulfilmentCenter = await integration_fulfillment_1.FulfillmentAPI.getFulfillmentCenter(warehouseId);
30
+ var centerId = fulfilmentCenter.centerId;
31
+ var warehouseDomain = await (0, typeorm_1.getRepository)(shell_1.Domain).findOne({ where: { subdomain: centerId } });
32
+ var customerBizplaces = await (0, biz_base_1.getCustomerBizplaces)(warehouseDomain);
33
+ const customerBizplaceId = customerBizplaces.find(customerBizplace => customerBizplace.company.domain.id === domain.id).id;
34
+ try {
35
+ for (var i = 0; i < marketplaceOrders.length; i++) {
36
+ const marketplaceOrder = marketplaceOrders[i];
37
+ const marketplaceOrderItems = marketplaceOrder.marketplaceOrderItems;
38
+ const qt = (0, typeorm_1.createQueryBuilder)(marketplace_base_1.MarketplaceOrderShipping, 'MOS');
39
+ const marketplaceOrderShippings = await qt
40
+ .leftJoinAndSelect('MOS.marketplaceOrderShippingItems', 'MOSI')
41
+ .leftJoinAndSelect('MOSI.product', 'P')
42
+ .leftJoinAndSelect('MOSI.marketplaceOrderItem', 'MOI')
43
+ .where('MOS.domain = :domainId', { domainId: domain.id })
44
+ .andWhere('MOS.orderNoRef = :orderNoRef', { orderNoRef: marketplaceOrder.orderNo })
45
+ .andWhere('MOS.releaseOrderId IS NULL')
46
+ .orderBy('MOS.subOrderNoRef', 'ASC')
47
+ .addOrderBy('MOS.orderNoRef', 'ASC')
48
+ .addOrderBy('MOS.createdAt', 'ASC')
49
+ .getMany();
50
+ for (let j = 0; j < marketplaceOrderShippings.length; j++) {
51
+ let marketplaceOrderShipping = marketplaceOrderShippings[j];
52
+ let marketplaceOrderShippingItems = marketplaceOrderShipping.marketplaceOrderShippingItems;
53
+ if (!(marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.releaseOrderId)) {
54
+ const date = new Date();
55
+ const releaseDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date
56
+ .getDate()
57
+ .toString()
58
+ .padStart(2, '0')}`;
59
+ var newReleaseOrder = {
60
+ releaseDate,
61
+ type: 'b2c',
62
+ source: auth_base_1.ApplicationType.MMS,
63
+ transporter: marketplaceOrder.shippingProvider,
64
+ trackingNo: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.ownTrackingNo)
65
+ ? marketplaceOrderShipping.ownTrackingNo
66
+ : marketplaceOrderShipping.trackingNo,
67
+ packingOption: true,
68
+ exportOption: false,
69
+ ownTransport: true,
70
+ courierOption: true,
71
+ lmdOption: ((_a = marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceStore) === null || _a === void 0 ? void 0 : _a.lmdOption) || false,
72
+ collectionOrderNo: marketplaceOrder.orderNo,
73
+ refNo: marketplaceOrder.orderNo,
74
+ refNo2: marketplaceOrderShippings.length > 1
75
+ ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.subOrderNoRef
76
+ : marketplaceOrder.orderNo,
77
+ deliverTo: {
78
+ deliveryAddress1: marketplaceOrderShipping.address1,
79
+ deliveryAddress2: marketplaceOrderShipping.address2,
80
+ deliveryAddress3: marketplaceOrderShipping.address3,
81
+ deliveryAddress4: marketplaceOrderShipping.address4,
82
+ deliveryAddress5: marketplaceOrderShipping.address5,
83
+ attentionTo: marketplaceOrderShipping.attentionTo,
84
+ city: marketplaceOrderShipping.city,
85
+ postalCode: marketplaceOrderShipping.postCode,
86
+ country: marketplaceOrderShipping.country,
87
+ state: marketplaceOrderShipping.state,
88
+ phone1: marketplaceOrderShipping.phone1,
89
+ phone2: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.phone2) ? marketplaceOrderShipping.phone2 : null
90
+ },
91
+ marketplaceOrderStatus: marketplaceOrder.status,
92
+ airwayBill: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.airwayBill) ? marketplaceOrderShipping.airwayBill : null,
93
+ invoice: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.invoice) ? marketplaceOrderShipping.invoice : null,
94
+ orderInventories: marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {
95
+ return {
96
+ product: {
97
+ sku: marketplaceOrderShippingItem.product.sku
98
+ },
99
+ releaseQty: marketplaceOrderShippingItem.qty
100
+ };
101
+ })
102
+ };
103
+ try {
104
+ let releaseOrder = await integration_fulfillment_1.FulfillmentAPI.createOutboundOrder(fulfilmentCenter, {
105
+ customerBizplaceId,
106
+ releaseOrder: newReleaseOrder
107
+ });
108
+ //if release order is not created, throw error
109
+ if (!(releaseOrder === null || releaseOrder === void 0 ? void 0 : releaseOrder.id)) {
110
+ throw new Error('Failed to create release order');
111
+ }
112
+ marketplaceOrderShipping.releaseOrderId = releaseOrder.id;
113
+ marketplaceOrderShipping.fulfillmentCenter = fulfilmentCenter;
114
+ await (0, typeorm_1.getRepository)(marketplace_base_1.MarketplaceOrderShipping).save(marketplaceOrderShipping);
115
+ }
116
+ catch (e) {
117
+ console.error(e);
118
+ }
119
+ }
120
+ }
121
+ //fetch the latest updated of marketplaceOrderShipping
122
+ const mos = await (0, typeorm_1.createQueryBuilder)(marketplace_base_1.MarketplaceOrderShipping, 'MOS')
123
+ .where('MOS.domain = :domainId', { domainId: domain.id })
124
+ .andWhere('MOS.orderNoRef = :orderNoRef', { orderNoRef: marketplaceOrder.orderNo })
125
+ .distinctOn(['MOS.subOrderNoRef', 'MOS.orderNoRef'])
126
+ .orderBy('MOS.subOrderNoRef', 'ASC')
127
+ .addOrderBy('MOS.orderNoRef', 'ASC')
128
+ .addOrderBy('MOS.createdAt', 'ASC')
129
+ .getMany();
130
+ //validation to prevent creating invoice if there is any failed release order
131
+ if (mos.some(mos => mos.releaseOrderId === null || mos.releaseOrderId === '')) {
132
+ continue;
133
+ }
134
+ //update marketplaceOrder with releaseOrderId if all ro is created
135
+ if (mos.length > 0 && ((_b = mos[0]) === null || _b === void 0 ? void 0 : _b.releaseOrderId)) {
136
+ await (0, typeorm_1.getRepository)(marketplace_base_1.MarketplaceOrder).update(marketplaceOrder.id, {
137
+ releaseOrderId: mos[0].releaseOrderId,
138
+ fulfillmentCenter: fulfilmentCenter
139
+ });
140
+ }
141
+ try {
142
+ var invoiceProducts = await Promise.all(marketplaceOrderItems.map(async (mi) => {
143
+ let product = await (0, typeorm_1.getRepository)(product_base_1.Product).findOne({
144
+ where: { domain, sku: mi.marketplaceProductVariation.sku }
145
+ });
146
+ let productBundle;
147
+ if (!product) {
148
+ productBundle = await (0, typeorm_1.getRepository)(product_base_1.ProductBundle).findOne({
149
+ where: { domain, sku: mi.marketplaceProductVariation.sku }
150
+ });
151
+ }
152
+ return {
153
+ sku: product ? product.sku : productBundle.sku,
154
+ name: product ? product.name : productBundle.name,
155
+ description: product ? product.description : productBundle.description,
156
+ qty: mi.qty,
157
+ unitPrice: ((mi === null || mi === void 0 ? void 0 : mi.originalPrice) || 0) / mi.qty,
158
+ paidPrice: ((mi === null || mi === void 0 ? void 0 : mi.paidPrice) || 0) / mi.qty,
159
+ discount: (mi === null || mi === void 0 ? void 0 : mi.discount) || 0,
160
+ shippingFeePaidByCustomer: (mi === null || mi === void 0 ? void 0 : mi.shippingFeePaidByCustomer) || 0
161
+ };
162
+ }));
163
+ let newInvoice = {
164
+ invoiceProducts,
165
+ name: '-',
166
+ refNo1: newReleaseOrder.refNo.toString(),
167
+ refNo2: newReleaseOrder.refNo2.toString(),
168
+ issuedOn: new Date(),
169
+ from: marketplaceOrder.marketplaceStore.storeName,
170
+ fromContactPhone: '-',
171
+ fromAddress1: '-',
172
+ fromAddress2: null,
173
+ fromAddress3: null,
174
+ fromAddress4: null,
175
+ fromAddress5: null,
176
+ fromPostcode: null,
177
+ fromCity: null,
178
+ fromState: null,
179
+ fromCountry: null,
180
+ deliverTo: newReleaseOrder.deliverTo.attentionTo || '-',
181
+ deliverToPhone: newReleaseOrder.deliverTo.phone1 || '-',
182
+ deliveryAddress1: newReleaseOrder.deliverTo.deliveryAddress1 || '-',
183
+ deliveryAddress2: newReleaseOrder.deliverTo.deliveryAddress2,
184
+ deliveryAddress3: newReleaseOrder.deliverTo.deliveryAddress3,
185
+ deliveryAddress4: newReleaseOrder.deliverTo.deliveryAddress4,
186
+ deliveryAddress5: newReleaseOrder.deliverTo.deliveryAddress5,
187
+ deliveryPostcode: newReleaseOrder.deliverTo.postalCode || '-',
188
+ deliveryCity: newReleaseOrder.deliverTo.city || '-',
189
+ deliveryState: newReleaseOrder.deliverTo.state || '-',
190
+ deliveryCountry: newReleaseOrder.deliverTo.country || '-',
191
+ billTo: newReleaseOrder.deliverTo.attentionTo || '-',
192
+ billToPhone: newReleaseOrder.deliverTo.phone1 || '-',
193
+ billingAddress1: newReleaseOrder.deliverTo.billingAddress || newReleaseOrder.deliverTo.deliveryAddress1 || '-',
194
+ billingAddress2: null,
195
+ billingAddress3: null,
196
+ billingAddress4: null,
197
+ billingAddress5: null,
198
+ billingPostcode: '-',
199
+ billingCity: '-',
200
+ billingState: '-',
201
+ billingCountry: '-'
202
+ };
203
+ await integration_fulfillment_1.FulfillmentAPI.createSalesInvoice(fulfilmentCenter, {
204
+ customerBizplaceId,
205
+ invoice: newInvoice
206
+ });
207
+ }
208
+ catch (e) {
209
+ console.error(e);
210
+ }
211
+ }
212
+ }
213
+ catch (e) {
214
+ console.error(e);
215
+ }
216
+ }
217
+ };
218
+ //# sourceMappingURL=auto-add-release-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-add-release-order.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/interface-with-hub/auto-add-release-order.ts"],"names":[],"mappings":"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"}