@things-factory/worksheet-base 4.2.12 → 4.3.0

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 (85) hide show
  1. package/dist-server/controllers/outbound/loading-worksheet-controller.js +47 -10
  2. package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
  3. package/dist-server/controllers/outbound/picking-worksheet-controller.js +142 -5
  4. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  5. package/dist-server/controllers/outbound/sorting-worksheet-controller.js +116 -20
  6. package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
  7. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js +14 -1
  8. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -1
  9. package/dist-server/graphql/resolvers/worksheet/loading/loading.js +3 -10
  10. package/dist-server/graphql/resolvers/worksheet/loading/loading.js.map +1 -1
  11. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js +55 -21
  12. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js.map +1 -1
  13. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +1 -0
  14. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  15. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +1 -1
  16. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  17. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +8 -6
  18. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  19. package/dist-server/graphql/resolvers/worksheet/picking/index.js +2 -1
  20. package/dist-server/graphql/resolvers/worksheet/picking/index.js.map +1 -1
  21. package/dist-server/graphql/resolvers/worksheet/picking/picking.js +4 -4
  22. package/dist-server/graphql/resolvers/worksheet/picking/picking.js.map +1 -1
  23. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js +4 -4
  24. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js.map +1 -1
  25. package/dist-server/graphql/resolvers/worksheet/picking/seal-tote.js +15 -0
  26. package/dist-server/graphql/resolvers/worksheet/picking/seal-tote.js.map +1 -0
  27. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +10 -1
  28. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
  29. package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.js +11 -6
  30. package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.js.map +1 -1
  31. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js +4 -4
  32. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js.map +1 -1
  33. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js +4 -4
  34. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js.map +1 -1
  35. package/dist-server/graphql/resolvers/worksheet/worksheet.js +2 -0
  36. package/dist-server/graphql/resolvers/worksheet/worksheet.js.map +1 -1
  37. package/dist-server/graphql/resolvers/worksheet/worksheets.js +17 -2
  38. package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -1
  39. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js +5 -3
  40. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js.map +1 -1
  41. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js +15 -4
  42. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js.map +1 -1
  43. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js +4 -1
  44. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js.map +1 -1
  45. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js +6 -2
  46. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js.map +1 -1
  47. package/dist-server/graphql/types/worksheet/index.js +10 -0
  48. package/dist-server/graphql/types/worksheet/index.js.map +1 -1
  49. package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.js +1 -0
  50. package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.js.map +1 -1
  51. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js +2 -0
  52. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js.map +1 -1
  53. package/dist-server/graphql/types/worksheet/worksheet-info.js +2 -0
  54. package/dist-server/graphql/types/worksheet/worksheet-info.js.map +1 -1
  55. package/dist-server/graphql/types/worksheet/worksheet.js +1 -0
  56. package/dist-server/graphql/types/worksheet/worksheet.js.map +1 -1
  57. package/package.json +17 -17
  58. package/server/controllers/outbound/loading-worksheet-controller.ts +83 -17
  59. package/server/controllers/outbound/picking-worksheet-controller.ts +178 -7
  60. package/server/controllers/outbound/sorting-worksheet-controller.ts +167 -27
  61. package/server/graphql/resolvers/worksheet/batch-picking-worksheet.ts +14 -0
  62. package/server/graphql/resolvers/worksheet/loading/loading.ts +5 -12
  63. package/server/graphql/resolvers/worksheet/loading-worksheet.ts +66 -13
  64. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +1 -1
  65. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +1 -1
  66. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +13 -11
  67. package/server/graphql/resolvers/worksheet/picking/index.ts +3 -1
  68. package/server/graphql/resolvers/worksheet/picking/picking.ts +30 -4
  69. package/server/graphql/resolvers/worksheet/picking/scan-product-picking.ts +7 -4
  70. package/server/graphql/resolvers/worksheet/picking/seal-tote.ts +25 -0
  71. package/server/graphql/resolvers/worksheet/picking-worksheet.ts +13 -2
  72. package/server/graphql/resolvers/worksheet/sorting/complete-order-sorting.ts +13 -9
  73. package/server/graphql/resolvers/worksheet/sorting/scan-product-sorting.ts +5 -4
  74. package/server/graphql/resolvers/worksheet/sorting/sorting-product.ts +5 -4
  75. package/server/graphql/resolvers/worksheet/worksheet.ts +2 -0
  76. package/server/graphql/resolvers/worksheet/worksheets.ts +26 -2
  77. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +12 -3
  78. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.ts +22 -7
  79. package/server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.ts +6 -2
  80. package/server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts +7 -1
  81. package/server/graphql/types/worksheet/index.ts +10 -0
  82. package/server/graphql/types/worksheet/loaded-worksheet-detail.ts +1 -0
  83. package/server/graphql/types/worksheet/worksheet-detail-info.ts +2 -0
  84. package/server/graphql/types/worksheet/worksheet-info.ts +2 -0
  85. package/server/graphql/types/worksheet/worksheet.ts +1 -0
