@things-factory/worksheet-base 5.0.0-alpha.5 → 5.0.0-alpha.50

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 (164) hide show
  1. package/dist-server/constants/template.js +1 -0
  2. package/dist-server/constants/template.js.map +1 -1
  3. package/dist-server/controllers/ecommerce/sellercraft-controller.js +9 -3
  4. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
  5. package/dist-server/controllers/inbound/unloading-worksheet-controller.js +309 -4
  6. package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
  7. package/dist-server/controllers/index.js +2 -0
  8. package/dist-server/controllers/index.js.map +1 -1
  9. package/dist-server/controllers/outbound/loading-worksheet-controller.js +10 -0
  10. package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
  11. package/dist-server/controllers/outbound/packing-worksheet-controller.js +172 -7
  12. package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
  13. package/dist-server/controllers/outbound/picking-worksheet-controller.js +352 -11
  14. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  15. package/dist-server/controllers/outbound/returning-worksheet-controller.js +11 -1
  16. package/dist-server/controllers/outbound/returning-worksheet-controller.js.map +1 -1
  17. package/dist-server/controllers/outbound/sorting-worksheet-controller.js +110 -3
  18. package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
  19. package/dist-server/controllers/render-fm-grn.js +229 -0
  20. package/dist-server/controllers/render-fm-grn.js.map +1 -0
  21. package/dist-server/controllers/render-grn.js +45 -21
  22. package/dist-server/controllers/render-grn.js.map +1 -1
  23. package/dist-server/controllers/render-invoices.js +103 -65
  24. package/dist-server/controllers/render-invoices.js.map +1 -1
  25. package/dist-server/controllers/render-orientage-do.js.map +1 -1
  26. package/dist-server/controllers/render-orientage-grn.js +1 -0
  27. package/dist-server/controllers/render-orientage-grn.js.map +1 -1
  28. package/dist-server/controllers/render-po.js +147 -0
  29. package/dist-server/controllers/render-po.js.map +1 -0
  30. package/dist-server/controllers/render-ro-do.js +65 -1
  31. package/dist-server/controllers/render-ro-do.js.map +1 -1
  32. package/dist-server/controllers/worksheet-controller.js +15 -0
  33. package/dist-server/controllers/worksheet-controller.js.map +1 -1
  34. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +10 -3
  35. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
  36. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js +30 -1
  37. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js.map +1 -1
  38. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js +27 -23
  39. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js.map +1 -1
  40. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +3 -0
  41. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
  42. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js +26 -2
  43. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js.map +1 -1
  44. package/dist-server/graphql/resolvers/worksheet/packing/index.js +2 -1
  45. package/dist-server/graphql/resolvers/worksheet/packing/index.js.map +1 -1
  46. package/dist-server/graphql/resolvers/worksheet/packing/packing.js +4 -4
  47. package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
  48. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +4 -4
  49. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
  50. package/dist-server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.js +15 -0
  51. package/dist-server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.js.map +1 -0
  52. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +152 -132
  53. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  54. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js +13 -10
  55. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js.map +1 -1
  56. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +6 -19
  57. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  58. package/dist-server/graphql/resolvers/worksheet/picking/index.js +2 -1
  59. package/dist-server/graphql/resolvers/worksheet/picking/index.js.map +1 -1
  60. package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js +49 -58
  61. package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js.map +1 -1
  62. package/dist-server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.js +15 -0
  63. package/dist-server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.js.map +1 -0
  64. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js +4 -4
  65. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js.map +1 -1
  66. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js +4 -4
  67. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js.map +1 -1
  68. package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js +6 -0
  69. package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js.map +1 -1
  70. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +3 -2
  71. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
  72. package/dist-server/graphql/resolvers/worksheet/unloading/index.js +3 -1
  73. package/dist-server/graphql/resolvers/worksheet/unloading/index.js.map +1 -1
  74. package/dist-server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.js +15 -0
  75. package/dist-server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.js.map +1 -0
  76. package/dist-server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.js +15 -0
  77. package/dist-server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.js.map +1 -0
  78. package/dist-server/graphql/resolvers/worksheet/unloading/unload.js.map +1 -1
  79. package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js +3 -1
  80. package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js.map +1 -1
  81. package/dist-server/graphql/resolvers/worksheet/worksheets.js +26 -1
  82. package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -1
  83. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js +4 -5
  84. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js.map +1 -1
  85. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js +4 -2
  86. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js.map +1 -1
  87. package/dist-server/graphql/types/worksheet/find-release-orders-by-task-no.js +11 -0
  88. package/dist-server/graphql/types/worksheet/find-release-orders-by-task-no.js.map +1 -0
  89. package/dist-server/graphql/types/worksheet/index.js +38 -11
  90. package/dist-server/graphql/types/worksheet/index.js.map +1 -1
  91. package/dist-server/graphql/types/worksheet/picking-assignment-status.js +2 -2
  92. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js +6 -3
  93. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js.map +1 -1
  94. package/dist-server/graphql/types/worksheet/worksheet-info.js +1 -0
  95. package/dist-server/graphql/types/worksheet/worksheet-info.js.map +1 -1
  96. package/dist-server/graphql/types/worksheet/worksheet-patch.js +1 -0
  97. package/dist-server/graphql/types/worksheet/worksheet-patch.js.map +1 -1
  98. package/dist-server/graphql/types/worksheet-detail/index.js +0 -2
  99. package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -1
  100. package/dist-server/graphql/types/worksheet-detail/inventory-detail.js +2 -2
  101. package/dist-server/graphql/types/worksheet-detail/worksheet-detail-patch.js +1 -1
  102. package/dist-server/index.js +5 -0
  103. package/dist-server/index.js.map +1 -1
  104. package/dist-server/routes.js +12 -0
  105. package/dist-server/routes.js.map +1 -1
  106. package/dist-server/utils/inventory-util.js +14 -25
  107. package/dist-server/utils/inventory-util.js.map +1 -1
  108. package/package.json +17 -17
  109. package/server/constants/template.ts +1 -0
  110. package/server/controllers/ecommerce/sellercraft-controller.ts +10 -3
  111. package/server/controllers/inbound/unloading-worksheet-controller.ts +376 -8
  112. package/server/controllers/index.ts +3 -0
  113. package/server/controllers/outbound/loading-worksheet-controller.ts +13 -0
  114. package/server/controllers/outbound/packing-worksheet-controller.ts +224 -9
  115. package/server/controllers/outbound/picking-worksheet-controller.ts +465 -16
  116. package/server/controllers/outbound/returning-worksheet-controller.ts +12 -1
  117. package/server/controllers/outbound/sorting-worksheet-controller.ts +149 -4
  118. package/server/controllers/render-fm-grn.ts +266 -0
  119. package/server/controllers/render-grn.ts +57 -23
  120. package/server/controllers/render-invoices.ts +119 -72
  121. package/server/controllers/render-orientage-do.ts +11 -11
  122. package/server/controllers/render-orientage-grn.ts +12 -11
  123. package/server/controllers/render-po.ts +170 -0
  124. package/server/controllers/render-ro-do.ts +93 -8
  125. package/server/controllers/worksheet-controller.ts +18 -2
  126. package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +13 -4
  127. package/server/graphql/resolvers/worksheet/find-release-orders-by-task-no.ts +35 -2
  128. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.ts +35 -25
  129. package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +2 -0
  130. package/server/graphql/resolvers/worksheet/loading/complete-loading.ts +41 -8
  131. package/server/graphql/resolvers/worksheet/packing/index.ts +3 -1
  132. package/server/graphql/resolvers/worksheet/packing/packing.ts +5 -4
  133. package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +9 -4
  134. package/server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.ts +24 -0
  135. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +167 -145
  136. package/server/graphql/resolvers/worksheet/picking/assign-picking-worker.ts +15 -11
  137. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +5 -20
  138. package/server/graphql/resolvers/worksheet/picking/index.ts +3 -1
  139. package/server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.ts +62 -61
  140. package/server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.ts +24 -0
  141. package/server/graphql/resolvers/worksheet/sorting/scan-product-sorting.ts +5 -4
  142. package/server/graphql/resolvers/worksheet/sorting/sorting-product.ts +5 -4
  143. package/server/graphql/resolvers/worksheet/sorting-worksheet.ts +6 -0
  144. package/server/graphql/resolvers/worksheet/unloaded-inventories.ts +6 -2
  145. package/server/graphql/resolvers/worksheet/unloading/index.ts +4 -0
  146. package/server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.ts +26 -0
  147. package/server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.ts +24 -0
  148. package/server/graphql/resolvers/worksheet/unloading/unload.ts +3 -1
  149. package/server/graphql/resolvers/worksheet/unloading-worksheet.ts +3 -1
  150. package/server/graphql/resolvers/worksheet/worksheets.ts +36 -1
  151. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +10 -12
  152. package/server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.ts +4 -2
  153. package/server/graphql/types/worksheet/find-release-orders-by-task-no.ts +8 -0
  154. package/server/graphql/types/worksheet/index.ts +38 -11
  155. package/server/graphql/types/worksheet/picking-assignment-status.ts +2 -2
  156. package/server/graphql/types/worksheet/worksheet-detail-info.ts +6 -3
  157. package/server/graphql/types/worksheet/worksheet-info.ts +1 -0
  158. package/server/graphql/types/worksheet/worksheet-patch.ts +1 -0
  159. package/server/graphql/types/worksheet-detail/index.ts +0 -2
  160. package/server/graphql/types/worksheet-detail/inventory-detail.ts +2 -2
  161. package/server/graphql/types/worksheet-detail/worksheet-detail-patch.ts +1 -1
  162. package/server/index.ts +5 -0
  163. package/server/routes.ts +17 -0
  164. package/server/utils/inventory-util.ts +15 -23
