@things-factory/operato-mms 6.2.97 → 6.2.102

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 (78) hide show
  1. package/package.json +29 -29
  2. package/dist-server/controllers/index.js +0 -1
  3. package/dist-server/controllers/index.js.map +0 -1
  4. package/dist-server/entities/index.js +0 -5
  5. package/dist-server/entities/index.js.map +0 -1
  6. package/dist-server/graphql/index.js +0 -11
  7. package/dist-server/graphql/index.js.map +0 -1
  8. package/dist-server/graphql/resolvers/index.js +0 -10
  9. package/dist-server/graphql/resolvers/index.js.map +0 -1
  10. package/dist-server/graphql/resolvers/interface-with-hub/add-release-order.js +0 -178
  11. package/dist-server/graphql/resolvers/interface-with-hub/add-release-order.js.map +0 -1
  12. package/dist-server/graphql/resolvers/interface-with-hub/auto-add-release-order.js +0 -181
  13. package/dist-server/graphql/resolvers/interface-with-hub/auto-add-release-order.js.map +0 -1
  14. package/dist-server/graphql/resolvers/interface-with-hub/auto-update-all-marketplace-product-variation-quantity.js +0 -149
  15. package/dist-server/graphql/resolvers/interface-with-hub/auto-update-all-marketplace-product-variation-quantity.js.map +0 -1
  16. package/dist-server/graphql/resolvers/interface-with-hub/generate-replenishment-order.js +0 -26
  17. package/dist-server/graphql/resolvers/interface-with-hub/generate-replenishment-order.js.map +0 -1
  18. package/dist-server/graphql/resolvers/interface-with-hub/index.js +0 -12
  19. package/dist-server/graphql/resolvers/interface-with-hub/index.js.map +0 -1
  20. package/dist-server/graphql/resolvers/interface-with-hub/warehouse-marketplace-products.js +0 -221
  21. package/dist-server/graphql/resolvers/interface-with-hub/warehouse-marketplace-products.js.map +0 -1
  22. package/dist-server/graphql/resolvers/shipping-provider/index.js +0 -6
  23. package/dist-server/graphql/resolvers/shipping-provider/index.js.map +0 -1
  24. package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js +0 -32
  25. package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +0 -1
  26. package/dist-server/graphql/resolvers/warehouse-product/auto-link-warehouse-marketplace-product-variations.js +0 -67
  27. package/dist-server/graphql/resolvers/warehouse-product/auto-link-warehouse-marketplace-product-variations.js.map +0 -1
  28. package/dist-server/graphql/resolvers/warehouse-product/index.js +0 -6
  29. package/dist-server/graphql/resolvers/warehouse-product/index.js.map +0 -1
  30. package/dist-server/graphql/types/index.js +0 -11
  31. package/dist-server/graphql/types/index.js.map +0 -1
  32. package/dist-server/graphql/types/interface-with-hub/index.js +0 -29
  33. package/dist-server/graphql/types/interface-with-hub/index.js.map +0 -1
  34. package/dist-server/graphql/types/interface-with-hub/new-stock-replenishment.js +0 -32
  35. package/dist-server/graphql/types/interface-with-hub/new-stock-replenishment.js.map +0 -1
  36. package/dist-server/graphql/types/interface-with-hub/replenishment-order-product.js +0 -48
  37. package/dist-server/graphql/types/interface-with-hub/replenishment-order-product.js.map +0 -1
  38. package/dist-server/graphql/types/interface-with-hub/stock-replenishment-list.js +0 -14
  39. package/dist-server/graphql/types/interface-with-hub/stock-replenishment-list.js.map +0 -1
  40. package/dist-server/graphql/types/interface-with-hub/stock-replenishment.js +0 -45
  41. package/dist-server/graphql/types/interface-with-hub/stock-replenishment.js.map +0 -1
  42. package/dist-server/graphql/types/interface-with-hub/warehouse-inventory.js +0 -15
  43. package/dist-server/graphql/types/interface-with-hub/warehouse-inventory.js.map +0 -1
  44. package/dist-server/graphql/types/interface-with-hub/warehouse-marketplace-product-list.js +0 -12
  45. package/dist-server/graphql/types/interface-with-hub/warehouse-marketplace-product-list.js.map +0 -1
  46. package/dist-server/graphql/types/interface-with-hub/warehouse-marketplace-product.js +0 -18
  47. package/dist-server/graphql/types/interface-with-hub/warehouse-marketplace-product.js.map +0 -1
  48. package/dist-server/graphql/types/shipping-provider/index.js +0 -10
  49. package/dist-server/graphql/types/shipping-provider/index.js.map +0 -1
  50. package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js +0 -11
  51. package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js.map +0 -1
  52. package/dist-server/graphql/types/shipping-provider/shipping-provider.js +0 -11
  53. package/dist-server/graphql/types/shipping-provider/shipping-provider.js.map +0 -1
  54. package/dist-server/graphql/types/warehouse-product/index.js +0 -11
  55. package/dist-server/graphql/types/warehouse-product/index.js.map +0 -1
  56. package/dist-server/graphql/types/warehouse-product/warehouse-product.js +0 -13
  57. package/dist-server/graphql/types/warehouse-product/warehouse-product.js.map +0 -1
  58. package/dist-server/index.js +0 -8
  59. package/dist-server/index.js.map +0 -1
  60. package/dist-server/middlewares/index.js +0 -4
  61. package/dist-server/middlewares/index.js.map +0 -1
  62. package/dist-server/migrations/1599732967233-SeedCommonCode.js +0 -51
  63. package/dist-server/migrations/1599732967233-SeedCommonCode.js.map +0 -1
  64. package/dist-server/migrations/1608009991075-SeedUser.js +0 -50
  65. package/dist-server/migrations/1608009991075-SeedUser.js.map +0 -1
  66. package/dist-server/migrations/index.js +0 -12
  67. package/dist-server/migrations/index.js.map +0 -1
  68. package/dist-server/routers/etrax-router.js +0 -156
  69. package/dist-server/routers/etrax-router.js.map +0 -1
  70. package/dist-server/routers/shopify-pos-public-router.js +0 -107
  71. package/dist-server/routers/shopify-pos-public-router.js.map +0 -1
  72. package/dist-server/routes.js +0 -10
  73. package/dist-server/routes.js.map +0 -1
  74. package/dist-server/tsconfig.tsbuildinfo +0 -1
  75. package/dist-server/util/interface-helper.js +0 -51
  76. package/dist-server/util/interface-helper.js.map +0 -1
  77. package/dist-server/util/no-generator.js +0 -14
  78. package/dist-server/util/no-generator.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/operato-mms",
