@things-factory/worksheet-base 4.3.103 → 4.3.105-alpha.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 (81) hide show
  1. package/dist-server/controllers/inbound/unloading-worksheet-controller.js +56 -72
  2. package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
  3. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js +2 -4
  4. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js.map +1 -1
  5. package/dist-server/controllers/outbound/loading-worksheet-controller.js +10 -4
  6. package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
  7. package/dist-server/controllers/outbound/packing-worksheet-controller.js +51 -34
  8. package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
  9. package/dist-server/controllers/outbound/picking-worksheet-controller.js +78 -48
  10. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  11. package/dist-server/controllers/outbound/sorting-worksheet-controller.js +12 -14
  12. package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
  13. package/dist-server/controllers/render-orientage-do.js +2 -2
  14. package/dist-server/controllers/render-orientage-do.js.map +1 -1
  15. package/dist-server/controllers/vas/vas-worksheet-controller.js +1 -2
  16. package/dist-server/controllers/vas/vas-worksheet-controller.js.map +1 -1
  17. package/dist-server/controllers/worksheet-controller.js +3 -8
  18. package/dist-server/controllers/worksheet-controller.js.map +1 -1
  19. package/dist-server/entities/index.js +3 -2
  20. package/dist-server/entities/index.js.map +1 -1
  21. package/dist-server/entities/warehouse-bizplace-onhand-inventory.js +29 -62
  22. package/dist-server/entities/warehouse-bizplace-onhand-inventory.js.map +1 -1
  23. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js +6 -0
  24. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -1
  25. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +1 -2
  26. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
  27. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +6 -6
  28. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
  29. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +2 -1
  30. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
  31. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +5 -22
  32. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
  33. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +39 -59
  34. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  35. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +3 -2
  36. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
  37. package/dist-server/graphql/resolvers/worksheet/transfer.js +9 -9
  38. package/dist-server/graphql/resolvers/worksheet/transfer.js.map +1 -1
  39. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +1 -1
  40. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
  41. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js +17 -17
  42. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js.map +1 -1
  43. package/dist-server/graphql/resolvers/worksheet/worksheets.js +1 -1
  44. package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -1
  45. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js +4 -4
  46. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js.map +1 -1
  47. package/dist-server/graphql/types/worksheet/index.js +1 -1
  48. package/dist-server/graphql/types/worksheet-detail/index.js +1 -0
  49. package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -1
  50. package/dist-server/utils/inventory-util.js +1 -98
  51. package/dist-server/utils/inventory-util.js.map +1 -1
  52. package/dist-server/utils/worksheet-util.js +1 -3
  53. package/dist-server/utils/worksheet-util.js.map +1 -1
  54. package/package.json +17 -17
  55. package/server/controllers/inbound/unloading-worksheet-controller.ts +70 -85
  56. package/server/controllers/inspect/cycle-count-worksheet-controller.ts +2 -4
  57. package/server/controllers/outbound/loading-worksheet-controller.ts +9 -3
  58. package/server/controllers/outbound/packing-worksheet-controller.ts +61 -51
  59. package/server/controllers/outbound/picking-worksheet-controller.ts +98 -66
  60. package/server/controllers/outbound/sorting-worksheet-controller.ts +12 -12
  61. package/server/controllers/render-orientage-do.ts +2 -3
  62. package/server/controllers/vas/vas-worksheet-controller.ts +2 -2
  63. package/server/controllers/worksheet-controller.ts +18 -23
  64. package/server/entities/index.ts +2 -2
  65. package/server/entities/warehouse-bizplace-onhand-inventory.ts +29 -63
  66. package/server/graphql/resolvers/worksheet/batch-picking-worksheet.ts +6 -0
  67. package/server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts +1 -2
  68. package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +2 -2
  69. package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +3 -1
  70. package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +5 -24
  71. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +58 -95
  72. package/server/graphql/resolvers/worksheet/picking-worksheet.ts +3 -2
  73. package/server/graphql/resolvers/worksheet/transfer.ts +18 -16
  74. package/server/graphql/resolvers/worksheet/unloaded-inventories.ts +1 -1
  75. package/server/graphql/resolvers/worksheet/vas-transactions/common-utils.ts +3 -2
  76. package/server/graphql/resolvers/worksheet/worksheets.ts +1 -1
  77. package/server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts +4 -1
  78. package/server/graphql/types/worksheet/index.ts +1 -1
  79. package/server/graphql/types/worksheet-detail/index.ts +1 -0
  80. package/server/utils/inventory-util.ts +1 -126
  81. package/server/utils/worksheet-util.ts +1 -3
