@things-factory/worksheet-base 4.0.12 → 4.0.17

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 (28) hide show
  1. package/dist-server/controllers/outbound/picking-worksheet-controller.js +9 -11
  2. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  3. package/dist-server/graphql/resolvers/pallet/index.js +2 -1
  4. package/dist-server/graphql/resolvers/pallet/index.js.map +1 -1
  5. package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js +39 -6
  6. package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js.map +1 -1
  7. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js +48 -44
  8. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js.map +1 -1
  9. package/dist-server/graphql/types/index.js +9 -3
  10. package/dist-server/graphql/types/index.js.map +1 -1
  11. package/dist-server/graphql/types/pallet/index.js +13 -0
  12. package/dist-server/graphql/types/pallet/index.js.map +1 -0
  13. package/dist-server/graphql/types/pallet/pallet.js +10 -0
  14. package/dist-server/graphql/types/pallet/pallet.js.map +1 -0
  15. package/dist-server/index.js +1 -0
  16. package/dist-server/index.js.map +1 -1
  17. package/dist-server/utils/inventory-util.js +21 -1
  18. package/dist-server/utils/inventory-util.js.map +1 -1
  19. package/package.json +16 -16
  20. package/server/controllers/outbound/picking-worksheet-controller.ts +29 -35
  21. package/server/graphql/resolvers/pallet/index.ts +2 -0
  22. package/server/graphql/resolvers/worksheet/recommend-putway-location.ts +53 -5
  23. package/server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts +102 -76
  24. package/server/graphql/types/index.ts +9 -3
  25. package/server/graphql/types/pallet/index.ts +12 -0
  26. package/server/graphql/types/pallet/pallet.ts +7 -0
  27. package/server/index.ts +1 -0
  28. package/server/utils/inventory-util.ts +22 -0
@@ -255,9 +255,7 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
255
255
  }
256
256
  await this.trxMgr.getRepository(entities_1.WorksheetDetail).delete(worksheetDetailIds);
257
257
  await this.trxMgr.getRepository(sales_base_1.OrderInventory).delete(targetInventoryIds);
258
- await this.trxMgr
259
- .getRepository(sales_base_1.OrderInventory)
260
- .update({
258
+ await this.trxMgr.getRepository(sales_base_1.OrderInventory).update({
261
259
  refWorksheetId: worksheet.id,
262
260
  batchId,
263
261
  product: { id: productId },
@@ -283,7 +281,7 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
283
281
  let targetInventory = worksheetDetail.targetInventory;
284
282
  const product = targetInventory.product;
285
283
  let inventory = targetInventory.inventory;
286
- //validation to prevent duplicated picking
284
+ //validation to prevent duplicated picking
287
285
  let oiValidate = await this.trxMgr.getRepository(sales_base_1.OrderInventory).findOne({
288
286
  where: { domain: this.domain, id: targetInventory.id, status: sales_base_1.ORDER_INVENTORY_STATUS.PICKING }
289
287
  });
@@ -320,10 +318,10 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
320
318
  }
321
319
  }
322
320
  if (product === null || product === void 0 ? void 0 : product.isRequireSerialNumberScanning) {
323
- if ((!serialNumber || serialNumber == ''))
321
+ if (!serialNumber || serialNumber == '')
324
322
  throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `require serial number`));
325
323
  if (serialNumber) {
326
- targetInventory.serialNumber = JSON.stringify(targetInventory.serialNumber ? [...(JSON.parse(targetInventory.serialNumber)), serialNumber] : [serialNumber]);
324
+ targetInventory.serialNumber = JSON.stringify(targetInventory.serialNumber ? [...JSON.parse(targetInventory.serialNumber), serialNumber] : [serialNumber]);
327
325
  }
328
326
  }
329
327
  await this.updatePickingTransaction(releaseGood, targetInventory, worksheetDetail, inventory, pickedQty);
@@ -340,13 +338,13 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
340
338
  'targetInventory.releaseGood',
341
339
  'targetInventory.inventory',
342
340
  'targetInventory.inventory.location',
343
- 'targetInventory.product',
341
+ 'targetInventory.product'
344
342
  ]);
345
343
  const releaseGood = worksheetDetail.targetInventory.releaseGood;
346
344
  let targetInventory = worksheetDetail.targetInventory;
347
345
  const product = targetInventory.product;
348
346
  let inventory = targetInventory.inventory;
349
- //validation to prevent duplicated picking
347
+ //validation to prevent duplicated picking
350
348
  let oiValidate = await this.trxMgr.getRepository(sales_base_1.OrderInventory).findOne({
351
349
  where: { domain: this.domain, id: targetInventory.id, status: sales_base_1.ORDER_INVENTORY_STATUS.PICKING }
352
350
  });
@@ -358,10 +356,10 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
358
356
  if (inventory.palletId !== palletId)
359
357
  throw new Error(this.ERROR_MSG.VALIDITY.UNEXPECTED_FIELD_VALUE('Pallet ID', palletId, inventory.palletId));
360
358
  if (product === null || product === void 0 ? void 0 : product.isRequireSerialNumberScanning) {
361
- if ((!serialNumber || serialNumber == ''))
359
+ if (!serialNumber || serialNumber == '')
362
360
  throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `require serial number`));
363
361
  if (serialNumber) {
364
- targetInventory.serialNumber = JSON.stringify(targetInventory.serialNumber ? [...(JSON.parse(targetInventory.serialNumber)), serialNumber] : [serialNumber]);
362
+ targetInventory.serialNumber = JSON.stringify(targetInventory.serialNumber ? [...JSON.parse(targetInventory.serialNumber), serialNumber] : [serialNumber]);
365
363
  }
366
364
  }
367
365
  targetInventory = await this.checkAndSetBinPicking(targetInventory, binLocation);
@@ -662,7 +660,7 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
662
660
  name: 'enable-bin-picking'
663
661
  }
664
662
  });