3
- "version": "6.2.97",
3
+ "version": "6.2.102",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -70,38 +70,38 @@
70
70
  "@operato/scene-timer": "^1.0.0",
71
71
  "@operato/scene-visualizer": "^1.0.0",
72
72
  "@operato/scene-wheel-sorter": "^1.0.0",
73
- "@things-factory/apptool-ui": "^6.2.96",
74
- "@things-factory/attachment-base": "^6.2.96",
75
- "@things-factory/auth-ui": "^6.2.96",
76
- "@things-factory/biz-base": "^6.2.96",
77
- "@things-factory/board-service": "^6.2.96",
78
- "@things-factory/board-ui": "^6.2.96",
79
- "@things-factory/code-ui": "^6.2.96",
80
- "@things-factory/context-ui": "^6.2.96",
81
- "@things-factory/dashboard": "^6.2.96",
82
- "@things-factory/export-ui": "^6.2.96",
83
- "@things-factory/export-ui-csv": "^6.2.96",
84
- "@things-factory/export-ui-excel": "^6.2.96",
85
- "@things-factory/geography": "^6.2.96",
86
- "@things-factory/help": "^6.2.96",
87
- "@things-factory/i18n-base": "^6.2.96",
88
- "@things-factory/integration-fulfillment": "^6.2.96",
89
- "@things-factory/integration-lmd": "^6.2.96",
90
- "@things-factory/lite-menu": "^6.2.96",
91
- "@things-factory/marketplace-base": "^6.2.96",
92
- "@things-factory/more-ui": "^6.2.96",
93
- "@things-factory/notification": "^6.2.97",
94
- "@things-factory/oauth2-client": "^6.2.96",
73
+ "@things-factory/apptool-ui": "^6.2.101",
74
+ "@things-factory/attachment-base": "^6.2.101",
75
+ "@things-factory/auth-ui": "^6.2.101",
76
+ "@things-factory/biz-base": "^6.2.101",
77
+ "@things-factory/board-service": "^6.2.101",
78
+ "@things-factory/board-ui": "^6.2.102",
79
+ "@things-factory/code-ui": "^6.2.101",
80
+ "@things-factory/context-ui": "^6.2.101",
81
+ "@things-factory/dashboard": "^6.2.102",
82
+ "@things-factory/export-ui": "^6.2.101",
83
+ "@things-factory/export-ui-csv": "^6.2.101",
84
+ "@things-factory/export-ui-excel": "^6.2.101",
85
+ "@things-factory/geography": "^6.2.101",
86
+ "@things-factory/help": "^6.2.101",
87
+ "@things-factory/i18n-base": "^6.2.101",
88
+ "@things-factory/integration-fulfillment": "^6.2.101",
89
+ "@things-factory/integration-lmd": "^6.2.101",
90
+ "@things-factory/lite-menu": "^6.2.102",
91
+ "@things-factory/marketplace-base": "^6.2.101",
92
+ "@things-factory/more-ui": "^6.2.101",
93
+ "@things-factory/notification": "^6.2.101",
94
+ "@things-factory/oauth2-client": "^6.2.101",
95
95
  "@things-factory/pdf": "^6.2.96",
96
- "@things-factory/product-base": "^6.2.96",
97
- "@things-factory/resource-ui": "^6.2.96",
98
- "@things-factory/setting-ui": "^6.2.96",
99
- "@things-factory/system": "^6.2.96",
100
- "@things-factory/warehouse-base": "^6.2.96"
96
+ "@things-factory/product-base": "^6.2.101",
97
+ "@things-factory/resource-ui": "^6.2.101",
98
+ "@things-factory/setting-ui": "^6.2.101",
99
+ "@things-factory/system": "^6.2.101",
100
+ "@things-factory/warehouse-base": "^6.2.101"
101
101
  },
102
102
  "devDependencies": {
103
103
  "@things-factory/builder": "^6.2.96",
104
104
  "@types/node-fetch": "^2.5.7"
105
105
  },
106
- "gitHead": "62f9a4d0fe8a3377b9e2342667fda3fca9c1f174"
106
+ "gitHead": "de7dc909722996bd44373ef2a8ad2e6f5a0b88d6"
107
107
  }