@@ -8,6 +8,7 @@ exports.TEMPLATE_TYPE = {
8
8
  JOB_TEMPLATE: 'JOB_TEMPLATE',
9
9
  MANIFEST_TEMPLATE: 'MANIFEST_TEMPLATE',
10
10
  INVOICE_TEMPLATE: 'INVOICE_TEMPLATE',
11
+ PO_TEMPLATE: "PO_TEMPLATE",
11
12
  COP: 'COP',
12
13
  SIGNATURE: 'SIGNATURE',
13
14
  LOGO: 'LOGO'
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../server/constants/template.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACb,CAAA"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../server/constants/template.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,WAAW,EAAC,aAAa;IACzB,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACb,CAAA"}
@@ -125,6 +125,7 @@ class SellercraftController extends worksheet_controller_1.WorksheetController {
125
125
  });
126
126
  let inventories = await qb.getMany();
127
127
  let inventoryTotalQty = 0;
128
+ let inventoryTotalLockedQty = 0;
128
129
  let defaultProductDetail = product.productDetails.find(productDetail => productDetail.isDefault);
129
130
  if ((inventories === null || inventories === void 0 ? void 0 : inventories.length) > 0) {
130
131
  const sellercraftInvs = await Promise.all(inventories.map(async (inventory) => {
@@ -134,10 +135,14 @@ class SellercraftController extends worksheet_controller_1.WorksheetController {
134
135
  const unmatchingProductDetail = product.productDetails.find(productDetail => productDetail.packingType === inventoryPackingType);
135
136
  packingSize = await this.getChildPackingSize(productDetails, defaultProductDetail, unmatchingProductDetail);
136
137
  }
137
- return { quantity: inventory.qty * packingSize - inventory.lockedQty * packingSize };
138
+ return { totalQty: inventory.qty * packingSize, totalLockedQty: inventory.lockedQty * packingSize };
138
139
  }));
139
140
  inventoryTotalQty = sellercraftInvs.reduce((total, currentValue) => {
140
- total += currentValue.quantity;
141
+ total += currentValue.totalQty;
142
+ return total;
143
+ }, 0);
144
+ inventoryTotalQty = sellercraftInvs.reduce((total, currentValue) => {
145
+ total += currentValue.totalLockedQty;
141
146
  return total;
142
147
  }, 0);
143
148
  }
