@things-factory/worksheet-base 4.3.79-alpha.1 → 4.3.80-alpha.1

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.
@@ -47,11 +47,13 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
47
47
  'worksheet.bufferLocation.warehouse',
48
48
  'targetProduct',
49
49
  'targetProduct.product',
50
+ 'targetProduct.productDetail',
50
51
  'targetProduct.product.productDetails',
51
52
  'targetProduct.product.productDetails.childProductDetail',
52
53
  'targetInventory',
53
54
  'targetInventory.inventory',
54
55
  'targetInventory.product',
56
+ 'targetInventory.productDetail',
55
57
  'targetInventory.product.productDetails',
56
58
  'targetInventory.product.productDetails.childProductDetail'
57
59
  ]
@@ -72,6 +74,9 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
72
74
  const batchId = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId;
73
75
  const batchIdRef = Boolean(arrivalNotice) ? targetProduct.batchIdRef : null;
74
76
  const product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product;
77
+ const productDetail = Boolean(arrivalNotice)
78
+ ? targetProduct.productDetail
79
+ : targetInventory.productDetail;
75
80
  const packingType = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType;
76
81
  const packingSize = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize;
77
82
  const remark = Boolean(arrivalNotice) ? targetProduct.remark : targetInventory.remark;
@@ -103,24 +108,21 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
103
108
  }
104
109
  if (productBarcode) {
105
110
  const productDetails = product === null || product === void 0 ? void 0 : product.productDetails.filter(detail => !detail.deletedAt);
106
- const isMatchingBarcode = productDetails.map(detail => detail.gtin).includes(productBarcode);
107
- if (!isMatchingBarcode)
111
+ const scannedProductDetail = productDetails.find(detail => detail.gtin == productBarcode);
112
+ if (!scannedProductDetail)
108
113
  throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode));
109
- const foundProductDetail = productDetails.find((detail) => detail.gtin === productBarcode && detail.packingType === packingType && detail.packingSize == packingSize);
110
- if (!foundProductDetail) {
111
- const orderProductDetail = productDetails.find((parentDetail) => parentDetail.packingType === packingType && parentDetail.packingSize == packingSize);
112
- if (!orderProductDetail)
113
- throw new Error(this.ERROR_MSG.FIND.NO_RESULT(`Packing Type ( ${packingType}) or Packing Size (${packingSize})`));
114
+ if (scannedProductDetail.id !== productDetail.id) {
115
+ let childQty = await this.getChildQty(productDetails, productBarcode, productDetail, scannedProductDetail);
114
116
  if (arrivalNotice) {
115
117
  uom = targetProduct.uom;
116
118
  }
117
119
  else {
118
- uom = orderProductDetail.uom;
120
+ uom = productDetail.uom;
119
121
  }
120
- qty = (await this.getChildQty(productDetails, productBarcode, orderProductDetail, orderProductDetail)) * qty;
122
+ qty *= childQty;
121
123
  }
122
124
  else {
123
- uom = foundProductDetail.uom;
125
+ uom = scannedProductDetail.uom;
124
126
  qty;
125
127
  }
126
128
  }
@@ -136,6 +138,7 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
136
138
  newInventory.cartonId = inventory.cartonId;
137
139
  newInventory.batchId = batchId;
138
140
  newInventory.product = product;
141
+ newInventory.productDetail = productDetail;
139
142
  newInventory.packingType = packingType;
140
143
  newInventory.packingSize = packingSize;
141
144
  newInventory.uom = uom;
@@ -195,6 +198,7 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
195
198
  'worksheet.bufferLocation.warehouse',
196
199
  'targetProduct',
197
200
  'targetProduct.product',
201
+ 'targetProduct.productDetail',
198
202
  'targetProduct.product.productDetails',
199
203
  'targetProduct.product.productDetails.childProductDetail',
200
204
  'targetInventory',
@@ -220,6 +224,9 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
220
224
  const returnOrder = worksheet.returnOrder;
221
225
  const targetInventory = worksheetDetail.targetInventory;
222
226
  const product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product;
227
+ const productDetail = Boolean(arrivalNotice)
228
+ ? targetProduct.productDetail
229
+ : targetInventory.productDetail;
223
230
  const packingType = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType;
224
231
  const packingSize = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize;
225
232
  const batchId = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId;
@@ -229,15 +236,13 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
229
236
  const orderId = Boolean(arrivalNotice) ? arrivalNotice.id : returnOrder.id;
230
237
  await this.checkSerialNumberDuplication(serialNumber, product);
231
238
  qty++;
232
- const invQb = await this.trxMgr
239
+ const invQb = this.trxMgr
233
240
  .getRepository(warehouse_base_1.Inventory)
234
241
  .createQueryBuilder('INV')
235
242
  .where('INV.domain_id = :domainId', { domainId: this.domain.id })
236
243
  .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
237
- .andWhere('INV.product_id = :productId', { productId: product.id })
238
- .andWhere('INV.batch_id = :batchId', { batchId: batchId })
239
- .andWhere('INV.packing_type = :packingType', { packingType: packingType })
240
- .andWhere('INV.packing_size = :packingSize', { packingSize: packingSize });
244
+ .andWhere('INV.product_detail_id = :productDetailId', { productDetailId: productDetail.id })
245
+ .andWhere('INV.batch_id = :batchId', { batchId: batchId });
241
246
  if (arrivalNotice)
242
247
  invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id });
243
248
  else if (returnOrder)
@@ -275,6 +280,7 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
275
280
  newInventory.batchId = batchId;
276
281
  newInventory.batchIdRef = batchIdRef;
277
282
  newInventory.product = product;
283
+ newInventory.productDetail = productDetail;
278
284
  newInventory.packingType = packingType;
279
285
  newInventory.packingSize = packingSize;
280
286
  newInventory.uom = uom;
@@ -336,6 +342,7 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
336
342
  inventoryItem.status = foundInventory.status;
337
343
  inventoryItem.inboundOrderId = foundInventory.refOrderId;
338
344
  inventoryItem.product = product;
345
+ inventoryItem.productDetail = productDetail;
339
346
  inventoryItem.inventory = foundInventory;
340
347
  inventoryItem.source = warehouse_base_1.INVENTORY_ITEM_SOURCE.INBOUND;
341
348
  inventoryItem.domain = this.domain;
@@ -367,10 +374,12 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
367
374
  'worksheet.bufferLocation.warehouse',
368
375
  'targetProduct',
369
376
  'targetProduct.product',
377
+ 'targetProduct.productDetail',
370
378
  'targetProduct.product.productDetails',
371
379
  'targetProduct.product.productDetails.childProductDetail',
372
380
  'targetInventory',