@@ -53,21 +53,17 @@ class LoadingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
53
53
  async loading(releaseGoodNo, worksheetDetails) {
54
54
  const releaseGood = await this.findRefOrder(sales_base_1.ReleaseGood, { domain: this.domain, name: releaseGoodNo }, ['bizplace']);
55
55
  const bizplace = releaseGood.bizplace;
56
- for (let worksheetDetail of worksheetDetails) {
57
- const loadedQty = worksheetDetail.loadedQty;
58
- worksheetDetail = await this.findExecutableWorksheetDetailByName(worksheetDetail.name, constants_1.WORKSHEET_TYPE.LOADING, [
59
- 'worksheet',
60
- 'targetInventory',
61
- 'targetInventory.inventory',
62
- 'targetInventory.product'
63
- ]);
56
+ for (let i = 0; i < worksheetDetails.length; i++) {
57
+ const loadedQty = worksheetDetails[i].loadedQty;
58
+ const toteName = worksheetDetails[i].toteName;
59
+ let worksheetDetail = await this.findExecutableWorksheetDetailByName(worksheetDetails[i].name, constants_1.WORKSHEET_TYPE.LOADING, ['worksheet', 'targetInventory', 'targetInventory.inventory', 'targetInventory.product']);
64
60
  const worksheet = worksheetDetail.worksheet;
65
61
  let targetInventory = worksheetDetail.targetInventory;
66
62
  const pickedQty = targetInventory.releaseQty;
67
63
  let inventory = targetInventory.inventory;
68
64
  targetInventory.loadedAt = new Date();
69
65
  targetInventory.loadedByUser = this.user;
70
- let loadedBy = targetInventory.loadedBy ? (targetInventory.loadedBy).split(',') : [];
66
+ let loadedBy = targetInventory.loadedBy ? targetInventory.loadedBy.split(',') : [];
71
67
  if (!loadedBy.find(x => x == this.user.name)) {
72
68
  loadedBy.push(this.user.name);
73
69
  targetInventory.loadedBy = loadedBy.join(',');
@@ -114,12 +110,42 @@ class LoadingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
114
110
  newTargetInventory.creator = this.user;
115
111
  newTargetInventory.updater = this.user;
116
112
  newTargetInventory = await this.trxMgr.getRepository(sales_base_1.OrderInventory).save(newTargetInventory);
117
- await this.createWorksheetDetails(worksheet, constants_1.WORKSHEET_TYPE.LOADING, [newTargetInventory], {
113
+ if (toteName) {
114
+ let foundOrderTote = await this.trxMgr
115
+ .getRepository(sales_base_1.OrderTote)
116
+ .findOne({ where: { name: toteName, releaseGood } });
117
+ let foundOrderToteItems = await this.trxMgr
118
+ .getRepository(sales_base_1.OrderToteItem)
119
+ .find({ where: { orderInventory: targetInventory.id } });
120
+ let foundOrderToteItemIds = foundOrderToteItems.map((itm) => itm.id);
121
+ await this.trxMgr
122
+ .getRepository(sales_base_1.OrderToteItem)
123
+ .update({ id: (0, typeorm_1.In)(foundOrderToteItemIds) }, { orderInventory: newTargetInventory });
124
+ let foundOrderToteItem = await this.trxMgr
125
+ .getRepository(sales_base_1.OrderToteItem)
126
+ .findOne({ where: { orderInventory: newTargetInventory.id, orderTote: foundOrderTote, qty: loadedQty } });
127
+ await this.trxMgr
128
+ .getRepository(sales_base_1.OrderToteItem)
129
+ .update({ id: foundOrderToteItem.id }, { orderInventory: targetInventory.id });
130
+ }
131
+ let newWorksheetDetail = await this.createWorksheetDetails(worksheet, constants_1.WORKSHEET_TYPE.LOADING, [newTargetInventory], {
118
132
  status: constants_1.WORKSHEET_STATUS.EXECUTING
119
133
  });
134
+ let worksheetDetailName = worksheetDetails[i].name;
135
+ worksheetDetails = worksheetDetails.map(record => {
136
+ if (record.name == worksheetDetailName && !(record === null || record === void 0 ? void 0 : record.targetInventory)) {
137
+ return Object.assign(Object.assign({}, record), { name: newWorksheetDetail[0].name });
138
+ }
139
+ else {
140
+ return record;
141
+ }
142
+ });
143
+ worksheetDetails[i].name = worksheetDetailName;
120
144
  }
145
+ worksheetDetails[i].targetInventory = targetInventory;
121
146
  await (0, utils_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.LOADING, 0, 0, this.user, this.trxMgr);
122
147
  }
148
+ return worksheetDetails;
123
149
  }
124
150
  async undoLoading(deliveryOrder, palletIds) {
125
151
  deliveryOrder = await this.findRefOrder(sales_base_1.DeliveryOrder, { id: deliveryOrder.id, domain: this.domain }, [
@@ -149,6 +175,9 @@ class LoadingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
149
175
  inventory: undoTargetOrderInventory.inventory
150
176
  }
151
177
  });
178
+ let undoOrderToteItem = await this.trxMgr
179
+ .getRepository(sales_base_1.OrderToteItem)
180
+ .findOne({ where: { orderInventory: undoTargetOrderInventory } });
152
181
  if (prevTargetInventory) {
153
182
  // If there's prev target inventory
154
183
  // Merge qty and uomValue into prev target inventory
@@ -156,6 +185,12 @@ class LoadingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
156
185
  prevTargetInventory.releaseUomValue += undoTargetOrderInventory.releaseUomValue;
157
186
  prevTargetInventory.updater = this.user;
158
187
  await this.updateOrderTargets([prevTargetInventory]);
188
+ //Update order tote item if any
189
+ if (undoOrderToteItem) {
190
+ undoOrderToteItem.orderInventoryId = prevTargetInventory.id;
191
+ undoOrderToteItem.orderInventory = prevTargetInventory;
192
+ await this.trxMgr.getRepository(sales_base_1.OrderToteItem).save(undoOrderToteItem);
193
+ }
159
194
  // Terminate undo target order inventory
160
195
  undoTargetOrderInventory.status = sales_base_1.ORDER_INVENTORY_STATUS.TERMINATED;
161
196
  await this.updateOrderTargets([undoTargetOrderInventory]);
@@ -197,6 +232,8 @@ class LoadingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
197
232
  name: releaseGoodNo,
198
233
  status: sales_base_1.ORDER_STATUS.LOADING
199
234
  });
235
+ const orderToteIds = await (await this.trxMgr.getRepository(sales_base_1.OrderTote).find({ where: { releaseGood }, relations: ['tote'] })).map((record) => record === null || record === void 0 ? void 0 : record.toteId);
236
+ await this.trxMgr.getRepository(warehouse_base_1.Tote).update({ id: (0, typeorm_1.In)(orderToteIds) }, { status: warehouse_base_1.TOTE_STATUS.DISPATCHED });
200
237
  const worksheet = await this.findWorksheetByRefOrder(releaseGood, constants_1.WORKSHEET_TYPE.LOADING, [
201
238
  'worksheetDetails',
202
239
  'worksheetDetails.targetInventory'
@@ -1 +1 @@
1
- {"version":3,"file":"loading-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/loading-worksheet-controller.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAGpC,2DAQmC;AACnC,mEAAsF;AAEtF,+CAAkE;AAClE,6CAA2D;AAC3D,uCAAsD;AACtD,8EAAwE;AAExE,MAAa,0BAA2B,SAAQ,iDAAsB;IACpE,KAAK,CAAC,wBAAwB,CAC5B,aAAqB,EACrB,iBAA4C;QAE5C,MAAM,WAAW,GAAgB,MAAM,IAAI,CAAC,YAAY,CACtD,wBAAW,EACX,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAC5C,CAAC,UAAU,CAAC,CACb,CAAA;QACD,OAAO,MAAM,IAAI,CAAC,iBAAiB,CACjC,0BAAc,CAAC,OAAO,EACtB,WAAW,EACX,iBAAiB,EACjB,yBAAY,CAAC,OAAO,EACpB,mCAAsB,CAAC,OAAO,CAC/B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,aAAqB,EACrB,iBAA4C,EAC5C,SAAoB;QAEpB,MAAM,WAAW,GAAgB,MAAM,IAAI,CAAC,YAAY,CACtD,wBAAW,EACX,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAC5C,CAAC,UAAU,CAAC,CACb,CAAA;QACD,OAAO,MAAM,IAAI,CAAC,eAAe,CAC/B,0BAAc,CAAC,OAAO,EACtB,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,yBAAY,CAAC,OAAO,EACpB,mCAAsB,CAAC,OAAO,CAC/B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,uBAAmD;QAC5F,MAAM,SAAS,GAAc,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,0BAAc,CAAC,OAAO,EAAE;YACpG,aAAa;YACb,kBAAkB;YAClB,kCAAkC;SACnC,CAAC,CAAA;QAEF,IAAI,WAAW,GAAgB,SAAS,CAAC,WAAW,CAAA;QACpD,MAAM,iBAAiB,GAAW,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,KAAK,CAAC;YACjF,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW;gBACX,IAAI,EAAE,0BAAc,CAAC,GAAG;gBACxB,MAAM,EAAE,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,4BAAgB,CAAC,IAAI,CAAC,CAAC;aAC1C;SACF,CAAC,CAAA;QACF,IAAI,iBAAiB;YAAE,OAAM;QAE7B,MAAM,gBAAgB,GAAsB,SAAS,CAAC,gBAAgB,CAAA;QACtE,IAAI,iBAAiB,GAAqB,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAE7G,iBAAiB,GAAG,iBAAiB;aAClC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,IAAI,mCAAsB,CAAC,MAAM,CAAC;aAClF,GAAG,CAAC,CAAC,eAA+B,EAAE,EAAE;YACvC,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;QAEJ,WAAW,CAAC,MAAM,GAAG,yBAAY,CAAC,OAAO,CAAA;QACzC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QAEtC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;QAClF,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,CAAA;IAC3F,CAAC;IAED,KAAK,CAAC,OAAO,CACX,aAAqB,EACrB,gBAAoE;QAEpE,MAAM,WAAW,GAAgB,MAAM,IAAI,CAAC,YAAY,CACtD,wBAAW,EACX,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAC5C,CAAC,UAAU,CAAC,CACb,CAAA;QACD,MAAM,QAAQ,GAAa,WAAW,CAAC,QAAQ,CAAA;QAE/C,KAAK,IAAI,eAAe,IAAI,gBAAgB,EAAE;YAC5C,MAAM,SAAS,GAAW,eAAe,CAAC,SAAS,CAAA;YACnD,eAAe,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,eAAe,CAAC,IAAI,EAAE,0BAAc,CAAC,OAAO,EAAE;gBAC7G,WAAW;gBACX,iBAAiB;gBACjB,2BAA2B;gBAC3B,yBAAyB;aAC1B,CAAC,CAAA;YAEF,MAAM,SAAS,GAAc,eAAe,CAAC,SAAS,CAAA;YACtD,IAAI,eAAe,GAAmB,eAAe,CAAC,eAAe,CAAA;YACrE,MAAM,SAAS,GAAW,eAAe,CAAC,UAAU,CAAA;YACpD,IAAI,SAAS,GAAc,eAAe,CAAC,SAAS,CAAA;YAEpD,eAAe,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAA;YACrC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;YAEzC,IAAI,QAAQ,GAAa,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC9F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC7B,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aAC9C;YAED,IAAI,SAAS,GAAG,SAAS,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,yCAAyC,CAAC,CAAC,CAAA;aACjH;iBAAM,IAAI,SAAS,IAAI,SAAS,EAAE;gBACjC,4CAA4C;gBAC5C,eAAe,CAAC,MAAM,GAAG,4BAAgB,CAAC,IAAI,CAAA;gBAC9C,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;gBACnC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAEtE,mCAAmC;gBACnC,eAAe,CAAC,MAAM,GAAG,mCAAsB,CAAC,MAAM,CAAA;gBACtD,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;gBACnC,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;aACjD;iBAAM,IAAI,SAAS,GAAG,SAAS,EAAE;gBAChC,MAAM,SAAS,GAAW,SAAS,GAAG,SAAS,CAAA;gBAC/C,MAAM,cAAc,GAAW,UAAU,CACvC,CAAC,CAAC,eAAe,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACvE,CAAA;gBACD,MAAM,cAAc,GAAW,UAAU,CAAC,CAAC,eAAe,CAAC,eAAe,GAAG,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;gBAExG,eAAe,CAAC,MAAM,GAAG,mCAAsB,CAAC,MAAM,CAAA;gBACtD,eAAe,CAAC,UAAU,GAAG,SAAS,CAAA;gBACtC,eAAe,CAAC,eAAe,GAAG,cAAc,CAAA;gBAChD,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;gBACnC,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;gBAEhD,eAAe,CAAC,MAAM,GAAG,4BAAgB,CAAC,IAAI,CAAA;gBAC9C,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;gBACnC,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAExF,4CAA4C;gBAC5C,IAAI,kBAAkB,GAAmB,IAAI,2BAAc,EAAE,CAAA;gBAC7D,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;gBACvC,kBAAkB,CAAC,QAAQ,GAAG,QAAQ,CAAA;gBACtC,kBAAkB,CAAC,IAAI,GAAG,6BAAgB,CAAC,cAAc,EAAE,CAAA;gBAC3D,kBAAkB,CAAC,WAAW,GAAG,WAAW,CAAA;gBAC5C,kBAAkB,CAAC,SAAS,GAAG,SAAS,CAAA;gBACxC,kBAAkB,CAAC,IAAI,GAAG,wBAAW,CAAC,gBAAgB,CAAA;gBACtD,kBAAkB,CAAC,MAAM,GAAG,mCAAsB,CAAC,OAAO,CAAA;gBAC1D,kBAAkB,CAAC,UAAU,GAAG,SAAS,CAAA;gBACzC,kBAAkB,CAAC,eAAe,GAAG,cAAc,CAAA;gBACnD,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAA;gBACpD,kBAAkB,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAA;gBAC5D,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAA;gBACpD,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;gBACtC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;gBACtC,kBAAkB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;gBAE7F,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,0BAAc,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE;oBACzF,MAAM,EAAE,4BAAgB,CAAC,SAAS;iBACnC,CAAC,CAAA;aACH;YAED,MAAM,IAAA,gCAAwB,EAC5B,SAAS,EACT,WAAW,EACX,2CAA0B,CAAC,OAAO,EAClC,CAAC,EACD,CAAC,EACD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,CACZ,CAAA;SACF;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,aAAqC,EAAE,SAAmB;QAC1E,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,0BAAa,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE;YACpG,aAAa;SACd,CAAC,CAAA;QAEF,MAAM,WAAW,GAAgB,aAAa,CAAC,WAAW,CAAA;QAE1D,MAAM,iBAAiB,GAAqB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,IAAI,CAAC;YAC/F,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,mCAAsB,CAAC,MAAM,EAAE;YACpF,SAAS,EAAE,CAAC,WAAW,CAAC;SACzB,CAAC,CAAA;QACF,2DAA2D;QAC3D,IAAI,0BAA0B,GAAqB,iBAAiB,CAAC,MAAM,CACzE,CAAC,eAA+B,EAAE,EAAE,CAClC,eAAe,CAAC,MAAM,KAAK,mCAAsB,CAAC,MAAM;YACxD,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CACzD,CAAA;QAED,uEAAuE;QACvE,KAAK,IAAI,wBAAwB,IAAI,0BAA0B,EAAE;YAC/D,wBAAwB,CAAC,aAAa,GAAG,IAAI,CAAA;YAC7C,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;YAE5C,wBAAwB,CAAC,QAAQ,GAAG,IAAI,CAAA;YACxC,wBAAwB,CAAC,YAAY,GAAG,IAAI,CAAA;YAC5C,wBAAwB,CAAC,QAAQ,GAAG,IAAI,CAAA;YAExC,IAAI,mBAAmB,GAAmB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,OAAO,CAAC;gBAChG,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,EAAE,EAAE,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;oBAC3C,WAAW;oBACX,MAAM,EAAE,mCAAsB,CAAC,OAAO;oBACtC,SAAS,EAAE,wBAAwB,CAAC,SAAS;iBAC9C;aACF,CAAC,CAAA;YAEF,IAAI,mBAAmB,EAAE;gBACvB,mCAAmC;gBACnC,oDAAoD;gBACpD,mBAAmB,CAAC,UAAU,IAAI,wBAAwB,CAAC,UAAU,CAAA;gBACrE,mBAAmB,CAAC,eAAe,IAAI,wBAAwB,CAAC,eAAe,CAAA;gBAC/E,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;gBACvC,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAA;gBAEpD,wCAAwC;gBACxC,wBAAwB,CAAC,MAAM,GAAG,mCAAsB,CAAC,UAAU,CAAA;gBACnE,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAA;gBAEzD,0BAA0B;gBAC1B,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,MAAM,CAAC;oBACtD,eAAe,EAAE,wBAAwB;oBACzC,IAAI,EAAE,0BAAc,CAAC,OAAO;oBAC5B,MAAM,EAAE,4BAAgB,CAAC,IAAI;iBAC9B,CAAC,CAAA;aACH;iBAAM;gBACL,+BAA+B;gBAC/B,wBAAwB,CAAC,MAAM,GAAG,mCAAsB,CAAC,OAAO,CAAA;gBAChE,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAA;gBAEzD,6CAA6C;gBAC7C,IAAI,yBAAyB,GAAoB,MAAM,IAAI,CAAC,mBAAmB,CAAC;oBAC9E,eAAe,EAAE,wBAAwB;oBACzC,IAAI,EAAE,0BAAc,CAAC,OAAO;oBAC5B,MAAM,EAAE,4BAAgB,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBACF,yBAAyB,CAAC,MAAM,GAAG,4BAAgB,CAAC,SAAS,CAAA;gBAC7D,yBAAyB,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;gBAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;aACjF;YAED,2BAA2B;YAC3B,IAAI,SAAS,GAAc,wBAAwB,CAAC,SAAS,CAAA;YAC7D,MAAM,IAAA,gCAAwB,EAAC,SAAS,EAAE,WAAW,EAAE,2CAA0B,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;SACjH;QAED,sEAAsE;QACtE,kDAAkD;QAClD,0CAA0C;QAC1C,IAAI,iBAAiB,CAAC,MAAM,KAAK,0BAA0B,CAAC,MAAM,EAAE;YAClE,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAa,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;SACxE;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,aAAqB;QACzC,MAAM,WAAW,GAAgB,MAAM,IAAI,CAAC,YAAY,CAAC,wBAAW,EAAE;YACpE,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,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,yBAAY,CAAC,IAAI,CAAC,CAAA;IACnE,CAAC;CACF;AAjRD,gEAiRC"}
1
+ {"version":3,"file":"loading-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/loading-worksheet-controller.ts"],"names":[],"mappings":"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"}
@@ -275,7 +275,7 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
275
275
  status: sales_base_1.ORDER_INVENTORY_STATUS.COMPLETE_SPLIT
276
276
  }, { status: sales_base_1.ORDER_INVENTORY_STATUS.PENDING_SPLIT, updater: this.user, updatedAt: new Date() });
277
277
  }