665
- if (binPickingSetting != undefined && (binPickingSetting.value).toLowerCase() == 'true') {
663
+ if ((binPickingSetting === null || binPickingSetting === void 0 ? void 0 : binPickingSetting.value) && binPickingSetting.value.toLowerCase() === 'true') {
666
664
  if (binLocation) {
667
665
  const foundBinLocation = await this.trxMgr.getRepository(warehouse_base_1.Location).findOne({
668
666
  where: { domain: this.domain, name: binLocation, type: warehouse_base_1.LOCATION_TYPE.BIN }
@@ -1 +1 @@
1
- {"version":3,"file":"picking-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/picking-worksheet-controller.ts"],"names":[],"mappings":";;;AAAA,qCAA4B;AAE5B,uDAAmD;AACnD,+DAAyD;AACzD,+DAAqE;AACrE,2DAOmC;AACnC,+DAAsD;AACtD,mEAOuC;AAEvC,+CAAkH;AAClH,6CAA2D;AAC3D,uCAAkD;AAClD,8EAAwE;AAExE,MAAa,0BAA2B,SAAQ,iDAAsB;IACpE,KAAK,CAAC,wBAAwB,CAAC,aAAqB;QAClD,IAAI,WAAW,GAAgB,MAAM,IAAI,CAAC,YAAY,CACpD,wBAAW,EACX;YACE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,yBAAY,CAAC,iBAAiB;SACvC,EACD,CAAC,kBAAkB,EAAE,4BAA4B,EAAE,WAAW,CAAC,CAChE,CAAA;QACD,MAAM,gBAAgB,GAAqB,WAAW,CAAC,gBAAgB,CAAA;QACvE,MAAM,SAAS,GAAe,WAAW,CAAC,SAAS,CAAA;QAEnD,IAAI,SAAS,GAAc,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,0BAAc,CAAC,OAAO,CAAC,CAAA;QAE1F,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAkB,EAAE,EAAE,WAAC,OAAA,MAAA,EAAE,CAAC,SAAS,0CAAE,EAAE,CAAA,EAAA,CAAC,IAAI,WAAW,CAAC,YAAY,EAAE;YAChG,SAAS,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAC5D,SAAS,EACT,0BAAc,CAAC,OAAO,EACtB,gBAAgB,CACjB,CAAA;SACF;QAED,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAkB,EAAE,EAAE;;YAC9C,EAAE,CAAC,MAAM;gBACP,EAAE,CAAC,YAAY,KAAI,MAAA,EAAE,CAAC,SAAS,0CAAE,EAAE,CAAA;oBACjC,CAAC,CAAC,mCAAsB,CAAC,aAAa;oBACtC,CAAC,CAAC,mCAAsB,CAAC,aAAa,CAAA;YAC1C,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QACxB,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QAE/C,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,IAAG,CAAC,EAAE;YACzB,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;SAC7C;QAED,WAAW,CAAC,MAAM,GAAG,yBAAY,CAAC,aAAa,CAAA;QAC/C,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QAEtC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,cAAwB,EAAE,iBAAyB;QACrF,IAAI,YAAY,GAAkB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,IAAI,CAAC;YAClF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAA,YAAE,EAAC,cAAc,CAAC,EAAE,MAAM,EAAE,yBAAY,CAAC,iBAAiB,EAAE;YAChG,SAAS,EAAE,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;SAC9D,CAAC,CAAA;QAEF,MAAM,eAAe,GAAa,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAEtG,IAAI,gBAAgB,GAAqB,EAAE,CAAA;QAC3C,YAAY,CAAC,GAAG,CAAC,CAAC,WAAwB,EAAE,EAAE;YAC5C,MAAM,QAAQ,GAAqB,WAAW,CAAC,gBAAgB,CAAA;YAC/D,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAkB,EAAE,EAAE;gBAClC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAY,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;YACjF,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,mCAAuB,CAAC,YAAY;aAC3C;SACF,CAAC,CAAA;QACF,IAAI,CAAC,gBAAgB;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAA;QAEzF,IAAI,SAAS,GAAc,IAAI,oBAAS,EAAE,CAAA;QAC1C,SAAS,CAAC,IAAI,GAAG,4BAAoB,CAAC,QAAQ,CAAC,0BAAc,CAAC,aAAa,CAAC,CAAA;QAC5E,SAAS,CAAC,IAAI,GAAG,0BAAc,CAAC,aAAa,CAAA;QAC7C,SAAS,CAAC,MAAM,GAAG,MAAM,IAAA,yBAAU,EAAC;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,iCAAqB,CAAC,OAAO;YACnC,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;QACF,SAAS,CAAC,MAAM,GAAG,4BAAgB,CAAC,WAAW,CAAA;QAC/C,SAAS,CAAC,QAAQ,GAAG,eAAe,CAAA;QACpC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC9B,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAC7B,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAC7B,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEtE,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAkB,EAAE,EAAE,WAAC,OAAA,MAAA,EAAE,CAAC,SAAS,0CAAE,EAAE,CAAA,EAAA,CAAC,EAAE;YACnE,MAAM,eAAe,GAAqB,gBAAgB,CAAC,MAAM,CAC/D,CAAC,cAA8B,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,KAAK,IAAI,CACtE,CAAA;YAED,SAAS,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAC5D,SAAS,EACT,0BAAc,CAAC,aAAa,EAC5B,eAAe,CAChB,CAAA;SACF;QAED,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAkB,EAAE,EAAE;;YAC9C,EAAE,CAAC,cAAc,GAAG,SAAS,CAAC,EAAE,CAAA;YAChC,EAAE,CAAC,MAAM,GAAG,CAAA,MAAA,EAAE,CAAC,SAAS,0CAAE,EAAE,EAAC,CAAC,CAAC,mCAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,mCAAsB,CAAC,aAAa,CAAA;YAC1G,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QACxB,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QAE/C,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAwB,EAAE,EAAE;YAC3D,uCACK,WAAW,KACd,MAAM,EAAE,yBAAY,CAAC,aAAa,EAClC,OAAO,EAAE,IAAI,CAAC,IAAI,IACnB;QACH,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAE/D,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,mCAAmC,CACvC,SAAoB,EACpB,eAA0C;QAE1C,2BAA2B;QAC3B,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,0BAAc,CAAC,aAAa,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IACtG,CAAC;IAED,KAAK,CAAC,8BAA8B,CAClC,SAAoB,EACpB,eAA0C;QAE1C,2BAA2B;QAC3B,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,0BAAc,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IAChG,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,IAAI,SAAS,GAAc,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,0BAAc,CAAC,OAAO,EAAE;YAClG,aAAa;YACb,sBAAsB;YACtB,QAAQ;YACR,UAAU;YACV,iBAAiB;YACjB,kBAAkB;YAClB,yBAAyB;YACzB,kBAAkB;YAClB,kCAAkC;YAClC,0CAA0C;SAC3C,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAsB,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,CAAA;QAC7G,MAAM,iBAAiB,GAAqB,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE;YACxF,IAAI,eAAe,GAAmB,GAAG,CAAC,eAAe,CAAA;YACzD,eAAe,CAAC,MAAM,GAAG,mCAAsB,CAAC,OAAO,CAAA;YACvD,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;YACnC,OAAO,eAAe,CAAA;QACxB,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;QAE1C,IAAI,WAAW,GAAgB,SAAS,CAAC,WAAW,CAAA;QACpD,WAAW,CAAC,MAAM,GAAG,yBAAY,CAAC,OAAO,CAAA;QACzC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QAEhC,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;QAEzE,IAAI;YACF,MAAM,YAAY,GAAc,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,0BAAc,CAAC,GAAG,CAAC,CAAA;YACnG,IAAI,YAAY,EAAE;gBAChB,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAA;aACzE;SACF;QAAC,OAAO,CAAC,EAAE,GAAG;QAEf,MAAM,eAAe,GAAqB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,IAAI,CAAC;YAC7F,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,mCAAsB,CAAC,aAAa,EAAE;SAC1F,CAAC,CAAA;QACF,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,EAAE;YAC3B,MAAM,GAAG,GAAa,eAAe,CAAC,GAAG,CAAC,CAAC,EAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACxE,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SAC5D;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,WAAmB;QAC5C,IAAI,SAAS,GAAc,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,0BAAc,CAAC,aAAa,EAAE;YACxG,kBAAkB;YAClB,kCAAkC;YAClC,8CAA8C;YAC9C,0CAA0C;YAC1C,UAAU;YACV,iBAAiB;YACjB,kBAAkB;YAClB,yBAAyB;SAC1B,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAsB,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,CAAA;QAC7G,MAAM,iBAAiB,GAAqB,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE;YACxF,IAAI,eAAe,GAAmB,GAAG,CAAC,eAAe,CAAA;YACzD,eAAe,CAAC,MAAM,GAAG,mCAAsB,CAAC,OAAO,CAAA;YACvD,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;YACnC,OAAO,eAAe,CAAA;QACxB,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;QAE1C,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;QAEzE,MAAM,gBAAgB,GAAqB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,IAAI,CAAC;YAC9F,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,mCAAsB,CAAC,cAAc,EAAE;YAC3G,SAAS,EAAE,CAAC,aAAa,CAAC;SAC3B,CAAC,CAAA;QAEF,IAAI,YAAY,GAAkB,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;QAE9F,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;YACxB,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAe,EAAE,EAAE;gBAClD,uCACK,EAAE,KACL,MAAM,EAAE,yBAAY,CAAC,OAAO,EAC5B,OAAO,EAAE,IAAI,CAAC,IAAI,IACnB;YACH,CAAC,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;SAChE;QAED,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,EAAE;YAC5B,MAAM,GAAG,GAAa,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACzE,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SAC5D;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,WAAmB,EACnB,OAAe,EACf,SAAiB,EACjB,WAAmB,EACnB,WAAmB,EACnB,gBAA4C;;QAE5C,kDAAkD;QAClD,MAAM,SAAS,GAAc,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;YACrE,UAAU;YACV,aAAa;YACb,kBAAkB;SACnB,CAAC,CAAA;QACF,MAAM,WAAW,GAAgB,SAAS,CAAC,WAAW,CAAA;QACtD,MAAM,QAAQ,GAAa,SAAS,CAAC,QAAQ,CAAA;QAC7C,MAAM,oBAAoB,GAAsB,MAAM,IAAI,CAAC,8BAA8B,CACvF,SAAS,CAAC,gBAAgB,EAC1B,OAAO,EACP,SAAS,EACT,WAAW,EACX,WAAW,CACZ,CAAA;QACD,2BAA2B;QAC3B,IAAI,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAM,EAAE;YAChC,MAAM,kBAAkB,GAAa,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC/F,MAAM,sBAAsB,GAAa,oBAAoB,CAAC,GAAG,CAC/D,CAAC,GAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CACjD,CAAA;YAED,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;YAC3E,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;SAC/E;QAED,KAAK,IAAI,eAAe,IAAI,gBAAgB,EAAE;YAC5C,IAAI,MAAA,MAAA,eAAe,CAAC,eAAe,0CAAE,SAAS,0CAAE,EAAE,EAAE;gBAClD,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE;oBAChE,iBAAiB;oBACjB,2BAA2B;iBAC5B,CAAC,CAAA;aACH;YAED,MAAM,eAAe,GAAmB,eAAe,CAAC,eAAe,CAAA;YACvE,IAAI,SAAS,GAAc,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAC3G,MAAM,OAAO,GAAY,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAEpF,2BAA2B;YAC3B,IAAI,kBAAkB,GAAmB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,CAAA;YAC3E,OAAO,kBAAkB,CAAC,EAAE,CAAA;YAC5B,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YACvC,kBAAkB,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACtC,kBAAkB,CAAC,IAAI,GAAG,6BAAgB,CAAC,cAAc,EAAE,CAAA;YAC3D,kBAAkB,CAAC,WAAW,GAAG,WAAW,CAAA;YAC5C,kBAAkB,CAAC,SAAS,GAAG,SAAS,CAAA;YACxC,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAA;YACpC,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAA;YACpC,kBAAkB,CAAC,WAAW,GAAG,WAAW,CAAA;YAC5C,kBAAkB,CAAC,WAAW,GAAG,WAAW,CAAA;YAC5C,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;YACtC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;YACtC,kBAAkB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAE7F,8CAA8C;YAC9C,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC,UAAU,GAAG,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,CAAA;YAC7E,SAAS,CAAC,cAAc,GAAG,eAAe,CAAC,eAAe,GAAG,CAAC,SAAS,CAAC,cAAc,IAAI,CAAC,CAAC,CAAA;YAC5F,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YAErC,2BAA2B;YAC3B,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,0BAAc,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;SAC3F;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,WAAmB,EACnB,OAAe,EACf,SAAiB,EACjB,WAAmB,EACnB,WAAmB;QAEnB,MAAM,SAAS,GAAc,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;YACrE,kBAAkB;YAClB,kCAAkC;YAClC,4CAA4C;YAC5C,0CAA0C;SAC3C,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAsB,MAAM,IAAI,CAAC,8BAA8B,CACnF,SAAS,CAAC,gBAAgB,EAC1B,OAAO,EACP,SAAS,EACT,WAAW,EACX,WAAW,EACX,CAAC,iBAAiB,EAAE,2BAA2B,CAAC,CACjD,CAAA;QAED,IAAI,kBAAkB,GAAa,EAAE,CAAA;QACrC,IAAI,kBAAkB,GAAa,EAAE,CAAA;QAErC,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;YAC9C,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;YAC3C,MAAM,eAAe,GAAmB,eAAe,CAAC,eAAe,CAAA;YACvE,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;YAE3C,IAAI,SAAS,GAAc,MAAM,IAAI,CAAC,MAAM;iBACzC,aAAa,CAAC,0BAAS,CAAC;iBACxB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAC3E,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC,UAAU,CAAA;YACtE,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,GAAG,eAAe,CAAC,eAAe,CAAA;YACrF,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;SACtC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC3E,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAE1E,MAAM,IAAI,CAAC,MAAM;aACd,aAAa,CAAC,2BAAc,CAAC;aAC7B,MAAM,CACL;YACE,cAAc,EAAE,SAAS,CAAC,EAAE;YAC5B,OAAO;YACP,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YAC1B,WAAW;YACX,WAAW;YACX,MAAM,EAAE,mCAAsB,CAAC,cAAc;SAC9C,EACD,EAAE,MAAM,EAAE,mCAAsB,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAC5F,CAAA;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,mBAA2B,EAC3B,aAAqB,EACrB,cAAsB,EACtB,QAAgB,EAChB,WAAoB,EACpB,YAAqB;QAErB,IAAI;YACF,IAAI,eAAe,GAAoB,MAAM,IAAI,CAAC,mCAAmC,CACnF,mBAAmB,EACnB,aAAa,EACb;gBACE,WAAW;gBACX,oBAAoB;gBACpB,iBAAiB;gBACjB,6BAA6B;gBAC7B,2BAA2B;gBAC3B,yBAAyB;gBACzB,wCAAwC;gBACxC,gDAAgD;gBAChD,2DAA2D;aAC5D,CACF,CAAA;YAED,MAAM,WAAW,GAAgB,eAAe,CAAC,eAAe,CAAC,WAAW,CAAA;YAC5E,IAAI,eAAe,GAAmB,eAAe,CAAC,eAAe,CAAA;YACrE,MAAM,OAAO,GAAY,eAAe,CAAC,OAAO,CAAA;YAChD,IAAI,SAAS,GAAc,eAAe,CAAC,SAAS,CAAA;YAEpD,gDAAgD;YAChD,IAAI,UAAU,GAAmB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,OAAO,CAAC;gBACvF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,mCAAsB,CAAC,OAAO,EAAE;aAC/F,CAAC,CAAA;YACF,IAAI,CAAC,UAAU;gBACb,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;YAErF,oCAAoC;YACpC,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAA;YAE1F,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ;gBACjC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;YAE5G,MAAM,WAAW,GAAW,SAAS,CAAC,WAAW,CAAA;YACjD,MAAM,WAAW,GAAW,SAAS,CAAC,WAAW,CAAA;YAEjD,IAAI,SAAS,GAAW,CAAC,CAAA;YACzB,MAAM,UAAU,GAAW,eAAe,CAAC,UAAU,CAAA;YAErD,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;YAEhF,sCAAsC;YACtC,MAAM,cAAc,GAAoB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YACnG,MAAM,iBAAiB,GAAY,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;YACrG,IAAI,CAAC,iBAAiB;gBAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;YAEtF,sDAAsD;YACtD,MAAM,kBAAkB,GAAkB,cAAc,CAAC,IAAI,CAC3D,CAAC,MAAqB,EAAE,EAAE;;gBACxB,OAAA,MAAM,CAAC,IAAI,KAAK,cAAc;oBAC9B,MAAM,CAAC,WAAW,KAAK,WAAW;oBAClC,MAAM,CAAC,WAAW,IAAI,WAAW;oBACjC,CAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,EAAE,MAAK,OAAO,CAAC,EAAE,CAAA;aAAA,CACpC,CAAA;YAED,IAAI,CAAC,kBAAkB,EAAE;gBACvB,MAAM,eAAe,GAAkB,cAAc,CAAC,IAAI,CACxD,CAAC,YAA2B,EAAE,EAAE,CAC9B,YAAY,CAAC,WAAW,KAAK,WAAW,IAAI,YAAY,CAAC,WAAW,IAAI,WAAW,CACtF,CAAA;gBAED,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC,CAAA;gBACnF,IAAI,SAAS,GAAG,UAAU,EAAE;oBAC1B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAA;iBACzF;aACF;YAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,6BAA6B,EAAE;gBAC1C,IAAI,CAAC,CAAC,YAAY,IAAI,YAAY,IAAI,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAA;gBAEnG,IAAI,YAAY,EAAE;oBAChB,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;iBAC7J;aACF;YAED,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;SAEzG;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,mBAA2B,EAC3B,aAAqB,EACrB,QAAgB,EAChB,YAAoB,EACpB,SAAiB,EACjB,WAAoB,EACpB,YAAqB;QAErB,IAAI;YACF,IAAI,eAAe,GAAoB,MAAM,IAAI,CAAC,mCAAmC,CACnF,mBAAmB,EACnB,aAAa,EACb;gBACE,WAAW;gBACX,iBAAiB;gBACjB,6BAA6B;gBAC7B,2BAA2B;gBAC3B,oCAAoC;gBACpC,yBAAyB;aAC1B,CACF,CAAA;YAED,MAAM,WAAW,GAAgB,eAAe,CAAC,eAAe,CAAC,WAAW,CAAA;YAC5E,IAAI,eAAe,GAAmB,eAAe,CAAC,eAAe,CAAA;YACrE,MAAM,OAAO,GAAY,eAAe,CAAC,OAAO,CAAA;YAChD,IAAI,SAAS,GAAc,eAAe,CAAC,SAAS,CAAA;YAEpD,gDAAgD;YAChD,IAAI,UAAU,GAAmB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,OAAO,CAAC;gBACvF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,mCAAsB,CAAC,OAAO,EAAE;aAC/F,CAAC,CAAA;YACF,IAAI,CAAC,UAAU;gBACb,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;YAErF,oCAAoC;YACpC,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAA;YAE1F,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ;gBACjC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;YAG5G,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,6BAA6B,EAAE;gBAC1C,IAAI,CAAC,CAAC,YAAY,IAAI,YAAY,IAAI,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAA;gBAEnG,IAAI,YAAY,EAAE;oBAChB,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;iBAC7J;aACF;YAED,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;YAEhF,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;YAExG,MAAM,YAAY,GAAa,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAA;YACjE,IAAI,YAAY,EAAE;gBAChB,MAAM,UAAU,GAAa,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAQ,CAAC,CAAC,OAAO,CAAC;oBAC7E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;oBAClD,SAAS,EAAE,CAAC,WAAW,CAAC;iBACzB,CAAC,CAAA;gBAEF,IAAI,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;gBAE7E,IAAI,YAAY,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,EAAE;oBACrC,SAAS,CAAC,QAAQ,GAAG,UAAU,CAAA;oBAC/B,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;oBAC1C,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;oBAChC,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,2CAA0B,CAAC,QAAQ,CAAC,CAAA;iBAC/G;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAc,EACd,aAAqB,EACrB,QAAgB,EAChB,YAAoB,EACpB,eAAuB,EACvB,UAAkB;QAElB,MAAM,SAAS,GAAc,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;YAC9E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,4BAAgB,CAAC,SAAS,EAAE;SAChG,CAAC,CAAA;QAEF,MAAM,cAAc,GAAc,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,OAAO,CAAC;YACnF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;SACzC,CAAC,CAAA;QAEF,MAAM,iBAAiB,GAAqB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,IAAI,CAAC;YAC/F,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,cAAc,EAAE,SAAS,CAAC,EAAE;gBAC5B,MAAM,EAAE,mCAAsB,CAAC,OAAO;gBACtC,SAAS,EAAE,cAAc;aAC1B;YACD,SAAS,EAAE,CAAC,WAAW,EAAE,oBAAoB,EAAE,aAAa,CAAC;SAC9D,CAAC,CAAA;QAEF,MAAM,iBAAiB,GAAa,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAExF,IAAI,gBAAgB,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,IAAI,CAAC;YAC9F,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,4BAAgB,CAAC,SAAS;gBAClC,eAAe,EAAE,IAAA,YAAE,EAAC,iBAAiB,CAAC;aACvC;SACF,CAAC,CAAA;QAEF,MAAM,eAAe,GAAW,iBAAiB;aAC9C,GAAG,CAAC,CAAC,EAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAE7B,IAAI,eAAe,IAAI,UAAU;YAC/B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC,CAAA;QAE3G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,eAAe,GAAmB,iBAAiB,CAAC,CAAC,CAAC,CAAA;YAC1D,IAAI,SAAS,GAAc,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,OAAO,CAAC;gBAC5E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,EAAE;aACjE,CAAC,CAAA;YAEF,MAAM,WAAW,GAAgB,eAAe,CAAC,WAAW,CAAA;YAE5D,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ;gBACjC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;YAE5G,MAAM,OAAO,GAAW,SAAS,CAAC,GAAG,GAAG,eAAe,CAAC,UAAU,CAAA;YAClE,IAAI,OAAO,GAAG,CAAC,EAAE;gBACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC,CAAA;aAC7G;YAED,IAAI,eAAe,EAAE;gBACnB,MAAM,WAAW,GAAa,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAQ,CAAC,CAAC,OAAO,CAAC;oBAC9E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,8BAAa,CAAC,GAAG,EAAE;iBAC/E,CAAC,CAAA;gBAEF,IAAI,CAAC,WAAW;oBACd,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC,CAAA;gBAErG,eAAe,CAAC,WAAW,GAAG,WAAW,CAAA;aAC1C;YAED,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC,UAAU,CAAA;YACtD,eAAe,CAAC,MAAM,GAAG,mCAAsB,CAAC,MAAM,CAAA;YACtD,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;YAEhD,SAAS,CAAC,GAAG,IAAI,eAAe,CAAC,UAAU,CAAA;YAC3C,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;YACnG,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC,UAAU,CAAA;YACtE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,GAAG,eAAe,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;YAC/G,MAAM,IAAI,CAAC,oBAAoB,CAC7B,SAAS,EACT,WAAW,EACX,CAAC,eAAe,CAAC,UAAU,EAC3B,CAAC,eAAe,CAAC,eAAe,EAChC,2CAA0B,CAAC,OAAO,CACnC,CAAA;YAED,IAAI,OAAO,KAAK,CAAC,EAAE;gBACjB,SAAS,CAAC,MAAM,GAAG,iCAAgB,CAAC,UAAU,CAAA;gBAC9C,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,2CAA0B,CAAC,UAAU,CAAC,CAAA;aACrG;YAED,MAAM,YAAY,GAAa,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAA;YACjE,IAAI,YAAY,EAAE;gBAChB,MAAM,UAAU,GAAa,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAQ,CAAC,CAAC,OAAO,CAAC;oBAC7E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;oBAClD,SAAS,EAAE,CAAC,WAAW,CAAC;iBACzB,CAAC,CAAA;gBAEF,IAAI,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;gBAE7E,IAAI,YAAY,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,EAAE;oBACrC,SAAS,CAAC,QAAQ,GAAG,UAAU,CAAA;oBAC/B,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;oBAC1C,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;oBAChC,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,2CAA0B,CAAC,QAAQ,CAAC,CAAA;iBACnG;aACF;SACF;QAED,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAgC,EAAE,EAAE;YAC3E,uCACK,eAAe,KAClB,MAAM,EAAE,4BAAgB,CAAC,IAAI,EAC7B,OAAO,EAAE,IAAI,CAAC,IAAI,IACnB;QACH,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,MAAc,EACd,aAAqB,EACrB,QAAgB,EAChB,cAAsB,EACtB,SAAc,EACd,eAAuB;QAEvB,MAAM,SAAS,GAAc,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;YAC9E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,4BAAgB,CAAC,SAAS,EAAE;YAC/F,SAAS,EAAE;gBACT,kBAAkB;gBAClB,kCAAkC;gBAClC,8CAA8C;gBAC9C,4CAA4C;gBAC5C,qDAAqD;gBACrD,0CAA0C;gBAC1C,yDAAyD;gBACzD,4EAA4E;aAC7E;SACF,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAsB,SAAS,CAAC,gBAAgB,CAAA;QACtE,MAAM,OAAO,GAAY,gBAAgB;aACtC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC;aAC1D,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAElE,MAAM,OAAO,GAAW,SAAS,CAAC,OAAO,CAAA;QACzC,MAAM,WAAW,GAAW,SAAS,CAAC,WAAW,CAAA;QACjD,MAAM,WAAW,GAAW,SAAS,CAAC,WAAW,CAAA;QACjD,IAAI,SAAS,GAAW,CAAC,CAAA;QAEzB,MAAM,iBAAiB,GAAqB,gBAAgB;aACzD,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC;aAClD,MAAM,CACL,CAAC,eAA+B,EAAE,EAAE,CAClC,eAAe,CAAC,OAAO,KAAK,OAAO;YACnC,eAAe,CAAC,WAAW,KAAK,WAAW;YAC3C,eAAe,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ;YAC/C,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAC5C,CAAA;QAEH,sCAAsC;QACtC,MAAM,cAAc,GAAoB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACnG,MAAM,iBAAiB,GAAY,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QACrG,IAAI,CAAC,iBAAiB;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,cAAc,GAAG,CAAC,CAAC,CAAA;QAElG,sDAAsD;QACtD,MAAM,kBAAkB,GAAkB,cAAc,CAAC,IAAI,CAC3D,CAAC,MAAqB,EAAE,EAAE,CACxB,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,IAAI,MAAM,CAAC,WAAW,IAAI,WAAW,CAC5G,CAAA;QAED,IAAI,CAAC,kBAAkB,EAAE;YACvB,MAAM,eAAe,GAAkB,cAAc,CAAC,IAAI,CACxD,CAAC,YAA2B,EAAE,EAAE,CAC9B,YAAY,CAAC,WAAW,KAAK,WAAW,IAAI,YAAY,CAAC,WAAW,IAAI,WAAW,CACtF,CAAA;YACD,IAAI,CAAC,eAAe;gBAClB,MAAM,IAAI,KAAK,CACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,WAAW,sBAAsB,WAAW,GAAG,CAAC,CACjG,CAAA;YAEH,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC,CAAA;SACpF;QAED,MAAM,eAAe,GAAW,iBAAiB;aAC9C,GAAG,CAAC,CAAC,EAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAE7B,MAAM,cAAc,GAClB,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;QAEpG,IAAI,cAAc,GAAG,eAAe;YAClC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC,CAAA;QAE9G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,eAAe,GAAmB,iBAAiB,CAAC,CAAC,CAAC,CAAA;YAC1D,IAAI,SAAS,GAAc,eAAe,CAAC,SAAS,CAAA;YACpD,MAAM,gBAAgB,GAAW,eAAe,CAAC,UAAU,CAAA;YAC3D,MAAM,eAAe,GAAW,eAAe,CAAC,SAAS,CAAA;YACzD,MAAM,WAAW,GAAgB,eAAe,CAAC,WAAW,CAAA;YAC5D,IAAI,SAAS,IAAI,CAAC;gBAAE,MAAK;YAEzB,IACE,eAAe,CAAC,MAAM,KAAK,mCAAsB,CAAC,OAAO;gBACzD,gBAAgB,GAAG,eAAe;gBAClC,SAAS,GAAG,CAAC,EACb;gBACA,IAAI,oBAAoB,GAAW,SAAS,GAAG,CAAC,gBAAgB,GAAG,eAAe,CAAC,CAAA,CAAC,WAAW;gBAC/F,MAAM,eAAe,GAAW,gBAAgB,GAAG,eAAe,CAAA,CAAC,MAAM;gBAEzE,IAAI,eAAe,IAAI,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,CAAA,EAAE;oBACpD,MAAM,WAAW,GAAa,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAQ,CAAC,CAAC,OAAO,CAAC;wBAC9E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,8BAAa,CAAC,GAAG,EAAE;qBAC/E,CAAC,CAAA;oBAEF,IAAI,CAAC,WAAW;wBACd,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC,CAAA;oBAErG,eAAe,CAAC,WAAW,GAAG,WAAW,CAAA;iBAC1C;gBAED,+EAA+E;gBAC/E,eAAe,CAAC,SAAS,IAAI,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAA;gBACtF,oBAAoB,GAAG,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAA;gBAE1E,IAAI,eAAe,CAAC,SAAS,IAAI,gBAAgB,EAAE;oBACjD,MAAM,OAAO,GAAW,SAAS,CAAC,GAAG,GAAG,eAAe,CAAC,UAAU,CAAA;oBAClE,IAAI,OAAO,GAAG,CAAC,EAAE;wBACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC,CAAA;qBAC7G;oBAED,eAAe,CAAC,MAAM,GAAG,mCAAsB,CAAC,MAAM,CAAA;oBACtD,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;oBAEhD,SAAS,CAAC,GAAG,IAAI,eAAe,CAAC,UAAU,CAAA;oBAC3C,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;oBACnG,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC,UAAU,CAAA;oBACtE,SAAS,CAAC,cAAc;wBACtB,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,GAAG,eAAe,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;oBACtF,MAAM,IAAI,CAAC,oBAAoB,CAC7B,SAAS,EACT,WAAW,EACX,CAAC,eAAe,CAAC,UAAU,EAC3B,CAAC,eAAe,CAAC,eAAe,EAChC,2CAA0B,CAAC,OAAO,CACnC,CAAA;oBAED,IAAI,OAAO,KAAK,CAAC,EAAE;wBACjB,SAAS,CAAC,MAAM,GAAG,iCAAgB,CAAC,UAAU,CAAA;wBAC9C,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,2CAA0B,CAAC,UAAU,CAAC,CAAA;qBACrG;oBAED,IAAI,eAAe,GAAoB,gBAAgB,CAAC,IAAI,CAC1D,CAAC,GAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,CACxE,CAAA;oBACD,eAAe,CAAC,MAAM,GAAG,4BAAgB,CAAC,IAAI,CAAA;oBAC9C,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;oBACnC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;iBACvE;qBAAM;oBACL,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;iBACjD;gBACD,SAAS,GAAG,SAAS,GAAG,CAAC,gBAAgB,GAAG,eAAe,CAAC,CAAA;aAC7D;SACF;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,aAAqB;QACzC,IAAI,WAAW,GAAgB,MAAM,IAAI,CAAC,YAAY,CAAC,wBAAW,EAAE;YAClE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,yBAAY,CAAC,OAAO;SAC7B,CAAC,CAAA;QAEF,MAAM,SAAS,GAAc,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,0BAAc,CAAC,OAAO,EAAE;YACnG,kBAAkB;YAClB,kCAAkC;SACnC,CAAC,CAAA;QACF,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,4BAAgB,CAAC,SAAS,EAAE,CAAC,CAAA;QAE3E,IAAI,WAAmB,CAAA;QACvB,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,EAAE;YAC9B,WAAW,GAAG,yBAAY,CAAC,aAAa,CAAA;SACzC;aAAM,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,CAAA,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,CAAA,EAAE;YACrE,WAAW,GAAG,yBAAY,CAAC,OAAO,CAAA;SACnC;QAED,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAc;QACvC,IAAI,SAAS,GAAc,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;YAC5E,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM;gBACN,IAAI,EAAE,0BAAc,CAAC,aAAa;aACnC;YACD,SAAS,EAAE;gBACT,UAAU;gBACV,iBAAiB;gBACjB,kBAAkB;gBAClB,kCAAkC;gBAClC,8CAA8C;aAC/C;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,4BAAgB,CAAC,SAAS,EAAE,CAAC,CAAA;QAE3E,SAAS,CAAC,MAAM,GAAG,4BAAgB,CAAC,IAAI,CAAA;QACxC,SAAS,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAA;QAC9B,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAC7B,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEtE,MAAM,gBAAgB,GAAsB,SAAS,CAAC,gBAAgB,CAAA;QACtE,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAoB,EAAE,EAAE;YAChD,GAAG,CAAC,MAAM,GAAG,4BAAgB,CAAC,IAAI,CAAA;YAClC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QACzB,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAEvE,MAAM,iBAAiB,GAAqB,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE;YAClG,IAAI,eAAe,GAAmB,GAAG,CAAC,eAAe,CAAA;YACzD,eAAe,CAAC,MAAM,GAAG,mCAAsB,CAAC,UAAU,CAAA;YAC1D,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;YACnC,OAAO,eAAe,CAAA;QACxB,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;QAEhD,MAAM,YAAY,GAAkB,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE;YAC1F,IAAI,WAAW,GAAgB,GAAG,CAAC,eAAe,CAAC,WAAW,CAAA;YAE9D,IAAI,WAAmB,CAAA;YACvB,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,EAAE;gBAC9B,WAAW,GAAG,yBAAY,CAAC,aAAa,CAAA;aACzC;iBAAM;gBACL,WAAW,GAAG,yBAAY,CAAC,aAAa,CAAA;aACzC;YAED,WAAW,CAAC,MAAM,GAAG,WAAW,CAAA;YAChC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;YAC/B,OAAO,WAAW,CAAA;QACpB,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAE/D,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAC1C,gBAA4C,EAC5C,eAAuB,EACvB,iBAAyB,EACzB,mBAA2B,EAC3B,mBAA2B,EAC3B,YAAsB,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;;QAEpE,KAAK,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAChC,IAAI,CAAC,CAAA,MAAA,GAAG,CAAC,eAAe,0CAAE,OAAO,CAAA,IAAI,CAAC,CAAA,MAAA,MAAA,GAAG,CAAC,eAAe,0CAAE,OAAO,0CAAE,EAAE,CAAA,IAAI,CAAC,CAAA,MAAA,GAAG,CAAC,eAAe,0CAAE,WAAW,CAAA,EAAE;gBAC3G,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC,CAAA;aAC1F;SACF;QAED,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CACxC,CAAC,GAAoB,EAAE,EAAE,CACvB,GAAG,CAAC,eAAe,CAAC,OAAO,KAAK,eAAe;YAC/C,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,iBAAiB;YACpD,GAAG,CAAC,eAAe,CAAC,WAAW,KAAK,mBAAmB;YACvD,GAAG,CAAC,eAAe,CAAC,WAAW,KAAK,mBAAmB,CAC1D,CAAA;QAED,KAAK,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAChC,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;SACrD;QAED,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,cAAc,EAAE,WAAW;QAC7D,yBAAyB;QACzB,MAAM,iBAAiB,GAAY,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;YAClF,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,oBAAoB;aAC3B;SACF,CAAC,CAAA;QACF,IAAI,iBAAiB,IAAI,SAAS,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;YACvF,IAAI,WAAW,EAAE;gBACf,MAAM,gBAAgB,GAAa,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAQ,CAAC,CAAC,OAAO,CAAC;oBACnF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,8BAAa,CAAC,GAAG,EAAE;iBAC3E,CAAC,CAAA;gBAEF,IAAI,CAAC,gBAAgB;oBACnB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC,CAAA;gBAErG,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAA;aAC9C;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC,CAAA;aACpG;SACF;QAED,OAAO,cAAc,CAAA;IACvB,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS;QACvG,MAAM,UAAU,GAAW,cAAc,CAAC,UAAU,CAAA;QAEpD,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;QAChH,IAAI,cAAc,CAAC,SAAS,IAAI,UAAU,EAAE;YAC1C,MAAM,OAAO,GAAW,SAAS,CAAC,GAAG,GAAG,UAAU,CAAA;YAClD,IAAI,OAAO,GAAG,CAAC,EAAE;gBACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC,CAAA;aAC7G;YAED,cAAc,CAAC,MAAM,GAAG,mCAAsB,CAAC,MAAM,CAAA;YAErD,SAAS,CAAC,GAAG,IAAI,cAAc,CAAC,UAAU,CAAA;YAC1C,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;YAClG,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,UAAU,CAAA;YACrE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,GAAG,cAAc,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;YAC9G,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACzC,SAAS,EACT,WAAW,EACX,CAAC,cAAc,CAAC,UAAU,EAC1B,CAAC,cAAc,CAAC,eAAe,EAC/B,2CAA0B,CAAC,OAAO,CACnC,CAAA;YAED,eAAe,CAAC,MAAM,GAAG,4BAAgB,CAAC,IAAI,CAAA;YAC9C,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;YACnC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YAEtE,IAAI,OAAO,KAAK,CAAC,EAAE;gBACjB,SAAS,CAAC,MAAM,GAAG,iCAAgB,CAAC,UAAU,CAAA;gBAC9C,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,2CAA0B,CAAC,UAAU,CAAC,CAAA;aACrG;SACF;QAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAA;QAE/C,OAAO,cAAc,CAAA;IACvB,CAAC;CACF;AAx8BD,gEAw8BC"}
1
+ {"version":3,"file":"picking-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/picking-worksheet-controller.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Mutation = void 0;
3
+ exports.Query = exports.Mutation = void 0;
4
4
  const pallet_outbound_1 = require("./pallet-outbound");
5
5
  exports.Mutation = Object.assign({}, pallet_outbound_1.palletOutbound);
6
+ exports.Query = {};
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/pallet/index.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAErC,QAAA,QAAQ,qBAChB,gCAAc,EAClB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/pallet/index.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAErC,QAAA,QAAQ,qBAChB,gCAAc,EAClB;AAEY,QAAA,KAAK,GAAG,EAAE,CAAA"}
@@ -1,17 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.recommendLocationLevel1 = exports.recommendPutawayLocationResolver = void 0;
3
+ exports.getEmptyLocations = exports.recommendQuarantineLocationLevel1 = exports.recommendLocationLevel1 = exports.recommendPutawayLocationResolver = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
5
  const setting_base_1 = require("@things-factory/setting-base");
6
6
  const warehouse_base_1 = require("@things-factory/warehouse-base");
7
7
  const constants_1 = require("../../../constants");
8
8
  const entities_1 = require("../../../entities");
9
+ const inventory_util_1 = require("../../../utils/inventory-util");
9
10
  exports.recommendPutawayLocationResolver = {
10
11
  async recommendPutawayLocation(_, { worksheetDetailName, optCnt = 1 }, context) {
11
12
  const domain = context.state.domain;
12
13
  const worksheetDetail = await (0, typeorm_1.getRepository)(entities_1.WorksheetDetail).findOne({ domain, name: worksheetDetailName }, {
13
- relations: ['worksheet', 'worksheet.arrivalNotice', 'worksheet.returnOrder']
14
+ relations: [
15
+ 'worksheet',
16
+ 'worksheet.arrivalNotice',
17
+ 'worksheet.returnOrder',
18
+ 'targetInventory',
19
+ 'targetInventory.inventory'
20
+ ]
14
21
  });
22
+ const inventory = worksheetDetail.targetInventory.inventory;
15
23
  if (worksheetDetail.status !== constants_1.WORKSHEET_STATUS.EXECUTING)
16
24
  throw new Error('Current target is not processing');
17
25
  const arrivalNotice = worksheetDetail.worksheet.arrivalNotice;
@@ -34,15 +42,40 @@ exports.recommendPutawayLocationResolver = {
34
42
  where: { domain, name: 'location-recommendation-level' }
35
43
  });
36
44
  const sortingLevel = sortingLevelSetting === null || sortingLevelSetting === void 0 ? void 0 : sortingLevelSetting.value;
45
+ const isExpiring = await (0, inventory_util_1.isInventoryExpiring)(inventory);
46
+ let recommendedLocations = [];
47
+ if (isExpiring) {
48
+ switch (sortingLevel) {
49
+ case 'level 1':
50
+ recommendedLocations = await recommendQuarantineLocationLevel1(domain, targetWarehouse, optCnt);
51
+ break;
52
+ default:
53
+ recommendedLocations = await recommendQuarantineLocationLevel1(domain, targetWarehouse, optCnt);
54
+ break;
55
+ }
56
+ }
57
+ if (recommendedLocations.length > 0)
58
+ return recommendedLocations;
37
59
  switch (sortingLevel) {
38
60
  case 'level 1':
39
- return recommendLocationLevel1(domain, targetWarehouse, optCnt);
61
+ recommendedLocations = await recommendLocationLevel1(domain, targetWarehouse, optCnt);
62
+ break;
40
63
  default:
41
- return recommendLocationLevel1(domain, targetWarehouse, optCnt);
64
+ recommendedLocations = await recommendLocationLevel1(domain, targetWarehouse, optCnt);
65
+ break;
42
66
  }
67
+ return recommendedLocations;
43
68
  }
44
69
  };
45
70
  async function recommendLocationLevel1(domain, warehouse, optCnt) {
71
+ return await getEmptyLocations(domain, warehouse, optCnt, [warehouse_base_1.LOCATION_TYPE.SHELF, warehouse_base_1.LOCATION_TYPE.FLOOR]);
72
+ }
73
+ exports.recommendLocationLevel1 = recommendLocationLevel1;
74
+ async function recommendQuarantineLocationLevel1(domain, warehouse, optCnt) {
75
+ return await getEmptyLocations(domain, warehouse, optCnt, [warehouse_base_1.LOCATION_TYPE.QUARANTINE]);
76
+ }
77
+ exports.recommendQuarantineLocationLevel1 = recommendQuarantineLocationLevel1;
78
+ async function getEmptyLocations(domain, warehouse, optCnt, allowedTypes) {
46
79
  const orderSetting = await (0, typeorm_1.getRepository)(setting_base_1.Setting).findOne({
47
80
  where: { domain, name: 'rule-for-storing-product' }
48
81
  });
@@ -54,11 +87,11 @@ async function recommendLocationLevel1(domain, warehouse, optCnt) {
54
87
  domain,
55
88
  warehouse,
56
89
  status: warehouse_base_1.LOCATION_STATUS.EMPTY,
57
- type: (0, typeorm_1.In)([warehouse_base_1.LOCATION_TYPE.SHELF, warehouse_base_1.LOCATION_TYPE.FLOOR]) // should only recommend these types
90
+ type: (0, typeorm_1.In)(allowedTypes)
58
91
  },
59
92
  order,
60
93
  take: optCnt
61
94
  });
62
95
  }
63
- exports.recommendLocationLevel1 = recommendLocationLevel1;
96
+ exports.getEmptyLocations = getEmptyLocations;
64
97
  //# sourceMappingURL=recommend-putway-location.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recommend-putway-location.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/recommend-putway-location.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAG3C,+DAAsD;AAEtD,mEAAoG;AAEpG,kDAAqE;AACrE,gDAA8D;AAEjD,QAAA,gCAAgC,GAAG;IAC9C,KAAK,CAAC,wBAAwB,CAC5B,CAAO,EACP,EAAE,mBAAmB,EAAE,MAAM,GAAG,CAAC,EAAmD,EACpF,OAAY;QAEZ,MAAM,MAAM,GAAW,OAAO,CAAC,KAAK,CAAC,MAAM,CAAA;QAE3C,MAAM,eAAe,GAAoB,MAAM,IAAA,uBAAa,EAAC,0BAAe,CAAC,CAAC,OAAO,CACnF,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,EACrC;YACE,SAAS,EAAE,CAAC,WAAW,EAAE,yBAAyB,EAAE,uBAAuB,CAAC;SAC7E,CACF,CAAA;QAED,IAAI,eAAe,CAAC,MAAM,KAAK,4BAAgB,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAE9G,MAAM,aAAa,GAAkB,eAAe,CAAC,SAAS,CAAC,aAAa,CAAA;QAC5E,MAAM,WAAW,GAAgB,eAAe,CAAC,SAAS,CAAC,WAAW,CAAA;QACtE,IAAI,WAAsB,CAAA;QAC1B,IAAI,aAAa,EAAE;YACjB,WAAW,GAAG,MAAM,IAAA,uBAAa,EAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;gBACnD,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,0BAAc,CAAC,SAAS,EAAE;gBAChE,SAAS,EAAE,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;aAC1D,CAAC,CAAA;SACH;aAAM,IAAI,WAAW,EAAE;YACtB,WAAW,GAAG,MAAM,IAAA,uBAAa,EAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;gBACnD,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,0BAAc,CAAC,gBAAgB,EAAE;gBACrE,SAAS,EAAE,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;aAC1D,CAAC,CAAA;SACH;QACD,MAAM,eAAe,GAAc,WAAW,CAAC,cAAc,CAAC,SAAS,CAAA;QACvE,MAAM,mBAAmB,GAAY,MAAM,IAAA,uBAAa,EAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;YACxE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,EAAE;SACzD,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,CAAA;QAE/C,QAAQ,YAAY,EAAE;YACpB,KAAK,SAAS;gBACZ,OAAO,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,CAAA;YAEjE;gBACE,OAAO,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,CAAA;SAClE;IACH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,uBAAuB,CAC3C,MAAc,EACd,SAAoB,EACpB,MAAc;IAEd,MAAM,YAAY,GAAY,MAAM,IAAA,uBAAa,EAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;QACjE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE;KACpD,CAAC,CAAA;IACF,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK;QAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAE/D,OAAO,MAAM,IAAA,uBAAa,EAAC,yBAAQ,CAAC,CAAC,IAAI,CAAC;QACxC,KAAK,EAAE;YACL,MAAM;YACN,SAAS;YACT,MAAM,EAAE,gCAAe,CAAC,KAAK;YAC7B,IAAI,EAAE,IAAA,YAAE,EAAC,CAAC,8BAAa,CAAC,KAAK,EAAE,8BAAa,CAAC,KAAK,CAAC,CAAC,CAAC,oCAAoC;SAC1F;QACD,KAAK;QACL,IAAI,EAAE,MAAM;KACb,CAAC,CAAA;AACJ,CAAC;AArBD,0DAqBC"}
1
+ {"version":3,"file":"recommend-putway-location.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/recommend-putway-location.ts"],"names":[],"mappings":"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"}
@@ -1,55 +1,59 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateReleaseGoodWorksheetDetailsResolver = void 0;
4
- const warehouse_base_1 = require("@things-factory/warehouse-base");
5
- const sales_base_1 = require("@things-factory/sales-base");
3
+ exports.generateReleaseGoodWorksheetDetails = exports.generateReleaseGoodWorksheetDetailsResolver = void 0;
6
4
  const product_base_1 = require("@things-factory/product-base");
5
+ const sales_base_1 = require("@things-factory/sales-base");
6
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
7
7
  const constants_1 = require("../../../constants");
8
8
  const entities_1 = require("../../../entities");
9
9
  const utils_1 = require("../../../utils");
10
10
  exports.generateReleaseGoodWorksheetDetailsResolver = {
11
11
  async generateReleaseGoodWorksheetDetails(_, { worksheetNo, batchId, productId, packingType, packingSize, worksheetDetails }, context) {
12
- const { tx, user, domain } = context.state;
13
- // 1. Remove prev worksheet details if it's exists
14
- const worksheet = await tx.getRepository(entities_1.Worksheet).findOne({
15
- where: { name: worksheetNo, domain },
16
- relations: [
17
- 'bizplace',
18
- 'releaseGood',
19
- 'worksheetDetails',
20
- 'worksheetDetails.targetInventory',
21
- 'worksheetDetails.targetInventory.product'
22
- ]
23
- });
24
- const prevWSDs = worksheet.worksheetDetails.filter((wsd) => {
25
- const targetInv = wsd.targetInventory;
26
- if (targetInv.batchId === batchId && targetInv.product.id === productId && targetInv.packingType === packingType)
27
- return wsd.id;
28
- });
29
- // TODO: Delete order inventories
30
- if (prevWSDs === null || prevWSDs === void 0 ? void 0 : prevWSDs.length) {
31
- const wsdIds = prevWSDs.map((wsd) => wsd.id);
32
- const prevOrderInvIds = prevWSDs.map((wsd) => wsd.targetInventory.id);
33
- await tx.getRepository(entities_1.WorksheetDetail).delete(wsdIds);
34
- await tx.getRepository(sales_base_1.OrderInventory).delete(prevOrderInvIds);
35
- }
36
- await Promise.all(worksheetDetails.map(async (wsd) => {
37
- // 2. Create order inventory
38
- let targetInventory = wsd.targetInventory;
39
- const inventory = await tx.getRepository(warehouse_base_1.Inventory).findOne(targetInventory.inventory.id);
40
- targetInventory = await tx.getRepository(sales_base_1.OrderInventory).save(Object.assign(Object.assign({}, targetInventory), { domain, bizplace: worksheet.bizplace, name: sales_base_1.OrderNoGenerator.orderInventory(), releaseGood: worksheet.releaseGood, inventory,
41
- batchId, batchIdRef: inventory.batchIdRef, status: sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_PICK, product: await tx.getRepository(product_base_1.Product).findOne(productId), packingType,
42
- packingSize, creator: user, updater: user }));
43
- const currentLockedQty = inventory.lockedQty;
44
- const currentLockedUomValue = inventory.lockedUomValue;
45
- await tx.getRepository(warehouse_base_1.Inventory).save(Object.assign(Object.assign({}, targetInventory.inventory), { lockedQty: Boolean(currentLockedQty)
46
- ? targetInventory.releaseQty + currentLockedQty
47
- : targetInventory.releaseQty, lockedUomValue: Boolean(currentLockedUomValue)
48
- ? targetInventory.releaseUomValue + currentLockedUomValue
49
- : targetInventory.releaseUomValue, updater: user }));
50
- // 3. Create worksheet details
51
- await tx.getRepository(entities_1.WorksheetDetail).save(Object.assign(Object.assign({}, wsd), { domain, bizplace: worksheet.bizplace, worksheet, name: utils_1.WorksheetNoGenerator.pickingDetail(), targetInventory, type: constants_1.WORKSHEET_TYPE.PICKING, status: constants_1.WORKSHEET_STATUS.DEACTIVATED, creator: user, updater: user }));
52
- }));
12
+ const { tx, domain, user } = context.state;
13
+ return await generateReleaseGoodWorksheetDetails(tx, domain, user, worksheetNo, batchId, productId, packingType, packingSize, worksheetDetails);
53
14
  }
54
15
  };
16
+ async function generateReleaseGoodWorksheetDetails(tx, domain, user, worksheetNo, batchId, productId, packingType, packingSize, worksheetDetails) {
17
+ // 1. Remove prev worksheet details if it's exists
18
+ const worksheet = await tx.getRepository(entities_1.Worksheet).findOne({
19
+ where: { name: worksheetNo, domain },
20
+ relations: [
21
+ 'bizplace',
22
+ 'releaseGood',
23
+ 'worksheetDetails',
24
+ 'worksheetDetails.targetInventory',
25
+ 'worksheetDetails.targetInventory.product'
26
+ ]
27
+ });
28
+ const prevWSDs = worksheet.worksheetDetails.filter((wsd) => {
29
+ const targetInv = wsd.targetInventory;
30
+ if (targetInv.batchId === batchId && targetInv.product.id === productId && targetInv.packingType === packingType)
31
+ return wsd.id;
32
+ });
33
+ // TODO: Delete order inventories
34
+ if (prevWSDs === null || prevWSDs === void 0 ? void 0 : prevWSDs.length) {
35
+ const wsdIds = prevWSDs.map((wsd) => wsd.id);
36
+ const prevOrderInvIds = prevWSDs.map((wsd) => wsd.targetInventory.id);
37
+ await tx.getRepository(entities_1.WorksheetDetail).delete(wsdIds);
38
+ await tx.getRepository(sales_base_1.OrderInventory).delete(prevOrderInvIds);
39
+ }
40
+ await Promise.all(worksheetDetails.map(async (wsd) => {
41
+ // 2. Create order inventory
42
+ let targetInventory = wsd.targetInventory;
43
+ const inventory = await tx.getRepository(warehouse_base_1.Inventory).findOne(targetInventory.inventory.id);
44
+ targetInventory = await tx.getRepository(sales_base_1.OrderInventory).save(Object.assign(Object.assign({}, targetInventory), { domain, bizplace: worksheet.bizplace, name: sales_base_1.OrderNoGenerator.orderInventory(), releaseGood: worksheet.releaseGood, inventory,
45
+ batchId, batchIdRef: inventory.batchIdRef, status: sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_PICK, product: await tx.getRepository(product_base_1.Product).findOne(productId), packingType,
46
+ packingSize, creator: user, updater: user }));
47
+ const currentLockedQty = inventory.lockedQty;
48
+ const currentLockedUomValue = inventory.lockedUomValue;
49
+ await tx.getRepository(warehouse_base_1.Inventory).save(Object.assign(Object.assign({}, targetInventory.inventory), { lockedQty: Boolean(currentLockedQty)
50
+ ? targetInventory.releaseQty + currentLockedQty
51
+ : targetInventory.releaseQty, lockedUomValue: Boolean(currentLockedUomValue)
52
+ ? targetInventory.releaseUomValue + currentLockedUomValue
53
+ : targetInventory.releaseUomValue, updater: user }));
54
+ // 3. Create worksheet details
55
+ await tx.getRepository(entities_1.WorksheetDetail).save(Object.assign(Object.assign({}, wsd), { domain, bizplace: worksheet.bizplace, worksheet, name: utils_1.WorksheetNoGenerator.pickingDetail(), targetInventory, type: constants_1.WORKSHEET_TYPE.PICKING, status: constants_1.WORKSHEET_STATUS.DEACTIVATED, creator: user, updater: user }));
56
+ }));
57
+ }
58
+ exports.generateReleaseGoodWorksheetDetails = generateReleaseGoodWorksheetDetails;
55
59
  //# sourceMappingURL=generate-release-good-worksheet-details.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-release-good-worksheet-details.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-release-good-worksheet-details.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,13 @@ exports.types = exports.mutations = exports.queries = void 0;
23
23
  const Worksheet = __importStar(require("./worksheet"));
24
24
  const WorksheetDetail = __importStar(require("./worksheet-detail"));
25
25
  const WorksheetMovement = __importStar(require("./worksheet-movement"));
26
- exports.queries = [Worksheet.Query, WorksheetDetail.Query, WorksheetMovement.Query];
27
- exports.mutations = [Worksheet.Mutation, WorksheetDetail.Mutation, WorksheetMovement.Mutation];
28
- exports.types = [...Worksheet.Types, ...WorksheetDetail.Types, ...WorksheetMovement.Types];
26
+ const PalletOutbound = __importStar(require("./pallet"));
27
+ exports.queries = [Worksheet.Query, WorksheetDetail.Query, WorksheetMovement.Query, PalletOutbound.Query];
28
+ exports.mutations = [
29
+ Worksheet.Mutation,
30
+ WorksheetDetail.Mutation,
31
+ WorksheetMovement.Mutation,
32
+ PalletOutbound.Mutation
33
+ ];
34
+ exports.types = [...Worksheet.Types, ...WorksheetDetail.Types, ...WorksheetMovement.Types, ...PalletOutbound.Types];
29
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAwC;AACxC,oEAAqD;AACrD,wEAAyD;AAE5C,QAAA,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAE3E,QAAA,SAAS,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AAEtF,QAAA,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAwC;AACxC,oEAAqD;AACrD,wEAAyD;AACzD,yDAA0C;AAE7B,QAAA,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;AAEjG,QAAA,SAAS,GAAG;IACvB,SAAS,CAAC,QAAQ;IAClB,eAAe,CAAC,QAAQ;IACxB,iBAAiB,CAAC,QAAQ;IAC1B,cAAc,CAAC,QAAQ;CACxB,CAAA;AAEY,QAAA,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Query = exports.Types = exports.Mutation = void 0;
4
+ const pallet_1 = require("./pallet");
5
+ exports.Mutation = `
6
+ palletOutbound (
7
+ refOrderNo: String!
8
+ patches: [PalletPatch]
9
+ ): Boolean @transaction
10
+ `;
11
+ exports.Types = [pallet_1.PalletPatch];
12
+ exports.Query = ``;
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/pallet/index.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AAEzB,QAAA,QAAQ,GAAiB;;;;;CAKrC,CAAA;AAEY,QAAA,KAAK,GAAiB,CAAC,oBAAW,CAAC,CAAA;AAEnC,QAAA,KAAK,GAAiB,EAAE,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PalletPatch = void 0;
4
+ const apollo_server_koa_1 = require("apollo-server-koa");
5
+ exports.PalletPatch = (0, apollo_server_koa_1.gql) `
6
+ input PalletPatch {
7
+ name: String
8
+ }
9
+ `;
10
+ //# sourceMappingURL=pallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pallet.js","sourceRoot":"","sources":["../../../../server/graphql/types/pallet/pallet.ts"],"names":[],"mappings":";;;AAAA,yDAAuC;AAE1B,QAAA,WAAW,GAAG,IAAA,uBAAG,EAAA;;;;CAI7B,CAAA"}
@@ -15,5 +15,6 @@ __exportStar(require("./constants"), exports);
15
15
  __exportStar(require("./entities"), exports);
16
16
  __exportStar(require("./graphql"), exports);
17
17
  __exportStar(require("./graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet"), exports);
18
+ __exportStar(require("./graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details"), exports);
18
19
  __exportStar(require("./migrations"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oBAAiB;AAEjB,8CAA2B;AAC3B,6CAA0B;AAC1B,4CAAyB;AACzB,mHAAgG;AAChG,+CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oBAAiB;AAEjB,8CAA2B;AAC3B,6CAA0B;AAC1B,4CAAyB;AACzB,mHAAgG;AAChG,+GAA4F;AAC5F,+CAA4B"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.inventoriesByStrategy = exports.checkPalletIdenticallity = exports.checkPalletDuplication = exports.switchLocationStatus = exports.generateInventoryHistory = void 0;
3
+ exports.isInventoryExpiring = exports.inventoriesByStrategy = exports.checkPalletIdenticallity = exports.checkPalletDuplication = exports.switchLocationStatus = exports.generateInventoryHistory = 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");
@@ -292,4 +292,24 @@ async function inventoriesByStrategy({ worksheetId, batchId, bizplaceId, product
292
292
  return { items, total };
293
293
  }
294
294
  exports.inventoriesByStrategy = inventoriesByStrategy;
295
+ async function isInventoryExpiring(inventory) {
296
+ if (!inventory.id)
297
+ throw new Error('No inventory id provided');
298
+ let product = inventory.product;
299
+ if (!product) {
300
+ inventory = await (0, typeorm_1.getRepository)(warehouse_base_1.Inventory).findOne(inventory.id, {
301
+ relations: ['product']
302
+ });
303
+ product = inventory.product;
304
+ }
305
+ const { expirationDate } = inventory;
306
+ const { isRequiredCheckExpiry, expirationPeriod } = product;
307
+ if (!isRequiredCheckExpiry || !expirationPeriod || expirationDate <= 0)
308
+ return false;
309
+ let date = new Date();
310
+ const acceptBefore = new Date(date.setDate(date.getDate() + expirationPeriod));
311
+ const expiryDate = new Date(expirationDate);
312
+ return expiryDate < acceptBefore;
313
+ }
314
+ exports.isInventoryExpiring = isInventoryExpiring;
295
315
  //# 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.0.12",
3
+ "version": "4.0.17",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,20 +24,20 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
25
25
  },
26
26
  "dependencies": {
27
- "@things-factory/auth-base": "^4.0.12",
28
- "@things-factory/biz-base": "^4.0.12",
29
- "@things-factory/document-template-base": "^4.0.12",
30
- "@things-factory/id-rule-base": "^4.0.12",
31
- "@things-factory/integration-lmd": "^4.0.12",
32
- "@things-factory/integration-marketplace": "^4.0.12",
33
- "@things-factory/integration-sellercraft": "^4.0.12",
34
- "@things-factory/marketplace-base": "^4.0.12",
35
- "@things-factory/notification": "^4.0.12",
36
- "@things-factory/sales-base": "^4.0.12",
37
- "@things-factory/setting-base": "^4.0.12",
38
- "@things-factory/shell": "^4.0.12",
39
- "@things-factory/transport-base": "^4.0.12",
40
- "@things-factory/warehouse-base": "^4.0.12"
27
+ "@things-factory/auth-base": "^4.0.17",
28
+ "@things-factory/biz-base": "^4.0.17",
29
+ "@things-factory/document-template-base": "^4.0.17",
30
+ "@things-factory/id-rule-base": "^4.0.17",
31
+ "@things-factory/integration-lmd": "^4.0.17",
32
+ "@things-factory/integration-marketplace": "^4.0.17",
33
+ "@things-factory/integration-sellercraft": "^4.0.17",
34
+ "@things-factory/marketplace-base": "^4.0.17",
35
+ "@things-factory/notification": "^4.0.17",
36
+ "@things-factory/sales-base": "^4.0.17",
37
+ "@things-factory/setting-base": "^4.0.17",
38
+ "@things-factory/shell": "^4.0.17",
39
+ "@things-factory/transport-base": "^4.0.17",
40
+ "@things-factory/warehouse-base": "^4.0.17"
41
41
  },
42
- "gitHead": "29d59ff95fcb473cb43c6f798cd04f3ec3a779a0"
42
+ "gitHead": "a82db9fc895f18855244c3d09383758608e03e19"
43
43
  }
@@ -17,8 +17,7 @@ import {
17
17
  INVENTORY_STATUS,
18
18
  INVENTORY_TRANSACTION_TYPE,
19
19
  Location,
20
- LOCATION_TYPE,
21
- LOCATION_STATUS
20
+ LOCATION_TYPE
22
21
  } from '@things-factory/warehouse-base'
23
22
 
24
23
  import { TASK_NUMBER_RULE_TYPE, TASK_NUMBER_SETTING_KEY, WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../constants'
@@ -191,7 +190,7 @@ export class PickingWorksheetController extends VasWorksheetController {
191
190
  if (vasWorksheet) {
192
191
  await this.activateVAS(vasWorksheet.name, vasWorksheet.worksheetDetails)
193
192
  }
194
- } catch (e) { }
193
+ } catch (e) {}
195
194
 
196
195
  const pendingSplitOIs: OrderInventory[] = await this.trxMgr.getRepository(OrderInventory).find({
197
196
  where: { domain: this.domain, releaseGood, status: ORDER_INVENTORY_STATUS.PENDING_SPLIT }
@@ -367,19 +366,17 @@ export class PickingWorksheetController extends VasWorksheetController {
367
366
  await this.trxMgr.getRepository(WorksheetDetail).delete(worksheetDetailIds)
368
367
  await this.trxMgr.getRepository(OrderInventory).delete(targetInventoryIds)
369
368
 
370
- await this.trxMgr
371
- .getRepository(OrderInventory)
372
- .update(
373
- {
374
- refWorksheetId: worksheet.id,
375
- batchId,
376
- product: { id: productId },
377
- packingType,
378
- packingSize,
379
- status: ORDER_INVENTORY_STATUS.COMPLETE_SPLIT
380
- },
381
- { status: ORDER_INVENTORY_STATUS.PENDING_SPLIT, updater: this.user, updatedAt: new Date() }
382
- )
369
+ await this.trxMgr.getRepository(OrderInventory).update(
370
+ {
371
+ refWorksheetId: worksheet.id,
372
+ batchId,
373
+ product: { id: productId },
374
+ packingType,
375
+ packingSize,
376
+ status: ORDER_INVENTORY_STATUS.COMPLETE_SPLIT
377
+ },
378
+ { status: ORDER_INVENTORY_STATUS.PENDING_SPLIT, updater: this.user, updatedAt: new Date() }
379
+ )
383
380
  }
384
381
 
385
382
  async scanProductPicking(
@@ -412,16 +409,14 @@ export class PickingWorksheetController extends VasWorksheetController {
412
409
  const product: Product = targetInventory.product
413
410
  let inventory: Inventory = targetInventory.inventory
414
411
 
415
- //validation to prevent duplicated picking
412
+ //validation to prevent duplicated picking
416
413
  let oiValidate: OrderInventory = await this.trxMgr.getRepository(OrderInventory).findOne({
417
414
  where: { domain: this.domain, id: targetInventory.id, status: ORDER_INVENTORY_STATUS.PICKING }
418
415
  })
419
- if (!oiValidate)
420
- throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `is done`))
416
+ if (!oiValidate) throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `is done`))
421
417
 
422
418
  //validation to prevent over release
423
- if (inventory.qty <= 0)
424
- throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `over release`))
419
+ if (inventory.qty <= 0) throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `over release`))
425
420
 