@@ -6,7 +6,6 @@ const sales_base_1 = require("@things-factory/sales-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 utils_1 = require("../../utils");
10
9
  const vas_worksheet_controller_1 = require("../vas/vas-worksheet-controller");
11
10
  class LoadingWorksheetController extends vas_worksheet_controller_1.VasWorksheetController {
12
11
  async generateLoadingWorksheet(releaseGoodNo, targetInventories) {
@@ -56,7 +55,13 @@ class LoadingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
56
55
  for (let i = 0; i < worksheetDetails.length; i++) {
57
56
  const loadedQty = worksheetDetails[i].loadedQty;
58
57
  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']);
58
+ let worksheetDetail = await this.findExecutableWorksheetDetailByName(worksheetDetails[i].name, constants_1.WORKSHEET_TYPE.LOADING, [
59
+ 'worksheet',
60
+ 'targetInventory',
61
+ 'targetInventory.inventory',
62
+ 'targetInventory.product',
63
+ 'targetInventory.productDetail'
64
+ ]);
60
65
  const worksheet = worksheetDetail.worksheet;
61
66
  let targetInventory = worksheetDetail.targetInventory;
62
67
  const pickedQty = targetInventory.releaseQty;
@@ -105,6 +110,7 @@ class LoadingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
105
110
  newTargetInventory.releaseQty = remainQty;
106
111
  newTargetInventory.releaseUomValue = remainUomValue;
107
112
  newTargetInventory.product = targetInventory.product;
113
+ newTargetInventory.productDetail = targetInventory.productDetail;
108
114
  newTargetInventory.packingType = targetInventory.packingType;
109
115
  newTargetInventory.batchId = targetInventory.batchId;
110
116
  newTargetInventory.creator = this.user;
@@ -143,7 +149,7 @@ class LoadingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
143
149
  worksheetDetails[i].name = worksheetDetailName;
144
150
  }
145
151
  worksheetDetails[i].targetInventory = targetInventory;
146
- await (0, utils_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.LOADING, 0, 0, this.user, this.trxMgr);
152
+ await (0, warehouse_base_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.LOADING, 0, 0, this.user, this.trxMgr);
147
153
  }
148
154
  return worksheetDetails;
149
155
  }
@@ -217,7 +223,7 @@ class LoadingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
217
223
  }
218
224
  // Create inventory history
219
225
  let inventory = undoTargetOrderInventory.inventory;
220
- await (0, utils_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.UNDO_LOADING, 0, 0, this.user);
226
+ await (0, warehouse_base_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.UNDO_LOADING, 0, 0, this.user);
221
227
  }
222
228
  // Compare total inventories length and undo target inventories length
223
229
  // to check whether there's more order inventories
@@ -1 +1 @@
1
- {"version":3,"file":"loading-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/loading-worksheet-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loading-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/loading-worksheet-controller.ts"],"names":[],"mappings":"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"}
@@ -64,12 +64,14 @@ class PackingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
64
64
  'targetInventory.releaseGood',
65
65
  'targetInventory.inventory',
66
66
  'targetInventory.inventory.location',
67
- 'targetInventory.product'
67
+ 'targetInventory.product',
68
+ 'targetInventory.productDetail'
68
69
  ]);
69
- const releaseGood = worksheetDetail.targetInventory.releaseGood;
70
70
  let targetInventory = worksheetDetail.targetInventory;
71
- const product = targetInventory.product;
72
71
  let inventory = targetInventory.inventory;
72
+ const releaseGood = worksheetDetail.targetInventory.releaseGood;
73
+ const product = targetInventory.product;
74
+ const productDetail = targetInventory.productDetail;
73
75
  const pickedQty = targetInventory.releaseQty;
74
76
  if (packedQty > pickedQty) {
75
77
  throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('pack', `packed quantity can't exceed release qty`));
@@ -81,8 +83,7 @@ class PackingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
81
83
  throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('packing', `require serial number`));
