@things-factory/worksheet-base 4.3.157 → 4.3.161

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 (33) hide show
  1. package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js +3 -1
  2. package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js.map +1 -1
  3. package/dist-server/controllers/inbound/putaway-worksheet-controller.js +3 -1
  4. package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -1
  5. package/dist-server/controllers/outbound/picking-worksheet-controller.js +25 -14
  6. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  7. package/dist-server/controllers/render-manifest.js +11 -11
  8. package/dist-server/controllers/render-manifest.js.map +1 -1
  9. package/dist-server/controllers/worksheet-controller.js +9 -17
  10. package/dist-server/controllers/worksheet-controller.js.map +1 -1
  11. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +20 -13
  12. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
  13. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +155 -124
  14. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  15. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +249 -217
  16. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  17. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js +23 -5
  18. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js.map +1 -1
  19. package/dist-server/graphql/types/worksheet/index.js +2 -2
  20. package/dist-server/utils/inventory-util.js +29 -1
  21. package/dist-server/utils/inventory-util.js.map +1 -1
  22. package/package.json +18 -18
  23. package/server/controllers/inbound/putaway-returning-worksheet-controller.ts +3 -1
  24. package/server/controllers/inbound/putaway-worksheet-controller.ts +3 -1
  25. package/server/controllers/outbound/picking-worksheet-controller.ts +32 -16
  26. package/server/controllers/render-manifest.ts +10 -12
  27. package/server/controllers/worksheet-controller.ts +13 -17
  28. package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +24 -13
  29. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +180 -142
  30. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +276 -239
  31. package/server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts +38 -8
  32. package/server/graphql/types/worksheet/index.ts +2 -2
  33. package/server/utils/inventory-util.ts +36 -0