373
381
  'targetInventory.product',
382
+ 'targetInventory.productDetail',
374
383
  'targetInventory.product.productDetails',
375
384
  'targetInventory.product.productDetails.childProductDetail'
376
385
  ]
@@ -392,6 +401,9 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
392
401
  const returnOrder = worksheet.returnOrder;
393
402
  const targetInventory = worksheetDetail.targetInventory;
394
403
  const product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product;
404
+ const productDetail = Boolean(arrivalNotice)
405
+ ? targetProduct.productDetail
406
+ : targetInventory.productDetail;
395
407
  const packingType = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType;
396
408
  const packingSize = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize;
397
409
  const batchId = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId;
@@ -402,36 +414,30 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
402
414
  await this.checkCartonDuplication(cartonId, orderId);
403
415
  // search for matching product barcode
404
416
  const productDetails = product === null || product === void 0 ? void 0 : product.productDetails.filter(detail => !detail.deletedAt);
405
- const isMatchingBarcode = productDetails.map(detail => detail.gtin).includes(productBarcode);
406
- if (!isMatchingBarcode)
417
+ const scannedProductDetail = productDetails.find(detail => detail.gtin == productBarcode);
418
+ if (!scannedProductDetail)
407
419
  throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode));
408
- // case for scanning parent packing type, packing size
409
- const foundProductDetail = productDetails.find((detail) => detail.gtin === productBarcode && detail.packingType === packingType && detail.packingSize == packingSize);
410
- if (!foundProductDetail) {
411
- const orderProductDetail = productDetails.find((parentDetail) => parentDetail.packingType === packingType && parentDetail.packingSize == packingSize);
412
- if (!orderProductDetail)
413
- throw new Error(this.ERROR_MSG.FIND.NO_RESULT(`Packing Type ( ${packingType}) or Packing Size (${packingSize})`));
420
+ if (scannedProductDetail.id !== productDetail.id && arrivalNotice) {
421
+ let childQty = await this.getChildQty(productDetails, productBarcode, productDetail, scannedProductDetail);
414
422
  if (arrivalNotice) {
415
423
  uom = targetProduct.uom;
416
424
  }
417
425
  else {
418
- uom = orderProductDetail.uom;
426
+ uom = productDetail.uom;
419
427
  }
420
- qty = await this.getChildQty(productDetails, productBarcode, orderProductDetail, orderProductDetail);
428
+ qty = childQty;
421
429
  }
422
430
  else {
423
- uom = foundProductDetail.uom;
431
+ uom = scannedProductDetail.uom;
424
432
  qty++;
425
433
  }
426
- const invQb = await this.trxMgr
434
+ const invQb = this.trxMgr
427
435
  .getRepository(warehouse_base_1.Inventory)
428
436
  .createQueryBuilder('INV')
429
437
  .where('INV.domain_id = :domainId', { domainId: this.domain.id })
430
438
  .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
431
- .andWhere('INV.product_id = :productId', { productId: product.id })
432
- .andWhere('INV.batch_id = :batchId', { batchId: batchId })
433
- .andWhere('INV.packing_type = :packingType', { packingType: packingType })
434
- .andWhere('INV.packing_size = :packingSize', { packingSize: packingSize });
439
+ .andWhere('INV.product_detail_id = :productDetailId', { productDetailId: productDetail.id })
440
+ .andWhere('INV.batch_id = :batchId', { batchId: batchId });
435
441
  if (arrivalNotice)
436
442
  invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id });
437
443
  else if (returnOrder)
@@ -469,6 +475,7 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
469
475
  newInventory.batchId = batchId;
470
476
  newInventory.batchIdRef = batchIdRef;
471
477
  newInventory.product = product;
478
+ newInventory.productDetail = productDetail;
472
479
  newInventory.packingType = packingType;
473
480
  newInventory.packingSize = packingSize;
474
481
  newInventory.uom = uom;
@@ -548,8 +555,10 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
548
555
  'worksheet.bufferLocation.warehouse',
549
556
  'targetProduct',
550
557
  'targetProduct.product',
558
+ 'targetProduct.productDetail',
551
559
  'targetInventory',
552
- 'targetInventory.product'
560
+ 'targetInventory.product',
561
+ 'targetInventory.productDetail'
553
562
  ]
554
563
  });
555
564
  if (!worksheetDetail)
@@ -560,19 +569,15 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
560
569
  const returnOrder = worksheet.returnOrder;
561
570
  const targetProduct = worksheetDetail.targetProduct;
562
571
  const targetInventory = worksheetDetail.targetInventory;
563
- const product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product;
564
- const packingType = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType;
565
- const packingSize = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize;
572
+ const productDetail = Boolean(arrivalNotice) ? targetProduct.productDetail : targetInventory.productDetail;
566
573
  const batchId = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId;
567
574
  const invQb = await this.trxMgr
568
575
  .getRepository(warehouse_base_1.Inventory)
569
576
  .createQueryBuilder('INV')
570
577
  .where('INV.domain_id = :domainId', { domainId: this.domain.id })
571
578
  .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
572
- .andWhere('INV.product_id = :productId', { productId: product.id })
573
- .andWhere('INV.batch_id = :batchId', { batchId: batchId })
574
- .andWhere('INV.packing_type = :packingType', { packingType: packingType })
575
- .andWhere('INV.packing_size = :packingSize', { packingSize: packingSize });
579
+ .andWhere('INV.product_detail_id = :productDetailId', { productDetailId: productDetail.id })
580
+ .andWhere('INV.batch_id = :batchId', { batchId: batchId });
576
581
  if (arrivalNotice)
577
582
  invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id });
578
583
  else if (returnOrder)
@@ -597,7 +602,7 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
597
602
  const inventoryId = inventoryIds[i];
598
603
  let inventory = await this.trxMgr.getRepository(warehouse_base_1.Inventory).findOne({
599
604
  where: { domain: this.domain, id: inventoryId },
600
- relations: ['location', 'product']
605
+ relations: ['location', 'product', 'productDetail']
601
606
  });