@@ -1 +0,0 @@
1
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/controllers/index.ts"],"names":[],"mappings":"","sourcesContent":[""]}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.entities = void 0;
4
- exports.entities = [];
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/entities/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,EAAE,CAAA","sourcesContent":["export const entities = []\n\nexport {}\n"]}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.schema = void 0;
4
- const tslib_1 = require("tslib");
5
- const typeDefs = tslib_1.__importStar(require("./types"));
6
- const resolvers = tslib_1.__importStar(require("./resolvers"));
7
- exports.schema = {
8
- typeDefs,
9
- resolvers
10
- };
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/graphql/index.ts"],"names":[],"mappings":";;;;AAAA,0DAAmC;AACnC,+DAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,QAAQ;IACR,SAAS;CACV,CAAA","sourcesContent":["import * as typeDefs from './types'\nimport * as resolvers from './resolvers'\n\nexport const schema = {\n typeDefs,\n resolvers\n}\n"]}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mutations = exports.queries = void 0;
4
- const tslib_1 = require("tslib");
5
- const InterfaceWithHub = tslib_1.__importStar(require("./interface-with-hub"));
6
- const WarehouseProduct = tslib_1.__importStar(require("./warehouse-product"));
7
- const ShippingProviders = tslib_1.__importStar(require("./shipping-provider"));
8
- exports.queries = [InterfaceWithHub.Query, ShippingProviders.Query];
9
- exports.mutations = [InterfaceWithHub.Mutation, WarehouseProduct.Mutation];
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/resolvers/index.ts"],"names":[],"mappings":";;;;AAAA,+EAAwD;AACxD,8EAAuD;AACvD,+EAAwD;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","sourcesContent":["import * as InterfaceWithHub from './interface-with-hub'\nimport * as WarehouseProduct from './warehouse-product'\nimport * as ShippingProviders from './shipping-provider'\n\nexport const queries = [InterfaceWithHub.Query, ShippingProviders.Query]\n\nexport const mutations = [InterfaceWithHub.Mutation, WarehouseProduct.Mutation]\n"]}
@@ -1,178 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addReleaseOrderResolver = void 0;
4
- const biz_base_1 = require("@things-factory/biz-base");
5
- const integration_fulfillment_1 = require("@things-factory/integration-fulfillment");
6
- const marketplace_base_1 = require("@things-factory/marketplace-base");
7
- const product_base_1 = require("@things-factory/product-base");
8
- const shell_1 = require("@things-factory/shell");
9
- exports.addReleaseOrderResolver = {
10
- async addReleaseOrder(_, { marketplaceOrderIds, warehouseId }, context) {
11
- const { domain } = context.state;
12
- const fulfilmentCenter = await integration_fulfillment_1.FulfillmentAPI.getFulfillmentCenter(warehouseId);
13
- const centerId = fulfilmentCenter.centerId;
14
- var warehouseDomain = await (0, shell_1.getRepository)(shell_1.Domain).findOne({ where: { subdomain: centerId } });
15
- var customerBizplaces = await (0, biz_base_1.getCustomerBizplaces)(warehouseDomain);
16
- const customerBizplaceId = customerBizplaces.find(customerBizplace => customerBizplace.company.domain.id === domain.id).id;
17
- for (var i = 0; i < marketplaceOrderIds.length; i++) {
18
- const marketplaceOrderId = marketplaceOrderIds[i];
19
- const marketplaceOrder = await (0, shell_1.getRepository)(marketplace_base_1.MarketplaceOrder).findOne({
20
- where: {
21
- id: marketplaceOrderId
22
- },
23
- relations: [
24
- 'marketplaceOrderItems',
25
- 'marketplaceOrderItems.marketplaceProductVariation',
26
- 'marketplaceOrderItems.marketplaceOrderShippingItems',
27
- 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
28
- 'marketplaceStore'
29
- ]
30
- });
31
- const marketplaceOrderItems = marketplaceOrder.marketplaceOrderItems;
32
- let marketplaceOrderShippings = await (0, shell_1.getRepository)(marketplace_base_1.MarketplaceOrderShipping).find({
33
- where: { orderNoRef: marketplaceOrder.orderNo, domain: { id: domain.id } },
34
- order: { subOrderNoRef: 'ASC' },
35
- relations: [
36
- 'marketplaceOrderShippingItems',
37
- 'marketplaceOrderShippingItems.marketplaceOrderItem',
38
- 'marketplaceOrderShippingItems.product'
39
- ]
40
- });
41
- for (let j = 0; j < marketplaceOrderShippings.length; j++) {
42
- let marketplaceOrderShipping = marketplaceOrderShippings[j];
43
- let marketplaceOrderShippingItems = marketplaceOrderShipping.marketplaceOrderShippingItems;
44
- if (!(marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.releaseOrderId)) {
45
- const date = new Date();
46
- const releaseDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date
47
- .getDate()
48
- .toString()
49
- .padStart(2, '0')}`;
50
- var newReleaseOrder = {
51
- releaseDate,
52
- type: 'b2c',
53
- transporter: marketplaceOrder.shippingProvider,
54
- trackingNo: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.ownTrackingNo)
55
- ? marketplaceOrderShipping.ownTrackingNo
56
- : marketplaceOrderShipping.trackingNo,
57
- packingOption: true,
58
- exportOption: false,
59
- ownTransport: true,
60
- courierOption: true,
61
- collectionOrderNo: marketplaceOrder.orderNo,
62
- refNo: marketplaceOrder.orderNo,
63
- refNo2: marketplaceOrderShippings.length > 1 ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.subOrderNoRef : marketplaceOrder.orderNo,
64
- deliverTo: {
65
- deliveryAddress1: marketplaceOrderShipping.address1,
66
- deliveryAddress2: marketplaceOrderShipping.address2,
67
- deliveryAddress3: marketplaceOrderShipping.address3,
68
- deliveryAddress4: marketplaceOrderShipping.address4,
69
- deliveryAddress5: marketplaceOrderShipping.address5,
70
- attentionTo: marketplaceOrderShipping.attentionTo,
71
- city: marketplaceOrderShipping.city,
72
- postalCode: marketplaceOrderShipping.postCode,
73
- country: marketplaceOrderShipping.country,
74
- state: marketplaceOrderShipping.state,
75
- phone1: marketplaceOrderShipping.phone1,
76
- phone2: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.phone2) ? marketplaceOrderShipping.phone2 : null
77
- },
78
- marketplaceOrderStatus: marketplaceOrder.status,
79
- airwayBill: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.airwayBill) ? marketplaceOrderShipping.airwayBill : null,
80
- invoice: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.invoice) ? marketplaceOrderShipping.invoice : null,
81
- orderInventories: marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {
82
- return {
83
- product: {
84
- sku: marketplaceOrderShippingItem.product.sku
85
- },
86
- releaseQty: marketplaceOrderShippingItem.qty
87
- };
88
- })
89
- };
90
- try {
91
- var releaseOrder = await integration_fulfillment_1.FulfillmentAPI.createOutboundOrder(fulfilmentCenter, {
92
- customerBizplaceId,
93
- releaseOrder: newReleaseOrder
94
- });
95
- marketplaceOrderShipping.releaseOrderId = releaseOrder.id;
96
- marketplaceOrderShipping.fulfillmentCenter = fulfilmentCenter;
97
- await (0, shell_1.getRepository)(marketplace_base_1.MarketplaceOrderShipping).save(marketplaceOrderShipping);
98
- if (releaseOrder && (releaseOrder === null || releaseOrder === void 0 ? void 0 : releaseOrder.id)) {
99
- marketplaceOrder.releaseOrderId = releaseOrder.id;
100
- marketplaceOrder.fulfillmentCenter = fulfilmentCenter;
101
- await (0, shell_1.getRepository)(marketplace_base_1.MarketplaceOrder).save(marketplaceOrder);
102
- }
103
- }
104
- catch (e) { }
105
- }
106
- }
107
- var invoiceProducts = await Promise.all(marketplaceOrderItems.map(async (mi) => {
108
- let product = await (0, shell_1.getRepository)(product_base_1.Product).findOne({
109
- where: { domain: { id: domain.id }, sku: mi.marketplaceProductVariation.sku }
110
- });
111
- let productBundle;
112
- if (!product) {
113
- productBundle = await (0, shell_1.getRepository)(product_base_1.ProductBundle).findOne({
114
- where: { domain: { id: domain.id }, sku: mi.marketplaceProductVariation.sku }
115
- });
116
- }
117
- return {
118
- sku: product ? product.sku : productBundle.sku,
119
- name: product ? product.name : productBundle.name,
120
- description: product ? product.description : productBundle.description,
121
- qty: mi.qty,
122
- unitPrice: ((mi === null || mi === void 0 ? void 0 : mi.originalPrice) || 0) / mi.qty,
123
- paidPrice: ((mi === null || mi === void 0 ? void 0 : mi.paidPrice) || 0) / mi.qty,
124
- discount: (mi === null || mi === void 0 ? void 0 : mi.discount) || 0,
125
- shippingFeePaidByCustomer: (mi === null || mi === void 0 ? void 0 : mi.shippingFeePaidByCustomer) || 0
126
- };
127
- }));
128
- let newInvoice = {
129
- invoiceProducts,
130
- name: '-',
131
- refNo1: newReleaseOrder.refNo.toString(),
132
- refNo2: newReleaseOrder.refNo2.toString(),
133
- issuedOn: new Date(),
134
- from: marketplaceOrder.marketplaceStore.storeName,
135
- fromContactPhone: '-',
136
- fromAddress1: '-',
137
- fromAddress2: null,
138
- fromAddress3: null,
139
- fromAddress4: null,
140
- fromAddress5: null,
141
- fromPostcode: null,
142
- fromCity: null,
143
- fromState: null,
144
- fromCountry: null,
145
- deliverTo: newReleaseOrder.deliverTo.attentionTo || '-',
146
- deliverToPhone: newReleaseOrder.deliverTo.phone1 || '-',
147
- deliveryAddress1: newReleaseOrder.deliverTo.deliveryAddress1 || '-',
148
- deliveryAddress2: newReleaseOrder.deliverTo.deliveryAddress2,
149
- deliveryAddress3: newReleaseOrder.deliverTo.deliveryAddress3,
150
- deliveryAddress4: newReleaseOrder.deliverTo.deliveryAddress4,
151
- deliveryAddress5: newReleaseOrder.deliverTo.deliveryAddress5,
152
- deliveryPostcode: newReleaseOrder.deliverTo.postalCode || '-',
153
- deliveryCity: newReleaseOrder.deliverTo.city || '-',
154
- deliveryState: newReleaseOrder.deliverTo.state || '-',
155
- deliveryCountry: newReleaseOrder.deliverTo.country || '-',
156
- billTo: newReleaseOrder.deliverTo.attentionTo || '-',
157
- billToPhone: newReleaseOrder.deliverTo.phone1 || '-',
158
- billingAddress1: newReleaseOrder.deliverTo.billingAddress || newReleaseOrder.deliverTo.deliveryAddress1 || '-',
159
- billingAddress2: null,
160
- billingAddress3: null,
161
- billingAddress4: null,
162
- billingAddress5: null,
163
- billingPostcode: '-',
164
- billingCity: '-',
165
- billingState: '-',
166
- billingCountry: '-'
167
- };
168
- try {
169
- await integration_fulfillment_1.FulfillmentAPI.createSalesInvoice(fulfilmentCenter, {
170
- customerBizplaceId,
171
- invoice: newInvoice
172
- });
173
- }
174
- catch (e) { }
175
- }
176
- }
177
- };
178
- //# sourceMappingURL=add-release-order.js.map
@@ -1 +0,0 @@
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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","sourcesContent":["import { Bizplace, getCustomerBizplaces } from '@things-factory/biz-base'\nimport { FulfillmentAPI, FulfillmentCenter } from '@things-factory/integration-fulfillment'\nimport {\n MarketplaceOrder,\n MarketplaceOrderItem,\n MarketplaceOrderShipping,\n MarketplaceOrderShippingItem\n} from '@things-factory/marketplace-base'\nimport { Product, ProductBundle } from '@things-factory/product-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nexport const addReleaseOrderResolver = {\n async addReleaseOrder(\n _: void,\n { marketplaceOrderIds, warehouseId }: { marketplaceOrderIds: any; warehouseId: string },\n context: any\n ): Promise<void> {\n const { domain } = context.state\n\n const fulfilmentCenter: FulfillmentCenter = await FulfillmentAPI.getFulfillmentCenter(warehouseId)\n const centerId: string = fulfilmentCenter.centerId\n\n var warehouseDomain: Domain = await getRepository(Domain).findOne({ where: { subdomain: centerId } })\n var customerBizplaces: Bizplace[] = await getCustomerBizplaces(warehouseDomain)\n\n const customerBizplaceId: string = customerBizplaces.find(\n customerBizplace => customerBizplace.company.domain.id === domain.id\n ).id\n\n for (var i = 0; i < marketplaceOrderIds.length; i++) {\n const marketplaceOrderId = marketplaceOrderIds[i]\n\n const marketplaceOrder: MarketplaceOrder = await getRepository(MarketplaceOrder).findOne({\n where: {\n id: marketplaceOrderId\n },\n relations: [\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceProductVariation',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',\n 'marketplaceStore'\n ]\n })\n\n const marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems\n\n let marketplaceOrderShippings: MarketplaceOrderShipping[] = await getRepository(MarketplaceOrderShipping).find({\n where: { orderNoRef: marketplaceOrder.orderNo, domain: { id: domain.id } },\n order: { subOrderNoRef: 'ASC' },\n relations: [\n 'marketplaceOrderShippingItems',\n 'marketplaceOrderShippingItems.marketplaceOrderItem',\n 'marketplaceOrderShippingItems.product'\n ]\n })\n\n for (let j = 0; j < marketplaceOrderShippings.length; j++) {\n let marketplaceOrderShipping: MarketplaceOrderShipping = marketplaceOrderShippings[j]\n let marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] =\n marketplaceOrderShipping.marketplaceOrderShippingItems\n\n if (!marketplaceOrderShipping?.releaseOrderId) {\n const date: Date = new Date()\n const releaseDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date\n .getDate()\n .toString()\n .padStart(2, '0')}`\n\n var newReleaseOrder: any = {\n releaseDate,\n type: 'b2c',\n transporter: marketplaceOrder.shippingProvider,\n trackingNo: marketplaceOrderShipping?.ownTrackingNo\n ? marketplaceOrderShipping.ownTrackingNo\n : marketplaceOrderShipping.trackingNo,\n packingOption: true,\n exportOption: false,\n ownTransport: true,\n courierOption: true,\n collectionOrderNo: marketplaceOrder.orderNo,\n refNo: marketplaceOrder.orderNo,\n refNo2:\n marketplaceOrderShippings.length > 1 ? marketplaceOrderShipping?.subOrderNoRef : marketplaceOrder.orderNo,\n deliverTo: {\n deliveryAddress1: marketplaceOrderShipping.address1,\n deliveryAddress2: marketplaceOrderShipping.address2,\n deliveryAddress3: marketplaceOrderShipping.address3,\n deliveryAddress4: marketplaceOrderShipping.address4,\n deliveryAddress5: marketplaceOrderShipping.address5,\n attentionTo: marketplaceOrderShipping.attentionTo,\n city: marketplaceOrderShipping.city,\n postalCode: marketplaceOrderShipping.postCode,\n country: marketplaceOrderShipping.country,\n state: marketplaceOrderShipping.state,\n phone1: marketplaceOrderShipping.phone1,\n phone2: marketplaceOrderShipping?.phone2 ? marketplaceOrderShipping.phone2 : null\n },\n marketplaceOrderStatus: marketplaceOrder.status,\n airwayBill: marketplaceOrderShipping?.airwayBill ? marketplaceOrderShipping.airwayBill : null,\n invoice: marketplaceOrderShipping?.invoice ? marketplaceOrderShipping.invoice : null,\n orderInventories: marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {\n return {\n product: {\n sku: marketplaceOrderShippingItem.product.sku\n },\n releaseQty: marketplaceOrderShippingItem.qty\n }\n })\n }\n\n try {\n var releaseOrder: any = await FulfillmentAPI.createOutboundOrder(fulfilmentCenter, {\n customerBizplaceId,\n releaseOrder: newReleaseOrder\n })\n\n marketplaceOrderShipping.releaseOrderId = releaseOrder.id\n marketplaceOrderShipping.fulfillmentCenter = fulfilmentCenter\n await getRepository(MarketplaceOrderShipping).save(marketplaceOrderShipping)\n\n if (releaseOrder && releaseOrder?.id) {\n marketplaceOrder.releaseOrderId = releaseOrder.id\n marketplaceOrder.fulfillmentCenter = fulfilmentCenter\n await getRepository(MarketplaceOrder).save(marketplaceOrder)\n }\n } catch (e) {}\n }\n }\n\n var invoiceProducts = await Promise.all(\n marketplaceOrderItems.map(async mi => {\n let product: Product = await getRepository(Product).findOne({\n where: { domain: { id: domain.id }, sku: mi.marketplaceProductVariation.sku }\n })\n\n let productBundle: ProductBundle\n if (!product) {\n productBundle = await getRepository(ProductBundle).findOne({\n where: { domain: { id: domain.id }, sku: mi.marketplaceProductVariation.sku }\n })\n }\n\n return {\n sku: product ? product.sku : productBundle.sku,\n name: product ? product.name : productBundle.name,\n description: product ? product.description : productBundle.description,\n qty: mi.qty,\n unitPrice: (mi?.originalPrice || 0) / mi.qty,\n paidPrice: (mi?.paidPrice || 0) / mi.qty,\n discount: mi?.discount || 0,\n shippingFeePaidByCustomer: mi?.shippingFeePaidByCustomer || 0\n }\n })\n )\n\n let newInvoice = {\n invoiceProducts,\n name: '-',\n refNo1: newReleaseOrder.refNo.toString(),\n refNo2: newReleaseOrder.refNo2.toString(),\n issuedOn: new Date(),\n from: marketplaceOrder.marketplaceStore.storeName,\n fromContactPhone: '-',\n fromAddress1: '-',\n fromAddress2: null,\n fromAddress3: null,\n fromAddress4: null,\n fromAddress5: null,\n fromPostcode: null,\n fromCity: null,\n fromState: null,\n fromCountry: null,\n deliverTo: newReleaseOrder.deliverTo.attentionTo || '-',\n deliverToPhone: newReleaseOrder.deliverTo.phone1 || '-',\n deliveryAddress1: newReleaseOrder.deliverTo.deliveryAddress1 || '-',\n deliveryAddress2: newReleaseOrder.deliverTo.deliveryAddress2,\n deliveryAddress3: newReleaseOrder.deliverTo.deliveryAddress3,\n deliveryAddress4: newReleaseOrder.deliverTo.deliveryAddress4,\n deliveryAddress5: newReleaseOrder.deliverTo.deliveryAddress5,\n deliveryPostcode: newReleaseOrder.deliverTo.postalCode || '-',\n deliveryCity: newReleaseOrder.deliverTo.city || '-',\n deliveryState: newReleaseOrder.deliverTo.state || '-',\n deliveryCountry: newReleaseOrder.deliverTo.country || '-',\n billTo: newReleaseOrder.deliverTo.attentionTo || '-',\n billToPhone: newReleaseOrder.deliverTo.phone1 || '-',\n billingAddress1: newReleaseOrder.deliverTo.billingAddress || newReleaseOrder.deliverTo.deliveryAddress1 || '-',\n billingAddress2: null,\n billingAddress3: null,\n billingAddress4: null,\n billingAddress5: null,\n billingPostcode: '-',\n billingCity: '-',\n billingState: '-',\n billingCountry: '-'\n }\n\n try {\n await FulfillmentAPI.createSalesInvoice(fulfilmentCenter, {\n customerBizplaceId,\n invoice: newInvoice\n })\n } catch (e) {}\n }\n }\n}\n"]}
@@ -1,181 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.autoAddReleaseOrderResolver = void 0;
4
- const typeorm_1 = require("typeorm");
5
- const biz_base_1 = require("@things-factory/biz-base");
6
- const integration_fulfillment_1 = require("@things-factory/integration-fulfillment");
7
- const marketplace_base_1 = require("@things-factory/marketplace-base");
8
- const product_base_1 = require("@things-factory/product-base");
9
- const shell_1 = require("@things-factory/shell");
10
- exports.autoAddReleaseOrderResolver = {
11
- async autoAddReleaseOrder(_, { warehouseId }, context) {
12
- const { domain } = context.state;
13
- const qb = (0, typeorm_1.createQueryBuilder)(marketplace_base_1.MarketplaceOrder, 'MO');
14
- const marketplaceOrders = await qb
15
- .leftJoinAndSelect('MO.marketplaceOrderItems', 'MOI')
16
- .leftJoinAndSelect('MOI.marketplaceOrderShippingItems', 'MOSI')
17
- .leftJoinAndSelect('MOSI.marketplaceOrderShipping', 'MOS')
18
- .leftJoinAndSelect('MOI.marketplaceProductVariation', 'MPV')
19
- .leftJoinAndSelect('MO.marketplaceStore', 'MPS')
20
- .where('MO.domain = :domainId', { domainId: domain.id })
21
- .andWhere('MO.releaseOrderId IS NULL')
22
- .andWhere('MO.status IN (:...status)', {
23
- status: ['ready_to_ship', 'unfulfilled', 'packed', 'processing']
24
- })
25
- .andWhere('MPS.status = :marketplaceStatus', { marketplaceStatus: 'ACTIVE' })
26
- .getMany();
27
- var fulfilmentCenter = await integration_fulfillment_1.FulfillmentAPI.getFulfillmentCenter(warehouseId);
28
- var centerId = fulfilmentCenter.centerId;
29
- var warehouseDomain = await (0, shell_1.getRepository)(shell_1.Domain).findOne({ where: { subdomain: centerId } });
30
- var customerBizplaces = await (0, biz_base_1.getCustomerBizplaces)(warehouseDomain);
31
- const customerBizplaceId = customerBizplaces.find(customerBizplace => customerBizplace.company.domain.id === domain.id).id;
32
- for (var i = 0; i < marketplaceOrders.length; i++) {
33
- const marketplaceOrder = marketplaceOrders[i];
34
- const marketplaceOrderItems = marketplaceOrder.marketplaceOrderItems;
35
- const marketplaceOrderShippings = await (0, shell_1.getRepository)(marketplace_base_1.MarketplaceOrderShipping).find({
36
- where: { orderNoRef: marketplaceOrder.orderNo, domain: { id: domain.id } },
37
- order: { subOrderNoRef: 'ASC' },
38
- relations: [
39
- 'marketplaceOrderShippingItems',
40
- 'marketplaceOrderShippingItems.marketplaceOrderItem',
41
- 'marketplaceOrderShippingItems.product'
42
- ]
43
- });
44
- for (let j = 0; j < marketplaceOrderShippings.length; j++) {
45
- let marketplaceOrderShipping = marketplaceOrderShippings[j];
46
- let marketplaceOrderShippingItems = marketplaceOrderShipping.marketplaceOrderShippingItems;
47
- if (!(marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.releaseOrderId)) {
48
- const date = new Date();
49
- const releaseDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date
50
- .getDate()
51
- .toString()
52
- .padStart(2, '0')}`;
53
- var newReleaseOrder = {
54
- releaseDate,
55
- type: 'b2c',
56
- transporter: marketplaceOrder.shippingProvider,
57
- trackingNo: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.ownTrackingNo)
58
- ? marketplaceOrderShipping.ownTrackingNo
59
- : marketplaceOrderShipping.trackingNo,
60
- packingOption: true,
61
- exportOption: false,
62
- ownTransport: true,
63
- courierOption: true,
64
- collectionOrderNo: marketplaceOrder.orderNo,
65
- refNo: marketplaceOrder.orderNo,
66
- refNo2: marketplaceOrderShippings.length > 1 ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.subOrderNoRef : marketplaceOrder.orderNo,
67
- deliverTo: {
68
- deliveryAddress1: marketplaceOrderShipping.address1,
69
- deliveryAddress2: marketplaceOrderShipping.address2,
70
- deliveryAddress3: marketplaceOrderShipping.address3,
71
- deliveryAddress4: marketplaceOrderShipping.address4,
72
- deliveryAddress5: marketplaceOrderShipping.address5,
73
- attentionTo: marketplaceOrderShipping.attentionTo,
74
- city: marketplaceOrderShipping.city,
75
- postalCode: marketplaceOrderShipping.postCode,
76
- country: marketplaceOrderShipping.country,
77
- state: marketplaceOrderShipping.state,
78
- phone1: marketplaceOrderShipping.phone1,
79
- phone2: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.phone2) ? marketplaceOrderShipping.phone2 : null
80
- },
81
- marketplaceOrderStatus: marketplaceOrder.status,
82
- airwayBill: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.airwayBill) ? marketplaceOrderShipping.airwayBill : null,
83
- invoice: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.invoice) ? marketplaceOrderShipping.invoice : null,
84
- orderInventories: marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {
85
- return {
86
- product: {
87
- sku: marketplaceOrderShippingItem.product.sku
88
- },
89
- releaseQty: marketplaceOrderShippingItem.qty
90
- };
91
- })
92
- };
93
- try {
94
- var releaseOrder = await integration_fulfillment_1.FulfillmentAPI.createOutboundOrder(fulfilmentCenter, {
95
- customerBizplaceId,
96
- releaseOrder: newReleaseOrder
97
- });
98
- marketplaceOrderShipping.releaseOrderId = releaseOrder.id;
99
- marketplaceOrderShipping.fulfillmentCenter = fulfilmentCenter;
100
- await (0, shell_1.getRepository)(marketplace_base_1.MarketplaceOrderShipping).save(marketplaceOrderShipping);
101
- if (releaseOrder && (releaseOrder === null || releaseOrder === void 0 ? void 0 : releaseOrder.id)) {
102
- marketplaceOrder.releaseOrderId = releaseOrder.id;
103
- marketplaceOrder.fulfillmentCenter = fulfilmentCenter;
104
- await (0, shell_1.getRepository)(marketplace_base_1.MarketplaceOrder).save(marketplaceOrder);
105
- }
106
- }
107
- catch (e) { }
108
- }
109
- }
110
- var invoiceProducts = await Promise.all(marketplaceOrderItems.map(async (mi) => {
111
- let product = await (0, shell_1.getRepository)(product_base_1.Product).findOne({
112
- where: { domain: { id: domain.id }, sku: mi.marketplaceProductVariation.sku }
113
- });
114
- let productBundle;
115
- if (!product) {
116
- productBundle = await (0, shell_1.getRepository)(product_base_1.ProductBundle).findOne({
117
- where: { domain: { id: domain.id }, sku: mi.marketplaceProductVariation.sku }
118
- });
119
- }
120
- return {
121
- sku: product ? product.sku : productBundle.sku,
122
- name: product ? product.name : productBundle.name,
123
- description: product ? product.description : productBundle.description,
124
- qty: mi.qty,
125
- unitPrice: ((mi === null || mi === void 0 ? void 0 : mi.originalPrice) || 0) / mi.qty,
126
- paidPrice: ((mi === null || mi === void 0 ? void 0 : mi.paidPrice) || 0) / mi.qty,
127
- discount: (mi === null || mi === void 0 ? void 0 : mi.discount) || 0,
128
- shippingFeePaidByCustomer: (mi === null || mi === void 0 ? void 0 : mi.shippingFeePaidByCustomer) || 0
129
- };
130
- }));
131
- let newInvoice = {
132
- invoiceProducts,
133
- name: '-',
134
- refNo1: newReleaseOrder.refNo.toString(),
135
- refNo2: newReleaseOrder.refNo2.toString(),
136
- issuedOn: new Date(),
137
- from: marketplaceOrder.marketplaceStore.storeName,
138
- fromContactPhone: '-',
139
- fromAddress1: '-',
140
- fromAddress2: null,
141
- fromAddress3: null,
142
- fromAddress4: null,
143
- fromAddress5: null,
144
- fromPostcode: null,
145
- fromCity: null,
146
- fromState: null,
147
- fromCountry: null,
148
- deliverTo: newReleaseOrder.deliverTo.attentionTo || '-',
149
- deliverToPhone: newReleaseOrder.deliverTo.phone1 || '-',
150
- deliveryAddress1: newReleaseOrder.deliverTo.deliveryAddress1 || '-',
151
- deliveryAddress2: newReleaseOrder.deliverTo.deliveryAddress2,
152
- deliveryAddress3: newReleaseOrder.deliverTo.deliveryAddress3,
153
- deliveryAddress4: newReleaseOrder.deliverTo.deliveryAddress4,
154
- deliveryAddress5: newReleaseOrder.deliverTo.deliveryAddress5,
155
- deliveryPostcode: newReleaseOrder.deliverTo.postalCode || '-',
156
- deliveryCity: newReleaseOrder.deliverTo.city || '-',
157
- deliveryState: newReleaseOrder.deliverTo.state || '-',
158
- deliveryCountry: newReleaseOrder.deliverTo.country || '-',
159
- billTo: newReleaseOrder.deliverTo.attentionTo || '-',
160
- billToPhone: newReleaseOrder.deliverTo.phone1 || '-',
161
- billingAddress1: newReleaseOrder.deliverTo.billingAddress || newReleaseOrder.deliverTo.deliveryAddress1 || '-',
162
- billingAddress2: null,
163
- billingAddress3: null,
164
- billingAddress4: null,
165
- billingAddress5: null,
166
- billingPostcode: '-',
167
- billingCity: '-',
168
- billingState: '-',
169
- billingCountry: '-'
170
- };
171
- try {
172
- await integration_fulfillment_1.FulfillmentAPI.createSalesInvoice(fulfilmentCenter, {
173
- customerBizplaceId,
174
- invoice: newInvoice
175
- });
176
- }
177
- catch (e) { }
178
- }
179
- }
180
- };
181
- //# sourceMappingURL=auto-add-release-order.js.map
@@ -1 +0,0 @@
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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","sourcesContent":["import { createQueryBuilder, SelectQueryBuilder } from 'typeorm'\n\nimport { Bizplace, getCustomerBizplaces } from '@things-factory/biz-base'\nimport { FulfillmentAPI } from '@things-factory/integration-fulfillment'\nimport {\n MarketplaceOrder,\n MarketplaceOrderItem,\n MarketplaceOrderShipping,\n MarketplaceOrderShippingItem\n} from '@things-factory/marketplace-base'\nimport { Product, ProductBundle } from '@things-factory/product-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nexport const autoAddReleaseOrderResolver = {\n async autoAddReleaseOrder(\n _: void,\n { warehouseId }: { warehouseId: string },\n context: ResolverContext\n ): Promise<void> {\n const { domain } = context.state\n\n const qb: SelectQueryBuilder<MarketplaceOrder> = createQueryBuilder(MarketplaceOrder, 'MO')\n const marketplaceOrders: MarketplaceOrder[] = await qb\n .leftJoinAndSelect('MO.marketplaceOrderItems', 'MOI')\n .leftJoinAndSelect('MOI.marketplaceOrderShippingItems', 'MOSI')\n .leftJoinAndSelect('MOSI.marketplaceOrderShipping', 'MOS')\n .leftJoinAndSelect('MOI.marketplaceProductVariation', 'MPV')\n .leftJoinAndSelect('MO.marketplaceStore', 'MPS')\n .where('MO.domain = :domainId', { domainId: domain.id })\n .andWhere('MO.releaseOrderId IS NULL')\n .andWhere('MO.status IN (:...status)', {\n status: ['ready_to_ship', 'unfulfilled', 'packed', 'processing']\n })\n .andWhere('MPS.status = :marketplaceStatus', { marketplaceStatus: 'ACTIVE' })\n .getMany()\n\n var fulfilmentCenter = await FulfillmentAPI.getFulfillmentCenter(warehouseId)\n var centerId: string = fulfilmentCenter.centerId\n\n var warehouseDomain: Domain = await getRepository(Domain).findOne({ where: { subdomain: centerId } })\n var customerBizplaces: Bizplace[] = await getCustomerBizplaces(warehouseDomain)\n const customerBizplaceId: string = customerBizplaces.find(\n customerBizplace => customerBizplace.company.domain.id === domain.id\n ).id\n\n for (var i = 0; i < marketplaceOrders.length; i++) {\n const marketplaceOrder = marketplaceOrders[i]\n\n const marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems\n\n const marketplaceOrderShippings: MarketplaceOrderShipping[] = await getRepository(MarketplaceOrderShipping).find({\n where: { orderNoRef: marketplaceOrder.orderNo, domain: { id: domain.id } },\n order: { subOrderNoRef: 'ASC' },\n relations: [\n 'marketplaceOrderShippingItems',\n 'marketplaceOrderShippingItems.marketplaceOrderItem',\n 'marketplaceOrderShippingItems.product'\n ]\n })\n\n for (let j = 0; j < marketplaceOrderShippings.length; j++) {\n let marketplaceOrderShipping: MarketplaceOrderShipping = marketplaceOrderShippings[j]\n let marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] =\n marketplaceOrderShipping.marketplaceOrderShippingItems\n\n if (!marketplaceOrderShipping?.releaseOrderId) {\n const date: Date = new Date()\n const releaseDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date\n .getDate()\n .toString()\n .padStart(2, '0')}`\n\n var newReleaseOrder: any = {\n releaseDate,\n type: 'b2c',\n transporter: marketplaceOrder.shippingProvider,\n trackingNo: marketplaceOrderShipping?.ownTrackingNo\n ? marketplaceOrderShipping.ownTrackingNo\n : marketplaceOrderShipping.trackingNo,\n packingOption: true,\n exportOption: false,\n ownTransport: true,\n courierOption: true,\n collectionOrderNo: marketplaceOrder.orderNo,\n refNo: marketplaceOrder.orderNo,\n refNo2:\n marketplaceOrderShippings.length > 1 ? marketplaceOrderShipping?.subOrderNoRef : marketplaceOrder.orderNo,\n deliverTo: {\n deliveryAddress1: marketplaceOrderShipping.address1,\n deliveryAddress2: marketplaceOrderShipping.address2,\n deliveryAddress3: marketplaceOrderShipping.address3,\n deliveryAddress4: marketplaceOrderShipping.address4,\n deliveryAddress5: marketplaceOrderShipping.address5,\n attentionTo: marketplaceOrderShipping.attentionTo,\n city: marketplaceOrderShipping.city,\n postalCode: marketplaceOrderShipping.postCode,\n country: marketplaceOrderShipping.country,\n state: marketplaceOrderShipping.state,\n phone1: marketplaceOrderShipping.phone1,\n phone2: marketplaceOrderShipping?.phone2 ? marketplaceOrderShipping.phone2 : null\n },\n marketplaceOrderStatus: marketplaceOrder.status,\n airwayBill: marketplaceOrderShipping?.airwayBill ? marketplaceOrderShipping.airwayBill : null,\n invoice: marketplaceOrderShipping?.invoice ? marketplaceOrderShipping.invoice : null,\n orderInventories: marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {\n return {\n product: {\n sku: marketplaceOrderShippingItem.product.sku\n },\n releaseQty: marketplaceOrderShippingItem.qty\n }\n })\n }\n\n try {\n var releaseOrder: any = await FulfillmentAPI.createOutboundOrder(fulfilmentCenter, {\n customerBizplaceId,\n releaseOrder: newReleaseOrder\n })\n\n marketplaceOrderShipping.releaseOrderId = releaseOrder.id\n marketplaceOrderShipping.fulfillmentCenter = fulfilmentCenter\n await getRepository(MarketplaceOrderShipping).save(marketplaceOrderShipping)\n\n if (releaseOrder && releaseOrder?.id) {\n marketplaceOrder.releaseOrderId = releaseOrder.id\n marketplaceOrder.fulfillmentCenter = fulfilmentCenter\n await getRepository(MarketplaceOrder).save(marketplaceOrder)\n }\n } catch (e) {}\n }\n }\n\n var invoiceProducts = await Promise.all(\n marketplaceOrderItems.map(async mi => {\n let product: Product = await getRepository(Product).findOne({\n where: { domain: { id: domain.id }, sku: mi.marketplaceProductVariation.sku }\n })\n\n let productBundle: ProductBundle\n if (!product) {\n productBundle = await getRepository(ProductBundle).findOne({\n where: { domain: { id: domain.id }, sku: mi.marketplaceProductVariation.sku }\n })\n }\n\n return {\n sku: product ? product.sku : productBundle.sku,\n name: product ? product.name : productBundle.name,\n description: product ? product.description : productBundle.description,\n qty: mi.qty,\n unitPrice: (mi?.originalPrice || 0) / mi.qty,\n paidPrice: (mi?.paidPrice || 0) / mi.qty,\n discount: mi?.discount || 0,\n shippingFeePaidByCustomer: mi?.shippingFeePaidByCustomer || 0\n }\n })\n )\n\n let newInvoice = {\n invoiceProducts,\n name: '-',\n refNo1: newReleaseOrder.refNo.toString(),\n refNo2: newReleaseOrder.refNo2.toString(),\n issuedOn: new Date(),\n from: marketplaceOrder.marketplaceStore.storeName,\n fromContactPhone: '-',\n fromAddress1: '-',\n fromAddress2: null,\n fromAddress3: null,\n fromAddress4: null,\n fromAddress5: null,\n fromPostcode: null,\n fromCity: null,\n fromState: null,\n fromCountry: null,\n deliverTo: newReleaseOrder.deliverTo.attentionTo || '-',\n deliverToPhone: newReleaseOrder.deliverTo.phone1 || '-',\n deliveryAddress1: newReleaseOrder.deliverTo.deliveryAddress1 || '-',\n deliveryAddress2: newReleaseOrder.deliverTo.deliveryAddress2,\n deliveryAddress3: newReleaseOrder.deliverTo.deliveryAddress3,\n deliveryAddress4: newReleaseOrder.deliverTo.deliveryAddress4,\n deliveryAddress5: newReleaseOrder.deliverTo.deliveryAddress5,\n deliveryPostcode: newReleaseOrder.deliverTo.postalCode || '-',\n deliveryCity: newReleaseOrder.deliverTo.city || '-',\n deliveryState: newReleaseOrder.deliverTo.state || '-',\n deliveryCountry: newReleaseOrder.deliverTo.country || '-',\n billTo: newReleaseOrder.deliverTo.attentionTo || '-',\n billToPhone: newReleaseOrder.deliverTo.phone1 || '-',\n billingAddress1: newReleaseOrder.deliverTo.billingAddress || newReleaseOrder.deliverTo.deliveryAddress1 || '-',\n billingAddress2: null,\n billingAddress3: null,\n billingAddress4: null,\n billingAddress5: null,\n billingPostcode: '-',\n billingCity: '-',\n billingState: '-',\n billingCountry: '-'\n }\n\n try {\n await FulfillmentAPI.createSalesInvoice(fulfilmentCenter, {\n customerBizplaceId,\n invoice: newInvoice\n })\n } catch (e) {}\n }\n }\n}\n"]}