@@ -146,7 +151,8 @@ class SellercraftController extends worksheet_controller_1.WorksheetController {
146
151
  sku: product.sku,
147
152
  gtin: defaultProductDetail.gtin,
148
153
  stock: {
149
- quantity: inventoryTotalQty,
154
+ quantity_total: inventoryTotalQty,
155
+ quantity_reserved: inventoryTotalLockedQty,
150
156
  unit_of_measure: 'EA'
151
157
  },
152
158
  package_weight_gm: defaultProductDetail.nettWeight < 1 ? 1 : defaultProductDetail.nettWeight,
@@ -1 +1 @@
1
- {"version":3,"file":"sellercraft-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/sellercraft-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sellercraft-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/sellercraft-controller.ts"],"names":[],"mappings":";;;AAAA,qFAAqF;AAErF,2DAOmC;AACnC,mEAA2F;AAE3F,kEAA6D;AAE7D,MAAa,qBAAsB,SAAQ,0CAAmB;IAC5D,KAAK,CAAC,SAAS,CAAC,WAAwB,EAAE,WAAwB;QAChE,MAAM,aAAa,GAAmB,WAAW,CAAC,aAAa,CAAA;QAC/D,IAAI,cAAc,GAAU,EAAE,CAAA;QAE9B,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAChD,MAAM,OAAO,GAAY,YAAY,CAAC,OAAO,CAAA;YAE7C,OAAO;gBACL,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,GAAG,EAAE,IAAI;aACV,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAQ;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,OAAO,EAAE,WAAW,CAAC,MAAM;YAC3B,cAAc;SACf,CAAA;QACD,MAAM,SAAS,GAAW,MAAM,wCAAc,CAAC,oBAAoB,CAAC,WAAW,oBAAO,gBAAgB,EAAG,CAAA;QAEzG,WAAW,CAAC,SAAS,GAAG,SAAS,CAAA;QACjC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,WAAwB,EAAE,aAA4B;QACjF,MAAM,aAAa,GAAmB,aAAa,CAAC,aAAa,CAAA;QACjE,MAAM,aAAa,GAAkB,aAAa,CAAC,aAAa,CAAA;QAChE,MAAM,cAAc,GAAU,MAAM,OAAO,CAAC,GAAG,CAC7C,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAA0B,EAAE,EAAE;YACrD,MAAM,OAAO,GAAY,YAAY,CAAC,OAAO,CAAA;YAC7C,MAAM,cAAc,GAAoB,OAAO,CAAC,cAAc,CAAA;YAC9D,MAAM,mBAAmB,GAAW,YAAY,CAAC,WAAW,CAAA;YAC5D,MAAM,oBAAoB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CACrE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CACzC,CAAA;YAED,IAAI,WAAW,GAAW,CAAC,CAAA;YAC3B,IAAI,mBAAmB,KAAK,oBAAoB,CAAC,WAAW,EAAE;gBAC5D,MAAM,uBAAuB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CACxE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,KAAK,mBAAmB,CACnE,CAAA;gBAED,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,oBAAoB,EAAE,uBAAuB,CAAC,CAAA;aAC5G;YAED,OAAO;gBACL,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,gBAAgB,EAAE,YAAY,CAAC,OAAO,GAAG,WAAW;gBACpD,WAAW,EAAE,YAAY,CAAC,aAAa,GAAG,WAAW;gBACrD,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,IAAI,EAAE,oBAAoB,CAAC,IAAI;gBAC/B,kBAAkB,EAAE,IAAI;gBACxB,UAAU,EAAE,CAAC;gBACb,MAAM,EAAE,oBAAoB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU;gBACjF,gBAAgB,EAAE;oBAChB,MAAM,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;oBACvE,KAAK,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;oBACtE,MAAM,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM;iBAC1E;aACF,CAAA;QACH,CAAC,CAAC,CACH,CAAA;QAED,MAAM,YAAY,GAAQ;YACxB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,SAAS,EAAE,aAAa,CAAC,IAAI;YAC7B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YAC3E,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe;YAC/D,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACxD,cAAc;SACf,CAAA;QACD,MAAM,wCAAc,CAAC,eAAe,CAAC,WAAW,oBAAO,YAAY,EAAG,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,WAAwB,EAAE,WAAwB;QAC5E,MAAM,gBAAgB,GAAqB,WAAW,CAAC,gBAAgB,CAAA;QACvE,MAAM,cAAc,GAAU,MAAM,OAAO,CAAC,GAAG,CAC7C,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,cAA8B,EAAE,EAAE;YAC5D,MAAM,OAAO,GAAY,cAAc,CAAC,OAAO,CAAA;YAC/C,MAAM,cAAc,GAAoB,OAAO,CAAC,cAAc,CAAA;YAC9D,MAAM,mBAAmB,GAAW,cAAc,CAAC,WAAW,CAAA;YAC9D,MAAM,oBAAoB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CACrE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CACzC,CAAA;YAED,IAAI,WAAW,GAAW,CAAC,CAAA;YAC3B,IAAI,mBAAmB,KAAK,oBAAoB,CAAC,WAAW,EAAE;gBAC5D,MAAM,uBAAuB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CACxE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,KAAK,mBAAmB,CACnE,CAAA;gBAED,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,oBAAoB,EAAE,uBAAuB,CAAC,CAAA;aAC5G;YAED,OAAO;gBACL,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,IAAI,EAAE,oBAAoB,CAAC,IAAI;gBAC/B,gBAAgB,EAAE,cAAc,CAAC,SAAS,GAAG,WAAW;gBACxD,WAAW,EAAE,cAAc,CAAC,SAAS,GAAG,WAAW;gBACnD,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,kBAAkB,EAAE,IAAI;gBACxB,UAAU,EAAE,CAAC;gBACb,MAAM,EAAE,oBAAoB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU;gBACjF,gBAAgB,EAAE;oBAChB,MAAM,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;oBACvE,KAAK,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;oBACtE,MAAM,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM;iBAC1E;aACF,CAAA;QACH,CAAC,CAAC,CACH,CAAA;QAED,MAAM,aAAa,GAAQ;YACzB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,SAAS,EAAE,WAAW,CAAC,IAAI;YAC3B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YACzE,eAAe,EAAE,EAAE;YACnB,WAAW,EAAE,cAAc;YAC3B,cAAc;SACf,CAAA;QACD,MAAM,wCAAc,CAAC,eAAe,CAAC,WAAW,oBAAO,aAAa,EAAG,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,WAAwB,EAAE,SAAoB;QACzE,IAAI,OAAO,GAAY,SAAS,CAAC,OAAO,CAAA;QACxC,MAAM,cAAc,GAAoB,OAAO,CAAC,cAAc,CAAA;QAC9D,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAC7E,EAAE,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,CAAC;aACxC,QAAQ,CAAC,+BAA+B,CAAC;aACzC,QAAQ,CAAC,iCAAiC,CAAC;aAC3C,QAAQ,CAAC,2BAA2B,CAAC;aACrC,QAAQ,CAAC,yCAAyC,CAAC;aACnD,aAAa,CAAC;YACb,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YACxB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,iCAAgB,CAAC,UAAU;YACnC,aAAa,EAAE,CAAC,8BAAa,CAAC,UAAU,EAAE,8BAAa,CAAC,OAAO,CAAC;SACjE,CAAC,CAAA;QAEJ,IAAI,WAAW,GAAgB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;QACjD,IAAI,iBAAiB,GAAW,CAAC,CAAA;QACjC,IAAI,uBAAuB,GAAW,CAAC,CAAA;QAEvC,IAAI,oBAAoB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAE/G,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,IAAG,CAAC,EAAE;YAC3B,MAAM,eAAe,GAAU,MAAM,OAAO,CAAC,GAAG,CAC9C,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,SAAoB,EAAE,EAAE;gBAC7C,MAAM,oBAAoB,GAAW,SAAS,CAAC,WAAW,CAAA;gBAE1D,IAAI,WAAW,GAAW,CAAC,CAAA;gBAC3B,IAAI,oBAAoB,KAAK,oBAAoB,CAAC,WAAW,EAAE;oBAC7D,MAAM,uBAAuB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CACxE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,KAAK,oBAAoB,CACpE,CAAA;oBAED,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,oBAAoB,EAAE,uBAAuB,CAAC,CAAA;iBAC5G;gBAED,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,WAAW,EAAE,cAAc,EAAE,SAAS,CAAC,SAAS,GAAG,WAAW,EAAE,CAAA;YACrG,CAAC,CAAC,CACH,CAAA;YAED,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;gBACjE,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAA;gBAC9B,OAAO,KAAK,CAAA;YACd,CAAC,EAAE,CAAC,CAAC,CAAA;YAEL,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;gBACjE,KAAK,IAAI,YAAY,CAAC,cAAc,CAAA;gBACpC,OAAO,KAAK,CAAA;YACd,CAAC,EAAE,CAAC,CAAC,CAAA;SACN;QAED,MAAM,cAAc,GAAU;YAC5B;gBACE,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,oBAAoB,CAAC,IAAI;gBAC/B,KAAK,EAAE;oBACL,cAAc,EAAE,iBAAiB;oBACjC,iBAAiB,EAAE,uBAAuB;oBAC1C,eAAe,EAAE,IAAI;iBACtB;gBACD,iBAAiB,EAAE,oBAAoB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU;gBAC5F,kBAAkB,EAAE;oBAClB,SAAS,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;oBAC1E,QAAQ,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;oBACzE,SAAS,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM;iBAC7E;aACF;SACF,CAAA;QAED,MAAM,wCAAc,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,CAAA;IACvG,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,WAAwB,EAAE,WAAwB;QAC5E,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAA;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAE7E,MAAM,gBAAgB,GAAQ;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,OAAO,EAAE,WAAW,CAAC,MAAM;YAC3B,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAA;QAED,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,wCAAc,CAAC,qBAAqB,CAC5G,WAAW,oBACN,gBAAgB,EACtB,CAAA;QAED,WAAW,CAAC,YAAY,GAAG,YAAY,CAAA;QACvC,IAAI,aAAa,EAAE;YACjB,WAAW,CAAC,aAAa,GAAG,aAAa,CAAA;YACzC,WAAW,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;SACrD;QACD,IAAI,cAAc;YAAE,WAAW,CAAC,cAAc,GAAG,cAAc,CAAA;QAC/D,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,WAAwB,EAAE,WAAwB;QAC5E,MAAM,gBAAgB,GAAQ;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,OAAO,EAAE,WAAW,CAAC,MAAM;YAC3B,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAA;QACD,MAAM,wCAAc,CAAC,qBAAqB,CAAC,WAAW,oBAAO,gBAAgB,EAAG,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,WAAwB,EAAE,WAAwB;QACzE,MAAM,gBAAgB,GAAQ;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,OAAO,EAAE,WAAW,CAAC,MAAM;YAC3B,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAA;QACD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,GAC1C,MAAM,wCAAc,CAAC,kBAAkB,CAAC,WAAW,oBAC9C,gBAAgB,EACnB,CAAA;QAEJ,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,EAAE;YACrB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACvB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;oBAC/B,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAA;iBAC5C;qBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE;oBAC1C,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAA;iBAC/C;YACH,CAAC,CAAC,CAAA;YAEF,WAAW,CAAC,UAAU,GAAG,UAAU,CAAA;YACnC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAA;YACrC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;YAC/B,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SAC7E;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;CACF;AAvQD,sDAuQC"}
@@ -4,6 +4,7 @@ exports.UnloadingWorksheetController = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
5
  const id_rule_base_1 = require("@things-factory/id-rule-base");