602
607
  this.checkRecordValidity(inventory, {
603
608
  status: (status) => {
@@ -617,11 +622,9 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
617
622
  if (orderType === sales_base_1.ORDER_TYPES.ARRIVAL_NOTICE) {
618
623
  arrivalNotice = await this.trxMgr.getRepository(sales_base_1.ArrivalNotice).findOne({
619
624
  where: { domain: this.domain, name: orderNo },
620
- relations: ['orderProducts', 'orderProducts.product']
625
+ relations: ['orderProducts', 'orderProducts.product', 'orderProducts.productDetail']
621
626
  });
622
- targetProduct = arrivalNotice.orderProducts.find(op => op.batchId == inventory.batchId &&
623
- op.packingType == inventory.packingType &&
624
- op.product.id === inventory.product.id);
627
+ targetProduct = arrivalNotice.orderProducts.find(op => op.batchId == inventory.batchId && op.productDetail.id == inventory.productDetail.id);
625
628
  if (inventory.status == warehouse_base_1.INVENTORY_STATUS.UNLOADED) {
626
629
  targetProduct.actualPackQty -= qty;
627
630
  targetProduct.actualPalletQty--;
@@ -644,10 +647,7 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
644
647
  where: { domain: this.domain, name: orderNo },
645
648
  relations: ['orderInventories', 'orderInventories.inventory', 'orderInventories.product']
646
649
  });
647
- targetInventory = returnOrder.orderInventories.find(oi => oi.batchId == inventory.batchId &&
648
- oi.packingType == inventory.packingType &&
649
- oi.product.id == inventory.product.id &&
650
- oi.packingSize === inventory.packingSize);
650
+ targetInventory = returnOrder.orderInventories.find(oi => oi.batchId == inventory.batchId && oi.productDetail.id == inventory.productDetail.id);
651
651
  if (inventory.status == warehouse_base_1.INVENTORY_STATUS.UNLOADED) {
652
652
  targetInventory.actualPackQty -= qty;
653
653
  targetInventory.actualPalletQty--;
@@ -1 +1 @@
1
- {"version":3,"file":"unloading-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/inbound/unloading-worksheet-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unloading-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/inbound/unloading-worksheet-controller.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,7 @@ exports.proceedExtraProductsResolver = {
50
50
  const addedApprovedProducts = approvedProducts.filter((approvedProd) => approvedProd.status === sales_base_1.ORDER_PRODUCT_STATUS.ADDED);
51
51
  if ((editedApprovedProducts === null || editedApprovedProducts === void 0 ? void 0 : editedApprovedProducts.length) > 0) {
52
52
  editedApprovedProducts.map((editedApprovedProd) => {
53
- const selectedOrderProduct = storedOrderProducts.find((op) => op.id === editedApprovedProd.id);
53
+ const selectedOrderProduct = storedOrderProducts.find((op) => op.productDetail.id === editedApprovedProd.productDetailId);
54
54
  updatedOrderProducts.push(Object.assign(Object.assign({}, selectedOrderProduct), { batchId: (selectedOrderProduct === null || selectedOrderProduct === void 0 ? void 0 : selectedOrderProduct.adjustedBatchId)
55
55
  ? selectedOrderProduct.adjustedBatchId
56
56
  : selectedOrderProduct.batchId, batchIdRef: (selectedOrderProduct === null || selectedOrderProduct === void 0 ? void 0 : selectedOrderProduct.adjustedBatchIdRef)
@@ -74,7 +74,7 @@ exports.proceedExtraProductsResolver = {
74
74
  }
75
75
  if ((addedApprovedProducts === null || addedApprovedProducts === void 0 ? void 0 : addedApprovedProducts.length) > 0) {
76
76
  addedApprovedProducts.map((addedApprovedProd) => {
77
- const selectedOrderProduct = storedOrderProducts.find((op) => op.id === addedApprovedProd.id);
77
+ const selectedOrderProduct = storedOrderProducts.find((op) => op.productDetailId === addedApprovedProd.productDetailId);
78
78
  updatedOrderProducts.push(Object.assign(Object.assign({}, selectedOrderProduct), { batchId: selectedOrderProduct.adjustedBatchId, batchIdRef: selectedOrderProduct.adjustedBatchIdRef, packingType: selectedOrderProduct.adjustedPackingType, packQty: selectedOrderProduct.adjustedPackQty, uom: selectedOrderProduct.adjustedUom, uomValue: selectedOrderProduct.adjustedUomValue, totalUomValue: selectedOrderProduct.adjustedTotalUomValue, palletQty: selectedOrderProduct.adjustedPalletQty, unitPrice: selectedOrderProduct.adjustedUnitPrice, status: worksheet.status === constants_1.WORKSHEET_STATUS.DEACTIVATED
79
79
  ? sales_base_1.ORDER_PRODUCT_STATUS.READY_TO_UNLOAD
80
80
  : sales_base_1.ORDER_PRODUCT_STATUS.UNLOADING, updater: user }));
@@ -105,7 +105,7 @@ exports.proceedExtraProductsResolver = {
105
105
  let editedRejectedProducts = rejectedProducts.filter((editedRejectedProduct) => editedRejectedProduct.status === sales_base_1.ORDER_PRODUCT_STATUS.EDITED);
106
106
  if ((editedRejectedProducts === null || editedRejectedProducts === void 0 ? void 0 : editedRejectedProducts.length) > 0) {
107
107
  editedRejectedProducts = editedRejectedProducts.map((editedRejectProduct) => {
108
- const selectedOrderProduct = storedOrderProducts.find((op) => op.id === editedRejectProduct.id);
108
+ const selectedOrderProduct = storedOrderProducts.find((op) => op.productDetail.id === editedRejectProduct.productDetailId);
109
109
  return Object.assign(Object.assign({}, selectedOrderProduct), { status: worksheet.status === constants_1.WORKSHEET_STATUS.DEACTIVATED
110
110
  ? sales_base_1.ORDER_PRODUCT_STATUS.READY_TO_UNLOAD
111
111
  : sales_base_1.ORDER_PRODUCT_STATUS.UNLOADING, updater: user });
@@ -117,7 +117,9 @@ exports.proceedExtraProductsResolver = {
117
117
  if ((addedRejectedProducts === null || addedRejectedProducts === void 0 ? void 0 : addedRejectedProducts.length) > 0) {
118
118
  let deleteOrderProducts = [];
119
119
  addedRejectedProducts.map(rejectedOp => {
120
- const selectedOrderProduct = storedOrderProducts.find((op) => op.id === rejectedOp.id);
120
+ const selectedOrderProduct = storedOrderProducts.find(
121
+ //(op: OrderProduct) => op.id === rejectedOp.id
122
+ (op) => op.productDetailId === rejectedOp.productDetailId);
121
123
  deleteOrderProducts.push(selectedOrderProduct);
122
124
  });
123
125
  await tx.getRepository(sales_base_1.OrderProduct).delete(deleteOrderProducts);
@@ -1 +1 @@
1
- {"version":3,"file":"proceed-extra-products.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/proceed-extra-products.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proceed-extra-products.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/proceed-extra-products.ts"],"names":[],"mappings":"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"}
@@ -11,14 +11,14 @@ exports.transfer = {
11
11
  // 1. get to inventory
12
12
  let toInventory = await tx.getRepository(warehouse_base_1.Inventory).findOne({
13
13
  where: { domain: domain, palletId: toPalletId },
14
- relations: ['bizplace', 'product', 'warehouse', 'location']
14
+ relations: ['bizplace', 'product', 'productDetail', 'warehouse', 'location']
15
15
  });
16
16
  if (!toInventory)
17
17
  throw new Error(`to pallet doesn't exists`);
18
18
  // 2. get from inventory
19
19
  let fromInventory = await tx.getRepository(warehouse_base_1.Inventory).findOne({
20
20
  where: { domain: domain, palletId },
21
- relations: ['bizplace', 'product', 'warehouse', 'location']
21
+ relations: ['bizplace', 'product', 'productDetail', 'warehouse', 'location']
22
22
  });
23
23
  if (!fromInventory)
24
24
  throw new Error(`from pallet doesn't exists`);
@@ -52,16 +52,16 @@ exports.transfer = {
52
52
  await tx.getRepository(warehouse_base_1.Inventory).save(Object.assign(Object.assign({}, toInventory), { qty: toInventory.qty + qty, lastSeq: toInventory.lastSeq + 1, updater: user }));
53
53
  // - add inventory history
54
54
  delete toInventory.id;
55
- await tx.getRepository(warehouse_base_1.InventoryHistory).save(Object.assign(Object.assign({}, toInventory), { domain: domain, name: warehouse_base_1.InventoryNoGenerator.inventoryHistoryName(), product: toInventory.product, warehouse: toInventory.warehouse, location: toInventory.location, seq: toInventory.lastSeq, transactionType: warehouse_base_1.INVENTORY_TRANSACTION_TYPE.TRANSFERED_IN, creator: user, updater: user }));
55
+ await tx.getRepository(warehouse_base_1.InventoryHistory).save(Object.assign(Object.assign({}, toInventory), { domain: domain, name: warehouse_base_1.InventoryNoGenerator.inventoryHistoryName(), product: toInventory.product, productDetail: toInventory.productDetail, warehouse: toInventory.warehouse, location: toInventory.location, seq: toInventory.lastSeq, transactionType: warehouse_base_1.INVENTORY_TRANSACTION_TYPE.TRANSFERED_IN, creator: user, updater: user }));
56
56
  // - update (fromInventory)
57
57
  await tx.getRepository(warehouse_base_1.Inventory).save(Object.assign(Object.assign({}, fromInventory), { qty: leftQty, status: warehouse_base_1.INVENTORY_STATUS.TERMINATED, lastSeq: fromInventory.lastSeq + 1, updater: user }));
58
58
  await tx.getRepository(sales_base_1.OrderInventory).save(Object.assign(Object.assign({}, targetInventory), { status: sales_base_1.ORDER_PRODUCT_STATUS.TERMINATED }));
59
59
  fromInventory = await tx.getRepository(warehouse_base_1.Inventory).findOne({
60
60
  where: { id: fromInventory.id },
61
- relations: ['bizplace', 'product', 'warehouse', 'location']
61
+ relations: ['bizplace', 'product', 'productDetail', 'warehouse', 'location']
62
62
  });
63
63
  // - add inventory history
64
- await tx.getRepository(warehouse_base_1.InventoryHistory).save(Object.assign(Object.assign({}, fromInventory), { name: warehouse_base_1.InventoryNoGenerator.inventoryHistoryName(), product: fromInventory.product, warehouse: fromInventory.warehouse, location: fromInventory.location, seq: fromInventory.lastSeq, transactionType: warehouse_base_1.INVENTORY_TRANSACTION_TYPE.TRANSFERED_OUT, creator: user, updater: user }));
64
+ await tx.getRepository(warehouse_base_1.InventoryHistory).save(Object.assign(Object.assign({}, fromInventory), { name: warehouse_base_1.InventoryNoGenerator.inventoryHistoryName(), product: fromInventory.product, productDetail: fromInventory.productDetail, warehouse: fromInventory.warehouse, location: fromInventory.location, seq: fromInventory.lastSeq, transactionType: warehouse_base_1.INVENTORY_TRANSACTION_TYPE.TRANSFERED_OUT, creator: user, updater: user }));
65
65
  // - update worksheetDetail (EXECUTING => DONE)
66
66
  await tx.getRepository(entities_1.WorksheetDetail).save(Object.assign(Object.assign({}, worksheetDetail), { status: constants_1.WORKSHEET_STATUS.DONE, updater: user }));
67
67
  }
@@ -70,18 +70,18 @@ exports.transfer = {
70
70
  await tx.getRepository(warehouse_base_1.Inventory).save(Object.assign(Object.assign({}, toInventory), { qty: toInventory.qty + qty, lastSeq: toInventory.lastSeq + 1, updater: user }));
71
71
  toInventory = await tx.getRepository(warehouse_base_1.Inventory).findOne({
72
72
  where: { id: toInventory.id },
73
- relations: ['bizplace', 'product', 'warehouse', 'location']
73
+ relations: ['bizplace', 'product', 'productDetail', 'warehouse', 'location']
74
74
  });
75
75
  // - add inventory history
76
76
  delete toInventory.id;
77
- await tx.getRepository(warehouse_base_1.InventoryHistory).save(Object.assign(Object.assign({}, toInventory), { domain, name: warehouse_base_1.InventoryNoGenerator.inventoryHistoryName(), product: toInventory.product, warehouse: toInventory.warehouse, location: toInventory.location, seq: toInventory.lastSeq, transactionType: warehouse_base_1.INVENTORY_TRANSACTION_TYPE.TRANSFERED_IN, creator: user, updater: user }));
77
+ await tx.getRepository(warehouse_base_1.InventoryHistory).save(Object.assign(Object.assign({}, toInventory), { domain, name: warehouse_base_1.InventoryNoGenerator.inventoryHistoryName(), product: toInventory.product, productDetail: toInventory.productDetail, warehouse: toInventory.warehouse, location: toInventory.location, seq: toInventory.lastSeq, transactionType: warehouse_base_1.INVENTORY_TRANSACTION_TYPE.TRANSFERED_IN, creator: user, updater: user }));
78
78
  await tx.getRepository(warehouse_base_1.Inventory).save(Object.assign(Object.assign({}, fromInventory), { qty: leftQty, lastSeq: fromInventory.lastSeq + 1, updater: user }));
79
79
  fromInventory = await tx.getRepository(warehouse_base_1.Inventory).findOne({
80
80
  where: { id: fromInventory.id },
81
- relations: ['bizplace', 'product', 'warehouse', 'location']
81
+ relations: ['bizplace', 'product', 'productDetail', 'warehouse', 'location']
82
82
  });
83
83
  // - add inventory history
84
- await tx.getRepository(warehouse_base_1.InventoryHistory).save(Object.assign(Object.assign({}, fromInventory), { name: warehouse_base_1.InventoryNoGenerator.inventoryHistoryName(), product: fromInventory.product, warehouse: fromInventory.warehouse, location: fromInventory.location, seq: fromInventory.lastSeq, transactionType: warehouse_base_1.INVENTORY_TRANSACTION_TYPE.TRANSFERED_OUT, creator: user, updater: user }));
84
+ await tx.getRepository(warehouse_base_1.InventoryHistory).save(Object.assign(Object.assign({}, fromInventory), { name: warehouse_base_1.InventoryNoGenerator.inventoryHistoryName(), product: fromInventory.product, productDetail: fromInventory.productDetail, warehouse: fromInventory.warehouse, location: fromInventory.location, seq: fromInventory.lastSeq, transactionType: warehouse_base_1.INVENTORY_TRANSACTION_TYPE.TRANSFERED_OUT, creator: user, updater: user }));
85
85
  }
86
86
  }
87
87
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/transfer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/worksheet-base",
3
- "version": "4.3.79-alpha.1",
3
+ "version": "4.3.80-alpha.1",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -32,13 +32,13 @@
32
32
  "@things-factory/integration-marketplace": "^4.3.79-alpha.0",
33
33
  "@things-factory/integration-sellercraft": "^4.3.79-alpha.0",
34
34
  "@things-factory/integration-sftp": "^4.3.79-alpha.0",
35
- "@things-factory/marketplace-base": "^4.3.79-alpha.1",
35
+ "@things-factory/marketplace-base": "^4.3.80-alpha.1",
36
36
  "@things-factory/notification": "^4.3.79-alpha.0",
37
- "@things-factory/sales-base": "^4.3.79-alpha.1",
37
+ "@things-factory/sales-base": "^4.3.80-alpha.1",
38
38
  "@things-factory/setting-base": "^4.3.79-alpha.0",
39
39
  "@things-factory/shell": "^4.3.79-alpha.0",
40
40
  "@things-factory/transport-base": "^4.3.79-alpha.0",
41
- "@things-factory/warehouse-base": "^4.3.79-alpha.1"
41
+ "@things-factory/warehouse-base": "^4.3.80-alpha.1"
42
42
  },
43
- "gitHead": "781aa433ce81cb1cd08d6a3c4abb2934f0a192c1"
43
+ "gitHead": "9d4b38ce405f75484e6a3a7f97f954f8de179e71"
44
44
  }
@@ -19,8 +19,8 @@ import {
19
19
  VAS_TARGET_TYPES,
20
20
  VAS_TYPES
21
21
  } from '@things-factory/sales-base'
22
- import { Domain } from '@things-factory/shell'
23
22
  import { PartnerSetting, Setting } from '@things-factory/setting-base'
23
+ import { Domain } from '@things-factory/shell'
24
24
  import {
25
25
  Inventory,
26
26
  INVENTORY_ITEM_SOURCE,
@@ -96,11 +96,13 @@ export class UnloadingWorksheetController extends VasWorksheetController {
96
96
  'worksheet.bufferLocation.warehouse',
97
97
  'targetProduct',
98
98
  'targetProduct.product',
99
+ 'targetProduct.productDetail',
99
100
  'targetProduct.product.productDetails',
100
101
  'targetProduct.product.productDetails.childProductDetail',
101
102
  'targetInventory',
102
103
  'targetInventory.inventory',
103
104
  'targetInventory.product',
105
+ 'targetInventory.productDetail',
104
106
  'targetInventory.product.productDetails',
105
107
  'targetInventory.product.productDetails.childProductDetail'
106
108
  ]
@@ -122,6 +124,9 @@ export class UnloadingWorksheetController extends VasWorksheetController {
122
124
  const batchId: string = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId
123
125
  const batchIdRef: string = Boolean(arrivalNotice) ? targetProduct.batchIdRef : null
124
126
  const product: Product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product
127
+ const productDetail: ProductDetail = Boolean(arrivalNotice)
128
+ ? targetProduct.productDetail
129
+ : targetInventory.productDetail
125
130
  const packingType: string = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType
126
131
  const packingSize: number = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize
127
132
  const remark: string = Boolean(arrivalNotice) ? targetProduct.remark : targetInventory.remark
@@ -155,32 +160,19 @@ export class UnloadingWorksheetController extends VasWorksheetController {
155
160
 
156
161
  if (productBarcode) {
157
162
  const productDetails: ProductDetail[] = product?.productDetails.filter(detail => !detail.deletedAt)
158
- const isMatchingBarcode: boolean = productDetails.map(detail => detail.gtin).includes(productBarcode)
159
- if (!isMatchingBarcode) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
160
-
161
- const foundProductDetail: ProductDetail = productDetails.find(
162
- (detail: ProductDetail) =>
163
- detail.gtin === productBarcode && detail.packingType === packingType && detail.packingSize == packingSize
164
- )
165
-
166
- if (!foundProductDetail) {
167
- const orderProductDetail: ProductDetail = productDetails.find(
168
- (parentDetail: ProductDetail) =>
169
- parentDetail.packingType === packingType && parentDetail.packingSize == packingSize
170
- )
171
- if (!orderProductDetail)
172
- throw new Error(
173
- this.ERROR_MSG.FIND.NO_RESULT(`Packing Type ( ${packingType}) or Packing Size (${packingSize})`)
174
- )
163
+ const scannedProductDetail: ProductDetail = productDetails.find(detail => detail.gtin == productBarcode)
164
+ if (!scannedProductDetail) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
175
165
 
166
+ if (scannedProductDetail.id !== productDetail.id) {
167
+ let childQty = await this.getChildQty(productDetails, productBarcode, productDetail, scannedProductDetail)
176
168
  if (arrivalNotice) {
177
169
  uom = targetProduct.uom
178
170
  } else {
179
- uom = orderProductDetail.uom
171
+ uom = productDetail.uom
180
172
  }
181
- qty = (await this.getChildQty(productDetails, productBarcode, orderProductDetail, orderProductDetail)) * qty
173
+ qty *= childQty
182
174
  } else {
183
- uom = foundProductDetail.uom
175
+ uom = scannedProductDetail.uom
184
176
  qty
185
177
  }
186
178
  }
@@ -201,6 +193,7 @@ export class UnloadingWorksheetController extends VasWorksheetController {
201
193
  newInventory.cartonId = inventory.cartonId
202
194
  newInventory.batchId = batchId
203
195
  newInventory.product = product
196
+ newInventory.productDetail = productDetail
204
197
  newInventory.packingType = packingType
205
198
  newInventory.packingSize = packingSize
206
199
  newInventory.uom = uom
@@ -271,6 +264,7 @@ export class UnloadingWorksheetController extends VasWorksheetController {
271
264
  'worksheet.bufferLocation.warehouse',
272
265
  'targetProduct',
273
266
  'targetProduct.product',
267
+ 'targetProduct.productDetail',
274
268
  'targetProduct.product.productDetails',
275
269
  'targetProduct.product.productDetails.childProductDetail',
276
270
  'targetInventory',
@@ -299,6 +293,9 @@ export class UnloadingWorksheetController extends VasWorksheetController {
299
293
  const returnOrder: ReturnOrder = worksheet.returnOrder
300
294
  const targetInventory: OrderInventory = worksheetDetail.targetInventory
301
295
  const product: Product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product
296
+ const productDetail: ProductDetail = Boolean(arrivalNotice)
297
+ ? targetProduct.productDetail
298
+ : targetInventory.productDetail
302
299
  const packingType: string = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType
303
300
  const packingSize: number = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize
304
301
  const batchId: string = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId
@@ -310,15 +307,13 @@ export class UnloadingWorksheetController extends VasWorksheetController {
310
307
 
311
308
  qty++
312
309
 
313
- const invQb: SelectQueryBuilder<Inventory> = await this.trxMgr
310
+ const invQb: SelectQueryBuilder<Inventory> = this.trxMgr
314
311
  .getRepository(Inventory)
315
312
  .createQueryBuilder('INV')
316
313
  .where('INV.domain_id = :domainId', { domainId: this.domain.id })
317
314
  .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
318
- .andWhere('INV.product_id = :productId', { productId: product.id })
315
+ .andWhere('INV.product_detail_id = :productDetailId', { productDetailId: productDetail.id })
319
316
  .andWhere('INV.batch_id = :batchId', { batchId: batchId })
320
- .andWhere('INV.packing_type = :packingType', { packingType: packingType })
321
- .andWhere('INV.packing_size = :packingSize', { packingSize: packingSize })
322
317
 
323
318
  if (arrivalNotice) invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id })
324
319
  else if (returnOrder) invQb.andWhere('INV.ref_order_id = :returnOrderId', { returnOrderId: returnOrder.id })
@@ -358,6 +353,7 @@ export class UnloadingWorksheetController extends VasWorksheetController {
358
353
  newInventory.batchId = batchId
359
354
  newInventory.batchIdRef = batchIdRef
360
355
  newInventory.product = product
356
+ newInventory.productDetail = productDetail
361
357
  newInventory.packingType = packingType
362
358
  newInventory.packingSize = packingSize
363
359
  newInventory.uom = uom
@@ -422,6 +418,7 @@ export class UnloadingWorksheetController extends VasWorksheetController {
422
418
  inventoryItem.status = foundInventory.status
423
419
  inventoryItem.inboundOrderId = foundInventory.refOrderId
424
420
  inventoryItem.product = product
421
+ inventoryItem.productDetail = productDetail
425
422
  inventoryItem.inventory = foundInventory
426
423
  inventoryItem.source = INVENTORY_ITEM_SOURCE.INBOUND
427
424
  inventoryItem.domain = this.domain
@@ -458,10 +455,12 @@ export class UnloadingWorksheetController extends VasWorksheetController {
458
455
  'worksheet.bufferLocation.warehouse',
459
456
  'targetProduct',
460
457
  'targetProduct.product',
458
+ 'targetProduct.productDetail',
461
459
  'targetProduct.product.productDetails',
462
460
  'targetProduct.product.productDetails.childProductDetail',
463
461
  'targetInventory',
464
462
  'targetInventory.product',
463
+ 'targetInventory.productDetail',
465
464
  'targetInventory.product.productDetails',
466
465
  'targetInventory.product.productDetails.childProductDetail'
467
466
  ]
@@ -486,6 +485,9 @@ export class UnloadingWorksheetController extends VasWorksheetController {
486
485
  const returnOrder: ReturnOrder = worksheet.returnOrder
487
486
  const targetInventory: OrderInventory = worksheetDetail.targetInventory
488
487
  const product: Product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product
488
+ const productDetail: ProductDetail = Boolean(arrivalNotice)
489
+ ? targetProduct.productDetail
490
+ : targetInventory.productDetail
489
491
  const packingType: string = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType
490
492
  const packingSize: number = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize
491
493
  const batchId: string = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId
@@ -497,45 +499,29 @@ export class UnloadingWorksheetController extends VasWorksheetController {
497
499
 
498
500
  // search for matching product barcode
499
501
  const productDetails: ProductDetail[] = product?.productDetails.filter(detail => !detail.deletedAt)
500
- const isMatchingBarcode: boolean = productDetails.map(detail => detail.gtin).includes(productBarcode)
501
- if (!isMatchingBarcode) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
502
-
503
- // case for scanning parent packing type, packing size
504
- const foundProductDetail: ProductDetail = productDetails.find(
505
- (detail: ProductDetail) =>
506
- detail.gtin === productBarcode && detail.packingType === packingType && detail.packingSize == packingSize
507
- )
508
-
509
- if (!foundProductDetail) {
510
- const orderProductDetail: ProductDetail = productDetails.find(
511
- (parentDetail: ProductDetail) =>
512
- parentDetail.packingType === packingType && parentDetail.packingSize == packingSize
513
- )
514
- if (!orderProductDetail)
515
- throw new Error(
516
- this.ERROR_MSG.FIND.NO_RESULT(`Packing Type ( ${packingType}) or Packing Size (${packingSize})`)
517
- )
502
+ const scannedProductDetail: ProductDetail = productDetails.find(detail => detail.gtin == productBarcode)
503
+ if (!scannedProductDetail) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
518
504
 
505
+ if (scannedProductDetail.id !== productDetail.id && arrivalNotice) {
506
+ let childQty = await this.getChildQty(productDetails, productBarcode, productDetail, scannedProductDetail)
519
507
  if (arrivalNotice) {
520
508
  uom = targetProduct.uom
521
509
  } else {
522
- uom = orderProductDetail.uom
510
+ uom = productDetail.uom
523
511
  }
524
- qty = await this.getChildQty(productDetails, productBarcode, orderProductDetail, orderProductDetail)
512
+ qty = childQty
525
513
  } else {
526
- uom = foundProductDetail.uom
514
+ uom = scannedProductDetail.uom
527
515
  qty++
528
516
  }
529
517
 
530
- const invQb: SelectQueryBuilder<Inventory> = await this.trxMgr
518
+ const invQb: SelectQueryBuilder<Inventory> = this.trxMgr
531
519
  .getRepository(Inventory)
532
520
  .createQueryBuilder('INV')
533
521
  .where('INV.domain_id = :domainId', { domainId: this.domain.id })
534
522
  .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
535
- .andWhere('INV.product_id = :productId', { productId: product.id })
523
+ .andWhere('INV.product_detail_id = :productDetailId', { productDetailId: productDetail.id })
536
524
  .andWhere('INV.batch_id = :batchId', { batchId: batchId })
537
- .andWhere('INV.packing_type = :packingType', { packingType: packingType })
538
- .andWhere('INV.packing_size = :packingSize', { packingSize: packingSize })
539
525
 
540
526
  if (arrivalNotice) invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id })
541
527
  else if (returnOrder) invQb.andWhere('INV.ref_order_id = :returnOrderId', { returnOrderId: returnOrder.id })
@@ -575,6 +561,7 @@ export class UnloadingWorksheetController extends VasWorksheetController {
575
561
  newInventory.batchId = batchId
576
562
  newInventory.batchIdRef = batchIdRef
577
563
  newInventory.product = product
564
+ newInventory.productDetail = productDetail
578
565
  newInventory.packingType = packingType
579
566
  newInventory.packingSize = packingSize
580
567
  newInventory.uom = uom
@@ -657,8 +644,10 @@ export class UnloadingWorksheetController extends VasWorksheetController {
657
644
  'worksheet.bufferLocation.warehouse',
658
645
  'targetProduct',
659
646
  'targetProduct.product',
647
+ 'targetProduct.productDetail',
660
648
  'targetInventory',
661
- 'targetInventory.product'
649
+ 'targetInventory.product',
650
+ 'targetInventory.productDetail'
662
651
  ]
663
652
  })
664
653
  if (!worksheetDetail) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(worksheetDetailName))
@@ -669,9 +658,7 @@ export class UnloadingWorksheetController extends VasWorksheetController {
669
658
  const returnOrder: ReturnOrder = worksheet.returnOrder
670
659
  const targetProduct: OrderProduct = worksheetDetail.targetProduct
671
660
  const targetInventory: OrderInventory = worksheetDetail.targetInventory
672
- const product: Product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product
673
- const packingType: string = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType
674
- const packingSize: number = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize
661
+ const productDetail: Product = Boolean(arrivalNotice) ? targetProduct.productDetail : targetInventory.productDetail
675
662
  const batchId: string = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId
676
663
 
677
664
  const invQb: SelectQueryBuilder<Inventory> = await this.trxMgr
@@ -679,10 +666,8 @@ export class UnloadingWorksheetController extends VasWorksheetController {
679
666
  .createQueryBuilder('INV')
680
667
  .where('INV.domain_id = :domainId', { domainId: this.domain.id })
681
668
  .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
682
- .andWhere('INV.product_id = :productId', { productId: product.id })
669
+ .andWhere('INV.product_detail_id = :productDetailId', { productDetailId: productDetail.id })
683
670
  .andWhere('INV.batch_id = :batchId', { batchId: batchId })
684
- .andWhere('INV.packing_type = :packingType', { packingType: packingType })
685
- .andWhere('INV.packing_size = :packingSize', { packingSize: packingSize })
686
671
 
687
672
  if (arrivalNotice) invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id })
688
673
  else if (returnOrder) invQb.andWhere('INV.ref_order_id = :returnOrderId', { returnOrderId: returnOrder.id })
@@ -715,7 +700,7 @@ export class UnloadingWorksheetController extends VasWorksheetController {
715
700
  const inventoryId: string = inventoryIds[i]
716
701
  let inventory: Inventory = await this.trxMgr.getRepository(Inventory).findOne({
717
702
  where: { domain: this.domain, id: inventoryId },
718
- relations: ['location', 'product']
703
+ relations: ['location', 'product', 'productDetail']
719
704
  })
720
705
 
721
706
  this.checkRecordValidity(inventory, {
@@ -745,14 +730,11 @@ export class UnloadingWorksheetController extends VasWorksheetController {
745
730
  if (orderType === ORDER_TYPES.ARRIVAL_NOTICE) {
746
731
  arrivalNotice = await this.trxMgr.getRepository(ArrivalNotice).findOne({
747
732
  where: { domain: this.domain, name: orderNo },
748
- relations: ['orderProducts', 'orderProducts.product']
733
+ relations: ['orderProducts', 'orderProducts.product', 'orderProducts.productDetail']
749
734
  })
750
735
 
751
736
  targetProduct = arrivalNotice.orderProducts.find(
752
- op =>
753
- op.batchId == inventory.batchId &&
754
- op.packingType == inventory.packingType &&
755
- op.product.id === inventory.product.id
737
+ op => op.batchId == inventory.batchId && op.productDetail.id == inventory.productDetail.id
756
738
  )
757
739
 
758
740
  if (inventory.status == INVENTORY_STATUS.UNLOADED) {
@@ -778,11 +760,7 @@ export class UnloadingWorksheetController extends VasWorksheetController {
778
760
  })
779
761
 
780
762
  targetInventory = returnOrder.orderInventories.find(
781
- oi =>
782
- oi.batchId == inventory.batchId &&
783
- oi.packingType == inventory.packingType &&
784
- oi.product.id == inventory.product.id &&
785
- oi.packingSize === inventory.packingSize
763
+ oi => oi.batchId == inventory.batchId && oi.productDetail.id == inventory.productDetail.id
786
764
  )
787
765
  if (inventory.status == INVENTORY_STATUS.UNLOADED) {
788
766
  targetInventory.actualPackQty -= qty
@@ -73,7 +73,7 @@ export const proceedExtraProductsResolver = {
73
73
  if (editedApprovedProducts?.length > 0) {
74
74
  editedApprovedProducts.map((editedApprovedProd: OrderProduct) => {
75
75
  const selectedOrderProduct: OrderProduct = storedOrderProducts.find(
76
- (op: OrderProduct) => op.id === editedApprovedProd.id
76
+ (op: OrderProduct) => op.productDetail.id === editedApprovedProd.productDetailId
77
77
  )
78
78
 
79
79
  updatedOrderProducts.push({
@@ -115,7 +115,7 @@ export const proceedExtraProductsResolver = {
115
115
  if (addedApprovedProducts?.length > 0) {
116
116
  addedApprovedProducts.map((addedApprovedProd: OrderProduct) => {
117
117
  const selectedOrderProduct: OrderProduct = storedOrderProducts.find(
118
- (op: OrderProduct) => op.id === addedApprovedProd.id
118
+ (op: OrderProduct) => op.productDetailId === addedApprovedProd.productDetailId
119
119
  )
120
120
  updatedOrderProducts.push({
121
121
  ...selectedOrderProduct,
@@ -173,7 +173,7 @@ export const proceedExtraProductsResolver = {
173
173
  if (editedRejectedProducts?.length > 0) {
174
174
  editedRejectedProducts = editedRejectedProducts.map((editedRejectProduct: OrderProduct) => {
175
175
  const selectedOrderProduct: OrderProduct = storedOrderProducts.find(
176
- (op: OrderProduct) => op.id === editedRejectProduct.id
176
+ (op: OrderProduct) => op.productDetail.id === editedRejectProduct.productDetailId
177
177
  )
178
178
 
179
179
  return {
@@ -194,7 +194,8 @@ export const proceedExtraProductsResolver = {
194
194
  let deleteOrderProducts: OrderProduct[] = []
195
195
  addedRejectedProducts.map(rejectedOp => {
196
196
  const selectedOrderProduct: OrderProduct[] = storedOrderProducts.find(
197
- (op: OrderProduct) => op.id === rejectedOp.id
197
+ //(op: OrderProduct) => op.id === rejectedOp.id
198
+ (op: OrderProduct) => op.productDetailId === rejectedOp.productDetailId
198
199
  )
199
200
  deleteOrderProducts.push(selectedOrderProduct)
200
201
  })
@@ -1,38 +1,36 @@
1
+ import { EntityManager } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
2
4
  import { Bizplace } from '@things-factory/biz-base'
5
+ import { ORDER_PRODUCT_STATUS, OrderInventory } from '@things-factory/sales-base'
3
6
  import { Domain } from '@things-factory/shell'
4
- import { OrderInventory, ORDER_PRODUCT_STATUS } from '@things-factory/sales-base'
5
7
  import {
6
8
  Inventory,
7
- InventoryHistory,
8
- InventoryNoGenerator,
9
9
  INVENTORY_STATUS,
10
- INVENTORY_TRANSACTION_TYPE
10
+ INVENTORY_TRANSACTION_TYPE,
11
+ InventoryHistory,
12
+ InventoryNoGenerator
11
13
  } from '@things-factory/warehouse-base'
12
- import { EntityManager } from 'typeorm'
14
+
13
15
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
14
16
  import { Worksheet, WorksheetDetail } from '../../../entities'
15
17
 
16
18
  export const transfer = {
17
19
  async transfer(_: any, { palletId, toPalletId, qty }, context: any) {
18
- const {
19
- tx,
20
- domain,
21
- bizplace,
22
- user
23
- }: { tx: EntityManager; domain: Domain; bizplace: Bizplace; user: User } = context.state
20
+ const { tx, domain, bizplace, user }: { tx: EntityManager; domain: Domain; bizplace: Bizplace; user: User } =
21
+ context.state
24
22
 
25
23
  // 1. get to inventory
26
24
  let toInventory: Inventory = await tx.getRepository(Inventory).findOne({
27
25
  where: { domain: domain, palletId: toPalletId },
28
- relations: ['bizplace', 'product', 'warehouse', 'location']
26
+ relations: ['bizplace', 'product', 'productDetail', 'warehouse', 'location']
29
27
  })
30
28
  if (!toInventory) throw new Error(`to pallet doesn't exists`)
31
29
 
32
30
  // 2. get from inventory
33
31
  let fromInventory: Inventory = await tx.getRepository(Inventory).findOne({
34
32
  where: { domain: domain, palletId },
35
- relations: ['bizplace', 'product', 'warehouse', 'location']
33
+ relations: ['bizplace', 'product', 'productDetail', 'warehouse', 'location']
36
34
  })
37
35
  if (!fromInventory) throw new Error(`from pallet doesn't exists`)
38
36
  if (toInventory.batchId !== fromInventory.batchId) throw new Error(`Can't transfer to different batch`)
@@ -74,6 +72,7 @@ export const transfer = {
74
72
  domain: domain,
75
73
  name: InventoryNoGenerator.inventoryHistoryName(),
76
74
  product: toInventory.product,
75
+ productDetail: toInventory.productDetail,
77
76
  warehouse: toInventory.warehouse,
78
77
  location: toInventory.location,
79
78
  seq: toInventory.lastSeq,
@@ -97,7 +96,7 @@ export const transfer = {
97
96
 
98
97
  fromInventory = await tx.getRepository(Inventory).findOne({
99
98
  where: { id: fromInventory.id },
100
- relations: ['bizplace', 'product', 'warehouse', 'location']
99
+ relations: ['bizplace', 'product', 'productDetail', 'warehouse', 'location']
101
100
  })
102
101
 
103
102
  // - add inventory history
@@ -105,6 +104,7 @@ export const transfer = {
105
104
  ...fromInventory,
106
105
  name: InventoryNoGenerator.inventoryHistoryName(),
107
106
  product: fromInventory.product,
107
+ productDetail: fromInventory.productDetail,
108
108
  warehouse: fromInventory.warehouse,
109
109
  location: fromInventory.location,
110
110
  seq: fromInventory.lastSeq,
@@ -131,7 +131,7 @@ export const transfer = {
131
131
 
132
132
  toInventory = await tx.getRepository(Inventory).findOne({
133
133
  where: { id: toInventory.id },
134
- relations: ['bizplace', 'product', 'warehouse', 'location']
134
+ relations: ['bizplace', 'product', 'productDetail', 'warehouse', 'location']
135
135
  })
136
136
  // - add inventory history
137
137
  delete toInventory.id
@@ -140,6 +140,7 @@ export const transfer = {
140
140
  domain,
141
141
  name: InventoryNoGenerator.inventoryHistoryName(),
142
142
  product: toInventory.product,
143
+ productDetail: toInventory.productDetail,
143
144
  warehouse: toInventory.warehouse,
144
145
  location: toInventory.location,
145
146
  seq: toInventory.lastSeq,
@@ -157,7 +158,7 @@ export const transfer = {
157
158
 
158
159
  fromInventory = await tx.getRepository(Inventory).findOne({
159
160
  where: { id: fromInventory.id },
160
- relations: ['bizplace', 'product', 'warehouse', 'location']
161
+ relations: ['bizplace', 'product', 'productDetail', 'warehouse', 'location']
161
162
  })
162
163
 
163
164
  // - add inventory history
@@ -165,6 +166,7 @@ export const transfer = {
165
166
  ...fromInventory,
166
167
  name: InventoryNoGenerator.inventoryHistoryName(),
167
168
  product: fromInventory.product,
169
+ productDetail: fromInventory.productDetail,
168
170
  warehouse: fromInventory.warehouse,
169
171
  location: fromInventory.location,
170
172
  seq: fromInventory.lastSeq,