426
421
  if (inventory.cartonId !== cartonId)
427
422
  throw new Error(this.ERROR_MSG.VALIDITY.UNEXPECTED_FIELD_VALUE('Carton ID', cartonId, inventory.cartonId))
@@ -461,16 +456,17 @@ export class PickingWorksheetController extends VasWorksheetController {
461
456
  }
462
457
 
463
458
  if (product?.isRequireSerialNumberScanning) {
464
- if ((!serialNumber || serialNumber == ''))
459
+ if (!serialNumber || serialNumber == '')
465
460
  throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `require serial number`))
466
461
 
467
462
  if (serialNumber) {
468
- targetInventory.serialNumber = JSON.stringify(targetInventory.serialNumber ? [...(JSON.parse(targetInventory.serialNumber)), serialNumber] : [serialNumber])
463
+ targetInventory.serialNumber = JSON.stringify(
464
+ targetInventory.serialNumber ? [...JSON.parse(targetInventory.serialNumber), serialNumber] : [serialNumber]
465
+ )
469
466
  }
470
467
  }
471
468
 
472
469
  await this.updatePickingTransaction(releaseGood, targetInventory, worksheetDetail, inventory, pickedQty)
473
-
474
470
  } catch (error) {
475
471
  throw error
476
472
  }