6
6
  const sales_base_1 = require("@things-factory/sales-base");
7
+ const setting_base_1 = require("@things-factory/setting-base");
7
8
  const warehouse_base_1 = require("@things-factory/warehouse-base");
8
9
  const constants_1 = require("../../constants");
9
10
  const entities_1 = require("../../entities");
@@ -52,13 +53,15 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
52
53
  });
53
54
  if (!worksheetDetail)
54
55
  throw new Error(this.ERROR_MSG.FIND.NO_RESULT(worksheetDetailName));
56
+ const targetProduct = worksheetDetail.targetProduct;
57
+ if (targetProduct.status == sales_base_1.ORDER_PRODUCT_STATUS.EDITED)
58
+ throw new Error('this product is pending for changes approval');
55
59
  const bizplace = worksheetDetail.bizplace;
56
60
  const companyDomain = (_a = bizplace === null || bizplace === void 0 ? void 0 : bizplace.company) === null || _a === void 0 ? void 0 : _a.domain;
57
61
  const worksheet = worksheetDetail.worksheet;
58
62
  const arrivalNotice = worksheet.arrivalNotice;
59
63
  const returnOrder = worksheet.returnOrder;
60
64
  const orderId = Boolean(arrivalNotice === null || arrivalNotice === void 0 ? void 0 : arrivalNotice.id) ? arrivalNotice.id : returnOrder.id;
