@things-factory/worksheet-base 4.3.155 → 4.3.156

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 (37) hide show
  1. package/dist-server/controllers/ecommerce/sellercraft-controller.js +5 -3
  2. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
  3. package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js +3 -1
  4. package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js.map +1 -1
  5. package/dist-server/controllers/inbound/putaway-worksheet-controller.js +3 -1
  6. package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -1
  7. package/dist-server/controllers/outbound/picking-worksheet-controller.js +16 -13
  8. package/dist-server/controllers/outbound/picking-worksheet-controller.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 +4 -0
  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 +146 -118
  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 +245 -216
  16. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  17. package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js +22 -0
  18. package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js.map +1 -1
  19. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js +0 -10
  20. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js.map +1 -1
  21. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js +12 -4
  22. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js.map +1 -1
  23. package/dist-server/utils/inventory-util.js +29 -1
  24. package/dist-server/utils/inventory-util.js.map +1 -1
  25. package/package.json +18 -18
  26. package/server/controllers/ecommerce/sellercraft-controller.ts +33 -27
  27. package/server/controllers/inbound/putaway-returning-worksheet-controller.ts +3 -1
  28. package/server/controllers/inbound/putaway-worksheet-controller.ts +3 -1
  29. package/server/controllers/outbound/picking-worksheet-controller.ts +23 -15
  30. package/server/controllers/worksheet-controller.ts +13 -17
  31. package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +7 -0
  32. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +168 -131
  33. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +272 -237
  34. package/server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts +35 -4
  35. package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts +0 -12
  36. package/server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts +17 -7
  37. package/server/utils/inventory-util.ts +36 -0
@@ -2,12 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.completeUnloadReturning = exports.completeUnloadReturningResolver = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
- const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
6
5
  const sales_base_1 = require("@things-factory/sales-base");
7
6
  const warehouse_base_1 = require("@things-factory/warehouse-base");
8
7
  const constants_1 = require("../../../../constants");
9
8
  const controllers_1 = require("../../../../controllers");
10
- const ecommerce_1 = require("../../../../controllers/ecommerce");
11
9
  exports.completeUnloadReturningResolver = {
12
10
  async completeUnloadReturning(_, { returnOrderNo, worksheetDetails }, context) {
13
11
  const { tx, domain, user } = context.state;
@@ -23,14 +21,6 @@ exports.completeUnloadReturningResolver = {
23
21
  'orderInventories.product.productDetails'
24
22
  ]
25
23
  });