@@ -12,6 +12,7 @@ const integration_sellercraft_1 = require("@things-factory/integration-sellercra
12
12
  const marketplace_base_1 = require("@things-factory/marketplace-base");
13
13
  const sales_base_1 = require("@things-factory/sales-base");
14
14
  const setting_base_1 = require("@things-factory/setting-base");
15
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
15
16
  const constants_1 = require("../../../../constants");
16
17
  const controllers_1 = require("../../../../controllers/");
17
18
  const ecommerce_1 = require("../../../../controllers/ecommerce");
@@ -20,7 +21,10 @@ const entities_1 = require("../../../../entities");
20
21
  exports.completePickingResolver = {
21
22
  async completePicking(_, { releaseGoodNo }, context) {
22
23
  const { tx, domain, user } = context.state;
23
- await completePicking(tx, domain, user, releaseGoodNo);
24
+ let obsolete = await completePicking(tx, domain, user, releaseGoodNo);
25
+ if (obsolete) {
26
+ return { obsolete: true };
27
+ }
24
28
  const bizplace = await (0, biz_base_1.getMyBizplace)(domain, user);
25
29
  const worksheetController = new worksheet_controller_1.WorksheetController(tx, domain, user);
26
30
  await worksheetController.notifyToCustomer(bizplace, {
@@ -52,7 +56,8 @@ async function completePicking(tx, domain, user, releaseGoodNo) {
52
56
  });
53
57
  const worksheet = await pickingWSCtrl.findWorksheetByRefOrder(releaseGood, constants_1.WORKSHEET_TYPE.PICKING, [
54
58
  'worksheetDetails',
55
- 'worksheetDetails.targetInventory'
59
+ 'worksheetDetails.targetInventory',
60
+ 'worksheetDetails.targetInventory.inventory'
56
61
  ]);
57
62
  const warehouseContactPoint = await tx.getRepository(biz_base_1.ContactPoint).findOne({
58
63
  where: {
@@ -62,249 +67,276 @@ async function completePicking(tx, domain, user, releaseGoodNo) {
62
67
  });
63
68
  const worksheetDetails = worksheet.worksheetDetails;
64
69
  const targetInventories = worksheetDetails.map((wsd) => wsd.targetInventory);
70
+ const inventories = targetInventories.map((ti) => ti.inventory);
65
71
  const pickedTargetInventories = targetInventories.filter(targetInventory => targetInventory.status === sales_base_1.ORDER_INVENTORY_STATUS.PICKED);
66
- await pickingWSCtrl.completePicking(releaseGoodNo);
67
- const orderSource = releaseGood.source;
68
- switch (orderSource) {
69
- case auth_base_1.ApplicationType.SELLERCRAFT:
70
- const sellercraft = await tx
71
- .getRepository(integration_sellercraft_1.Sellercraft)
72
- .findOne({ domain: releaseGood.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
73
- if (sellercraft) {
74
- const initSCOrderShipment = async (sellercraft) => {
75
- await (0, typeorm_1.getManager)().transaction(async (txMgr) => {
76
- var _a;
77
- const sellercraftCtrl = new controllers_1.SellercraftController(txMgr, domain, user);
78
- if (!((_a = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.orderPackages) === null || _a === void 0 ? void 0 : _a.length) && !(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.marketPackCallSuccess)) {
79
- const orderProducts = await txMgr.getRepository(sales_base_1.OrderProduct).find({
80
- where: { releaseGood },
81
- relations: ['product', 'product.productDetails']
72
+ let foundObsoleteInventories = await pickingWSCtrl.completePicking(releaseGood, worksheet, inventories);
73
+ if (foundObsoleteInventories === null || foundObsoleteInventories === void 0 ? void 0 : foundObsoleteInventories.type) {
74
+ const orderSource = releaseGood.source;
75
+ switch (orderSource) {
76
+ case auth_base_1.ApplicationType.SELLERCRAFT:
77
+ const sellercraft = await tx
78
+ .getRepository(integration_sellercraft_1.Sellercraft)
79
+ .findOne({ domain: releaseGood.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
80
+ if (sellercraft) {
81
+ const initSCOrderShipment = async (sellercraft) => {
82
+ await (0, typeorm_1.getManager)().transaction(async (txMgr) => {
83
+ var _a;
84
+ const sellercraftCtrl = new controllers_1.SellercraftController(txMgr, domain, user);
85
+ if (!((_a = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.orderPackages) === null || _a === void 0 ? void 0 : _a.length) && !(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.marketPackCallSuccess)) {
86
+ const orderProducts = await txMgr.getRepository(sales_base_1.OrderProduct).find({
87
+ where: { releaseGood },
88
+ relations: ['product', 'product.productDetails']
89
+ });
90
+ await sellercraftCtrl.packOrder(sellercraft, Object.assign(Object.assign({}, releaseGood), { orderProducts }));
91
+ }
92
+ const rtsTriggerLevel = await txMgr.getRepository(setting_base_1.Setting).findOne({
93
+ where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
82
94
  });
83
- await sellercraftCtrl.packOrder(sellercraft, Object.assign(Object.assign({}, releaseGood), { orderProducts }));
84
- }
85
- const rtsTriggerLevel = await txMgr.getRepository(setting_base_1.Setting).findOne({
86
- where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
95
+ if (rtsTriggerLevel && parseInt((rtsTriggerLevel === null || rtsTriggerLevel === void 0 ? void 0 : rtsTriggerLevel.value) || 0) == 1) {
96
+ await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood);
97
+ }
87
98
  });
88
- if (rtsTriggerLevel && parseInt((rtsTriggerLevel === null || rtsTriggerLevel === void 0 ? void 0 : rtsTriggerLevel.value) || 0) == 1) {
89
- await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood);
90
- }
91
- });
92
- };
93
- // asynchronouly call to initiate sellercraft order shipment/ RTS
94
- initSCOrderShipment(sellercraft);
95
- }
96
- break;
97
- case auth_base_1.ApplicationType.MMS:
98
- const companyDomain = releaseGood.bizplace.company.domain;
99
- let marketplaceOrder = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
100
- where: { orderNo: releaseGood.refNo, domain: companyDomain },
101
- relations: [
102
- 'marketplaceStore',
103
- 'marketplaceStore.marketplaceDistributors',
104
- 'marketplaceOrderItems',
105
- 'marketplaceOrderItems.marketplaceOrderShippingItems',
106
- 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'
107
- ]
108
- });
109
- if (marketplaceOrder) {
110
- const ecommerceCtrl = new ecommerce_1.EcommerceController(tx, domain, user);
111
- const marketplaceStore = marketplaceOrder.marketplaceStore;
112
- let eTraxOption;
113
- if (marketplaceStore === null || marketplaceStore === void 0 ? void 0 : marketplaceStore.isAutoUpdateShipment) {
114
- await ecommerceCtrl.createOrderComment(marketplaceStore, marketplaceOrder, sales_base_1.ORDER_STATUS.PACKING);
115
- await ecommerceCtrl.createOrderShip(releaseGood, marketplaceStore, marketplaceOrder, companyDomain);
116
- }
117
- if (!marketplaceOrder) {
118
- throw new Error('Failed to find ecommerce order, kindly contact our support team regarding this issue');
119
- }
120
- eTraxOption = marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceStore.eTrax;
121
- // if eTrax option is true
122
- if (eTraxOption) {
123
- const marketplaceOrderItems = marketplaceOrder.marketplaceOrderItems;
124
- // access every marketplaceOrderItems for shipping information you need
125
- // trigger the controller from integration-lmd that trigger the API, build the parameters needed
126
- // for etrax didn't support multi awb per order
127
- const marketplaceOrderShippingItems = marketplaceOrderItems[0].marketplaceOrderShippingItems;
128
- const marketplaceOrderShipping = marketplaceOrderShippingItems[0].marketplaceOrderShipping;
129
- const lmd = await tx.getRepository(integration_lmd_1.LastMileDelivery).findOne({
130
- where: {
131
- domain,
132
- platform: 'eTrax'
133
- }
134
- });
135
- //Get which transporter to use
136
- const marketplaceTransporter = await tx
137
- .getRepository(integration_marketplace_1.MarketplaceTransporter)
138
- .findOne({
139
- where: { marketplaceStore: marketplaceOrder.marketplaceStore },
140
- relations: ['pickupTransporter', 'deliveryTransporter']
141
- });
142
- const resp = await integration_lmd_1.LastMileAPI.createShipmentRequest(lmd, {
143
- orderNo: marketplaceOrder.orderNo,
144
- clientId: lmd.clientId,
145
- clientType: lmd.clientType,
146
- clientName: lmd.clientName,
147
- transporterId: marketplaceTransporter.pickupTransporter.transporterId,
148
- pickupName: warehouseContactPoint.name,
149
- pickupAddress1: warehouseContactPoint.address,
150
- pickupAddress2: warehouseContactPoint.address2,
151
- pickupPostcode: warehouseContactPoint.postCode,
152
- pickupState: warehouseContactPoint.state,
153
- pickupCity: warehouseContactPoint.city,
154
- pickupPhone: warehouseContactPoint.phone,
155
- pickupEmail: warehouseContactPoint.email,
156
- name: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.attentionTo) ? marketplaceOrderShipping.attentionTo.trim() : '',
157
- address1: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address1) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address1.trim() : '-',
158
- address2: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address2) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address2.trim() : '-',
159
- postCode: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.postCode) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.postCode.trim() : '',
160
- city: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.city) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.city.trim() : '',
161
- state: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.state) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.state.trim() : '',
162
- phone: marketplaceOrderShipping.phone1 || '',
163
- email: marketplaceOrderShipping.email || '',
164
- attentionTo: marketplaceOrderShipping.attentionTo,
165
- quantity: marketplaceOrderItems.length
166
- });
167
- const delay = (ms) => {
168
- return new Promise(resolve => setTimeout(resolve, ms));
169
99
  };
170
- if (resp.Status === 'SUCCESS') {
171
- //Success
172
- let awbObtained = false;
173
- let retry = 0;
174
- while (!awbObtained) {
175
- const marketplaceOrder2 = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
176
- where: { releaseOrderId: releaseGood.id },
177
- relations: [
178
- 'marketplaceStore',
179
- 'marketplaceOrderItems',
180
- 'marketplaceOrderItems.marketplaceOrderShippingItems',
181
- 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'
182
- ]
183
- });
184
- const orderShipping = marketplaceOrder2.marketplaceOrderItems[0].marketplaceOrderShippingItems[0].marketplaceOrderShipping;
185
- if (orderShipping === null || orderShipping === void 0 ? void 0 : orderShipping.airwayBill) {
186
- awbObtained = true;
100
+ // asynchronouly call to initiate sellercraft order shipment/ RTS
101
+ initSCOrderShipment(sellercraft);
102
+ }
103
+ break;
104
+ case auth_base_1.ApplicationType.MMS:
105
+ const companyDomain = releaseGood.bizplace.company.domain;
106
+ let marketplaceOrder = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
107
+ where: { orderNo: releaseGood.refNo, domain: companyDomain },
108
+ relations: [
109
+ 'marketplaceStore',
110
+ 'marketplaceStore.marketplaceDistributors',
111
+ 'marketplaceOrderItems',
112
+ 'marketplaceOrderItems.marketplaceOrderShippingItems',
113
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'
114
+ ]
115
+ });
116
+ if (marketplaceOrder) {
117
+ const ecommerceCtrl = new ecommerce_1.EcommerceController(tx, domain, user);
118
+ const marketplaceStore = marketplaceOrder.marketplaceStore;
119
+ let eTraxOption;
120
+ if (marketplaceStore === null || marketplaceStore === void 0 ? void 0 : marketplaceStore.isAutoUpdateShipment) {
121
+ await ecommerceCtrl.createOrderComment(marketplaceStore, marketplaceOrder, sales_base_1.ORDER_STATUS.PACKING);
122
+ await ecommerceCtrl.createOrderShip(releaseGood, marketplaceStore, marketplaceOrder, companyDomain);
123
+ }
124
+ if (!marketplaceOrder) {
125
+ throw new Error('Failed to find ecommerce order, kindly contact our support team regarding this issue');
126
+ }
127
+ eTraxOption = marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceStore.eTrax;
128
+ // if eTrax option is true
129
+ if (eTraxOption) {
130
+ const marketplaceOrderItems = marketplaceOrder.marketplaceOrderItems;
131
+ // access every marketplaceOrderItems for shipping information you need
132
+ // trigger the controller from integration-lmd that trigger the API, build the parameters needed
133
+ // for etrax didn't support multi awb per order
134
+ const marketplaceOrderShippingItems = marketplaceOrderItems[0].marketplaceOrderShippingItems;
135
+ const marketplaceOrderShipping = marketplaceOrderShippingItems[0].marketplaceOrderShipping;
136
+ const lmd = await tx.getRepository(integration_lmd_1.LastMileDelivery).findOne({
137
+ where: {
138
+ domain,
139
+ platform: 'eTrax'
187
140
  }
188
- await delay(5000);
189
- //Timeout after 15sec
190
- if (++retry > 3) {
191
- break;
141
+ });
142
+ //Get which transporter to use
143
+ const marketplaceTransporter = await tx
144
+ .getRepository(integration_marketplace_1.MarketplaceTransporter)
145
+ .findOne({
146
+ where: { marketplaceStore: marketplaceOrder.marketplaceStore },
147
+ relations: ['pickupTransporter', 'deliveryTransporter']
148
+ });
149
+ const resp = await integration_lmd_1.LastMileAPI.createShipmentRequest(lmd, {
150
+ orderNo: marketplaceOrder.orderNo,
151
+ clientId: lmd.clientId,
152
+ clientType: lmd.clientType,
153
+ clientName: lmd.clientName,
154
+ transporterId: marketplaceTransporter.pickupTransporter.transporterId,
155
+ pickupName: warehouseContactPoint.name,
156
+ pickupAddress1: warehouseContactPoint.address,
157
+ pickupAddress2: warehouseContactPoint.address2,
158
+ pickupPostcode: warehouseContactPoint.postCode,
159
+ pickupState: warehouseContactPoint.state,
160
+ pickupCity: warehouseContactPoint.city,
161
+ pickupPhone: warehouseContactPoint.phone,
162
+ pickupEmail: warehouseContactPoint.email,
163
+ name: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.attentionTo) ? marketplaceOrderShipping.attentionTo.trim() : '',
164
+ address1: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address1) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address1.trim() : '-',
165
+ address2: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address2) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address2.trim() : '-',
166
+ postCode: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.postCode) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.postCode.trim() : '',
167
+ city: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.city) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.city.trim() : '',
168
+ state: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.state) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.state.trim() : '',
169
+ phone: marketplaceOrderShipping.phone1 || '',
170
+ email: marketplaceOrderShipping.email || '',
171
+ attentionTo: marketplaceOrderShipping.attentionTo,
172
+ quantity: marketplaceOrderItems.length
173
+ });
174
+ const delay = (ms) => {
175
+ return new Promise(resolve => setTimeout(resolve, ms));
176
+ };
177
+ if (resp.Status === 'SUCCESS') {
178
+ //Success
179
+ let awbObtained = false;
180
+ let retry = 0;
181
+ while (!awbObtained) {
182
+ const marketplaceOrder2 = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
183
+ where: { releaseOrderId: releaseGood.id },
184
+ relations: [
185
+ 'marketplaceStore',
186
+ 'marketplaceOrderItems',
187
+ 'marketplaceOrderItems.marketplaceOrderShippingItems',
188
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'
189
+ ]
190
+ });
191
+ const orderShipping = marketplaceOrder2.marketplaceOrderItems[0].marketplaceOrderShippingItems[0].marketplaceOrderShipping;
192
+ if (orderShipping === null || orderShipping === void 0 ? void 0 : orderShipping.airwayBill) {
193
+ awbObtained = true;
194
+ }
195
+ await delay(5000);
196
+ //Timeout after 15sec
197
+ if (++retry > 3) {
198
+ break;
199
+ }
192
200
  }
193
201
  }
202
+ else {
203
+ if ((resp === null || resp === void 0 ? void 0 : resp.AWBurl) && (resp === null || resp === void 0 ? void 0 : resp.TrackingNo))
204
+ await tx
205
+ .getRepository(marketplace_base_1.MarketplaceOrderShipping)
206
+ .update({ id: marketplaceOrderShipping.id }, { airwayBill: resp.AWBurl, trackingNo: resp.TrackingNo });
207
+ else
208
+ throw resp;
209
+ }
194
210
  }
195
- else {
196
- if ((resp === null || resp === void 0 ? void 0 : resp.AWBurl) && (resp === null || resp === void 0 ? void 0 : resp.TrackingNo))
197
- await tx
198
- .getRepository(marketplace_base_1.MarketplaceOrderShipping)
199
- .update({ id: marketplaceOrderShipping.id }, { airwayBill: resp.AWBurl, trackingNo: resp.TrackingNo });
200
- else
201
- throw resp;
202
- }
211
+ await ecommerceCtrl.createOrderPackage(tx, marketplaceOrder, companyDomain, marketplaceStore, releaseGood);
203
212
  }
204
- await ecommerceCtrl.createOrderPackage(tx, marketplaceOrder, companyDomain, marketplaceStore, releaseGood);
205
- }
206
- break;
207
- default:
208
- const orderPackage = {
209
- name: sales_base_1.OrderNoGenerator.orderPackage(),
210
- packageId: null,
211
- trackingNo: null,
212
- transporter: null,
213
- airwayBill: null,
214
- status: sales_base_1.ORDER_STATUS.PROCESSING,
215
- releaseGood,
216
- domain: releaseGood.domain,
217
- bizplace: releaseGood.bizplace,
218
- creator: releaseGood.creator,
219
- updater: releaseGood.updater
220
- };
221
- let savedOrderPackage = await tx.getRepository(sales_base_1.OrderPackage).save(orderPackage);
222
- const orderPackageItems = releaseGood.orderProducts.map(op => {
223
- return {
224
- name: sales_base_1.OrderNoGenerator.orderPackageItem(),
225
- orderProduct: op,
213
+ break;
214
+ default:
215
+ const orderPackage = {
216
+ name: sales_base_1.OrderNoGenerator.orderPackage(),
217
+ packageId: null,
218
+ trackingNo: null,
219
+ transporter: null,
220
+ airwayBill: null,
226
221
  status: sales_base_1.ORDER_STATUS.PROCESSING,
227
- releaseQty: op.releaseQty,
228
- orderPackage: savedOrderPackage,
222
+ releaseGood,
229
223
  domain: releaseGood.domain,
230
224
  bizplace: releaseGood.bizplace,
231
225
  creator: releaseGood.creator,
232
226
  updater: releaseGood.updater
233
227
  };
234
- });
235
- await tx.getRepository(sales_base_1.OrderPackageItem).save(orderPackageItems);
236
- break;
237
- }
238
- const account = await tx
239
- .getRepository(integration_accounting_1.Account)
240
- .findOne({ domain: releaseGood.bizplace.domain, status: 'active' });
241
- // Xilnex Create Sales Order and Post Sales Order to Sales Invoice
242
- const createSalesOrder = async (account, tx) => {
243
- if (account) {
244
- try {
245
- if (account.platform == 'xilnex') {
246
- const salesOrder = await integration_accounting_1.AccountingAPI.createSalesOrder(account, {
247
- releaseGood,
248
- orderProducts: releaseGood.orderProducts
249
- });
250
- if (salesOrder) {
251
- const salesInvoice = await integration_accounting_1.AccountingAPI.postSalesOrderToSalesInvoice(account, {
252
- orderId: (salesOrder === null || salesOrder === void 0 ? void 0 : salesOrder.id) || null
228
+ let savedOrderPackage = await tx.getRepository(sales_base_1.OrderPackage).save(orderPackage);
229
+ const orderPackageItems = releaseGood.orderProducts.map(op => {
230
+ return {
231
+ name: sales_base_1.OrderNoGenerator.orderPackageItem(),
232
+ orderProduct: op,
233
+ status: sales_base_1.ORDER_STATUS.PROCESSING,
234
+ releaseQty: op.releaseQty,
235
+ orderPackage: savedOrderPackage,
236
+ domain: releaseGood.domain,
237
+ bizplace: releaseGood.bizplace,
238
+ creator: releaseGood.creator,
239
+ updater: releaseGood.updater
240
+ };
241
+ });
242
+ await tx.getRepository(sales_base_1.OrderPackageItem).save(orderPackageItems);
243
+ break;
244
+ }
245
+ const account = await tx
246
+ .getRepository(integration_accounting_1.Account)
247
+ .findOne({ domain: releaseGood.bizplace.domain, status: 'active' });
248
+ // Xilnex Create Sales Order and Post Sales Order to Sales Invoice
249
+ const createSalesOrder = async (account, tx) => {
250
+ if (account) {
251
+ try {
252
+ if (account.platform == 'xilnex') {
253
+ const salesOrder = await integration_accounting_1.AccountingAPI.createSalesOrder(account, {
254
+ releaseGood,
255
+ orderProducts: releaseGood.orderProducts
253
256
  });
254
- const salesOrderItems = salesInvoice.sale.items;
255
- await Promise.all(releaseGood.orderProducts.map(async (op) => {
256
- const matchedProduct = salesOrderItems.find(soi => soi.itemId == op.productDetail.refCode);
257
- if (matchedProduct) {
258
- await tx.getRepository(sales_base_1.OrderProduct).update({ id: op.id }, { refItemId: matchedProduct.id });
259
- }
260
- }));
261
- await tx
262
- .getRepository(sales_base_1.ReleaseGood)
263
- .update({ id: releaseGood.id }, { collectionOrderNo: salesInvoice.salesId, updater: releaseGood.updater });
257
+ if (salesOrder) {
258
+ const salesInvoice = await integration_accounting_1.AccountingAPI.postSalesOrderToSalesInvoice(account, {
259
+ orderId: (salesOrder === null || salesOrder === void 0 ? void 0 : salesOrder.id) || null
260
+ });
261
+ const salesOrderItems = salesInvoice.sale.items;
262
+ await Promise.all(releaseGood.orderProducts.map(async (op) => {
263
+ const matchedProduct = salesOrderItems.find(soi => soi.itemId == op.productDetail.refCode);
264
+ if (matchedProduct) {
265
+ await tx.getRepository(sales_base_1.OrderProduct).update({ id: op.id }, { refItemId: matchedProduct.id });
266
+ }
267
+ }));
268
+ await tx
269
+ .getRepository(sales_base_1.ReleaseGood)
270
+ .update({ id: releaseGood.id }, { collectionOrderNo: salesInvoice.salesId, updater: releaseGood.updater });
271
+ }
264
272
  }
265
273
  }
274
+ catch (error) {
275
+ env_1.logger.error(`complete-picking[createSalesOrder]: ${error}`);
276
+ }
266
277
  }
267
- catch (error) {
268
- env_1.logger.error(`complete-picking[createSalesOrder]: ${error}`);
269
- }
278
+ };
279
+ if (releaseGood.type == 'b2c') {
280
+ await createSalesOrder(account, tx);
270
281
  }
271
- };
272
- if (releaseGood.type == 'b2c') {
273
- await createSalesOrder(account, tx);
274
- }
275
- if (releaseGood.packingOption) {
276
- const packingWSCtrl = new controllers_1.PackingWorksheetController(tx, domain, user);
277
- await packingWSCtrl.generatePackingWorksheet(releaseGoodNo);
278
- }
279
- else {
280
- // Find Existing Loading Worksheet if any
281
- let existLoadingWorksheet = await tx.getRepository(entities_1.Worksheet).findOne({
282
- where: {
283
- releaseGood,
284
- type: constants_1.WORKSHEET_TYPE.LOADING,
285
- status: constants_1.WORKSHEET_STATUS.DEACTIVATED
282
+ if (releaseGood.packingOption) {
283
+ const packingWSCtrl = new controllers_1.PackingWorksheetController(tx, domain, user);
284
+ await packingWSCtrl.generatePackingWorksheet(releaseGoodNo);
285
+ }
286
+ else {
287
+ // Find Existing Loading Worksheet if any
288
+ let existLoadingWorksheet = await tx.getRepository(entities_1.Worksheet).findOne({
289
+ where: {
290
+ releaseGood,
291
+ type: constants_1.WORKSHEET_TYPE.LOADING,
292
+ status: constants_1.WORKSHEET_STATUS.DEACTIVATED
293
+ }
294
+ });
295
+ if (!existLoadingWorksheet && !releaseGood.courierOption && !releaseGood.packingOption) {
296
+ if (pickedTargetInventories.length > 0) {
297
+ const loadingWSCtrl = new controllers_1.LoadingWorksheetController(tx, domain, user);
298
+ let loadingWorksheet = await loadingWSCtrl.generateLoadingWorksheet(releaseGoodNo, pickedTargetInventories);
299
+ if (!((_a = loadingWorksheet.worksheetDetails) === null || _a === void 0 ? void 0 : _a.length)) {
300
+ loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id);
301
+ }
302
+ const loadingWorksheetDetails = loadingWorksheet.worksheetDetails;
303
+ await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails);
304
+ }
286
305
  }
287
- });
288
- if (!existLoadingWorksheet && !releaseGood.courierOption && !releaseGood.packingOption) {
289
- if (pickedTargetInventories.length > 0) {
306
+ else {
290
307
  const loadingWSCtrl = new controllers_1.LoadingWorksheetController(tx, domain, user);
291
- let loadingWorksheet = await loadingWSCtrl.generateLoadingWorksheet(releaseGoodNo, pickedTargetInventories);
292
- if (!((_a = loadingWorksheet.worksheetDetails) === null || _a === void 0 ? void 0 : _a.length)) {
308
+ let loadingWorksheet = await loadingWSCtrl.updateLoadingWorksheet(releaseGoodNo, pickedTargetInventories, existLoadingWorksheet);
309
+ if (!((_b = loadingWorksheet.worksheetDetails) === null || _b === void 0 ? void 0 : _b.length)) {
293
310
  loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id);
294
311
  }
295
312
  const loadingWorksheetDetails = loadingWorksheet.worksheetDetails;
296
313
  await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails);
297
314
  }
298
315
  }
299
- else {
300
- const loadingWSCtrl = new controllers_1.LoadingWorksheetController(tx, domain, user);
301
- let loadingWorksheet = await loadingWSCtrl.updateLoadingWorksheet(releaseGoodNo, pickedTargetInventories, existLoadingWorksheet);
302
- if (!((_b = loadingWorksheet.worksheetDetails) === null || _b === void 0 ? void 0 : _b.length)) {
303
- loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id);
304
- }
305
- const loadingWorksheetDetails = loadingWorksheet.worksheetDetails;
306
- await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails);
307
- }
316
+ }
317
+ else {
318
+ //update inventories obsolete to true
319
+ await tx.getRepository(warehouse_base_1.Inventory).update({ id: (0, typeorm_1.In)(foundObsoleteInventories) }, { obsolete: true });
320
+ foundObsoleteInventories = foundObsoleteInventories
321
+ .map(inv => {
322
+ return "'" + inv.trim() + "'";
323
+ })
324
+ .join(',');
325
+ //update any orders that is assigned with obsolete inventories
326
+ await tx.getRepository(sales_base_1.ReleaseGood).query(`
327
+ update release_goods rg set status = 'OBSOLETE'
328
+ from order_inventories oi
329
+ where oi.release_good_id = rg.id
330
+ and oi.inventory_id in (${foundObsoleteInventories})
331
+ and rg.status in ('PICKING', 'PENDING_WORKSHEET', 'READY_TO_PICK')`);
332
+ await tx.getRepository(entities_1.Worksheet).query(`
333
+ update worksheets w set status = 'DEACTIVATED', updater_id = '${user.id}', assignee_id = null
334
+ from worksheet_details wd
335
+ inner join order_inventories oi on oi.id = wd.target_inventory_id
336
+ where wd.worksheet_id = w.id
337
+ and oi.inventory_id in (${foundObsoleteInventories})
338
+ `);
339
+ return true;
308
340
  }
309
341
  }
310
342
  exports.completePicking = completePicking;
@@ -1 +1 @@
1
- {"version":3,"file":"complete-picking.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/complete-picking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complete-picking.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/complete-picking.ts"],"names":[],"mappings":"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"}