82
84
  }
83
85
  let foundSerialNumber = await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).findOne({
84
- where: { domain: this.domain, serialNumber: serialNumber, product },
85
- relations: ['product', 'inventory']
86
+ where: { domain: this.domain, serialNumber: serialNumber, productDetail }
86
87
  });
87
88
  if (foundSerialNumber) {
88
89
  if (foundSerialNumber.outboundOrderId) {
@@ -104,6 +105,7 @@ class PackingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
104
105
  inventoryItem.source = warehouse_base_1.INVENTORY_ITEM_SOURCE.OUTBOUND;
105
106
  inventoryItem.outboundOrderId = releaseGood.id;
106
107
  inventoryItem.product = product;
108
+ inventoryItem.productDetail = productDetail;
107
109
  inventoryItem.inventory = inventory;
108
110
  inventoryItem.domain = this.domain;
109
111
  foundSerialNumber = await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(inventoryItem);
@@ -132,37 +134,44 @@ class PackingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
132
134
  return worksheetDetail;
133
135
  }
134
136
  async scanProductPacking(worksheetDetailName, productBarcode, serialNumber) {
135
- let worksheetDetail = await this.findExecutableWorksheetDetailByName(worksheetDetailName, constants_1.WORKSHEET_TYPE.PACKING, [
136
- 'worksheet',
137
- 'worksheet.bizplace',
138
- 'worksheet.bizplace.domain',
139
- 'targetInventory',
140
- 'targetInventory.releaseGood',
141
- 'targetInventory.inventory',
142
- 'targetInventory.inventory.product',
143
- 'targetInventory.inventory.product.productDetails',
144
- 'targetInventory.inventory.product.productDetails.childProductDetail',
145
- 'targetInventory.inventory.location'
146
- ]);
147
- const releaseGood = worksheetDetail.targetInventory.releaseGood;
148
- const product = worksheetDetail.targetInventory.inventory.product;
149
- const filterProductDetails = product === null || product === void 0 ? void 0 : product.productDetails.filter(detail => !detail.deletedAt);
137
+ let worksheetDetail = await this.trxMgr
138
+ .getRepository(entities_1.WorksheetDetail)
139
+ .createQueryBuilder('wd')
140
+ .innerJoinAndSelect('wd.bizplace', 'b') //
141
+ .innerJoinAndSelect('wd.targetInventory', 'oi')
142
+ .innerJoinAndSelect('oi.releaseGood', 'rg')
143
+ .innerJoinAndSelect('oi.inventory', 'inv')
144
+ .leftJoinAndSelect('oi.orderProduct', 'op')
145
+ .innerJoinAndSelect('oi.product', 'prd')
146
+ .innerJoinAndSelect('oi.productDetail', 'pd')
147
+ .where('wd.id = :id', { id: worksheetDetailName })
148
+ .getOne();
150
149
  let targetInventory = worksheetDetail.targetInventory;
151
150
  let inventory = targetInventory.inventory;
152
151
  let packedQty = 1;
153
152
  let pickedQty = targetInventory.releaseQty;
154
- // search for matching product barcode
155
- const productDetail = product === null || product === void 0 ? void 0 : product.productDetails.filter(detail => !detail.deletedAt).find(detail => detail.gtin === productBarcode &&
156
- detail.packingType === inventory.packingType &&
157
- detail.packingSize === inventory.packingSize);
158
- if (!productDetail && !(product === null || product === void 0 ? void 0 : product.isRequireSerialNumberScanningOutbound)) {
159
- let roProductDetail = product === null || product === void 0 ? void 0 : product.productDetails.find((parentDetail) => parentDetail.packingType === inventory.packingType && parentDetail.packingSize == inventory.packingSize);
160
- roProductDetail.product = product;
161
- let childQty = await this.getChildQty(filterProductDetails, productBarcode, roProductDetail);
162
- packedQty *= childQty;
163
- }
164
- else if (!productDetail) {
165
- throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode));
153
+ const releaseGood = targetInventory.releaseGood;
154
+ const product = targetInventory.inventory.product;
155
+ const productDetail = targetInventory.productDetail;
156
+ let matchingProduct;
157
+ // // search for matching product barcode
158
+ // const filterProductDetails: ProductDetail[] = product?.productDetails.filter(detail => !detail.deletedAt)
159
+ // const scannedProductDetail: ProductDetail = filterProductDetails.find(detail => detail.gtin == productBarcode)
160
+ // if (!scannedProductDetail) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
161
+ // // case for scanning parent packing type, packing size
162
+ // // when scannedProductDetail id is not the same as productDetail id, then it's not child gtin, proceed to get child qty
163
+ // if (scannedProductDetail.id !== productDetail.id && !product?.isRequireSerialNumberScanningOutbound) {
164
+ // let childQty = await this.getChildQty(filterProductDetails, productBarcode, productDetail, scannedProductDetail)
165
+ // packedQty *= childQty
166
+ // }
167
+ if (productBarcode !== productDetail.gtin) {
168
+ if (product === null || product === void 0 ? void 0 : product.isRequireSerialNumberScanningOutbound)
169
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode));
170
+ matchingProduct = await this.getDirectQty(Object.assign(Object.assign({}, productDetail), { product: targetInventory === null || targetInventory === void 0 ? void 0 : targetInventory.product }), productBarcode, packedQty);
171
+ //validate matching product details based on scanned barcode
172
+ if (!matchingProduct)
173
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode));
174
+ packedQty = matchingProduct.qty;
166
175
  }