26
- const customerDomain = returnOrder.bizplace.domain;
27
- const sellercraft = await tx
28
- .getRepository(integration_sellercraft_1.Sellercraft)
29
- .findOne({ domain: customerDomain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
30
- if (sellercraft) {
31
- const sellercraftCtrl = new ecommerce_1.SellercraftController(tx, domain, user);
32
- await sellercraftCtrl.registerProductReturn(sellercraft, returnOrder);
33
- }
34
24
  const putawayWSCtrl = new controllers_1.PutawayReturningWorksheetController(tx, domain, user);
35
25
  let putawayWorksheet;
36
26
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"complete-unload-returning.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complete-unload-returning.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAG3C,2DAAwD;AAExD,mEAA4E;AAE5E,qDAAwE;AACxE,yDAAoH;AAGvG,QAAA,+BAA+B,GAAG;IAC7C,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,OAAY;QACrF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAA;QAEhF,MAAM,WAAW,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,OAAO,CAAC;YAC3E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;YACtC,SAAS,EAAE;gBACT,UAAU;gBACV,iBAAiB;gBACjB,kBAAkB;gBAClB,4BAA4B;gBAC5B,0BAA0B;gBAC1B,yCAAyC;aAC1C;SACF,CAAC,CAAA;QAEF,MAAM,aAAa,GAAwC,IAAI,iDAAmC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACpH,IAAI,gBAA2B,CAAA;QAE/B,IAAI;YACF,gBAAgB,GAAG,MAAM,aAAa,CAAC,uBAAuB,CAAC,aAAa,EAAE,0BAAc,CAAC,cAAc,CAAC,CAAA;SAC7G;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,WAAW,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,IAAI,CAAC;gBACtE,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,YAAE,EAAC,CAAC,iCAAgB,CAAC,QAAQ,EAAE,iCAAgB,CAAC,OAAO,CAAC,CAAC,EAAE;aACjH,CAAC,CAAA;YACF,gBAAgB,GAAG,MAAM,aAAa,CAAC,8BAA8B,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;SACrG;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,4BAAgB,CAAC,WAAW,EAAE;YAC5D,MAAM,aAAa,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;SACvG;QAED,MAAM,mBAAmB,GAA0C,IAAI,mDAAqC,CAC1G,EAAE,EACF,MAAM,EACN,IAAI,CACL,CAAA;QACD,mBAAmB,CAAC,mBAAmB,CAAC;YACtC,KAAK,EAAE,wBAAwB,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,GAAG;YAChF,IAAI,EAAE,GAAG,WAAW,CAAC,IAAI,uBAAuB;YAChD,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;YAC3B,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;SACtC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,uBAAuB,CAC3C,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,aAAqB,EACrB,+BAA2D;IAE3D,MAAM,mBAAmB,GAA0C,IAAI,mDAAqC,CAC1G,EAAE,EACF,MAAM,EACN,IAAI,CACL,CAAA;IACD,MAAM,mBAAmB,CAAC,uBAAuB,CAAC,aAAa,EAAE,+BAA+B,CAAC,CAAA;AACnG,CAAC;AAbD,0DAaC"}
@@ -41,10 +41,18 @@ async function regenerateReleaseGoodWorksheetDetails(tx, domain, user, worksheet
41
41
  const prevOrderInventories = prevWSDs.map((wsd) => wsd.targetInventory);
42
42
  await Promise.all(prevOrderInventories.map(async (prevOI) => {
43
43
  if (prevOI === null || prevOI === void 0 ? void 0 : prevOI.inventory) {
44
- await tx.getRepository(warehouse_base_1.Inventory).update({ id: prevOI.inventory.id }, {
45
- lockedQty: prevOI.inventory.lockedQty - prevOI.releaseQty,
46
- lockedUomValue: prevOI.inventory.lockedUomValue - prevOI.releaseUomValue
47
- });
44
+ if (prevOI.pickedQty == prevOI.releaseQty) {
45
+ await tx.getRepository(warehouse_base_1.Inventory).update({ id: prevOI.inventory.id }, {
46
+ qty: prevOI.inventory.qty + prevOI.pickedQty,
47
+ uomValue: prevOI.inventory.uomValue + prevOI.pickedUomValue
48
+ });
49
+ }
50
+ else {
51
+ await tx.getRepository(warehouse_base_1.Inventory).update({ id: prevOI.inventory.id }, {
52
+ lockedQty: prevOI.inventory.lockedQty - prevOI.releaseQty,
53
+ lockedUomValue: prevOI.inventory.lockedUomValue - prevOI.releaseUomValue
54
+ });
55
+ }
48
56
  }
49
57
  }));
50
58
  await tx.getRepository(entities_1.WorksheetDetail).delete(wsdIds);
@@ -1 +1 @@
1
- {"version":3,"file":"regenerate-release-good-worksheet-details.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"regenerate-release-good-worksheet-details.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isInventoryExpiring = exports.inventoriesByStrategy = exports.checkPalletIdenticallity = exports.checkPalletDuplication = exports.switchLocationStatus = void 0;
3
+ exports.isInventoryObsolete = exports.isInventoryExpiring = exports.inventoriesByStrategy = exports.checkPalletIdenticallity = exports.checkPalletDuplication = exports.switchLocationStatus = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
5
  const product_base_1 = require("@things-factory/product-base");
6
6
  const warehouse_base_1 = require("@things-factory/warehouse-base");
@@ -102,6 +102,8 @@ async function inventoriesByStrategy({ worksheetId, batchId, bizplaceId, product
102
102
  .andWhere('"LOC"."type" NOT IN (:...locationTypes)', {
103
103
  locationTypes: [warehouse_base_1.LOCATION_TYPE.QUARANTINE, warehouse_base_1.LOCATION_TYPE.RESERVE]
104
104
  })
105
+ .andWhere('"INV"."obsolete" = false')
106
+ .andWhere('case when "INV"."expiration_date" is not null and "PROD"."shelf_life" is not null then CURRENT_DATE < "INV"."expiration_date" - "PROD"."shelf_life" else true end')
105
107
  .setParameters({
106
108
  domainId: domain.id,
107
109
  productId,
@@ -203,4 +205,30 @@ async function isInventoryExpiring(inventory) {
203
205
  return expiryDate < acceptBefore;
204
206
  }
205
207
  exports.isInventoryExpiring = isInventoryExpiring;
208
+ async function isInventoryObsolete(inventories) {
209
+ if ((inventories === null || inventories === void 0 ? void 0 : inventories.length) < 1)
210
+ throw new Error('No inventory id provided');
211
+ let obsoleteInventories = [];
212
+ for (let i = 0; i < inventories.length; i++) {
213
+ let product = inventories[0].product;
214
+ if (!product) {
215
+ let inventory = await (0, typeorm_1.getRepository)(warehouse_base_1.Inventory).findOne(inventories[0].id, {
216
+ relations: ['product']
217
+ });
218
+ product = inventory.product;
219
+ }
220
+ let { expirationDate } = inventories[0];
221
+ const { shelfLife } = product;
222
+ if (shelfLife && expirationDate) {
223
+ let date = new Date();
224
+ expirationDate = new Date(expirationDate);
225
+ const releaseBefore = new Date(expirationDate.setDate(expirationDate.getDate() - shelfLife));
226
+ if (date > releaseBefore) {
227
+ obsoleteInventories.push(inventories[0].id);
228
+ }
229
+ }
230
+ }
231
+ return obsoleteInventories;
232
+ }
233
+ exports.isInventoryObsolete = isInventoryObsolete;
206
234
  //# sourceMappingURL=inventory-util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/worksheet-base",
3
- "version": "4.3.155",
3
+ "version": "4.3.156",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -23,22 +23,22 @@
23
23
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
24
24
  },
25
25
  "dependencies": {
26
- "@things-factory/auth-base": "^4.3.151",
27
- "@things-factory/biz-base": "^4.3.151",
28
- "@things-factory/document-template-base": "^4.3.151",
29
- "@things-factory/id-rule-base": "^4.3.155",
30
- "@things-factory/integration-accounting": "^4.3.155",
31
- "@things-factory/integration-lmd": "^4.3.155",
32
- "@things-factory/integration-marketplace": "^4.3.155",
33
- "@things-factory/integration-sellercraft": "^4.3.155",
34
- "@things-factory/integration-sftp": "^4.3.155",
35
- "@things-factory/marketplace-base": "^4.3.155",
36
- "@things-factory/notification": "^4.3.151",
37
- "@things-factory/sales-base": "^4.3.155",
38
- "@things-factory/setting-base": "^4.3.151",
39
- "@things-factory/shell": "^4.3.151",
40
- "@things-factory/transport-base": "^4.3.151",
41
- "@things-factory/warehouse-base": "^4.3.155"
26
+ "@things-factory/auth-base": "^4.3.156",
27
+ "@things-factory/biz-base": "^4.3.156",
28
+ "@things-factory/document-template-base": "^4.3.156",
29
+ "@things-factory/id-rule-base": "^4.3.156",
30
+ "@things-factory/integration-accounting": "^4.3.156",
31
+ "@things-factory/integration-lmd": "^4.3.156",
32
+ "@things-factory/integration-marketplace": "^4.3.156",
33
+ "@things-factory/integration-sellercraft": "^4.3.156",
34
+ "@things-factory/integration-sftp": "^4.3.156",
35
+ "@things-factory/marketplace-base": "^4.3.156",
36
+ "@things-factory/notification": "^4.3.156",
37
+ "@things-factory/sales-base": "^4.3.156",
38
+ "@things-factory/setting-base": "^4.3.156",
39
+ "@things-factory/shell": "^4.3.156",
40
+ "@things-factory/transport-base": "^4.3.156",
41
+ "@things-factory/warehouse-base": "^4.3.156"
42
42
  },
43
- "gitHead": "bd238fd69858d34c41931f719cdf34cc9f8fc60a"
43
+ "gitHead": "cbdf5546969663ba03bb1f4f10666599aa6d00bc"
44
44
  }
@@ -1,6 +1,8 @@
1
+ import { getRepository } from 'typeorm'
2
+
1
3
  import { Bizplace } from '@things-factory/biz-base'
2
- import { Sellercraft, SellercraftAPI } from '@things-factory/integration-sellercraft'
3
4
  import { logger } from '@things-factory/env'
5
+ import { Sellercraft, SellercraftAPI } from '@things-factory/integration-sellercraft'
4
6
  import { Product, ProductDetail } from '@things-factory/product-base'
5
7
  import {
6
8
  ArrivalNotice,
@@ -18,8 +20,6 @@ import { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/ware
18
20
 
19
21
  import { WorksheetController } from '../worksheet-controller'
20
22
 
21
- import { getRepository } from 'typeorm'
22
-
23
23
  export class SellercraftController extends WorksheetController {
24
24
  async packOrder(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {
25
25
  let sellercraftSetting: any = sellercraft.sellercraftSetting
@@ -93,7 +93,10 @@ export class SellercraftController extends WorksheetController {
93
93
 
94
94
  await this.trxMgr
95
95
  .getRepository(ReleaseGood)
96
- .update({ id: releaseGood.id }, { packageId: packages[0].packageId, marketPackCallSuccess: new Date(), updatedAt: new Date() })
96
+ .update(
97
+ { id: releaseGood.id },
98
+ { packageId: packages[0].packageId, marketPackCallSuccess: new Date(), updatedAt: new Date() }
99
+ )
97
100
  }
98
101
  } catch (error) {
99
102
  logger.error(`sellercraft-controller[packOrder]: ${error}`)
@@ -329,36 +332,39 @@ export class SellercraftController extends WorksheetController {
329
332
 
330
333
  if (orderPackages?.length) {
331
334
  await Promise.all(
332
- orderPackages.filter(op => op?.marketRtsCallSuccess == undefined).map(async op => {
333
- if (!op?.packageId) throw new Error('Order package id is not found')
334
-
335
- const orderInformation: any = {
336
- accountId: sellercraft.accountId,
337
- orderId: releaseGood.refNo2,
338
- packageId: op.packageId
339
- }
335
+ orderPackages
336
+ .filter(op => op?.marketRtsCallSuccess == undefined)
337
+ .map(async op => {
338
+ if (!op?.packageId) throw new Error('Order package id is not found')
339
+
340
+ const orderInformation: any = {
341
+ accountId: sellercraft.accountId,
342
+ orderId: releaseGood.refNo2,
343
+ packageId: op.packageId
344
+ }
340
345
 
341
- try {
342
- await SellercraftAPI.initiateOrderShipment(sellercraft, {
343
- ...orderInformation,
344
- context: { state: { domain: this?.domain, user: this?.user } }
345
- })
346
- await getRepository(OrderPackage).update({ id: op.id }, { marketRtsCallSuccess: new Date() })
347
- } catch (error) {
348
- logger.error(`sellercraft-controller[initiateOrderShipment]: ${JSON.stringify({
349
- ...orderInformation,
350
- context: { state: { domain: this?.domain, user: this?.user } },
351
- error: error
352
- })}`)
353
- }
354
- })
346
+ try {
347
+ await SellercraftAPI.initiateOrderShipment(sellercraft, {
348
+ ...orderInformation,
349
+ context: { state: { domain: this?.domain, user: this?.user } }
350
+ })
351
+ await getRepository(OrderPackage).update({ id: op.id }, { marketRtsCallSuccess: new Date() })
352
+ } catch (error) {
353
+ logger.error(
354
+ `sellercraft-controller[initiateOrderShipment]: ${JSON.stringify({
355
+ ...orderInformation,
356
+ context: { state: { domain: this?.domain, user: this?.user } },
357
+ error: error
358
+ })}`
359
+ )
360
+ }
361
+ })
355
362
  )
356
363
  }
357
364
  }
358
365
  } catch (error) {
359
366
  throw error
360
367
  }
361
-
362
368
  }
363
369
 
364
370
  async initiateOrderDocument(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void> {
@@ -147,7 +147,9 @@ export class PutawayReturningWorksheetController extends VasWorksheetController
147
147
  if (unloadingWorksheetCnt) throw new Error(`Unloading is not completed yet`)
148
148
 
149
149
  const putawayWorksheet: Worksheet = await this.findWorksheetByRefOrder(returnOrder, WORKSHEET_TYPE.PUTAWAY_RETURN, [
150
- 'bufferLocation'
150
+ 'bufferLocation',
151
+ 'worksheetDetails',
152
+ 'worksheetDetails.targetInventory'
151
153
  ])
152
154
  await switchLocationStatus(this.domain, putawayWorksheet.bufferLocation, this.user, this.trxMgr)
153
155
  return await this.completeWorksheet(putawayWorksheet, ORDER_STATUS.DONE)
@@ -158,7 +158,9 @@ export class PutawayWorksheetController extends VasWorksheetController {
158
158
  if (unloadingWorksheetCnt) throw new Error(`Unloading is not completed yet`)
159
159
 
160
160
  const putawayWorksheet: Worksheet = await this.findWorksheetByRefOrder(arrivalNotice, WORKSHEET_TYPE.PUTAWAY, [
161
- 'bufferLocation'
161
+ 'bufferLocation',
162
+ 'worksheetDetails',
163
+ 'worksheetDetails.targetInventory'
162
164
  ])
163
165
  await switchLocationStatus(this.domain, putawayWorksheet.bufferLocation, this.user, this.trxMgr)
164
166
  return await this.completeWorksheet(putawayWorksheet, ORDER_STATUS.DONE)
@@ -38,7 +38,7 @@ import {
38
38
  import { TASK_NUMBER_RULE_TYPE, TASK_NUMBER_SETTING_KEY, WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../constants'
39
39
  import { SellercraftController } from '../../controllers'
40
40
  import { Worksheet, WorksheetDetail } from '../../entities'
41
- import { WorksheetNoGenerator } from '../../utils'
41
+ import { WorksheetNoGenerator, isInventoryObsolete } from '../../utils'
42
42
  import { VasWorksheetController } from '../vas/vas-worksheet-controller'
43
43
 
44
44
  export class PickingWorksheetController extends VasWorksheetController {
@@ -1224,13 +1224,7 @@ export class PickingWorksheetController extends VasWorksheetController {
1224
1224
  }
1225
1225
  }
1226
1226
 
1227
- async completePicking(releaseGoodNo: string): Promise<Worksheet> {
1228
- let releaseGood: ReleaseGood = await this.findRefOrder(ReleaseGood, {
1229
- domain: this.domain,
1230
- name: releaseGoodNo,
1231
- status: ORDER_STATUS.PICKING
1232
- })
1233
-
1227
+ async completePicking(releaseGood: ReleaseGood, worksheet: Worksheet, inventories: Inventory[]): Promise<any> {
1234
1228
  const foundNotSealedOrderTote = await this.trxMgr
1235
1229
  .getRepository(OrderTote)
1236
1230
  .findOne({ where: { releaseGood, closedDate: IsNull() } })
@@ -1239,10 +1233,13 @@ export class PickingWorksheetController extends VasWorksheetController {
1239
1233
  throw new Error('Please seal the tote(s) before completing')
1240
1234
  }
1241
1235
 
1242
- let worksheet: Worksheet = await this.findWorksheetByRefOrder(releaseGood, WORKSHEET_TYPE.PICKING, [
1243
- 'worksheetDetails',
1244
- 'worksheetDetails.targetInventory'
1245
- ])
1236
+ //check if any inventories is obsolete
1237
+ let foundObsoleteInventories = await isInventoryObsolete(inventories)
1238
+
1239
+ if (foundObsoleteInventories?.length > 0) {
1240
+ return foundObsoleteInventories
1241
+ }
1242
+
1246
1243
  await this.checkRecordValidity(worksheet, { status: WORKSHEET_STATUS.EXECUTING })
1247
1244
 
1248
1245
  let inventoryItems: InventoryItem = await this.trxMgr
@@ -1280,7 +1277,8 @@ export class PickingWorksheetController extends VasWorksheetController {
1280
1277
  'bizplace.domain',
1281
1278
  'worksheetDetails',
1282
1279
  'worksheetDetails.targetInventory',
1283
- 'worksheetDetails.targetInventory.releaseGood'
1280
+ 'worksheetDetails.targetInventory.releaseGood',
1281
+ 'worksheetDetails.targetInventory.inventory'
1284
1282
  ]
1285
1283
  })
1286
1284
 
@@ -1289,14 +1287,12 @@ export class PickingWorksheetController extends VasWorksheetController {
1289
1287
  worksheet.status = WORKSHEET_STATUS.DONE
1290
1288
  worksheet.endedAt = new Date()
1291
1289
  worksheet.updater = this.user
1292
- worksheet = await this.trxMgr.getRepository(Worksheet).save(worksheet)
1293
1290
 
1294
1291
  const worksheetDetails: any = worksheet.worksheetDetails.filter(wsD => wsD.status != 'MISSING')
1295
1292
  worksheetDetails.forEach((wsd: WorksheetDetail) => {
1296
1293
  wsd.status = WORKSHEET_STATUS.DONE
1297
1294
  wsd.updater = this.user
1298
1295
  })
1299
- await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetails)
1300
1296
 
1301
1297
  const targetInventories: OrderInventory[] = worksheetDetails.map((wsd: WorksheetDetail) => {
1302
1298
  let targetInventory: OrderInventory = wsd.targetInventory
@@ -1304,6 +1300,18 @@ export class PickingWorksheetController extends VasWorksheetController {
1304
1300
  targetInventory.updater = this.user
1305
1301
  return targetInventory
1306
1302
  })
1303
+
1304
+ const inventories: Inventory[] = targetInventories.map((ti: OrderInventory) => ti.inventory)
1305
+
1306
+ //check if any inventories is obsolete
1307
+ let foundObsoleteInventories = await isInventoryObsolete(inventories)
1308
+
1309
+ if (foundObsoleteInventories?.length > 0) {
1310
+ return foundObsoleteInventories
1311
+ }
1312
+
1313
+ worksheet = await this.trxMgr.getRepository(Worksheet).save(worksheet)
1314
+ await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetails)
1307
1315
  await this.updateOrderTargets(targetInventories)
1308
1316
 
1309
1317
  const releaseGoods: ReleaseGood[] = worksheetDetails.map((wsd: WorksheetDetail) => {
@@ -703,28 +703,24 @@ export class WorksheetController {
703
703
  async completeWorksheet(worksheet: Worksheet, updatedRefOrderStatus?: string): Promise<Worksheet> {
704
704
  if (!worksheet.id) throw new Error(this.ERROR_MSG.UPDATE.ID_NOT_EXISTS)
705
705
 
706
- worksheet.status = WORKSHEET_STATUS.DONE
707
- worksheet.endedAt = new Date()
708
- worksheet.updater = this.user
709
- worksheet = await this.trxMgr.getRepository(Worksheet).save(worksheet)
706
+ await this.trxMgr
707
+ .getRepository(Worksheet)
708
+ .update({ id: worksheet.id }, { status: WORKSHEET_STATUS.DONE, endedAt: new Date(), updater: this.user })
710
709
 
711
710
  const worksheetType: string = worksheet.type
712
- worksheet = await this.findWorksheet(worksheet, [
713
- 'worksheetDetails',
714
- 'worksheetDetails.targetProduct',
715
- 'worksheetDetails.targetInventory',
716
- 'worksheetDetails.targetVas'
717
- ])
718
711
 
719
712
  let worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails
720
713
 
721
- worksheetDetails
722
- .filter((wsd: WorksheetDetail) => wsd.status !== ORDER_INVENTORY_STATUS.REPLACED)
723
- .forEach((wsd: WorksheetDetail) => {
724
- wsd.status = WORKSHEET_STATUS.DONE
725
- wsd.updater = this.user
726
- })
727
- await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetails)
714
+ await this.trxMgr.getRepository(WorksheetDetail).update(
715
+ {
716
+ id: In(
717
+ worksheetDetails.map(wd => {
718
+ if (wd.status !== ORDER_INVENTORY_STATUS.REPLACED) return wd.id
719
+ })
720
+ )
721
+ },
722
+ { status: WORKSHEET_STATUS.DONE, updater: this.user }
723
+ )
728
724
 
729
725
  if (worksheetType === WORKSHEET_TYPE.UNLOADING) {
730
726
  let targetProducts: OrderProduct[] = worksheet.worksheetDetails.map((wsd: WorksheetDetail) => {
@@ -74,6 +74,13 @@ export const inventoriesByPalletResolver = {
74
74
  qb.andWhere('iv.qty - CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END > 0')
75
75
  }
76
76
 
77
+ if (recallFilters?.value === true) {
78
+ qb.orWhere('iv.obsolete = true')
79
+ qb.orWhere(
80
+ 'case when iv.expiration_date is not null and product.shell_life is not null then CURRENT_DATE > iv.expiration_date - product.shell_life else true end'
81
+ )
82
+ }
83
+
77
84
  if (locationFilters) {
78
85
  qb.andWhere(`location.name ilike '${locationFilters.value}'`)
79
86
  }