@things-factory/worksheet-base 4.0.0-y.0 → 4.0.4

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 (173) hide show
  1. package/dist-server/controllers/ecommerce/ecommerce-controller.js +23 -9
  2. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
  3. package/dist-server/controllers/ecommerce/index.js +1 -0
  4. package/dist-server/controllers/ecommerce/index.js.map +1 -1
  5. package/dist-server/controllers/ecommerce/sellercraft-controller.js +168 -0
  6. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -0
  7. package/dist-server/controllers/inbound/unloading-worksheet-controller.js +6 -5
  8. package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
  9. package/dist-server/controllers/index.js +1 -0
  10. package/dist-server/controllers/index.js.map +1 -1
  11. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js +43 -8
  12. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js.map +1 -1
  13. package/dist-server/controllers/outbound/packing-worksheet-controller.js +16 -1
  14. package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
  15. package/dist-server/controllers/outbound/picking-worksheet-controller.js +17 -9
  16. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  17. package/dist-server/controllers/render-grn.js +192 -0
  18. package/dist-server/controllers/render-grn.js.map +1 -0
  19. package/dist-server/controllers/render-job-sheet.js +51 -35
  20. package/dist-server/controllers/render-job-sheet.js.map +1 -1
  21. package/dist-server/controllers/render-kimeda-grn.js +12 -5
  22. package/dist-server/controllers/render-kimeda-grn.js.map +1 -1
  23. package/dist-server/controllers/render-ro-do.js +19 -5
  24. package/dist-server/controllers/render-ro-do.js.map +1 -1
  25. package/dist-server/controllers/render-seebuu-grn.js +9 -3
  26. package/dist-server/controllers/render-seebuu-grn.js.map +1 -1
  27. package/dist-server/controllers/vas/vas-worksheet-controller.js +75 -14
  28. package/dist-server/controllers/vas/vas-worksheet-controller.js.map +1 -1
  29. package/dist-server/controllers/worksheet-controller.js +61 -8
  30. package/dist-server/controllers/worksheet-controller.js.map +1 -1
  31. package/dist-server/graphql/resolvers/pallet/pallet-outbound.js +1 -1
  32. package/dist-server/graphql/resolvers/pallet/pallet-outbound.js.map +1 -1
  33. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +23 -1
  34. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
  35. package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js +4 -2
  36. package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js.map +1 -1
  37. package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js +25 -0
  38. package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js.map +1 -0
  39. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.js +4 -4
  40. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.js.map +1 -1
  41. package/dist-server/graphql/resolvers/worksheet/index.js +5 -4
  42. package/dist-server/graphql/resolvers/worksheet/index.js.map +1 -1
  43. package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js +2 -2
  44. package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js.map +1 -1
  45. package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js +13 -1
  46. package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js.map +1 -1
  47. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js +24 -38
  48. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js.map +1 -1
  49. package/dist-server/graphql/resolvers/worksheet/packing/packing.js +13 -1
  50. package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
  51. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +13 -1
  52. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
  53. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +60 -19
  54. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  55. package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js +20 -1
  56. package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js.map +1 -1
  57. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +24 -14
  58. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
  59. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-inventories.js +4 -4
  60. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-inventories.js.map +1 -1
  61. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +19 -0
  62. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  63. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +124 -149
  64. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  65. package/dist-server/graphql/resolvers/worksheet/picking/undo-picking-assignment.js +4 -4
  66. package/dist-server/graphql/resolvers/worksheet/picking/undo-picking-assignment.js.map +1 -1
  67. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +2 -1
  68. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
  69. package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js +1 -1
  70. package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js.map +1 -1
  71. package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js +13 -4
  72. package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js.map +1 -1
  73. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js +21 -2
  74. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js.map +1 -1
  75. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js +18 -1
  76. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js.map +1 -1
  77. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js +302 -11
  78. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js.map +1 -1
  79. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/index.js.map +1 -1
  80. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/repackaging.js.map +1 -1
  81. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js +137 -31
  82. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js.map +1 -1
  83. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js +157 -42
  84. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js.map +1 -1
  85. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js +35 -21
  86. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js.map +1 -1
  87. package/dist-server/graphql/resolvers/worksheet/worksheet.js +33 -27
  88. package/dist-server/graphql/resolvers/worksheet/worksheet.js.map +1 -1
  89. package/dist-server/graphql/resolvers/worksheet/worksheets.js +39 -10
  90. package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -1
  91. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js +1 -1
  92. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js.map +1 -1
  93. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js +3 -2
  94. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js.map +1 -1
  95. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.js +3 -2
  96. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.js.map +1 -1
  97. package/dist-server/graphql/types/index.js +2 -1
  98. package/dist-server/graphql/types/index.js.map +1 -1
  99. package/dist-server/graphql/types/pallet/index.js +10 -0
  100. package/dist-server/graphql/types/pallet/index.js.map +1 -0
  101. package/dist-server/graphql/types/worksheet/airwaybill.js +10 -0
  102. package/dist-server/graphql/types/worksheet/airwaybill.js.map +1 -0
  103. package/dist-server/graphql/types/worksheet/index.js +10 -2
  104. package/dist-server/graphql/types/worksheet/index.js.map +1 -1
  105. package/dist-server/graphql/types/worksheet/worksheet-info.js +2 -0
  106. package/dist-server/graphql/types/worksheet/worksheet-info.js.map +1 -1
  107. package/dist-server/graphql/types/worksheet-detail/index.js +2 -1
  108. package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -1
  109. package/dist-server/graphql/types/worksheet-detail/inventory-detail.js +1 -0
  110. package/dist-server/graphql/types/worksheet-detail/inventory-detail.js.map +1 -1
  111. package/dist-server/routes.js +10 -6
  112. package/dist-server/routes.js.map +1 -1
  113. package/dist-server/utils/inventory-util.js +7 -3
  114. package/dist-server/utils/inventory-util.js.map +1 -1
  115. package/package.json +16 -15
  116. package/server/controllers/ecommerce/ecommerce-controller.ts +37 -10
  117. package/server/controllers/ecommerce/index.ts +1 -0
  118. package/server/controllers/ecommerce/sellercraft-controller.ts +223 -0
  119. package/server/controllers/inbound/unloading-worksheet-controller.ts +16 -13
  120. package/server/controllers/index.ts +1 -0
  121. package/server/controllers/inspect/cycle-count-worksheet-controller.ts +108 -43
  122. package/server/controllers/outbound/packing-worksheet-controller.ts +21 -4
  123. package/server/controllers/outbound/picking-worksheet-controller.ts +26 -11
  124. package/server/controllers/render-grn.ts +218 -0
  125. package/server/controllers/render-job-sheet.ts +51 -39
  126. package/server/controllers/render-kimeda-grn.ts +16 -12
  127. package/server/controllers/render-ro-do.ts +22 -6
  128. package/server/controllers/render-seebuu-grn.ts +12 -12
  129. package/server/controllers/vas/vas-worksheet-controller.ts +104 -23
  130. package/server/controllers/worksheet-controller.ts +87 -22
  131. package/server/graphql/resolvers/pallet/pallet-outbound.ts +2 -1
  132. package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +30 -2
  133. package/server/graphql/resolvers/worksheet/cycle-count-worksheet.ts +7 -4
  134. package/server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.ts +30 -0
  135. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.ts +18 -3
  136. package/server/graphql/resolvers/worksheet/index.ts +6 -4
  137. package/server/graphql/resolvers/worksheet/not-tally-target-inventories.ts +4 -2
  138. package/server/graphql/resolvers/worksheet/packing/activate-packing.ts +20 -3
  139. package/server/graphql/resolvers/worksheet/packing/complete-packing.ts +30 -49
  140. package/server/graphql/resolvers/worksheet/packing/packing.ts +22 -3
  141. package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +22 -3
  142. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +71 -20
  143. package/server/graphql/resolvers/worksheet/picking/activate-batch-picking.ts +32 -3
  144. package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +31 -17
  145. package/server/graphql/resolvers/worksheet/picking/assign-picking-inventories.ts +4 -3
  146. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +31 -3
  147. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +143 -175
  148. package/server/graphql/resolvers/worksheet/picking/undo-picking-assignment.ts +5 -4
  149. package/server/graphql/resolvers/worksheet/picking-worksheet.ts +5 -2
  150. package/server/graphql/resolvers/worksheet/recommend-putway-location.ts +1 -1
  151. package/server/graphql/resolvers/worksheet/replace-picking-pallets.ts +22 -9
  152. package/server/graphql/resolvers/worksheet/unloading/complete-unloading.ts +27 -4
  153. package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts +23 -2
  154. package/server/graphql/resolvers/worksheet/vas-transactions/common-utils.ts +452 -14
  155. package/server/graphql/resolvers/worksheet/vas-transactions/interfaces/index.ts +36 -1
  156. package/server/graphql/resolvers/worksheet/vas-transactions/interfaces/repackaging.ts +8 -2
  157. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.ts +185 -56
  158. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.ts +210 -54
  159. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.ts +64 -32
  160. package/server/graphql/resolvers/worksheet/worksheet.ts +67 -62
  161. package/server/graphql/resolvers/worksheet/worksheets.ts +51 -13
  162. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +1 -0
  163. package/server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts +2 -1
  164. package/server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.ts +2 -1
  165. package/server/graphql/types/index.ts +2 -1
  166. package/server/graphql/types/pallet/index.ts +6 -0
  167. package/server/graphql/types/worksheet/airwaybill.ts +7 -0
  168. package/server/graphql/types/worksheet/index.ts +10 -2
  169. package/server/graphql/types/worksheet/worksheet-info.ts +2 -0
  170. package/server/graphql/types/worksheet-detail/index.ts +2 -1
  171. package/server/graphql/types/worksheet-detail/inventory-detail.ts +1 -0
  172. package/server/routes.ts +11 -6
  173. package/server/utils/inventory-util.ts +14 -5