61
- const targetProduct = worksheetDetail.targetProduct;
62
65
  const targetInventory = worksheetDetail === null || worksheetDetail === void 0 ? void 0 : worksheetDetail.targetInventory;
63
66
  const originInventory = targetInventory ? targetInventory.inventory : null;
64
67
  const batchId = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId;
@@ -171,7 +174,7 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
171
174
  this.updateOrderTargets([targetInventory]);
172
175
  }
173
176
  }
174
- async scanProductUnload(worksheetDetailName, productBarcode, inventory) {
177
+ async scanSerialNumberUnload(worksheetDetailName, serialNumber, inventory) {
175
178
  var _a;
176
179
  const worksheetDetail = await this.trxMgr.getRepository(entities_1.WorksheetDetail).findOne({
177
180
  where: {
@@ -203,11 +206,185 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
203
206
  type: constants_1.RULE_TYPE.LOT_NUMBER_ID,
204
207
  seed: { date: utils_1.DateGenerator.generateDate() }
205
208
  });
209
+ const targetProduct = worksheetDetail.targetProduct;
210
+ if (targetProduct.status == sales_base_1.ORDER_PRODUCT_STATUS.EDITED)
211
+ throw new Error('this product is pending for changes approval');
206
212
  const bizplace = worksheetDetail.bizplace;
207
213
  const worksheet = worksheetDetail.worksheet;
208
214
  const arrivalNotice = worksheet.arrivalNotice;
209
215
  const returnOrder = worksheet.returnOrder;
216
+ const targetInventory = worksheetDetail.targetInventory;
217
+ const product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product;
218
+ const packingType = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType;
219
+ const packingSize = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize;
220
+ const batchId = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId;
221
+ let qty = 0;
222
+ let uom = Boolean(arrivalNotice) ? targetProduct.uom : targetInventory.uom;
223
+ const cartonId = inventory.cartonId;
224
+ const orderId = Boolean(arrivalNotice) ? arrivalNotice.id : returnOrder.id;
225
+ await this.checkSerialNumberDuplication(serialNumber, product);
226
+ qty++;
227
+ const invQb = await this.trxMgr
228
+ .getRepository(warehouse_base_1.Inventory)
229
+ .createQueryBuilder('INV')
230
+ .where('INV.domain_id = :domainId', { domainId: this.domain.id })
231
+ .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
232
+ .andWhere('INV.product_id = :productId', { productId: product.id })
233
+ .andWhere('INV.batch_id = :batchId', { batchId: batchId })
234
+ .andWhere('INV.packing_type = :packingType', { packingType: packingType })
235
+ .andWhere('INV.packing_size = :packingSize', { packingSize: packingSize });
236
+ if (arrivalNotice)
237
+ invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id });
238
+ else if (returnOrder)
239
+ invQb.andWhere('INV.ref_order_id = :returnOrderId', { returnOrderId: returnOrder.id });
240
+ if (inventory === null || inventory === void 0 ? void 0 : inventory.expirationDate) {
241
+ invQb.andWhere('INV.expiration_date = :expirationDate', {
242
+ expirationDate: inventory.expirationDate
243
+ });
244
+ }
245
+ if (inventory === null || inventory === void 0 ? void 0 : inventory.cartonId)
246
+ invQb.andWhere('INV.carton_id = :cartonId', { cartonId: inventory.cartonId });
247
+ else
248
+ invQb.andWhere('INV.pallet_id = :palletId', { palletId: inventory.palletId });
249
+ let foundInventory = await invQb.getOne();
250
+ const batchIdRef = Boolean(arrivalNotice) ? targetProduct.batchIdRef : null;
251
+ const remark = Boolean(arrivalNotice) ? targetProduct.remark : targetInventory.remark;
252
+ const manufactureDate = Boolean(arrivalNotice) ? targetProduct.manufactureDate : null;
253
+ const location = worksheet.bufferLocation;
254
+ const warehouse = location.warehouse;
255
+ const zone = location.zone;
256
+ const unitCost = Boolean(arrivalNotice)
257
+ ? (targetProduct === null || targetProduct === void 0 ? void 0 : targetProduct.unitPrice)
258
+ ? ((targetProduct.packQty * targetProduct.unitPrice + targetProduct.miscAmt - targetProduct.discountAmt) *
259
+ (1 + targetProduct.taxRate / 100)) /
260
+ targetProduct.packQty
261
+ : 0
262
+ : null;
263
+ if (!foundInventory) {
264
+ let newInventory = new warehouse_base_1.Inventory();
265
+ newInventory.bizplace = bizplace;
266
+ newInventory.domain = this.domain;
267
+ newInventory.name = warehouse_base_1.InventoryNoGenerator.inventoryName();
268
+ newInventory.palletId = inventory.palletId;
269
+ newInventory.cartonId = inventory.cartonId;
270
+ newInventory.batchId = batchId;
271
+ newInventory.batchIdRef = batchIdRef;
272
+ newInventory.product = product;
273
+ newInventory.packingType = packingType;
274
+ newInventory.packingSize = packingSize;
275
+ newInventory.uom = uom;
276
+ newInventory.remark = remark;
277
+ newInventory.qty = qty;
278
+ newInventory.uomValue =
279
+ Math.round(qty *
280
+ (Boolean(arrivalNotice)
281
+ ? targetProduct.uomValue
282
+ : targetInventory.returnUomValue / targetInventory.returnQty) *
283
+ 100) / 100;
284
+ newInventory.manufactureDate = manufactureDate;
285
+ newInventory.refOrderId = orderId;
286
+ newInventory.unitCost = unitCost;
287
+ if ((_a = inventory.reusablePallet) === null || _a === void 0 ? void 0 : _a.id) {
288
+ newInventory.reusablePallet = await this.trxMgr.getRepository(warehouse_base_1.Pallet).findOne(inventory.reusablePallet.id);
289
+ }
290
+ newInventory.orderProductId = Boolean(arrivalNotice) ? targetProduct.id : null;
291
+ newInventory.orderInventoryId = Boolean(returnOrder) ? targetInventory.id : null;
292
+ newInventory.warehouse = warehouse;
293
+ newInventory.location = location;
294
+ newInventory.zone = zone;
295
+ newInventory.status = warehouse_base_1.INVENTORY_STATUS.CHECKED;
296
+ newInventory.creator = this.user;
297
+ if (inventory === null || inventory === void 0 ? void 0 : inventory.expirationDate) {
298
+ newInventory.expirationDate = new Date(inventory.expirationDate);
299
+ }
300
+ if (arrivalNotice) {
301
+ targetProduct.actualPalletQty++;
302
+ targetProduct.actualPackQty = Boolean(targetProduct.actualPackQty) ? targetProduct.actualPackQty + qty : qty;
303
+ }
304
+ else if (returnOrder) {
305
+ targetInventory.actualPalletQty++;
306
+ targetInventory.actualPackQty = Boolean(targetInventory.actualPackQty)
307
+ ? targetInventory.actualPackQty + qty
308
+ : qty;
309
+ }
310
+ foundInventory = await this.trxMgr.getRepository(warehouse_base_1.Inventory).save(newInventory);
311
+ }
312
+ else {
313
+ const updatedQty = foundInventory.qty + qty;
314
+ foundInventory.expirationDate = new Date(foundInventory.expirationDate);
315
+ foundInventory.qty = updatedQty;
316
+ foundInventory.uomValue +=
317
+ Math.round(qty *
318
+ (Boolean(arrivalNotice)
319
+ ? targetProduct.uomValue
320
+ : targetInventory.returnUomValue / targetInventory.returnQty) *
321
+ 100) / 100;
322
+ if (arrivalNotice)
323
+ targetProduct.actualPackQty = targetProduct.actualPackQty + qty;
324
+ else if (returnOrder)
325
+ targetInventory.actualPackQty = targetInventory.actualPackQty + qty;
326
+ foundInventory = await this.trxMgr.getRepository(warehouse_base_1.Inventory).save(foundInventory);
327
+ }
328
+ let inventoryItem = new warehouse_base_1.InventoryItem();
329
+ inventoryItem.name = warehouse_base_1.InventoryNoGenerator.inventoryItemName();
330
+ inventoryItem.serialNumber = serialNumber;
331
+ inventoryItem.status = foundInventory.status;
332
+ inventoryItem.inboundOrderId = foundInventory.refOrderId;
333
+ inventoryItem.product = product;
334
+ inventoryItem.inventory = foundInventory;
335
+ inventoryItem.source = warehouse_base_1.INVENTORY_ITEM_SOURCE.INBOUND;
336
+ inventoryItem.domain = this.domain;
337
+ inventoryItem.creator = this.user;
338
+ inventoryItem.updater = this.user;
339
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(inventoryItem);
340
+ if (arrivalNotice) {
341
+ targetProduct.updater = this.user;
342
+ this.updateOrderTargets([targetProduct]);
343
+ }
344
+ else if (returnOrder) {
345
+ targetInventory.updater = this.user;
346
+ this.updateOrderTargets([targetInventory]);
347
+ }
348
+ }
349
+ async scanProductUnload(worksheetDetailName, productBarcode, inventory) {
350
+ var _a;
351
+ const worksheetDetail = await this.trxMgr.getRepository(entities_1.WorksheetDetail).findOne({
352
+ where: {
353
+ name: worksheetDetailName,
354
+ status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(constants_1.WORKSHEET_STATUS.DEACTIVATED))
355
+ },
356
+ relations: [
357
+ 'bizplace',
358
+ 'worksheet',
359
+ 'worksheet.arrivalNotice',
360
+ 'worksheet.returnOrder',
361
+ 'worksheet.bufferLocation',
362
+ 'worksheet.bufferLocation.warehouse',
363
+ 'targetProduct',
364
+ 'targetProduct.product',
365
+ 'targetProduct.product.productDetails',
366
+ 'targetProduct.product.productDetails.childProductDetail',
367
+ 'targetInventory',
368
+ 'targetInventory.product',
369
+ 'targetInventory.product.productDetails',
370
+ 'targetInventory.product.productDetails.childProductDetail'
371
+ ]
372
+ });
373
+ if (!worksheetDetail)
374
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(worksheetDetailName));
375
+ if (!(inventory === null || inventory === void 0 ? void 0 : inventory.palletId))
376
+ inventory.palletId = await (0, id_rule_base_1.generateId)({
377
+ domain: this.domain,
378
+ type: constants_1.RULE_TYPE.LOT_NUMBER_ID,
379
+ seed: { date: utils_1.DateGenerator.generateDate() }
380
+ });
210
381
  const targetProduct = worksheetDetail.targetProduct;