167
176
  if (packedQty + targetInventory.packedQty > pickedQty) {
168
177
  throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `over release`));
@@ -175,7 +184,7 @@ class PackingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
175
184
  }
176
185
  let foundSerialNumber = await this.trxMgr
177
186
  .getRepository(warehouse_base_1.InventoryItem)
178
- .findOne({ where: { domain: this.domain, serialNumber: serialNumber, product } });
187
+ .findOne({ where: { domain: this.domain, serialNumber: serialNumber, productDetail } });
179
188
  if (foundSerialNumber) {
180
189
  if (foundSerialNumber.inventoryId !== inventory.id) {
181
190
  throw new Error('Serial Number scanned is in another inventory');
@@ -199,6 +208,7 @@ class PackingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
199
208
  inventoryItem.outboundOrderId = releaseGood.id;
200
209
  inventoryItem.source = warehouse_base_1.INVENTORY_ITEM_SOURCE.OUTBOUND;
201
210
  inventoryItem.product = product;
211
+ inventoryItem.productDetail = productDetail;
202
212
  inventoryItem.inventory = inventory;
203
213
  inventoryItem.domain = this.domain;
204
214
  await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(inventoryItem);
@@ -237,7 +247,14 @@ class PackingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
237
247
  else {
238
248
  await this.trxMgr.getRepository(sales_base_1.OrderInventory).save(targetInventory);
239
249
  }
240
- return worksheetDetail;
250
+ return {
251
+ worksheetDetailInfos: [{
252
+ id: worksheetDetail.id,
253
+ releaseQty: worksheetDetail.targetInventory.releaseQty,
254
+ packedQty: worksheetDetail.targetInventory.packedQty,
255
+ status: worksheetDetail.status,
256
+ }]
257
+ };
241
258
  }
242
259
  async completePacking(releaseGoodNo) {
243
260
  let releaseGood = await this.findRefOrder(sales_base_1.ReleaseGood, {
@@ -1 +1 @@
1
- {"version":3,"file":"packing-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/packing-worksheet-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packing-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/packing-worksheet-controller.ts"],"names":[],"mappings":"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"}
@@ -289,7 +289,7 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
289
289
  }, { status: sales_base_1.ORDER_INVENTORY_STATUS.PENDING_SPLIT, updater: this.user, updatedAt: new Date() });
290
290
  }