@@ -1,17 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.completeRepackaging = void 0;
4
+ const product_base_1 = require("@things-factory/product-base");
4
5
  const sales_base_1 = require("@things-factory/sales-base");
5
6
  const warehouse_base_1 = require("@things-factory/warehouse-base");
6
7
  const common_utils_1 = require("../common-utils");
7
8
  const interfaces_1 = require("../interfaces");
8
9
  async function completeRepackaging(trxMgr, orderVas, user) {
9
10
  orderVas = await trxMgr.getRepository(sales_base_1.OrderVas).findOne(orderVas.id, {
10
- relations: ['domain', 'bizplace', 'inventory', 'inventory.product', 'arrivalNotice', 'releaseGood', 'vasOrder']
11
+ relations: [
12
+ 'domain',
13
+ 'bizplace',
14
+ 'inventory',
15
+ 'inventory.product',
16
+ 'inventory.productDetail',
17
+ 'arrivalNotice',
18
+ 'releaseGood',
19
+ 'vasOrder',
20
+ 'vas'
21
+ ]
11
22
  });
12
23
  const domain = orderVas.domain;
13
24
  const bizplace = orderVas.bizplace;
14
25
  let originInv = orderVas.inventory;
26
+ let transactionType = warehouse_base_1.INVENTORY_TRANSACTION_TYPE.REPACKAGING;
15
27
  const operationGuide = JSON.parse(orderVas.operationGuide);
16
28
  const operationGuideData = operationGuide.data;
17
29
  const packingUnit = operationGuideData.packingUnit;
@@ -19,42 +31,136 @@ async function completeRepackaging(trxMgr, orderVas, user) {
19
31
  const toPackingType = operationGuideData.toPackingType;
20
32
  const { arrivalNotice, releaseGood, vasOrder } = orderVas;
21
33
  const refOrder = arrivalNotice || releaseGood || vasOrder;
22
- const repackedInvs = extractRepackedInvs(operationGuideData, originInv);
23
- let originQty = 0;
24
- let originUomValue = 0;
34
+ const repackedInvs = operationGuideData.repackedInvs;
35
+ const repackedFroms = extractRepackedFroms(operationGuideData, orderVas, packingUnit);
36
+ if (orderVas.vas && orderVas.vas.operationGuide === 'vas-repack-relabel') {
37
+ transactionType = warehouse_base_1.INVENTORY_TRANSACTION_TYPE.REPACKAGING_RELABELING;
38
+ const toProduct = operationGuideData.toProduct;
39
+ // please add domain filter as well
40
+ const foundProduct = await trxMgr.getRepository(product_base_1.Product).findOne({
41
+ where: {
42
+ id: toProduct.product.id,
43
+ sku: toProduct.product.sku,
44
+ name: toProduct.product.name
45
+ }
46
+ });
47
+ if (!foundProduct) {
48
+ throw new Error(`Cannot find product with SKU ${toProduct.product.sku}`);
49
+ }
50
+ originInv.product = foundProduct;
51
+ originInv.batchId = operationGuideData.toBatchId;
52
+ originInv.productDetail = toProduct.productDetailId;
53
+ }
25
54
  // create repacked inventories based on repackedInvs
26
55
  for (const ri of repackedInvs) {
27
56
  const repackedFromList = ri.repackedFrom.filter((rf) => rf.toPalletId === ri.palletId);
28
- const { qty, uomValue } = (0, common_utils_1.getCurrentAmount)(repackedFromList, ri.palletId);
29
- const repackedPkgQty = packingUnit === interfaces_1.PackingUnits.QTY ? qty / stdAmount : uomValue / stdAmount;
30
- const changedInv = await (0, common_utils_1.upsertInventory)(trxMgr, domain, bizplace, user, originInv, refOrder, ri.palletId, ri.locationName, toPackingType, repackedPkgQty, uomValue, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.REPACKAGING);
31
- // accumulate qty and uomValue to update originInv in one shot
32
- originQty += qty;
33
- originUomValue += uomValue;
34
- // Create worksheet if it's related with Arrival Notice or Release Order
35
- if (refOrder instanceof sales_base_1.ArrivalNotice) {
36
- // await createPutawayWorksheet(trxMgr, domain, bizplace, refOrder, originInv, changedInv, user)
37
- await (0, common_utils_1.createPutawayWorksheet)(trxMgr, domain, bizplace, user, refOrder, originInv, changedInv);
38
- }
39
- else if (refOrder instanceof sales_base_1.ReleaseGood) {
40
- // await createLoadingWorksheet(trxMgr, domain, bizplace, refOrder, originInv, changedInv, user)
41
- await (0, common_utils_1.createLoadingWorksheet)(trxMgr, domain, bizplace, user, refOrder, originInv, changedInv);
57
+ const { qty, uomValue } = (0, common_utils_1.temporaryGetCurrentAmount)(repackedFromList, ri.palletId, packingUnit, stdAmount);
58
+ /* const changedInv: Inventory = */ await (0, common_utils_1.upsertInventory)(trxMgr, domain, bizplace, user, originInv, refOrder, ri.palletId, ri.locationName, toPackingType, packingUnit == interfaces_1.PackingUnits.QTY ? qty : ri.repackedPkgQty, uomValue, transactionType, stdAmount, packingUnit);
59
+ }
60
+ for (const rf of repackedFroms) {
61
+ let foundInventory = await trxMgr.getRepository(warehouse_base_1.Inventory).findOne({
62
+ where: {
63
+ domain,
64
+ bizplace,
65
+ palletId: rf.fromPalletId
66
+ }
67
+ });
68
+ if (foundInventory) {
69
+ let reducedQty;
70
+ let reducedUomValue;
71
+ if (packingUnit == interfaces_1.PackingUnits.QTY) {
72
+ reducedQty = rf.reducedUnitQty / rf.packingSize;
73
+ reducedUomValue = rf.reducedUomValue;
74
+ }
75
+ else if (packingUnit == interfaces_1.PackingUnits.UOM) {
76
+ // reducedQty will remain 0 if there is remaining uomValue
77
+ reducedQty = foundInventory.uomValue - rf.reducedUomValue == 0 ? 1 : 0;
78
+ reducedUomValue = rf.reducedUomValue;
79
+ }
80
+ foundInventory = await (0, common_utils_1.deductProductAmount)(trxMgr, domain, bizplace, user, refOrder, foundInventory, reducedQty, getRoundedAmount(reducedUomValue, 1000), transactionType, rf.originalQty, getRoundedAmount(rf.originalUomValue, 1000), rf.currentUnitQty, rf.currentUomValue);
42
81
  }
43
82
  }
44
- // Deduct amount of product on original pallet or order inventory (Case for release order)
45
- originInv = await (0, common_utils_1.deductProductAmount)(trxMgr, domain, bizplace, user, refOrder, originInv, originQty, originUomValue, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.REPACKAGING);
46
83
  }
47
84
  exports.completeRepackaging = completeRepackaging;
48
- function extractRepackedInvs(operationGuideData, originInv) {
49
- return operationGuideData.repackedInvs
50
- .filter((ri) => {
51
- const isPalletIncluded = Boolean(ri.repackedFrom.find((rf) => rf.fromPalletId === originInv.palletId));
52
- if (isPalletIncluded)
53
- return ri;
54
- })
55
- .map((ri) => {
56
- ri.repackedFrom = ri.repackedFrom.filter((rf) => rf.fromPalletId === originInv.palletId);
57
- return ri;
58
- });
85
+ function extractRepackedFroms(operationGuideData, orderVas, packingUnit) {
86
+ return (operationGuideData.repackedInvs
87
+ .reduce((acc, ri) => {
88
+ acc = [...acc, ...ri.repackedFrom];
89
+ return acc;
90
+ }, [])
91
+ // .flat()
92
+ .reduce((acc, inv) => {
93
+ let foundInv = acc.find(a => a.fromPalletId == inv.fromPalletId);
94
+ if (foundInv) {
95
+ if (packingUnit == interfaces_1.PackingUnits.QTY) {
96
+ foundInv.reducedUnitQty += inv.reducedUnitQty;
97
+ foundInv.reducedUomValue += inv.reducedUomValue;
98
+ }
99
+ else if (packingUnit == interfaces_1.PackingUnits.UOM) {
100
+ foundInv.reducedQty += inv.reducedQty;
101
+ foundInv.reducedUomValue += inv.reducedUomValue;
102
+ }
103
+ }
104
+ else {
105
+ if (packingUnit == interfaces_1.PackingUnits.QTY) {
106
+ acc.push({
107
+ fromPalletId: inv.fromPalletId,
108
+ reducedUnitQty: inv.reducedUnitQty,
109
+ reducedUomValue: inv.reducedUomValue,
110
+ packingSize: inv.packingSize
111
+ });
112
+ }
113
+ else if (packingUnit == interfaces_1.PackingUnits.UOM) {
114
+ acc.push({
115
+ fromPalletId: inv.fromPalletId,
116
+ reducedQty: inv.reducedQty,
117
+ reducedUomValue: inv.reducedUomValue,
118
+ packingSize: inv.packingSize
119
+ });
120
+ }
121
+ }
122
+ return acc;
123
+ }, [])
124
+ .map((pc) => {
125
+ const featuredInvs = operationGuideData.featuredInvs || [];
126
+ const foundFeaturedInv = featuredInvs.find((inv) => inv.palletId === pc.fromPalletId);
127
+ let originalQty;
128
+ let originalUomValue;
129
+ if (foundFeaturedInv) {
130
+ originalQty = foundFeaturedInv.originalQty;
131
+ originalUomValue = foundFeaturedInv.originalUomValue;
132
+ if (packingUnit == interfaces_1.PackingUnits.QTY) {
133
+ pc.currentUnitQty = foundFeaturedInv.currentUnitQty;
134
+ }
135
+ else if (packingUnit == interfaces_1.PackingUnits.UOM) {
136
+ pc.currentUomValue = foundFeaturedInv.currentUomValue;
137
+ }
138
+ }
139
+ else {
140
+ originalQty =
141
+ packingUnit == interfaces_1.PackingUnits.UOM
142
+ ? orderVas.qty
143
+ : orderVas.qty -
144
+ featuredInvs.reduce((qty, inv) => {
145
+ return qty + inv.originalQty;
146
+ }, 0);
147
+ originalUomValue =
148
+ orderVas.uomValue -
149
+ featuredInvs.reduce((uomValue, inv) => {
150
+ return uomValue + inv.originalUomValue;
151
+ }, 0);
152
+ if (packingUnit == interfaces_1.PackingUnits.QTY) {
153
+ pc.currentUnitQty = originalQty - pc.reducedUnitQty / pc.packingSize;
154
+ }
155
+ else if (packingUnit == interfaces_1.PackingUnits.UOM) {
156
+ pc.currentUomValue = getRoundedAmount(originalUomValue - pc.reducedUomValue);
157
+ }
158
+ }
159
+ return Object.assign(Object.assign({}, pc), { originalQty,
160
+ originalUomValue });
161
+ }));
162
+ }
163
+ function getRoundedAmount(value, decimalPlace = 100) {
164
+ return Math.round((value + Number.EPSILON) * decimalPlace) / decimalPlace;
59
165
  }
60
166
  //# sourceMappingURL=complete-repackaging.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"complete-repackaging.js","sourceRoot":"","sources":["../../../../../../server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complete-repackaging.js","sourceRoot":"","sources":["../../../../../../server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ exports.repackagingResolver = {
29
29
  throw new Error(errorMessage);
30
30
  // Check whether there's duplicated inventory in warehouse.
31
31
  if (await (0, utils_1.checkPalletDuplication)(domain, bizplace, toPalletId, tx))
32
- throw new Error(`The Pallet ID (${toPalletId}) is duplicated.`);
32
+ throw new Error(`The lot ID (${toPalletId}) is duplicated.`);
33
33
  // Init refOrder
34
34
  const { arrivalNotice, releaseGood, vasOrder } = targetVas;
35
35
  const refOrder = arrivalNotice || releaseGood || vasOrder || null;
@@ -43,57 +43,116 @@ exports.repackagingResolver = {
43
43
  let originInv = targetVas.inventory;
44
44
  let operationGuide = JSON.parse(targetVas.operationGuide);
45
45
  let operationGuideData = operationGuide.data;
46
- if (!operationGuideData.repackedInvs)
47
- operationGuideData.repackedInvs = [];
48
- // const palletChanges: PalletChangesInterface[] = operationGuideData.repackedInvs
49
- // .map((ri: RepackedInvInfo) => ri.repackedFrom)
50
- // .flat()
51
- const palletChanges = [];
52
- const { remainQty, remainUomValue } = await (0, common_utils_1.getRemainInventoryAmount)(tx, refOrder, domain, bizplace, originInv, palletChanges, fromPalletId);
53
- const unitUomValue = remainUomValue / remainQty;
46
+ let featuredInvs = operationGuideData.featuredInvs;
54
47
  const packingUnit = operationGuideData.packingUnit;
55
48
  const stdAmount = operationGuideData.stdAmount;
49
+ let repackedInvs = operationGuideData.repackedInvs;
50
+ if ((repackedInvs === null || repackedInvs === void 0 ? void 0 : repackedInvs.length) && repackedInvs.some((inv) => inv.palletId == toPalletId))
51
+ throw new Error(`Unable to repack into the same lot ID ${toPalletId}`);
52
+ let palletChanges = [];
53
+ if (repackedInvs && repackedInvs.length) {
54
+ palletChanges = repackedInvs.reduce((acc, ri) => {
55
+ acc = [...acc, ...ri.repackedFrom];
56
+ return acc;
57
+ }, []);
58
+ // .map((ri: RepackedInvInfo) => ri.repackedFrom).flat()
59
+ }
60
+ else if (!repackedInvs) {
61
+ operationGuideData.repackedInvs = [];
62
+ }
63
+ // get remainUnitQty of originInv (from previous repackaging actions)
64
+ let remainOriginInv = {
65
+ remainUomValue: 0,
66
+ remainUnitQty: 0
67
+ };
68
+ let remainUomValue = 0;
69
+ let remainUnitQty = 0;
70
+ try {
71
+ remainOriginInv = await (0, common_utils_1.temporaryGetRemainInventoryAmount)(tx, refOrder, domain, bizplace, originInv, palletChanges, fromPalletId);
72
+ remainUomValue = remainOriginInv.remainUomValue;
73
+ remainUnitQty = remainOriginInv.remainUnitQty;
74
+ }
75
+ catch (err) { }
76
+ let repackedFroms = [];
56
77
  let repackedInv = getRepackedInv(operationGuideData, toPalletId, locationName);
57
- let isCompleted = false; // Flag for calling executeVas function to change status of worksheet detail
78
+ let isCompleted = false;
79
+ const repackagingAmount = stdAmount * packageQty;
58
80
  if (packingUnit === interfaces_1.PackingUnits.QTY) {
59
- const packingSize = originInv.packingSize;
60
- const reducedQty = remainQty >= (stdAmount * packageQty) / packingSize ? (stdAmount * packageQty) / packingSize : remainQty;
61
- const repackedFrom = {
62
- fromPalletId,
63
- toPalletId,
64
- reducedQty,
65
- reducedUomValue: reducedQty * unitUomValue
66
- };
67
- repackedInv.repackedFrom.push(repackedFrom);
68
- const totalPackedQty = repackedInv.repackedFrom.reduce((qty, rf) => (qty += rf.reducedQty), 0);
69
- repackedInv.repackedPkgQty = (totalPackedQty * packingSize) / stdAmount;
70
- isCompleted = remainQty <= stdAmount * packageQty;
81
+ const singleUnitUomValue = originInv.uomValue / (originInv.qty * originInv.packingSize);
82
+ // const singleUnitUomValue: number = getRoundedAmount(
83
+ // originInv.uomValue / (originInv.qty * originInv.packingSize),
84
+ // 10000
85
+ // )
86
+ if ((featuredInvs === null || featuredInvs === void 0 ? void 0 : featuredInvs.length) && repackagingAmount > remainUnitQty) {
87
+ const inventoriesChanges = deductedFeaturedInventories(featuredInvs, repackagingAmount, remainUnitQty, toPalletId, 'currentUnitQty');
88
+ operationGuideData.featuredInvs = inventoriesChanges.featuredInvs;
89
+ repackedFroms = [...repackedFroms, ...inventoriesChanges.repackedFroms];
90
+ if (remainUnitQty > 0) {
91
+ repackedFroms.push({
92
+ fromPalletId,
93
+ toPalletId,
94
+ reducedUnitQty: remainUnitQty,
95
+ reducedUomValue: remainUnitQty * singleUnitUomValue,
96
+ packingSize: originInv.packingSize
97
+ });
98
+ }
99
+ }
100
+ else if (remainUnitQty >= repackagingAmount) {
101
+ repackedFroms.push({
102
+ fromPalletId,
103
+ toPalletId,
104
+ reducedUnitQty: repackagingAmount,
105
+ reducedUomValue: repackagingAmount * singleUnitUomValue,
106
+ packingSize: originInv.packingSize
107
+ });
108
+ }
109
+ repackedInv.repackedFrom = repackedFroms;
110
+ const totalPackedQty = repackedInv.repackedFrom.reduce((qty, rf) => (qty += rf.reducedUnitQty), 0);
111
+ repackedInv.repackedPkgQty = totalPackedQty / stdAmount;
112
+ isCompleted = operationGuideData.requiredPackageQty == 0;
71
113
  }
72
114
  else if (packingUnit === interfaces_1.PackingUnits.UOM) {
73
- // Case 1. When batchProcess is true => Reduce as much as remainUomValue to complete this repackaging task
74
- // Case 2. When from pallet has more products than std amount => Reduce as much as stdAmount
75
- // Case 3. When from pallet has less products than std amount => Reduce as much as remainUomValue
76
- const reducedUomValue = remainUomValue >= stdAmount * packageQty ? stdAmount * packageQty : remainUomValue;
77
- const repackedFrom = {
78
- fromPalletId,
79
- toPalletId,
80
- reducedUomValue,
81
- reducedQty: reducedUomValue / unitUomValue
82
- };
83
- repackedInv.repackedFrom.push(repackedFrom);
84
- const totalPackedUomValue = repackedInv.repackedFrom.reduce((uomValue, rf) => (uomValue += rf.reducedUomValue), 0);
115
+ if ((featuredInvs === null || featuredInvs === void 0 ? void 0 : featuredInvs.length) && repackagingAmount > remainUomValue) {
116
+ const inventoriesChanges = deductedFeaturedInventories(featuredInvs, repackagingAmount, remainUomValue, toPalletId, 'currentUomValue');
117
+ operationGuideData.featuredInvs = inventoriesChanges.featuredInvs;
118
+ repackedFroms = [...repackedFroms, ...inventoriesChanges.repackedFroms];
119
+ if (remainUomValue > 0) {
120
+ repackedFroms.push({
121
+ fromPalletId,
122
+ toPalletId,
123
+ reducedQty: 0,
124
+ reducedUomValue: remainUomValue,
125
+ // reducedUomValue: getRoundedAmount(remainUomValue),
126
+ packingSize: originInv.packingSize
127
+ });
128
+ }
129
+ }
130
+ else if (remainUomValue >= repackagingAmount) {
131
+ repackedFroms.push({
132
+ fromPalletId,
133
+ toPalletId,
134
+ reducedQty: 0,
135
+ reducedUomValue: repackagingAmount,
136
+ // reducedUomValue: getRoundedAmount(repackagingAmount),
137
+ packingSize: originInv.packingSize
138
+ });
139
+ }
140
+ repackedInv.repackedFrom = repackedFroms;
141
+ const totalPackedUomValue = repackedInv.repackedFrom.reduce((qty, rf) => (qty += rf.reducedUomValue), 0);
85
142
  repackedInv.repackedPkgQty = totalPackedUomValue / stdAmount;
86
- isCompleted = remainUomValue <= stdAmount * packageQty;
143
+ // repackedInv.repackedPkgQty = getRoundedAmount(totalPackedUomValue / stdAmount)
144
+ isCompleted = operationGuideData.requiredPackageQty == 0;
87
145
  }
88
146
  // Get total required package qty to complete this VAS Task
89
- const requiredPackageQty = await getRequiredPackageQty(tx, domain, bizplace, wsd.worksheet, targetVas, packingUnit, stdAmount);
147
+ const requiredPackageQty = await getRequiredPackageQty(tx, domain, bizplace, wsd.worksheet, targetVas, packingUnit, stdAmount, (operationGuideData === null || operationGuideData === void 0 ? void 0 : operationGuideData.remainder) || 0);
90
148
  // Get total repacked package qty until this transaction
91
149
  const repackedPackageQty = getRepackedPackageQty(operationGuideData.repackedInvs);
92
- const remainRequiredPackageQty = requiredPackageQty - repackedPackageQty;
93
- operationGuide.data.requiredPackageQty = remainRequiredPackageQty;
94
- operationGuide.data.repackedInvs = operationGuideData.repackedInvs;
150
+ const remainRequiredPackageQty = getRoundedAmount(requiredPackageQty - repackedPackageQty);
151
+ // const requiredPackageQty: number = operationGuideData.requiredPackageQty - repackedPackageQty
152
+ operationGuide.data = Object.assign(Object.assign({}, operationGuideData), { requiredPackageQty: remainRequiredPackageQty });
95
153
  // Update every order vas to share same operation guide
96
154
  await (0, common_utils_1.updateRelatedOrderVas)(tx, domain, bizplace, wsd, targetVas, operationGuide, user);
155
+ // ######################### KIV DULU YANG NI #########################
97
156
  if (isCompleted || remainRequiredPackageQty === 0) {
98
157
  await (0, execute_vas_1.executeVas)(tx, domain, user, wsd);
99
158
  }
@@ -117,7 +176,7 @@ function getRepackedPackageQty(repackedInvs) {
117
176
  * @param {String} packingUnit
118
177
  * @param {Number} stdAmount
119
178
  */
120
- async function getRequiredPackageQty(tx, domain, bizplace, worksheet, currentOV, packingUnit, stdAmount) {
179
+ async function getRequiredPackageQty(tx, domain, bizplace, worksheet, currentOV, packingUnit, stdAmount, remainder) {
121
180
  const relatedWSDs = await tx.getRepository(entities_1.WorksheetDetail).find({
122
181
  where: { domain, bizplace, worksheet },
123
182
  relations: ['targetVas', 'targetVas.vas', 'targetVas.inventory']
@@ -133,10 +192,10 @@ async function getRequiredPackageQty(tx, domain, bizplace, worksheet, currentOV,
133
192
  return total;
134
193
  }, { qty: 0, uomValue: 0 });
135
194
  if (packingUnit === interfaces_1.PackingUnits.QTY) {
136
- return qty / stdAmount;
195
+ return (qty - remainder) / stdAmount;
137
196
  }
138
197
  else if (packingUnit === interfaces_1.PackingUnits.UOM) {
139
- return uomValue / stdAmount;
198
+ return Math.floor(uomValue / stdAmount);
140
199
  }
141
200
  }
142
201
  /**
@@ -160,4 +219,60 @@ function getRepackedInv(operationGuideData, palletId, locationName) {
160
219
  }
161
220
  return repackedInv;
162
221
  }
222
+ /**
223
+ * @description To transfer qty or uom value from featured inventories into origin inventory
224
+ * If and only if the origin inventory has insufficient amount
225
+ *
226
+ * @param {FeaturedInventoryInterface} featuredInvs
227
+ * @param {Number} repackagingAmount
228
+ * @param {Number} remainingAmount
229
+ * @param {String} packingUnit -- value is strictly for qty / uomValue
230
+ */
231
+ function deductedFeaturedInventories(featuredInvs, repackagingAmount, remainingAmount, toPalletId, packingUnit) {
232
+ let requiredAmount = getRoundedAmount(repackagingAmount - remainingAmount);
233
+ const repackedFroms = [];
234
+ featuredInvs = featuredInvs.map(inv => {
235
+ if (requiredAmount > 0 && inv[packingUnit] > 0) {
236
+ let reducedAmount = requiredAmount;
237
+ if (inv[packingUnit] >= requiredAmount) {
238
+ inv[packingUnit] = inv[packingUnit] - requiredAmount;
239
+ // inv[packingUnit] = getRoundedAmount(inv[packingUnit] - requiredAmount)
240
+ requiredAmount = 0;
241
+ }
242
+ else {
243
+ requiredAmount = requiredAmount - inv[packingUnit];
244
+ // requiredAmount = getRoundedAmount(requiredAmount - inv[packingUnit])
245
+ reducedAmount = inv[packingUnit];
246
+ inv[packingUnit] = 0;
247
+ }
248
+ switch (packingUnit) {
249
+ case 'currentUnitQty':
250
+ repackedFroms.push({
251
+ fromPalletId: inv.palletId,
252
+ toPalletId,
253
+ reducedUnitQty: reducedAmount,
254
+ reducedUomValue: reducedAmount * inv.uomValuePerQty,
255
+ // reducedUomValue: getRoundedAmount(reducedAmount * inv.uomValuePerQty),
256
+ packingSize: featuredInvs.find(inv => inv.palletId == inv.palletId).packingSize
257
+ });
258
+ break;
259
+ case 'currentUomValue':
260
+ repackedFroms.push({
261
+ fromPalletId: inv.palletId,
262
+ toPalletId,
263
+ reducedQty: 0,
264
+ reducedUomValue: reducedAmount,
265
+ // reducedUomValue: getRoundedAmount(reducedAmount),
266
+ packingSize: featuredInvs.find(inv => inv.palletId == inv.palletId).packingSize
267
+ });
268
+ break;
269
+ }
270
+ }
271
+ return inv;
272
+ });
273
+ return { featuredInvs, repackedFroms };
274
+ }
275
+ function getRoundedAmount(value, decimalPlace = 100) {
276
+ return Math.round((value + Number.EPSILON) * decimalPlace) / decimalPlace;
277
+ }
163
278
  //# sourceMappingURL=repackaging.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repackaging.js","sourceRoot":"","sources":["../../../../../../server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repackaging.js","sourceRoot":"","sources":["../../../../../../server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,15 @@ const sales_base_1 = require("@things-factory/sales-base");
5
5
  const entities_1 = require("../../../../../entities");
6
6
  const common_utils_1 = require("../common-utils");
7
7
  const interfaces_1 = require("../interfaces");
8
+ /** STEPS TO UNDO REPACKAGING
9
+ * 1. get the pallet id to undo (pallet id must be the LV one and not the parent)
10
+ * 2. revert the qty of repackedFrom into the original inventory and featuredInv (if applicable)
11
+ * 3. remove the repackedInv for undo item
12
+ * 4. update the requiredPkgQty
13
+ *
14
+ */
8
15
  exports.undoRepackagingResolver = {
9
16
  async undoRepackaging(_, { worksheetDetailName, fromPalletId, toPalletId }, context) {
10
- var _a;
11
17
  /**
12
18
  * Initialize required variables
13
19
  */
@@ -20,42 +26,50 @@ exports.undoRepackagingResolver = {
20
26
  let operationGuide = JSON.parse(targetVas.operationGuide);
21
27
  let operationGuideData = operationGuide.data;
22
28
  let repackedInvs = operationGuideData.repackedInvs;
29
+ let featuredInvs = operationGuideData.featuredInvs;
23
30
  let undoInventory = repackedInvs.find((ri) => ri.palletId === toPalletId);
24
31
  if (!undoInventory)
25
32
  throw new Error(`Couldn't find pallet, using pallet id (${toPalletId})`);
26
33
  const packingUnit = operationGuideData.packingUnit;
27
34
  const stdAmount = operationGuideData.stdAmount;
28
- undoInventory.repackedFrom = undoInventory.repackedFrom.filter((rf) => rf.fromPalletId !== fromPalletId);
35
+ // undoInventory.repackedFrom = undoInventory.repackedFrom.filter(
36
+ // (rf: TemporaryPalletChangesInterface) => rf.fromPalletId !== fromPalletId
37
+ // )
29
38
  // 완전히 Repacked 상태인 pallet count
30
- const repackedPkgQty = undoInventory.repackedFrom.reduce((totalAmount, rf) => {
31
- const amount = packingUnit === interfaces_1.PackingUnits.QTY ? rf.reducedQty : rf.reducedUomValue;
32
- totalAmount += amount;
33
- return totalAmount;
34
- }, 0) / stdAmount;
39
+ // const repackedPkgQty: number =
40
+ // undoInventory.repackedFrom.reduce((totalAmount: number, rf: TemporaryPalletChangesInterface) => {
41
+ // const amount: number = packingUnit === PackingUnits.QTY ? rf.reducedUnitQty : rf.reducedUomValue
42
+ // totalAmount += amount
43
+ // return totalAmount
44
+ // }, 0) / stdAmount
35
45
  // Undo를 발생한 수량 차이를 계산
36
- undoInventory.repackedPkgQty = repackedPkgQty;
37
- // Pallet 전체가 취소된 경우
38
- let updatedRepackedInvs;
39
- if (!((_a = undoInventory.repackedFrom) === null || _a === void 0 ? void 0 : _a.length)) {
40
- updatedRepackedInvs = repackedInvs.filter((ri) => ri.palletId !== toPalletId);
41
- }
42
- else {
43
- updatedRepackedInvs = repackedInvs.map((ri) => {
44
- if (ri.palletId === toPalletId)
45
- ri = undoInventory;
46
- return ri;
46
+ // undoInventory.repackedPkgQty = repackedPkgQty
47
+ const updatedRepackedInvs = repackedInvs.filter((ri) => ri.palletId !== toPalletId);
48
+ const updatedFeaturedInvs = featuredInvs.reduce((inventories, currInv) => {
49
+ undoInventory.repackedFrom.forEach(undoInv => {
50
+ if (undoInv.fromPalletId == currInv.palletId) {
51
+ if (packingUnit == interfaces_1.PackingUnits.QTY) {
52
+ currInv.currentUnitQty += undoInv.reducedUnitQty;
53
+ }
54
+ else if (packingUnit == interfaces_1.PackingUnits.UOM) {
55
+ currInv.currentUomValue += undoInv.reducedUomValue;
56
+ }
57
+ }
47
58
  });
48
- }
59
+ inventories.push(currInv);
60
+ return inventories;
61
+ }, []);
49
62
  const requiredPackageQty = await getRequiredPackageQty(tx, domain, bizplace, wsd.worksheet, targetVas, packingUnit, stdAmount);
50
63
  const repackedPackageQty = getRepackedPackageQty(updatedRepackedInvs);
51
64
  operationGuide.data.requiredPackageQty = requiredPackageQty - repackedPackageQty;
65
+ operationGuide.data.featuredInvs = updatedFeaturedInvs;
52
66
  operationGuide.data.repackedInvs = updatedRepackedInvs;
53
67
  if (!(refOrder instanceof sales_base_1.VasOrder)) {
54
- // const palletChanges: PalletChangesInterface[] = operationGuide.data.repackedInvs
68
+ // const palletChanges: TemporaryPalletChangesInterface[] = operationGuide.data.repackedInvs
55
69
  // .map((ri: RepackedInvInfo) => ri.repackedFrom)
56
70
  // .flat()
57
71
  const palletChanges = [];
58
- await (0, common_utils_1.dismissInventory)(tx, wsd, targetVas, palletChanges, fromPalletId);
72
+ // await dismissInventory(tx, wsd, targetVas, palletChanges, fromPalletId)
59
73
  }
60
74
  // Update every order vas to share same operation guide
61
75
  await (0, common_utils_1.updateRelatedOrderVas)(tx, domain, bizplace, wsd, targetVas, operationGuide, user);