382
+ if (targetProduct.status == sales_base_1.ORDER_PRODUCT_STATUS.EDITED)
383
+ throw new Error('this product is pending for changes approval');
384
+ const bizplace = worksheetDetail.bizplace;
385
+ const worksheet = worksheetDetail.worksheet;
386
+ const arrivalNotice = worksheet.arrivalNotice;
387
+ const returnOrder = worksheet.returnOrder;
211
388
  const targetInventory = worksheetDetail.targetInventory;
212
389
  const product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product;
213
390
  const packingType = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType;
@@ -449,6 +626,7 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
449
626
  }
450
627
  else {
451
628
  targetProduct.actualPackQty--;
629
+ // targetProduct.actualPalletQty--
452
630
  }
453
631
  targetProduct.updater = this.user;
454
632
  await this.updateOrderTargets([targetProduct]);
@@ -472,6 +650,7 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
472
650
  }
473
651
  else {
474
652
  targetInventory.actualPackQty--;
653
+ // targetInventory.actualPalletQty--
475
654
  }
476
655
  targetInventory.updater = this.user;
477
656
  await this.updateOrderTargets([targetInventory]);
@@ -518,6 +697,49 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
518
697
  await this.trxMgr.getRepository(entities_1.WorksheetDetail).save(worksheetDetail);