291
291
  async scanProductPicking(worksheetDetailName, worksheetType, productBarcode, cartonId, binLocation, serialNumber, toteNo, pickedQty = 1) {
292
- var _a, _b, _c, _d, _e;
292
+ var _a;
293
293
  try {
294
294
  //find existing worksheet detail
295
295
  let worksheetDetail = await this.trxMgr
@@ -302,7 +302,7 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
302
302
  .innerJoinAndSelect('oi.inventory', 'inv')
303
303
  .leftJoinAndSelect('oi.orderProduct', 'op')
304
304
  .innerJoinAndSelect('oi.product', 'prd')
305
- .leftJoinAndSelect('prd.productDetails', 'pd', 'pd.product_id = oi.product_id AND pd.deleted_at is null AND pd.packing_type = oi.packing_type AND pd.packing_size = oi.packing_size AND pd.uom = oi.uom')
305
+ .innerJoinAndSelect('oi.productDetail', 'pd')
306
306
  .where('wd.name = :name', { name: worksheetDetailName })
307
307
  .andWhere('wd.domain_id = :domainId', { domainId: this.domain.id })
308
308
  .andWhere('wd.type = :type', { type: worksheetType })
@@ -310,29 +310,50 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
310
310
  .andWhere('inv.carton_id = :cartonId', { cartonId: cartonId })
311
311
  .getOne();
312
312
  //validation to check matching worksheet detail based on name
313
- if (!worksheetDetail || !worksheetDetail.targetInventory)
313
+ if (!worksheetDetail)
314
314
  throw new Error(this.ERROR_MSG.FIND.NO_RESULT(worksheetDetailName));
315
+ const releaseGood = worksheetDetail.targetInventory.releaseGood;
316
+ let targetInventory = worksheetDetail.targetInventory;
317
+ let targetProduct = targetInventory.orderProduct;
318
+ const product = targetInventory.product;
319
+ const productDetail = targetInventory.productDetail;
320
+ let inventory = targetInventory.inventory;
321
+ let bizplace = worksheetDetail.worksheet.bizplace;
322
+ let pickedUomValue = pickedQty * productDetail.uomValue;
323
+ let matchingProduct;
315
324
  //validation to prevent duplicated picking
316
- if (((_a = worksheetDetail === null || worksheetDetail === void 0 ? void 0 : worksheetDetail.targetInventory) === null || _a === void 0 ? void 0 : _a.status) != sales_base_1.ORDER_INVENTORY_STATUS.PICKING)
325
+ if ((targetInventory === null || targetInventory === void 0 ? void 0 : targetInventory.status) != sales_base_1.ORDER_INVENTORY_STATUS.PICKING)
317
326
  throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `is done`));
318
- let matchingProduct = await this.getDirectQty(Object.assign(Object.assign({}, (_c = (_b = worksheetDetail === null || worksheetDetail === void 0 ? void 0 : worksheetDetail.targetInventory) === null || _b === void 0 ? void 0 : _b.product) === null || _c === void 0 ? void 0 : _c.productDetails[0]), { product: (_d = worksheetDetail === null || worksheetDetail === void 0 ? void 0 : worksheetDetail.targetInventory) === null || _d === void 0 ? void 0 : _d.product }), productBarcode, pickedQty);
319
- //validate matching product details based on scanned barcode
320
- if (!matchingProduct)
321
- throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode));
322
- pickedQty = matchingProduct.qty;
323
- let pickedUomValue = matchingProduct.uomValue;
327
+ if (productBarcode !== productDetail.gtin) {
328
+ if (product === null || product === void 0 ? void 0 : product.isRequireSerialNumberScanningOutbound)
329
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode));
330
+ matchingProduct = await this.getDirectQty(Object.assign(Object.assign({}, productDetail), { product: targetInventory === null || targetInventory === void 0 ? void 0 : targetInventory.product }), productBarcode, pickedQty);
331
+ //validate matching product details based on scanned barcode
332
+ if (!matchingProduct)
333
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode));
334
+ pickedQty = matchingProduct.qty;
335
+ pickedUomValue = matchingProduct.uomValue;
336
+ }
324
337
  //validation to prevent over release
325
338
  if (!(worksheetDetail === null || worksheetDetail === void 0 ? void 0 : worksheetDetail.targetInventory) ||
326
339
  (worksheetDetail === null || worksheetDetail === void 0 ? void 0 : worksheetDetail.targetInventory.inventory.qty) < 1 ||
327
- pickedQty + (((_e = worksheetDetail.targetInventory) === null || _e === void 0 ? void 0 : _e.pickedQty) || 0) > worksheetDetail.targetInventory.releaseQty)
340
+ pickedQty + (((_a = worksheetDetail.targetInventory) === null || _a === void 0 ? void 0 : _a.pickedQty) || 0) > worksheetDetail.targetInventory.releaseQty)
328
341
  throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `over release`));