@@ -495,7 +491,7 @@ export class PickingWorksheetController extends VasWorksheetController {
495
491
  'targetInventory.releaseGood',
496
492
  'targetInventory.inventory',
497
493
  'targetInventory.inventory.location',
498
- 'targetInventory.product',
494
+ 'targetInventory.product'
499
495
  ]
500
496
  )
501
497
 
@@ -504,27 +500,26 @@ export class PickingWorksheetController extends VasWorksheetController {
504
500
  const product: Product = targetInventory.product
505
501
  let inventory: Inventory = targetInventory.inventory
506
502
 
507
- //validation to prevent duplicated picking
503
+ //validation to prevent duplicated picking
508
504
  let oiValidate: OrderInventory = await this.trxMgr.getRepository(OrderInventory).findOne({
509
505
  where: { domain: this.domain, id: targetInventory.id, status: ORDER_INVENTORY_STATUS.PICKING }
510
506
  })
511
- if (!oiValidate)
512
- throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `is done`))
507
+ if (!oiValidate) throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `is done`))
513
508
 
514
509
  //validation to prevent over release
515
- if (inventory.qty <= 0)
516
- throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `over release`))
510
+ if (inventory.qty <= 0) throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `over release`))
517
511
 
518
512
  if (inventory.palletId !== palletId)