519
698
  }
520
699
  }
700
+ async undoSerialNumberUnload(worksheetDetailName, inventoryItemId) {
701
+ const worksheetDetail = await this.trxMgr.getRepository(entities_1.WorksheetDetail).findOne({
702
+ where: { name: worksheetDetailName, domain: this.domain, status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(constants_1.WORKSHEET_STATUS.DEACTIVATED)) },
703
+ relations: [
704
+ 'worksheet',
705
+ 'worksheet.arrivalNotice',
706
+ 'worksheet.returnOrder',
707
+ 'targetProduct',
708
+ 'targetProduct.product'
709
+ ]
710
+ });
711
+ let worksheet = worksheetDetail.worksheet;
712
+ let arrivalNotice = worksheet.arrivalNotice;
713
+ let returnOrder = worksheet.returnOrder;
714
+ let targetInventory = worksheetDetail.targetInventory;
715
+ let targetProduct = worksheetDetail.targetProduct;
716
+ let inventoryItem = await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).findOne({
717
+ where: { domain: this.domain, id: inventoryItemId },
718
+ relations: ['inventory', 'product']
719
+ });
720
+ let inventory = inventoryItem.inventory;
721
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).delete(inventoryItem.id);
722
+ inventory.qty--;
723
+ inventory.uomValue =
724
+ Math.round(inventory.qty *
725
+ (Boolean(arrivalNotice)
726
+ ? targetProduct.uomValue
727
+ : targetInventory.returnUomValue / targetInventory.returnQty) *
728
+ 100) / 100;
729
+ await this.trxMgr
730
+ .getRepository(warehouse_base_1.Inventory)
731
+ .update({ id: inventory.id }, { qty: inventory.qty, uomValue: inventory.uomValue });
732
+ targetProduct.actualPackQty--;
733
+ const inventoryItems = await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).find({
734
+ where: { domain: this.domain, inboundOrderId: arrivalNotice.id, inventory }
735
+ });
736
+ if ((inventoryItems === null || inventoryItems === void 0 ? void 0 : inventoryItems.length) == 0) {
737
+ await this.trxMgr.getRepository(warehouse_base_1.Inventory).delete(inventory.id);
738
+ targetProduct.actualPalletQty--;
739
+ }
740
+ targetProduct.updater = this.user;
741
+ await this.updateOrderTargets([targetProduct]);
742
+ }
521
743
  async activateUnloading(worksheetNo, unloadingWorksheetDetails) {
522
744
  let worksheet = await this.findActivatableWorksheet(worksheetNo, constants_1.WORKSHEET_TYPE.UNLOADING, [
523
745
  'bizplace',
@@ -566,8 +788,60 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
566
788
  }
567
789
  return worksheet;
568
790
  }
791
+ async getProductScanningVal(arrivalNotice) {
792
+ var _a;
793
+ let productScanning = 'false';
794
+ const enableProductScanning = await this.trxMgr.getRepository(setting_base_1.Setting).findOne({
795
+ where: { domain: this.domain, category: 'id-rule', name: 'enable-product-scanning' }
796
+ });
797
+ if (enableProductScanning)
798
+ productScanning = enableProductScanning.value;
799
+ const partnerEnableProductScanning = await this.trxMgr.getRepository(setting_base_1.PartnerSetting).findOne({
800
+ where: { setting: enableProductScanning, domain: this.domain, partnerDomain: (_a = arrivalNotice.bizplace) === null || _a === void 0 ? void 0 : _a.domain }
801
+ });
802
+ if (partnerEnableProductScanning)
803
+ productScanning = partnerEnableProductScanning.value;
804
+ return productScanning;
805
+ }
806
+ async getInputQtyVal(arrivalNotice) {
807
+ var _a;
808
+ let inputQty = 'false';
809
+ const enableInputQty = await this.trxMgr.getRepository(setting_base_1.Setting).findOne({
810
+ where: { domain: this.domain, category: 'id-rule', name: 'enable-input-qty' }
811
+ });
812
+ if (enableInputQty)
813
+ inputQty = enableInputQty.value;
814
+ const partnerEnableInputQty = await this.trxMgr.getRepository(setting_base_1.PartnerSetting).findOne({
815
+ where: { setting: enableInputQty, domain: this.domain, partnerDomain: (_a = arrivalNotice.bizplace) === null || _a === void 0 ? void 0 : _a.domain }
816
+ });
817
+ if (partnerEnableInputQty)
818
+ inputQty = partnerEnableInputQty.value;
819
+ return inputQty;
820
+ }
821
+ // only creates inventory history upon partial or full unload when
822
+ // productScanning is true
823
+ // inputQty is false
824
+ async createInventoryHistory(arrivalNotice, inventories) {
825
+ try {
826
+ if (inventories === undefined) {
827
+ const inventoryList = await this.trxMgr.getRepository(warehouse_base_1.Inventory).findAndCount({
828
+ where: {
829
+ domain: this.domain,
830
+ refOrderId: arrivalNotice.id
831
+ }
832
+ });
833
+ inventories = inventoryList[0];
834
+ }
835
+ for (const inventory of inventories) {
836
+ await this.transactionInventory(inventory, arrivalNotice, inventory.qty, inventory.uomValue, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.UNLOADING);
837
+ }
838
+ }
839
+ catch (e) {
840
+ throw e;
841
+ }
842
+ }
569
843
  async completeUnloading(arrivalNoticeNo, unloadingWorksheetDetails) {
570
- let arrivalNotice = await this.findRefOrder(sales_base_1.ArrivalNotice, { domain: this.domain, name: arrivalNoticeNo, status: (0, typeorm_1.In)([sales_base_1.ORDER_STATUS.PROCESSING, sales_base_1.ORDER_STATUS.PUTTING_AWAY]) }, ['orderProducts', 'releaseGood']);
844
+ let arrivalNotice = await this.findRefOrder(sales_base_1.ArrivalNotice, { domain: this.domain, name: arrivalNoticeNo, status: (0, typeorm_1.In)([sales_base_1.ORDER_STATUS.PROCESSING, sales_base_1.ORDER_STATUS.PUTTING_AWAY]) }, ['orderProducts', 'releaseGood', 'bizplace', 'bizplace.domain']);
571
845
  if (arrivalNotice.crossDocking) {
572
846
  // Picking worksheet for cross docking should be completed before complete it
573
847
  // Find picking worksheet
@@ -619,6 +893,32 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
619
893
  else {
620
894
  await this.completeWorksheet(worksheet);
621
895
  }
896
+ const productScanning = await this.getProductScanningVal(arrivalNotice);
897
+ const inputQty = await this.getInputQtyVal(arrivalNotice);
898
+ if (productScanning === 'true' && inputQty === 'false')
899
+ await this.createInventoryHistory(arrivalNotice);
900
+ const inventories = await this.trxMgr.getRepository(warehouse_base_1.Inventory).find({
901
+ where: {
902
+ domain: this.domain,
903
+ refOrderId: arrivalNotice.id,
904
+ status: (0, typeorm_1.In)([warehouse_base_1.INVENTORY_STATUS.UNLOADED, warehouse_base_1.INVENTORY_STATUS.CHECKED])
905
+ },
906
+ relations: ['domain', 'bizplace', 'product', 'warehouse', 'location']
907
+ });
908
+ for (let inventory of inventories) {
909
+ let inventoryItems = await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).find({
910
+ where: { domain: this.domain, inventory }
911
+ });
912
+ if (inventoryItems === null || inventoryItems === void 0 ? void 0 : inventoryItems.length) {
913
+ inventory.status = warehouse_base_1.INVENTORY_STATUS.STORED;
914
+ await Promise.all(inventoryItems.map(async (inventoryItem) => {
915
+ await this.trxMgr
916
+ .getRepository(warehouse_base_1.InventoryItem)
917
+ .update({ id: inventoryItem.id }, { status: warehouse_base_1.INVENTORY_STATUS.STORED });
918
+ }));
919
+ await (0, utils_1.generateInventoryHistory)(inventory, arrivalNotice, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.UNLOADING, inventory.qty, inventory.uomValue, this.user, this.trxMgr);
920
+ }
921
+ }
622
922
  let vasWorksheet = await this.trxMgr.getRepository(entities_1.Worksheet).findOne({
623
923
  where: {
624
924
  arrivalNotice,
@@ -651,9 +951,10 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
651
951
  }
652
952
  async completeUnloadingPartially(arrivalNoticeNo, unloadingWorksheetDetail) {
653
953
  const arrivalNotice = await this.findRefOrder(sales_base_1.ArrivalNotice, {
954
+ domain: this.domain,
654
955
  name: arrivalNoticeNo,
655
956
  status: (0, typeorm_1.In)([sales_base_1.ORDER_STATUS.PROCESSING, sales_base_1.ORDER_STATUS.PUTTING_AWAY])
656
- });
957
+ }, ['bizplace', 'bizplace.domain']);
657
958
  const worksheet = await this.findWorksheetByRefOrder(arrivalNotice, constants_1.WORKSHEET_TYPE.UNLOADING, [
658
959
  'worksheetDetails',
659
960
  'worksheetDetails.targetProduct'
@@ -682,6 +983,10 @@ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorkshe
682
983
  inventory.updater = this.user;
683
984
  });
684
985
  await this.trxMgr.getRepository(warehouse_base_1.Inventory).save(inventories);
986
+ const productScanning = await this.getProductScanningVal(arrivalNotice);
987
+ const inputQty = await this.getInputQtyVal(arrivalNotice);
988
+ if (productScanning === 'true' && inputQty === 'false')
989
+ await this.createInventoryHistory(arrivalNotice, inventories);
685
990
  let vasWorksheet = await this.trxMgr.getRepository(entities_1.Worksheet).findOne({
686
991
  where: {
687
992
  arrivalNotice,