329
- const releaseGood = worksheetDetail.targetInventory.releaseGood;
330
- let targetInventory = worksheetDetail.targetInventory;
331
- let targetProduct = targetInventory.orderProduct;
332
- let inventory = targetInventory.inventory;
333
- let bizplace = worksheetDetail.worksheet.bizplace;
334
- const product = targetInventory.product;
335
342
  targetInventory = await this.checkAndSetBinPicking(targetInventory, binLocation);
343
+ // // search for matching product barcode
344
+ // const productDetails: ProductDetail[] = product?.productDetails.filter(detail => !detail.deletedAt)
345
+ // // scannedProductDetail can be child or gtin
346
+ // const scannedProductDetail: ProductDetail = productDetails.find(detail => detail.gtin == productBarcode)
347
+ // if (!scannedProductDetail) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
348
+ // // case for scanning parent packing type, packing size
349
+ // // when scannedProductDetail id is not the same as productDetail id, then it's not child gtin, proceed to get child qty
350
+ // if (scannedProductDetail.id !== productDetail.id && !product?.isRequireSerialNumberScanningOutbound) {
351
+ // let childQty = await this.getChildQty(productDetails, productBarcode, productDetail, scannedProductDetail)
352
+ // pickedQty *= childQty
353
+ // }
354
+ // if (pickedQty + targetInventory.pickedQty > releaseQty) {
355
+ // throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `over release`))
356
+ // }
336
357
  // for required outbound serial number scanning
337
358
  if (product === null || product === void 0 ? void 0 : product.isRequireSerialNumberScanningOutbound) {
338
359
  if (!serialNumber || serialNumber == '') {
@@ -373,6 +394,7 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
373
394
  inventoryItem.outboundOrderId = releaseGood.id;
374
395
  inventoryItem.source = warehouse_base_1.INVENTORY_ITEM_SOURCE.OUTBOUND;
375
396
  inventoryItem.product = product;
397
+ inventoryItem.productDetail = productDetail;
376
398
  inventoryItem.inventory = inventory;
377
399
  inventoryItem.domain = this.domain;
378
400
  await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(inventoryItem);
@@ -442,7 +464,7 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
442
464
  .then(dt => {
443
465
  return dt.raw[0].qty;
444
466
  });
445
- await (0, utils_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.PICKING, -releaseQty, -releaseUomValue, this.user, tx);
467
+ await (0, warehouse_base_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.PICKING, -releaseQty, -releaseUomValue, this.user, tx);
446
468
  let inventoryItems = await tx
447
469
  .getRepository(warehouse_base_1.InventoryItem)
448
470
  .find({ where: { outboundOrderId: releaseGood.id } });
@@ -461,7 +483,7 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
461
483
  .set({ status: warehouse_base_1.INVENTORY_STATUS.TERMINATED })
462
484
  .where('id = :id', { id: targetInventory.inventory.id })
463
485
  .execute();
464
- await (0, utils_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.TERMINATED, 0, 0, this.user, tx);
486
+ await (0, warehouse_base_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.TERMINATED, 0, 0, this.user, tx);
465
487
  }
466
488
  });
467
489
  }
@@ -489,11 +511,13 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
489
511
  'targetInventory.orderProduct',
490
512
  'targetInventory.inventory',
491
513
  'targetInventory.inventory.location',
492
- 'targetInventory.product'
514
+ 'targetInventory.product',
515
+ 'targetInventory.productDetail'
493
516
  ]);
494
517
  const releaseGood = worksheetDetail.targetInventory.releaseGood;
495
518
  let targetInventory = worksheetDetail.targetInventory;
496
519
  const product = targetInventory.product;
520
+ const productDetail = targetInventory.productDetail;
497
521
  let inventory = targetInventory.inventory;
498
522
  let targetProduct = targetInventory.orderProduct;
499
523
  let bizplace = worksheetDetail.worksheet.bizplace;
@@ -519,12 +543,12 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
519
543
  }
520
544
  });
521
545
  let foundSerialNumber = await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).findOne({
522
- where: { domain: this.domain, serialNumber: serialNumber, product },
523
- relations: ['product', 'inventory']
546
+ where: { domain: this.domain, serialNumber: serialNumber, productDetail },
547
+ relations: ['product', 'productDetail', 'inventory']
524
548
  });