278
- async scanProductPicking(worksheetDetailName, worksheetType, productBarcode, cartonId, binLocation, serialNumber) {
278
+ async scanProductPicking(worksheetDetailName, worksheetType, productBarcode, cartonId, binLocation, serialNumber, toteNo) {
279
279
  try {
280
280
  let worksheetDetail = await this.findExecutableWorksheetDetailByName(worksheetDetailName, worksheetType, [
281
281
  'worksheet',
@@ -284,14 +284,17 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
284
284
  'targetInventory.releaseGood',
285
285
  'targetInventory.inventory',
286
286
  'targetInventory.product',
287
+ 'targetInventory.orderProduct',
287
288
  'targetInventory.product.productDetails',
288
289
  'targetInventory.product.productDetails.product',
289
290
  'targetInventory.product.productDetails.childProductDetail'
290
291
  ]);
291
292
  const releaseGood = worksheetDetail.targetInventory.releaseGood;
292
293
  let targetInventory = worksheetDetail.targetInventory;
294
+ let targetProduct = targetInventory.orderProduct;
293
295
  const product = targetInventory.product;
294
296
  let inventory = targetInventory.inventory;
297
+ let bizplace = worksheetDetail.worksheet.bizplace;
295
298
  //validation to prevent duplicated picking
296
299
  let oiValidate = await this.trxMgr.getRepository(sales_base_1.OrderInventory).findOne({
297
300
  where: { domain: this.domain, id: targetInventory.id, status: sales_base_1.ORDER_INVENTORY_STATUS.PICKING }
@@ -375,18 +378,23 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
375
378
  await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(inventoryItem);
376
379
  }
377
380
  }
381
+ if (toteNo) {
382
+ await this.toteScanning(toteNo, targetProduct, targetInventory, pickedQty, releaseGood, bizplace);
383
+ }
378
384
  await this.updatePickingTransaction(releaseGood, targetInventory, worksheetDetail, inventory, pickedQty);
379
385
  }
380
386
  catch (error) {
381
387
  throw error;
382
388
  }
383
389
  }
384
- async picking(worksheetDetailName, worksheetType, palletId, locationName, pickedQty, binLocation, serialNumber) {
390
+ async picking(worksheetDetailName, worksheetType, palletId, locationName, pickedQty, binLocation, serialNumber, toteNo) {
385
391
  try {
386
392
  let worksheetDetail = await this.findExecutableWorksheetDetailByName(worksheetDetailName, worksheetType, [
387
393
  'worksheet',
394
+ 'worksheet.bizplace',
388
395
  'targetInventory',
389
396
  'targetInventory.releaseGood',
397
+ 'targetInventory.orderProduct',
390
398
  'targetInventory.inventory',
391
399
  'targetInventory.inventory.location',
392
400
  'targetInventory.product'
@@ -395,6 +403,8 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
395
403
  let targetInventory = worksheetDetail.targetInventory;
396
404
  const product = targetInventory.product;
397
405
  let inventory = targetInventory.inventory;
406
+ let targetProduct = targetInventory.orderProduct;
407
+ let bizplace = worksheetDetail.worksheet.bizplace;
398
408
  //validation to prevent duplicated picking
399
409
  let oiValidate = await this.trxMgr.getRepository(sales_base_1.OrderInventory).findOne({
400
410
  where: { domain: this.domain, id: targetInventory.id, status: sales_base_1.ORDER_INVENTORY_STATUS.PICKING }
@@ -474,6 +484,9 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
474
484
  }
475
485
  }
476
486
  targetInventory = await this.checkAndSetBinPicking(targetInventory, binLocation);
487
+ if (toteNo) {
488
+ await this.toteScanning(toteNo, targetProduct, targetInventory, pickedQty, releaseGood, bizplace);
489
+ }
477
490
  await this.updatePickingTransaction(releaseGood, targetInventory, worksheetDetail, inventory, pickedQty);
478
491
  const fromLocation = targetInventory.inventory.location;
479
492
  if (locationName) {
@@ -684,6 +697,12 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
684
697
  name: releaseGoodNo,
685
698
  status: sales_base_1.ORDER_STATUS.PICKING
686
699
  });
700
+ const foundNotSealedOrderTote = await this.trxMgr
701
+ .getRepository(sales_base_1.OrderTote)
702
+ .findOne({ where: { releaseGood, closedDate: (0, typeorm_1.IsNull)() } });
703
+ if (foundNotSealedOrderTote) {
704
+ throw new Error('Please seal the tote(s) before completing');
705
+ }
687
706
  let worksheet = await this.findWorksheetByRefOrder(releaseGood, constants_1.WORKSHEET_TYPE.PICKING, [
688
707
  'worksheetDetails',
689
708
  'worksheetDetails.targetInventory'
@@ -735,20 +754,20 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
735
754
  worksheet.endedAt = new Date();
736
755
  worksheet.updater = this.user;
737
756
  worksheet = await this.trxMgr.getRepository(entities_1.Worksheet).save(worksheet);
738
- const worksheetDetails = worksheet.worksheetDetails;
757
+ const worksheetDetails = worksheet.worksheetDetails.filter(wsD => wsD.status != 'MISSING');
739
758
  worksheetDetails.forEach((wsd) => {
740
759
  wsd.status = constants_1.WORKSHEET_STATUS.DONE;
741
760
  wsd.updater = this.user;
742
761
  });
743
762
  await this.trxMgr.getRepository(entities_1.WorksheetDetail).save(worksheetDetails);
744
- const targetInventories = worksheet.worksheetDetails.map((wsd) => {
763
+ const targetInventories = worksheetDetails.map((wsd) => {
745
764
  let targetInventory = wsd.targetInventory;
746
765
  targetInventory.status = sales_base_1.ORDER_INVENTORY_STATUS.TERMINATED;
747
766
  targetInventory.updater = this.user;
748
767
  return targetInventory;
749
768
  });
750
769
  await this.updateOrderTargets(targetInventories);
751
- const releaseGoods = worksheet.worksheetDetails.map((wsd) => {
770
+ const releaseGoods = worksheetDetails.map((wsd) => {
752
771
  let releaseGood = wsd.targetInventory.releaseGood;
753
772
  let orderStatus;
754
773
  if (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.packingOption) {
@@ -804,6 +823,7 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
804
823
  return orderInventory;
805
824
  }
806
825
  async updatePickingTransaction(releaseGood, orderInventory, worksheetDetail, inventory, pickedQty) {
826
+ var _a;
807
827
  const releaseQty = orderInventory.releaseQty;
808
828
  orderInventory.pickedQty = Boolean(orderInventory === null || orderInventory === void 0 ? void 0 : orderInventory.pickedQty) ? orderInventory.pickedQty + pickedQty : pickedQty;
809
829
  if (orderInventory.pickedQty == releaseQty) {
@@ -812,6 +832,9 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
812
832
  throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `quantity can't exceed limitation`));
813
833
  }
814
834
  orderInventory.status = sales_base_1.ORDER_INVENTORY_STATUS.PICKED;
835
+ orderInventory.pickedBy = (_a = this.user) === null || _a === void 0 ? void 0 : _a.name;
836
+ orderInventory.pickedByUser = this.user;
837
+ orderInventory.pickedAt = new Date();
815
838
  inventory.qty -= orderInventory.releaseQty;
816
839
  inventory.uomValue = Math.round((inventory.uomValue - orderInventory.releaseUomValue) * 100) / 100;
817
840
  inventory.lockedQty = inventory.lockedQty - orderInventory.releaseQty;
@@ -985,6 +1008,67 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
985
1008
  }
986
1009
  catch (e) { }
987
1010
  }
1011
+ async toteScanning(toteNo, targetProduct, targetInventory, pickedQty, releaseGood, bizplace) {
1012
+ //1. find tote
1013
+ let foundTote = await this.trxMgr
1014
+ .getRepository(warehouse_base_1.Tote)
1015
+ .findOne({ where: { bizplace, name: toteNo, deletedAt: (0, typeorm_1.IsNull)() } });
1016
+ if ((foundTote === null || foundTote === void 0 ? void 0 : foundTote.status) == warehouse_base_1.TOTE_STATUS.DAMAGED || (foundTote === null || foundTote === void 0 ? void 0 : foundTote.status) == warehouse_base_1.TOTE_STATUS.DISPATCHED) {
1017
+ foundTote = null;
1018
+ }
1019
+ //2. find order tote
1020
+ let foundOrderTote = await this.trxMgr
1021
+ .getRepository(sales_base_1.OrderTote)
1022
+ .findOne({ where: { domain: this.domain, name: toteNo, releaseGood } });
1023
+ //if order tote not found the create one, if tote not found means it's tote box
1024
+ //create order tote item
1025
+ if (!foundOrderTote) {
1026
+ const orderTote = await this.trxMgr.getRepository(sales_base_1.OrderTote).save({
1027
+ name: toteNo,
1028
+ domain: this.domain,
1029
+ releaseGood,
1030
+ tote: foundTote ? foundTote : null,
1031
+ updater: this.user
1032
+ });
1033
+ const orderToteItem = await this.trxMgr.getRepository(sales_base_1.OrderToteItem).save({
1034
+ domain: this.domain,
1035
+ name: sales_base_1.OrderNoGenerator.orderToteItem(),
1036
+ orderProduct: targetProduct,
1037
+ orderInventory: targetInventory,
1038
+ orderTote,
1039
+ qty: pickedQty,
1040
+ updater: this.user
1041
+ });
1042
+ }
1043
+ else {
1044
+ if (foundOrderTote.closedDate) {
1045
+ throw new Error('Tote has been sealed, please try another tote!');
1046
+ }
1047
+ //if found order tote then check if order tote item exist
1048
+ const foundOrderToteItem = await this.trxMgr.getRepository(sales_base_1.OrderToteItem).findOne({
1049
+ domain: this.domain,
1050
+ orderProduct: targetProduct,
1051
+ orderInventory: targetInventory,
1052
+ orderTote: foundOrderTote
1053
+ });
1054
+ //if not order tote item doesnt exist then create one
1055
+ if (!foundOrderToteItem) {
1056
+ const orderToteItem = await this.trxMgr.getRepository(sales_base_1.OrderToteItem).save({
1057
+ domain: this.domain,
1058
+ name: sales_base_1.OrderNoGenerator.orderToteItem(),
1059
+ orderProduct: targetProduct,
1060
+ orderInventory: targetInventory,
1061
+ orderTote: foundOrderTote,
1062
+ qty: pickedQty,
1063
+ updater: this.user
1064
+ });
1065
+ }
1066
+ else {
1067
+ //if found order tote item found then add the quantity
1068
+ const orderToteItem = await this.trxMgr.getRepository(sales_base_1.OrderToteItem).save(Object.assign(Object.assign({}, foundOrderToteItem), { qty: foundOrderToteItem.qty + pickedQty }));
1069
+ }
1070
+ }
1071
+ }
988
1072
  async undoSerialNumberPicking(worksheetDetailName, inventoryItemId) {
989
1073
  const worksheetDetail = await this.trxMgr.getRepository(entities_1.WorksheetDetail).findOne({
990
1074
  where: { name: worksheetDetailName, domain: this.domain, status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(constants_1.WORKSHEET_STATUS.DEACTIVATED)) },
@@ -1041,6 +1125,59 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
1041
1125
  targetInventory.updater = this.user;
1042
1126
  await this.updateOrderTargets([targetInventory]);
1043
1127
  }
1128
+ async sealTote(sealNo, toteNo, orderNo) {
1129
+ const checkDuplicateSeal = await this.trxMgr.getRepository(sales_base_1.OrderToteSeal).findOne({
1130
+ where: {
1131
+ name: sealNo
1132
+ }
1133
+ });
1134
+ if (checkDuplicateSeal) {
1135
+ throw new Error('Seal has been scanned before');
1136
+ }
1137
+ const releaseGood = await this.trxMgr
1138
+ .getRepository(sales_base_1.ReleaseGood)
1139
+ .findOne({ where: { domain: this.domain, name: orderNo }, relations: ['bizplace', 'bizplace.domain'] });
1140
+ let sealNoSetting = await this.trxMgr.getRepository(setting_base_1.Setting).findOne({
1141
+ where: {
1142
+ domain: releaseGood.bizplace.domain,
1143
+ name: 'minimum-seal-number'
1144
+ }
1145
+ });
1146
+ if (!sealNoSetting) {
1147
+ sealNoSetting = await this.trxMgr.getRepository(setting_base_1.Setting).findOne({
1148
+ where: {
1149
+ domain: this.domain,
1150
+ name: 'minimum-seal-number'
1151
+ }
1152
+ });
1153
+ }
1154
+ const foundOrderTote = await this.trxMgr
1155
+ .getRepository(sales_base_1.OrderTote)
1156
+ .findOne({ where: { domain: this.domain, name: toteNo, releaseGood } });
1157
+ if (!foundOrderTote) {
1158
+ throw new Error('Tote not scanned under this order');
1159
+ }
1160
+ let totalOrderToteItems = await this.trxMgr.getRepository(sales_base_1.OrderToteItem).count({
1161
+ where: {
1162
+ orderTote: foundOrderTote
1163
+ }
1164
+ });
1165
+ if (totalOrderToteItems < 1) {
1166
+ throw new Error('Tote carton is empty');
1167
+ }
1168
+ const newToteOrderSeal = await this.trxMgr.getRepository(sales_base_1.OrderToteSeal).save({
1169
+ domain: this.domain,
1170
+ name: sealNo,
1171
+ orderTote: foundOrderTote,
1172
+ updater: this.user
1173
+ });
1174
+ const totalSeal = await this.trxMgr.getRepository(sales_base_1.OrderToteSeal).count({
1175
+ orderTote: foundOrderTote
1176
+ });
1177
+ if (totalSeal >= parseInt((sealNoSetting === null || sealNoSetting === void 0 ? void 0 : sealNoSetting.value) || 0)) {
1178
+ await this.trxMgr.getRepository(sales_base_1.OrderTote).save(Object.assign(Object.assign({}, foundOrderTote), { closedDate: new Date() }));
1179
+ }
1180
+ }
1044
1181
  }
1045
1182
  exports.PickingWorksheetController = PickingWorksheetController;
1046
1183
  //# sourceMappingURL=picking-worksheet-controller.js.map