519
513
  throw new Error(this.ERROR_MSG.VALIDITY.UNEXPECTED_FIELD_VALUE('Pallet ID', palletId, inventory.palletId))
520
514
 
521
-
522
515
  if (product?.isRequireSerialNumberScanning) {
523
- if ((!serialNumber || serialNumber == ''))
516
+ if (!serialNumber || serialNumber == '')
524
517
  throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `require serial number`))
525
518
 
526
519
  if (serialNumber) {
527
- targetInventory.serialNumber = JSON.stringify(targetInventory.serialNumber ? [...(JSON.parse(targetInventory.serialNumber)), serialNumber] : [serialNumber])
520
+ targetInventory.serialNumber = JSON.stringify(
521
+ targetInventory.serialNumber ? [...JSON.parse(targetInventory.serialNumber), serialNumber] : [serialNumber]
522
+ )
528
523
  }
529
524
  }
530
525
 
@@ -938,7 +933,7 @@ export class PickingWorksheetController extends VasWorksheetController {
938
933
  name: 'enable-bin-picking'
939
934
  }
940
935
  })
941
- if (binPickingSetting != undefined && (binPickingSetting.value).toLowerCase() == 'true') {
936
+ if (binPickingSetting?.value && binPickingSetting.value.toLowerCase() === 'true') {
942
937
  if (binLocation) {
943
938
  const foundBinLocation: Location = await this.trxMgr.getRepository(Location).findOne({
944
939
  where: { domain: this.domain, name: binLocation, type: LOCATION_TYPE.BIN }
@@ -995,4 +990,3 @@ export class PickingWorksheetController extends VasWorksheetController {
995
990
  return orderInventory
996
991
  }
997
992
  }
998
-
@@ -3,3 +3,5 @@ import { palletOutbound } from './pallet-outbound'
3
3
  export const Mutation = {
4
4
  ...palletOutbound
5
5
  }
6
+
7
+ export const Query = {}
@@ -3,10 +3,11 @@ import { getRepository, In } from 'typeorm'
3
3
  import { ArrivalNotice, ReturnOrder } from '@things-factory/sales-base'
4
4
  import { Setting } from '@things-factory/setting-base'
5
5
  import { Domain } from '@things-factory/shell'
6
- import { Location, LOCATION_STATUS, LOCATION_TYPE, Warehouse } from '@things-factory/warehouse-base'
6
+ import { Inventory, Location, LOCATION_STATUS, LOCATION_TYPE, Warehouse } from '@things-factory/warehouse-base'
7
7
 
8
8
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
9
9
  import { Worksheet, WorksheetDetail } from '../../../entities'
10
+ import { isInventoryExpiring } from '../../../utils/inventory-util'
10
11
 
11
12
  export const recommendPutawayLocationResolver = {
12
13
  async recommendPutawayLocation(
@@ -19,14 +20,22 @@ export const recommendPutawayLocationResolver = {
19
20
  const worksheetDetail: WorksheetDetail = await getRepository(WorksheetDetail).findOne(
20
21
  { domain, name: worksheetDetailName },
21
22
  {
22
- relations: ['worksheet', 'worksheet.arrivalNotice', 'worksheet.returnOrder']
23
+ relations: [
24
+ 'worksheet',
25
+ 'worksheet.arrivalNotice',
26
+ 'worksheet.returnOrder',
27
+ 'targetInventory',
28
+ 'targetInventory.inventory'
29
+ ]
23
30
  }
24
31
  )
25
32
 
33
+ const inventory: Inventory = worksheetDetail.targetInventory.inventory
26
34
  if (worksheetDetail.status !== WORKSHEET_STATUS.EXECUTING) throw new Error('Current target is not processing')
27
35
 
28
36
  const arrivalNotice: ArrivalNotice = worksheetDetail.worksheet.arrivalNotice
29
37
  const returnOrder: ReturnOrder = worksheetDetail.worksheet.returnOrder
38
+
30
39
  let unloadingWS: Worksheet
31
40
  if (arrivalNotice) {
32
41
  unloadingWS = await getRepository(Worksheet).findOne({
@@ -39,19 +48,41 @@ export const recommendPutawayLocationResolver = {
39
48
  relations: ['bufferLocation', 'bufferLocation.warehouse']
40
49
  })
41
50
  }
51
+
42
52
  const targetWarehouse: Warehouse = unloadingWS.bufferLocation.warehouse
43
53
  const sortingLevelSetting: Setting = await getRepository(Setting).findOne({
44
54
  where: { domain, name: 'location-recommendation-level' }
45
55
  })
46
56
  const sortingLevel = sortingLevelSetting?.value
47
57
 
58
+ const isExpiring: boolean = await isInventoryExpiring(inventory)
59
+
60
+ let recommendedLocations: Location[] = []
61
+ if (isExpiring) {
62
+ switch (sortingLevel) {
63
+ case 'level 1':
64
+ recommendedLocations = await recommendQuarantineLocationLevel1(domain, targetWarehouse, optCnt)
65
+ break
66
+
67
+ default:
68
+ recommendedLocations = await recommendQuarantineLocationLevel1(domain, targetWarehouse, optCnt)
69
+ break
70
+ }
71
+ }
72
+
73
+ if (recommendedLocations.length > 0) return recommendedLocations
74
+
48
75
  switch (sortingLevel) {
49
76
  case 'level 1':
50
- return recommendLocationLevel1(domain, targetWarehouse, optCnt)
77
+ recommendedLocations = await recommendLocationLevel1(domain, targetWarehouse, optCnt)
78
+ break
51
79
 
52
80
  default:
53
- return recommendLocationLevel1(domain, targetWarehouse, optCnt)
81
+ recommendedLocations = await recommendLocationLevel1(domain, targetWarehouse, optCnt)
82
+ break
54
83
  }
84
+
85
+ return recommendedLocations
55
86
  }
56
87
  }
57
88
 
@@ -59,6 +90,23 @@ export async function recommendLocationLevel1(
59
90
  domain: Domain,
60
91
  warehouse: Warehouse,
61
92
  optCnt: number
93
+ ): Promise<Location[]> {
94
+ return await getEmptyLocations(domain, warehouse, optCnt, [LOCATION_TYPE.SHELF, LOCATION_TYPE.FLOOR])
95
+ }
96
+
97
+ export async function recommendQuarantineLocationLevel1(
98
+ domain: Domain,
99
+ warehouse: Warehouse,
100
+ optCnt: number
101
+ ): Promise<Location[]> {
102
+ return await getEmptyLocations(domain, warehouse, optCnt, [LOCATION_TYPE.QUARANTINE])
103
+ }
104
+
105
+ export async function getEmptyLocations(
106
+ domain: Domain,
107
+ warehouse: Warehouse,
108
+ optCnt: number,
109
+ allowedTypes: LOCATION_TYPE[]
62
110
  ): Promise<Location[]> {
63
111
  const orderSetting: Setting = await getRepository(Setting).findOne({
64
112
  where: { domain, name: 'rule-for-storing-product' }
@@ -71,7 +119,7 @@ export async function recommendLocationLevel1(
71
119
  domain,
72
120
  warehouse,
73
121
  status: LOCATION_STATUS.EMPTY,
74
- type: In([LOCATION_TYPE.SHELF, LOCATION_TYPE.FLOOR]) // should only recommend these types
122
+ type: In(allowedTypes)
75
123
  },
76
124
  order,
77
125
  take: optCnt
@@ -1,9 +1,11 @@
1
- import { Domain } from '@things-factory/shell'
2
1
  import { EntityManager } from 'typeorm'
3
- import { Inventory } from '@things-factory/warehouse-base'
4
- import { OrderInventory, OrderNoGenerator, ORDER_INVENTORY_STATUS } from '@things-factory/sales-base'
5
- import { Product } from '@things-factory/product-base'
2
+
6
3
  import { User } from '@things-factory/auth-base'
4
+ import { Product } from '@things-factory/product-base'
5
+ import { ORDER_INVENTORY_STATUS, OrderInventory, OrderNoGenerator } from '@things-factory/sales-base'
6
+ import { Domain } from '@things-factory/shell'
7
+ import { Inventory } from '@things-factory/warehouse-base'
8
+
7
9
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
8
10
  import { Worksheet, WorksheetDetail } from '../../../entities'
9
11
  import { WorksheetNoGenerator } from '../../../utils'
@@ -14,84 +16,108 @@ export const generateReleaseGoodWorksheetDetailsResolver = {
14
16
  { worksheetNo, batchId, productId, packingType, packingSize, worksheetDetails },
15
17
  context: any
16
18
  ): Promise<void> {
17
- const { tx, user, domain }: { tx: EntityManager; user: User; domain: Domain } = context.state
18
- // 1. Remove prev worksheet details if it's exists
19
- const worksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
20
- where: { name: worksheetNo, domain },
21
- relations: [
22
- 'bizplace',
23
- 'releaseGood',
24
- 'worksheetDetails',
25
- 'worksheetDetails.targetInventory',
26
- 'worksheetDetails.targetInventory.product'
27
- ]
28
- })
19
+ const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
20
+ return await generateReleaseGoodWorksheetDetails(
21
+ tx,
22
+ domain,
23
+ user,
24
+ worksheetNo,
25
+ batchId,
26
+ productId,
27
+ packingType,
28
+ packingSize,
29
+ worksheetDetails
30
+ )
31
+ }
32
+ }
29
33
 
30
- const prevWSDs: WorksheetDetail[] = worksheet.worksheetDetails.filter((wsd: WorksheetDetail) => {
31
- const targetInv: OrderInventory = wsd.targetInventory
32
- if (targetInv.batchId === batchId && targetInv.product.id === productId && targetInv.packingType === packingType)
33
- return wsd.id
34
- })
34
+ export async function generateReleaseGoodWorksheetDetails(
35
+ tx: EntityManager,
36
+ domain: Domain,
37
+ user: User,
38
+ worksheetNo: string,
39
+ batchId: string,
40
+ productId: string,
41
+ packingType: string,
42
+ packingSize: number,
43
+ worksheetDetails: Partial<WorksheetDetail>[]
44
+ ): Promise<void> {
45
+ // 1. Remove prev worksheet details if it's exists
46
+ const worksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
47
+ where: { name: worksheetNo, domain },
48
+ relations: [
49
+ 'bizplace',
50
+ 'releaseGood',
51
+ 'worksheetDetails',
52
+ 'worksheetDetails.targetInventory',
53
+ 'worksheetDetails.targetInventory.product'
54
+ ]
55
+ })
35
56
 
36
- // TODO: Delete order inventories
37
- if (prevWSDs?.length) {
38
- const wsdIds: string[] = prevWSDs.map((wsd: WorksheetDetail) => wsd.id)
39
- const prevOrderInvIds: string[] = prevWSDs.map((wsd: WorksheetDetail) => wsd.targetInventory.id)
40
- await tx.getRepository(WorksheetDetail).delete(wsdIds)
41
- await tx.getRepository(OrderInventory).delete(prevOrderInvIds)
42
- }
57
+ const prevWSDs: WorksheetDetail[] = worksheet.worksheetDetails.filter((wsd: WorksheetDetail) => {
58
+ const targetInv: OrderInventory = wsd.targetInventory
59
+ if (targetInv.batchId === batchId && targetInv.product.id === productId && targetInv.packingType === packingType)
60
+ return wsd.id
61
+ })
62
+
63
+ // TODO: Delete order inventories
64
+ if (prevWSDs?.length) {
65
+ const wsdIds: string[] = prevWSDs.map((wsd: WorksheetDetail) => wsd.id)
66
+ const prevOrderInvIds: string[] = prevWSDs.map((wsd: WorksheetDetail) => wsd.targetInventory.id)
67
+ await tx.getRepository(WorksheetDetail).delete(wsdIds)
68
+ await tx.getRepository(OrderInventory).delete(prevOrderInvIds)
69
+ }
43
70
 
44
- await Promise.all(
45
- worksheetDetails.map(async (wsd: WorksheetDetail) => {
46
- // 2. Create order inventory
47
- let targetInventory: OrderInventory = wsd.targetInventory
48
- const inventory: Inventory = await tx.getRepository(Inventory).findOne(targetInventory.inventory.id)
71
+ await Promise.all(
72
+ worksheetDetails.map(async (wsd: WorksheetDetail) => {
73
+ // 2. Create order inventory
74
+ let targetInventory: OrderInventory = wsd.targetInventory
75
+ const inventory: Inventory = await tx.getRepository(Inventory).findOne(targetInventory.inventory.id)
49
76
 
50
- targetInventory = await tx.getRepository(OrderInventory).save({
51
- ...targetInventory,
52
- domain,
53
- bizplace: worksheet.bizplace,
54
- name: OrderNoGenerator.orderInventory(),
55
- releaseGood: worksheet.releaseGood,
56
- inventory,
57
- batchId,
58
- batchIdRef: inventory.batchIdRef,
59
- status: ORDER_INVENTORY_STATUS.READY_TO_PICK,
60
- product: await tx.getRepository(Product).findOne(productId),
61
- packingType,
62
- packingSize,
63
- creator: user,
64
- updater: user
65
- })
77
+ targetInventory = await tx.getRepository(OrderInventory).save({
78
+ ...targetInventory,
79
+ domain,
80
+ bizplace: worksheet.bizplace,
81
+ name: OrderNoGenerator.orderInventory(),
82
+ releaseGood: worksheet.releaseGood,
83
+ inventory,
84
+ batchId,
85
+ batchIdRef: inventory.batchIdRef,
86
+ status: ORDER_INVENTORY_STATUS.READY_TO_PICK,
87
+ product: await tx.getRepository(Product).findOne(productId),
88
+ packingType,
89
+ packingSize,
90
+ creator: user,
91
+ updater: user
92
+ })
66
93
 
67
- const currentLockedQty: any = inventory.lockedQty
68
- const currentLockedUomValue: any = inventory.lockedUomValue
94
+ const currentLockedQty: any = inventory.lockedQty
95
+ const currentLockedUomValue: any = inventory.lockedUomValue
69
96
 
70
- await tx.getRepository(Inventory).save({
71
- ...targetInventory.inventory,
72
- lockedQty: Boolean(currentLockedQty)
73
- ? targetInventory.releaseQty + currentLockedQty
74
- : targetInventory.releaseQty,
75
- lockedUomValue: Boolean(currentLockedUomValue)
76
- ? targetInventory.releaseUomValue + currentLockedUomValue
77
- : targetInventory.releaseUomValue,
78
- updater: user
79
- })
97
+ await tx.getRepository(Inventory).save({
98
+ ...targetInventory.inventory,
99
+ lockedQty: Boolean(currentLockedQty)
100
+ ? targetInventory.releaseQty + currentLockedQty
101
+ : targetInventory.releaseQty,
102
+ lockedUomValue: Boolean(currentLockedUomValue)
103
+ ? targetInventory.releaseUomValue + currentLockedUomValue
104
+ : targetInventory.releaseUomValue,
105
+ updater: user
106
+ })
80
107
 
81
- // 3. Create worksheet details
82
- await tx.getRepository(WorksheetDetail).save({
83
- ...wsd,
84
- domain,
85
- bizplace: worksheet.bizplace,
86
- worksheet,
87
- name: WorksheetNoGenerator.pickingDetail(),
88
- targetInventory,
89
- type: WORKSHEET_TYPE.PICKING,
90
- status: WORKSHEET_STATUS.DEACTIVATED,
91
- creator: user,
92
- updater: user
93
- })
108
+ // 3. Create worksheet details
109
+ await tx.getRepository(WorksheetDetail).save({
110
+ ...wsd,
111
+ domain,
112
+ bizplace: worksheet.bizplace,
113
+ worksheet,
114
+ name: WorksheetNoGenerator.pickingDetail(),
115
+ targetInventory,
116
+ type: WORKSHEET_TYPE.PICKING,
117
+ status: WORKSHEET_STATUS.DEACTIVATED,
118
+ creator: user,
119
+ updater: user
94
120
  })
95
- )
96
- }
121
+ })
122
+ )
97
123
  }
@@ -1,9 +1,15 @@
1
1
  import * as Worksheet from './worksheet'
2
2
  import * as WorksheetDetail from './worksheet-detail'
3
3
  import * as WorksheetMovement from './worksheet-movement'
4
+ import * as PalletOutbound from './pallet'
4
5
 
5
- export const queries = [Worksheet.Query, WorksheetDetail.Query, WorksheetMovement.Query]
6
+ export const queries = [Worksheet.Query, WorksheetDetail.Query, WorksheetMovement.Query, PalletOutbound.Query]
6
7
 
7
- export const mutations = [Worksheet.Mutation, WorksheetDetail.Mutation, WorksheetMovement.Mutation]
8
+ export const mutations = [
9
+ Worksheet.Mutation,
10
+ WorksheetDetail.Mutation,
11
+ WorksheetMovement.Mutation,
12
+ PalletOutbound.Mutation
13
+ ]
8
14
 
9
- export const types = [...Worksheet.Types, ...WorksheetDetail.Types, ...WorksheetMovement.Types]
15
+ export const types = [...Worksheet.Types, ...WorksheetDetail.Types, ...WorksheetMovement.Types, ...PalletOutbound.Types]
@@ -0,0 +1,12 @@
1
+ import { PalletPatch } from './pallet'
2
+
3
+ export const Mutation = /* GraphQL */ `
4
+ palletOutbound (
5
+ refOrderNo: String!
6
+ patches: [PalletPatch]
7
+ ): Boolean @transaction
8
+ `
9
+
10
+ export const Types = /* GraphQL */ [PalletPatch]
11
+
12
+ export const Query = /* GraphQL */ ``
@@ -0,0 +1,7 @@
1
+ import { gql } from 'apollo-server-koa'
2
+
3
+ export const PalletPatch = gql`
4
+ input PalletPatch {
5
+ name: String
6
+ }
7
+ `
package/server/index.ts CHANGED
@@ -4,4 +4,5 @@ export * from './constants'
4
4
  export * from './entities'
5
5
  export * from './graphql'
6
6
  export * from './graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet'
7
+ export * from './graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details'
7
8
  export * from './migrations'
@@ -370,3 +370,25 @@ export async function inventoriesByStrategy(
370
370
  const total: number = await qb.getCount()
371
371
  return { items, total }
372
372
  }
373
+
374
+ export async function isInventoryExpiring(inventory: Inventory): Promise<boolean> {
375
+ if (!inventory.id) throw new Error('No inventory id provided')
376
+ let product: Product | undefined = inventory.product
377
+ if (!product) {
378
+ inventory = await getRepository(Inventory).findOne(inventory.id, {
379
+ relations: ['product']
380
+ })
381
+ product = inventory.product
382
+ }
383
+
384
+ const { expirationDate } = inventory
385
+ const { isRequiredCheckExpiry, expirationPeriod } = product
386
+
387
+ if (!isRequiredCheckExpiry || !expirationPeriod || expirationDate <= 0) return false
388
+
389
+ let date: Date = new Date()
390
+ const acceptBefore: Date = new Date(date.setDate(date.getDate() + expirationPeriod))
391
+ const expiryDate: Date = new Date(expirationDate)
392
+
393
+ return expiryDate < acceptBefore
394
+ }