525
549
  let scannedPalletIdInventory = await this.trxMgr
526
550
  .getRepository(warehouse_base_1.Inventory)
527
- .findOne({ where: { domain: this.domain, palletId }, relations: ['product'] });
551
+ .findOne({ where: { domain: this.domain, palletId }, relations: ['productDetail'] });
528
552
  if (foundSerialNumber) {
529
553
  if (foundSerialNumber.outboundOrderId) {
530
554
  let releaseGood = await this.trxMgr
@@ -548,6 +572,7 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
548
572
  inventoryItem.source = warehouse_base_1.INVENTORY_ITEM_SOURCE.OUTBOUND;
549
573
  inventoryItem.outboundOrderId = releaseGood.id;
550
574
  inventoryItem.product = product;
575
+ inventoryItem.productDetail = productDetail;
551
576
  inventoryItem.inventory = scannedPalletIdInventory;
552
577
  inventoryItem.domain = this.domain;
553
578
  foundSerialNumber = await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(inventoryItem);
@@ -565,10 +590,9 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
565
590
  await this.serialNumberReplacementForExistingOrderInv(existingOrderInv, targetInventory, worksheetDetail, foundSerialNumber);
566
591
  }
567
592
  else if (scannedPalletIdInventory.batchId == inventory.batchId &&
568
- scannedPalletIdInventory.product.id == product.id &&
569
- scannedPalletIdInventory.product.packingType == product.packingType) {
593
+ scannedPalletIdInventory.productDetail.id == productDetail.id) {
570
594
  //if replacement order inventory does not exist
571
- await this.serialNumberReplacement(targetInventory, scannedPalletIdInventory, releaseGood, product, worksheetDetail, foundSerialNumber);
595
+ await this.serialNumberReplacement(targetInventory, scannedPalletIdInventory, releaseGood, product, productDetail, worksheetDetail, foundSerialNumber);
572
596
  }
573
597
  else {
574
598
  throw new Error(this.ERROR_MSG.VALIDITY.UNEXPECTED_FIELD_VALUE('Pallet ID', palletId, inventory.palletId));
@@ -692,39 +716,44 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
692
716
  'worksheetDetails.targetInventory.releaseGood',
693
717
  'worksheetDetails.targetInventory.inventory',
694
718
  'worksheetDetails.targetInventory.inventory.location',
719
+ 'worksheetDetails.targetInventory.productDetail',
720
+ 'worksheetDetails.targetInventory.productDetail.product',
695
721
  'worksheetDetails.targetInventory.product',
696
722
  'worksheetDetails.targetInventory.product.productDetails',
697
723
  'worksheetDetails.targetInventory.product.productDetails.childProductDetail'
698
724
  ]
699
725
  });
700
726
  const worksheetDetails = worksheet.worksheetDetails;
701
- const product = worksheetDetails
702
- .map((wsd) => wsd.targetInventory.product)
703
- .find((product) => product.id === inventory.product.id);
727
+ const productDetail = worksheetDetails
728
+ .map(wsd => wsd.targetInventory.productDetail)
729
+ .find(productDetail => productDetail.id === inventory.productDetail.id);
730
+ const product = productDetail.product;
704
731
  const batchId = inventory.batchId;
705
- const packingType = inventory.packingType;
706
- const packingSize = inventory.packingSize;
707
732
  let pickedQty = pickingQty ? pickingQty : 1;
733
+ let matchingProduct;
708
734
  const targetInventories = worksheetDetails
709
735
  .map((wsd) => wsd.targetInventory)
710
736
  .filter((targetInventory) => targetInventory.batchId === batchId &&
711
- targetInventory.packingType === packingType &&
712
737
  targetInventory.inventory.cartonId === cartonId &&
713
- targetInventory.product.id === product.id);
714
- // search for matching product barcode
715
- const productDetails = product === null || product === void 0 ? void 0 : product.productDetails.filter(detail => !detail.deletedAt);
716
- const isMatchingBarcode = productDetails.map(detail => detail.gtin).includes(productBarcode);
717
- if (!isMatchingBarcode)
718
- throw new Error(this.ERROR_MSG.FIND.NO_RESULT(`GTIN (${productBarcode})`));
719
- // case for scanning parent packing type, packing size
720
- const foundProductDetail = productDetails.find((detail) => detail.gtin === productBarcode && detail.packingType === packingType && detail.packingSize == packingSize);
721
- if (!foundProductDetail) {
722
- const roProductDetail = productDetails.find((parentDetail) => parentDetail.packingType === packingType && parentDetail.packingSize == packingSize);
723
- if (!roProductDetail)
724
- throw new Error(this.ERROR_MSG.FIND.NO_RESULT(`Packing Type ( ${packingType}) or Packing Size (${packingSize})`));
725
- let childQty = await this.getChildQty(productDetails, productBarcode, roProductDetail);
726
- pickedQty *= childQty;
738
+ targetInventory.productDetail.id === productDetail.id);
739
+ if (productBarcode !== productDetail.gtin) {
740
+ matchingProduct = await this.getDirectQty(Object.assign(Object.assign({}, productDetail), { product }), productBarcode, pickedQty);
741
+ //validate matching product details based on scanned barcode
742
+ if (!matchingProduct)
743
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode));
744
+ pickedQty = matchingProduct.qty;
727
745
  }
746
+ // // search for matching product barcode
747
+ // const productDetails: ProductDetail[] = product?.productDetails.filter(detail => !detail.deletedAt)
748
+ // // scannedProductDetail can be child or gtin
749
+ // const scannedProductDetail: ProductDetail = productDetails.find(detail => detail.gtin == productBarcode)
750
+ // if (!scannedProductDetail) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
751
+ // // case for scanning parent packing type, packing size
752
+ // // when scannedProductDetail id is not the same as productDetail id, then it's not child gtin, proceed to get child qty
753
+ // if (scannedProductDetail.id !== productDetail.id) {
754
+ // let childQty = await this.getChildQty(productDetails, productBarcode, productDetail, scannedProductDetail)
755
+ // pickedQty *= childQty
756
+ // }
728
757
  const sumOfReleaseQty = targetInventories
729
758
  .map((oi) => oi.releaseQty)
730
759
  .reduce((a, b) => a + b, 0);
@@ -1008,7 +1037,7 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
1008
1037
  }
1009
1038
  catch (e) { }
1010
1039
  }
1011
- async serialNumberReplacement(targetInventory, scannedPalletIdInventory, releaseGood, product, worksheetDetail, foundSerialNumber) {
1040
+ async serialNumberReplacement(targetInventory, scannedPalletIdInventory, releaseGood, product, productDetail, worksheetDetail, foundSerialNumber) {
1012
1041
  try {
1013
1042
  //1. create new inventory, new order inventory, update old inventory, old order inventory quantity
1014
1043
  let newInventory = await this.trxMgr
@@ -1052,7 +1081,8 @@ class PickingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
1052
1081
  var { id } = _a, targetInventory = __rest(_a, ["id"]);
1053
1082
  return targetInventory;
1054
1083
  })(targetInventory);
1055
- let newOrderInventory = await this.trxMgr.getRepository(sales_base_1.OrderInventory).save(Object.assign(Object.assign({}, newTargetInventory), { domain: this.domain, name: sales_base_1.OrderNoGenerator.orderInventory(), releaseGood, releaseQty: newOrderInventoryReleaseQty, releaseUomValue: newOrderInventoryReleaseUomValue, pickedQty: 1, product, inventory: scannedPalletIdInventory, creator: this.user, updater: this.user }));
1084
+ let newOrderInventory = await this.trxMgr.getRepository(sales_base_1.OrderInventory).save(Object.assign(Object.assign({}, newTargetInventory), { domain: this.domain, name: sales_base_1.OrderNoGenerator.orderInventory(), releaseGood, releaseQty: newOrderInventoryReleaseQty, releaseUomValue: newOrderInventoryReleaseUomValue, pickedQty: 1, product,
1085
+ productDetail, inventory: scannedPalletIdInventory, creator: this.user, updater: this.user }));
1056
1086
  oldInventory = await this.trxMgr.getRepository(warehouse_base_1.Inventory).save(Object.assign(Object.assign({}, oldInventory), { updater: this.user }));
1057
1087
  foundSerialNumber = await this.trxMgr
1058
1088
  .getRepository(warehouse_base_1.InventoryItem)