@things-factory/worksheet-base 5.0.12 → 6.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/dist-server/controllers/ecommerce/sellercraft-controller.js +225 -191
  2. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
  3. package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js +2 -2
  4. package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js.map +1 -1
  5. package/dist-server/controllers/inbound/unloading-worksheet-controller.js +28 -17
  6. package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
  7. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js +1 -1
  8. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js.map +1 -1
  9. package/dist-server/controllers/outbound/packing-worksheet-controller.js +17 -3
  10. package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
  11. package/dist-server/controllers/outbound/picking-worksheet-controller.js +221 -144
  12. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  13. package/dist-server/controllers/outbound/returning-worksheet-controller.js +16 -0
  14. package/dist-server/controllers/outbound/returning-worksheet-controller.js.map +1 -1
  15. package/dist-server/controllers/outbound/sorting-worksheet-controller.js +8 -8
  16. package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
  17. package/dist-server/controllers/render-elccl-grn.js +21 -16
  18. package/dist-server/controllers/render-elccl-grn.js.map +1 -1
  19. package/dist-server/controllers/render-fm-grn.js +43 -26
  20. package/dist-server/controllers/render-fm-grn.js.map +1 -1
  21. package/dist-server/controllers/render-grn.js +42 -28
  22. package/dist-server/controllers/render-grn.js.map +1 -1
  23. package/dist-server/controllers/render-invoices.js +4 -5
  24. package/dist-server/controllers/render-invoices.js.map +1 -1
  25. package/dist-server/controllers/render-job-sheet.js +19 -19
  26. package/dist-server/controllers/render-job-sheet.js.map +1 -1
  27. package/dist-server/controllers/render-kimeda-grn.js +38 -23
  28. package/dist-server/controllers/render-kimeda-grn.js.map +1 -1
  29. package/dist-server/controllers/render-manifest.js +8 -9
  30. package/dist-server/controllers/render-manifest.js.map +1 -1
  31. package/dist-server/controllers/render-manual-do.js +15 -15
  32. package/dist-server/controllers/render-manual-do.js.map +1 -1
  33. package/dist-server/controllers/render-orientage-do.js +74 -28
  34. package/dist-server/controllers/render-orientage-do.js.map +1 -1
  35. package/dist-server/controllers/render-orientage-grn.js +25 -15
  36. package/dist-server/controllers/render-orientage-grn.js.map +1 -1
  37. package/dist-server/controllers/render-po.js +28 -19
  38. package/dist-server/controllers/render-po.js.map +1 -1
  39. package/dist-server/controllers/render-ro-do.js +139 -105
  40. package/dist-server/controllers/render-ro-do.js.map +1 -1
  41. package/dist-server/controllers/render-seebuu-grn.js +29 -19
  42. package/dist-server/controllers/render-seebuu-grn.js.map +1 -1
  43. package/dist-server/controllers/vas/vas-worksheet-controller.js +5 -5
  44. package/dist-server/controllers/vas/vas-worksheet-controller.js.map +1 -1
  45. package/dist-server/controllers/worksheet-controller.js +75 -25
  46. package/dist-server/controllers/worksheet-controller.js.map +1 -1
  47. package/dist-server/entities/warehouse-bizplace-onhand-inventory.js +2 -1
  48. package/dist-server/entities/warehouse-bizplace-onhand-inventory.js.map +1 -1
  49. package/dist-server/entities/worksheet-detail.js +14 -12
  50. package/dist-server/entities/worksheet-detail.js.map +1 -1
  51. package/dist-server/entities/worksheet-movement.js +1 -2
  52. package/dist-server/entities/worksheet-movement.js.map +1 -1
  53. package/dist-server/entities/worksheet.js +13 -13
  54. package/dist-server/entities/worksheet.js.map +1 -1
  55. package/dist-server/graphql/resolvers/pallet/pallet-outbound.js +1 -1
  56. package/dist-server/graphql/resolvers/pallet/pallet-outbound.js.map +1 -1
  57. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js +6 -6
  58. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -1
  59. package/dist-server/graphql/resolvers/worksheet/cancel-draft-release-order.js +1 -1
  60. package/dist-server/graphql/resolvers/worksheet/cancel-draft-release-order.js.map +1 -1
  61. package/dist-server/graphql/resolvers/worksheet/check-inventory-release.js +6 -5
  62. package/dist-server/graphql/resolvers/worksheet/check-inventory-release.js.map +1 -1
  63. package/dist-server/graphql/resolvers/worksheet/check-stock-take-current-location.js +8 -8
  64. package/dist-server/graphql/resolvers/worksheet/check-stock-take-current-location.js.map +1 -1
  65. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +82 -80
  66. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
  67. package/dist-server/graphql/resolvers/worksheet/create-worksheet.js.map +1 -1
  68. package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js +5 -4
  69. package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js.map +1 -1
  70. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +5 -5
  71. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
  72. package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js +5 -4
  73. package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js.map +1 -1
  74. package/dist-server/graphql/resolvers/worksheet/delete-worksheet.js +1 -1
  75. package/dist-server/graphql/resolvers/worksheet/delete-worksheet.js.map +1 -1
  76. package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js +83 -52
  77. package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js.map +1 -1
  78. package/dist-server/graphql/resolvers/worksheet/fetch-delivery-order-ro.js +169 -0
  79. package/dist-server/graphql/resolvers/worksheet/fetch-delivery-order-ro.js.map +1 -0
  80. package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js +67 -0
  81. package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js.map +1 -0
  82. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js +1 -34
  83. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js.map +1 -1
  84. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-worksheet-no.js.map +1 -1
  85. package/dist-server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.js +70 -0
  86. package/dist-server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.js.map +1 -0
  87. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js +34 -3
  88. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js.map +1 -1
  89. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.js +4 -4
  90. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.js.map +1 -1
  91. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.js.map +1 -1
  92. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.js +3 -3
  93. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.js.map +1 -1
  94. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-return-worksheet.js.map +1 -1
  95. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-worksheet.js.map +1 -1
  96. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-putaway-worksheet.js.map +1 -1
  97. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js +14 -10
  98. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js.map +1 -1
  99. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-return-order-worksheet.js +1 -1
  100. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-return-order-worksheet.js.map +1 -1
  101. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-vas-order-worksheet.js +1 -1
  102. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-vas-order-worksheet.js.map +1 -1
  103. package/dist-server/graphql/resolvers/worksheet/having-vas.js +7 -7
  104. package/dist-server/graphql/resolvers/worksheet/having-vas.js.map +1 -1
  105. package/dist-server/graphql/resolvers/worksheet/index.js +5 -3
  106. package/dist-server/graphql/resolvers/worksheet/index.js.map +1 -1
  107. package/dist-server/graphql/resolvers/worksheet/inspecting/activate-cycle-count.js.map +1 -1
  108. package/dist-server/graphql/resolvers/worksheet/inspecting/add-extra-pallet.js.map +1 -1
  109. package/dist-server/graphql/resolvers/worksheet/inspecting/check-missing-pallet.js.map +1 -1
  110. package/dist-server/graphql/resolvers/worksheet/inspecting/complete-inspection.js.map +1 -1
  111. package/dist-server/graphql/resolvers/worksheet/inspecting/inspecting.js.map +1 -1
  112. package/dist-server/graphql/resolvers/worksheet/inspecting/relocate-pallet.js.map +1 -1
  113. package/dist-server/graphql/resolvers/worksheet/inspecting/undo-inspection.js.map +1 -1
  114. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +18 -9
  115. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
  116. package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js +6 -5
  117. package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js.map +1 -1
  118. package/dist-server/graphql/resolvers/worksheet/loading/activate-loading.js.map +1 -1
  119. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js +14 -14
  120. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js.map +1 -1
  121. package/dist-server/graphql/resolvers/worksheet/loading/loading.js.map +1 -1
  122. package/dist-server/graphql/resolvers/worksheet/loading/undo-loading.js.map +1 -1
  123. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js +11 -10
  124. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js.map +1 -1
  125. package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js +5 -4
  126. package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js.map +1 -1
  127. package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js +3 -4
  128. package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js.map +1 -1
  129. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js +2 -2
  130. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js.map +1 -1
  131. package/dist-server/graphql/resolvers/worksheet/packing/packing.js +1 -1
  132. package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
  133. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +16 -11
  134. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
  135. package/dist-server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.js.map +1 -1
  136. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +96 -22
  137. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  138. package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js +5 -5
  139. package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js.map +1 -1
  140. package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js +93 -81
  141. package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js.map +1 -1
  142. package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js +0 -19
  143. package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js.map +1 -1
  144. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +1 -1
  145. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
  146. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-inventories.js.map +1 -1
  147. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js +11 -5
  148. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js.map +1 -1
  149. package/dist-server/graphql/resolvers/worksheet/picking/batch-picking.js.map +1 -1
  150. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +10 -4
  151. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  152. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +34 -38
  153. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  154. package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js +46 -35
  155. package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js.map +1 -1
  156. package/dist-server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.js +7 -2
  157. package/dist-server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.js.map +1 -1
  158. package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js +33 -16
  159. package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js.map +1 -1
  160. package/dist-server/graphql/resolvers/worksheet/picking/picking.js.map +1 -1
  161. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.js +4 -4
  162. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.js.map +1 -1
  163. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js +5 -8
  164. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js.map +1 -1
  165. package/dist-server/graphql/resolvers/worksheet/picking/seal-tote.js.map +1 -1
  166. package/dist-server/graphql/resolvers/worksheet/picking/undo-picking-assignment.js.map +1 -1
  167. package/dist-server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.js.map +1 -1
  168. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +6 -5
  169. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
  170. package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js +10 -8
  171. package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js.map +1 -1
  172. package/dist-server/graphql/resolvers/worksheet/putaway/activate-putaway.js.map +1 -1
  173. package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js +4 -3
  174. package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js.map +1 -1
  175. package/dist-server/graphql/resolvers/worksheet/putaway/putaway.js.map +1 -1
  176. package/dist-server/graphql/resolvers/worksheet/putaway/undo-putaway.js.map +1 -1
  177. package/dist-server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.js.map +1 -1
  178. package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js +2 -1
  179. package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js.map +1 -1
  180. package/dist-server/graphql/resolvers/worksheet/putaway-return/putaway-return.js.map +1 -1
  181. package/dist-server/graphql/resolvers/worksheet/putaway-return/undo-putaway-return.js.map +1 -1
  182. package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js +3 -3
  183. package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js.map +1 -1
  184. package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.js +3 -3
  185. package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.js.map +1 -1
  186. package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js +16 -11
  187. package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js.map +1 -1
  188. package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js +139 -149
  189. package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js.map +1 -1
  190. package/dist-server/graphql/resolvers/worksheet/relocate-pallet.js +1 -1
  191. package/dist-server/graphql/resolvers/worksheet/relocate-pallet.js.map +1 -1
  192. package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js +2 -2
  193. package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js.map +1 -1
  194. package/dist-server/graphql/resolvers/worksheet/return-worksheet.js +3 -3
  195. package/dist-server/graphql/resolvers/worksheet/return-worksheet.js.map +1 -1
  196. package/dist-server/graphql/resolvers/worksheet/returning/activate-return.js.map +1 -1
  197. package/dist-server/graphql/resolvers/worksheet/returning/complete-return.js.map +1 -1
  198. package/dist-server/graphql/resolvers/worksheet/returning/returning.js.map +1 -1
  199. package/dist-server/graphql/resolvers/worksheet/sorting/activate-sorting.js.map +1 -1
  200. package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.js.map +1 -1
  201. package/dist-server/graphql/resolvers/worksheet/sorting/complete-worksheet-sorting.js.map +1 -1
  202. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js.map +1 -1
  203. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js.map +1 -1
  204. package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js +4 -4
  205. package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js.map +1 -1
  206. package/dist-server/graphql/resolvers/worksheet/transfer.js.map +1 -1
  207. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js +8 -7
  208. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js.map +1 -1
  209. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +9 -8
  210. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
  211. package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js +4 -2
  212. package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js.map +1 -1
  213. package/dist-server/graphql/resolvers/worksheet/unloading/complete-product-scan-unload.js.map +1 -1
  214. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading-partially.js.map +1 -1
  215. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js +6 -2
  216. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js.map +1 -1
  217. package/dist-server/graphql/resolvers/worksheet/unloading/scan-product-unload.js.map +1 -1
  218. package/dist-server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.js.map +1 -1
  219. package/dist-server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.js.map +1 -1
  220. package/dist-server/graphql/resolvers/worksheet/unloading/undo-unloading.js.map +1 -1
  221. package/dist-server/graphql/resolvers/worksheet/unloading/unload.js.map +1 -1
  222. package/dist-server/graphql/resolvers/worksheet/unloading-return/activate-unloading-return.js.map +1 -1
  223. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-return-partially.js.map +1 -1
  224. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js +7 -3
  225. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js.map +1 -1
  226. package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js +3 -3
  227. package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js.map +1 -1
  228. package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js +5 -5
  229. package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js.map +1 -1
  230. package/dist-server/graphql/resolvers/worksheet/update-worksheet.js +1 -1
  231. package/dist-server/graphql/resolvers/worksheet/update-worksheet.js.map +1 -1
  232. package/dist-server/graphql/resolvers/worksheet/vas/activate-vas.js.map +1 -1
  233. package/dist-server/graphql/resolvers/worksheet/vas/assign-vas-inventories.js.map +1 -1
  234. package/dist-server/graphql/resolvers/worksheet/vas/complete-vas.js.map +1 -1
  235. package/dist-server/graphql/resolvers/worksheet/vas/execute-vas.js.map +1 -1
  236. package/dist-server/graphql/resolvers/worksheet/vas/undo-vas-inventory.js.map +1 -1
  237. package/dist-server/graphql/resolvers/worksheet/vas/undo-vas.js.map +1 -1
  238. package/dist-server/graphql/resolvers/worksheet/vas-candidates.js +13 -12
  239. package/dist-server/graphql/resolvers/worksheet/vas-candidates.js.map +1 -1
  240. package/dist-server/graphql/resolvers/worksheet/vas-inventories.js +7 -6
  241. package/dist-server/graphql/resolvers/worksheet/vas-inventories.js.map +1 -1
  242. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js +36 -18
  243. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js.map +1 -1
  244. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.js +10 -3
  245. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.js.map +1 -1
  246. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.js +3 -2
  247. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.js.map +1 -1
  248. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.js +11 -3
  249. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.js.map +1 -1
  250. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/undo-relabeling.js.map +1 -1
  251. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js +3 -2
  252. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js.map +1 -1
  253. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js +2 -2
  254. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js.map +1 -1
  255. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js +1 -1
  256. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js.map +1 -1
  257. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.js +2 -1
  258. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.js.map +1 -1
  259. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.js +3 -3
  260. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.js.map +1 -1
  261. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/undo-repalletizing.js.map +1 -1
  262. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/complete-unpacking.js +2 -1
  263. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/complete-unpacking.js.map +1 -1
  264. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js +7 -7
  265. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js.map +1 -1
  266. package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js +11 -10
  267. package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js.map +1 -1
  268. package/dist-server/graphql/resolvers/worksheet/worksheet-by-order-no.js +7 -4
  269. package/dist-server/graphql/resolvers/worksheet/worksheet-by-order-no.js.map +1 -1
  270. package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js +5 -5
  271. package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js.map +1 -1
  272. package/dist-server/graphql/resolvers/worksheet/worksheet.js +72 -42
  273. package/dist-server/graphql/resolvers/worksheet/worksheet.js.map +1 -1
  274. package/dist-server/graphql/resolvers/worksheet/worksheets.js +42 -17
  275. package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -1
  276. package/dist-server/graphql/resolvers/worksheet-detail/check-progressing-pallet.js +3 -3
  277. package/dist-server/graphql/resolvers/worksheet-detail/check-progressing-pallet.js.map +1 -1
  278. package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.js +1 -1
  279. package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.js.map +1 -1
  280. package/dist-server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.js +1 -1
  281. package/dist-server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.js.map +1 -1
  282. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js +13 -10
  283. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js.map +1 -1
  284. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js +7 -5
  285. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js.map +1 -1
  286. package/dist-server/graphql/resolvers/worksheet-detail/generate-carton-id.js.map +1 -1
  287. package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js +3 -3
  288. package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js.map +1 -1
  289. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js +5 -2
  290. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js.map +1 -1
  291. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js +1 -1
  292. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js.map +1 -1
  293. package/dist-server/graphql/resolvers/worksheet-detail/index.js +2 -1
  294. package/dist-server/graphql/resolvers/worksheet-detail/index.js.map +1 -1
  295. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js +81 -0
  296. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js.map +1 -0
  297. package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js +2 -2
  298. package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js.map +1 -1
  299. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-detail.js +2 -2
  300. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-detail.js.map +1 -1
  301. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.js +1 -1
  302. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.js.map +1 -1
  303. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details.js +2 -2
  304. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details.js.map +1 -1
  305. package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.js +1 -1
  306. package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.js.map +1 -1
  307. package/dist-server/graphql/resolvers/worksheet-movement/delete-worksheet-movement.js.map +1 -1
  308. package/dist-server/graphql/resolvers/worksheet-movement/update-worksheet-movement.js +1 -1
  309. package/dist-server/graphql/resolvers/worksheet-movement/update-worksheet-movement.js.map +1 -1
  310. package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movement.js +1 -1
  311. package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movement.js.map +1 -1
  312. package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movements.js +1 -1
  313. package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movements.js.map +1 -1
  314. package/dist-server/graphql/types/worksheet/batch-pick-worksheet-info.js +12 -0
  315. package/dist-server/graphql/types/worksheet/batch-pick-worksheet-info.js.map +1 -0
  316. package/dist-server/graphql/types/worksheet/delivery-order-info.js +3 -0
  317. package/dist-server/graphql/types/worksheet/delivery-order-info.js.map +1 -1
  318. package/dist-server/graphql/types/worksheet/delivery-order-ro.js +18 -0
  319. package/dist-server/graphql/types/worksheet/delivery-order-ro.js.map +1 -0
  320. package/dist-server/graphql/types/worksheet/index.js +26 -15
  321. package/dist-server/graphql/types/worksheet/index.js.map +1 -1
  322. package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.js +11 -0
  323. package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.js.map +1 -0
  324. package/dist-server/graphql/types/worksheet/sellercraft-document.js +11 -0
  325. package/dist-server/graphql/types/worksheet/sellercraft-document.js.map +1 -0
  326. package/dist-server/graphql/types/worksheet-detail/index.js +10 -0
  327. package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -1
  328. package/dist-server/graphql/types/worksheet-detail/inventory-detail.js +1 -0
  329. package/dist-server/graphql/types/worksheet-detail/inventory-detail.js.map +1 -1
  330. package/dist-server/tsconfig.tsbuildinfo +1 -1
  331. package/dist-server/utils/inventory-util.js +26 -20
  332. package/dist-server/utils/inventory-util.js.map +1 -1
  333. package/dist-server/utils/worksheet-util.js +8 -6
  334. package/dist-server/utils/worksheet-util.js.map +1 -1
  335. package/package.json +17 -17
  336. package/server/controllers/ecommerce/sellercraft-controller.ts +282 -223
  337. package/server/controllers/inbound/unloading-returning-worksheet-controller.ts +9 -17
  338. package/server/controllers/inbound/unloading-worksheet-controller.ts +55 -66
  339. package/server/controllers/inspect/cycle-count-worksheet-controller.ts +1 -1
  340. package/server/controllers/outbound/packing-worksheet-controller.ts +25 -4
  341. package/server/controllers/outbound/picking-worksheet-controller.ts +292 -172
  342. package/server/controllers/outbound/returning-worksheet-controller.ts +23 -0
  343. package/server/controllers/outbound/sorting-worksheet-controller.ts +20 -20
  344. package/server/controllers/render-elccl-grn.ts +16 -11
  345. package/server/controllers/render-fm-grn.ts +32 -14
  346. package/server/controllers/render-grn.ts +31 -16
  347. package/server/controllers/render-invoices.ts +3 -3
  348. package/server/controllers/render-job-sheet.ts +13 -11
  349. package/server/controllers/render-kimeda-grn.ts +28 -13
  350. package/server/controllers/render-manifest.ts +25 -24
  351. package/server/controllers/render-manual-do.ts +9 -10
  352. package/server/controllers/render-orientage-do.ts +79 -30
  353. package/server/controllers/render-orientage-grn.ts +30 -20
  354. package/server/controllers/render-po.ts +31 -20
  355. package/server/controllers/render-ro-do.ts +151 -124
  356. package/server/controllers/render-seebuu-grn.ts +21 -11
  357. package/server/controllers/vas/vas-worksheet-controller.ts +19 -20
  358. package/server/controllers/worksheet-controller.ts +97 -27
  359. package/server/entities/warehouse-bizplace-onhand-inventory.ts +2 -1
  360. package/server/entities/worksheet-detail.ts +9 -0
  361. package/server/graphql/resolvers/pallet/pallet-outbound.ts +5 -8
  362. package/server/graphql/resolvers/worksheet/batch-picking-worksheet.ts +8 -6
  363. package/server/graphql/resolvers/worksheet/cancel-draft-release-order.ts +4 -11
  364. package/server/graphql/resolvers/worksheet/check-inventory-release.ts +8 -7
  365. package/server/graphql/resolvers/worksheet/check-stock-take-current-location.ts +10 -8
  366. package/server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts +112 -138
  367. package/server/graphql/resolvers/worksheet/create-worksheet.ts +6 -8
  368. package/server/graphql/resolvers/worksheet/cross-dock-picking.ts +8 -7
  369. package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +7 -7
  370. package/server/graphql/resolvers/worksheet/cycle-count-worksheet.ts +6 -6
  371. package/server/graphql/resolvers/worksheet/delete-worksheet.ts +5 -3
  372. package/server/graphql/resolvers/worksheet/delivery-order-by-worksheet.ts +87 -53
  373. package/server/graphql/resolvers/worksheet/fetch-delivery-order-ro.ts +190 -0
  374. package/server/graphql/resolvers/worksheet/fetch-sellercraft-document.ts +69 -0
  375. package/server/graphql/resolvers/worksheet/find-release-orders-by-task-no.ts +5 -45
  376. package/server/graphql/resolvers/worksheet/find-release-orders-by-worksheet-no.ts +5 -5
  377. package/server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.ts +80 -0
  378. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.ts +45 -5
  379. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.ts +11 -10
  380. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.ts +1 -1
  381. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.ts +7 -14
  382. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-return-worksheet.ts +10 -4
  383. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-worksheet.ts +10 -4
  384. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-putaway-worksheet.ts +5 -3
  385. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts +25 -29
  386. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-return-order-worksheet.ts +6 -4
  387. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-vas-order-worksheet.ts +6 -4
  388. package/server/graphql/resolvers/worksheet/having-vas.ts +10 -8
  389. package/server/graphql/resolvers/worksheet/index.ts +7 -3
  390. package/server/graphql/resolvers/worksheet/inspecting/activate-cycle-count.ts +5 -3
  391. package/server/graphql/resolvers/worksheet/inspecting/add-extra-pallet.ts +4 -2
  392. package/server/graphql/resolvers/worksheet/inspecting/check-missing-pallet.ts +5 -3
  393. package/server/graphql/resolvers/worksheet/inspecting/complete-inspection.ts +5 -3
  394. package/server/graphql/resolvers/worksheet/inspecting/inspecting.ts +9 -3
  395. package/server/graphql/resolvers/worksheet/inspecting/relocate-pallet.ts +16 -4
  396. package/server/graphql/resolvers/worksheet/inspecting/undo-inspection.ts +5 -3
  397. package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +34 -17
  398. package/server/graphql/resolvers/worksheet/loaded-inventories.ts +7 -6
  399. package/server/graphql/resolvers/worksheet/loading/activate-loading.ts +5 -3
  400. package/server/graphql/resolvers/worksheet/loading/complete-loading.ts +16 -16
  401. package/server/graphql/resolvers/worksheet/loading/loading.ts +5 -3
  402. package/server/graphql/resolvers/worksheet/loading/undo-loading.ts +5 -3
  403. package/server/graphql/resolvers/worksheet/loading-worksheet.ts +11 -11
  404. package/server/graphql/resolvers/worksheet/not-tally-target-inventories.ts +6 -6
  405. package/server/graphql/resolvers/worksheet/packing/activate-packing.ts +14 -13
  406. package/server/graphql/resolvers/worksheet/packing/complete-packing.ts +4 -4
  407. package/server/graphql/resolvers/worksheet/packing/packing.ts +3 -3
  408. package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +21 -17
  409. package/server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.ts +2 -2
  410. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +102 -24
  411. package/server/graphql/resolvers/worksheet/palletizing-pallets.ts +10 -8
  412. package/server/graphql/resolvers/worksheet/pending-cancellation-release-order.ts +107 -97
  413. package/server/graphql/resolvers/worksheet/picking/activate-batch-picking.ts +3 -30
  414. package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +3 -3
  415. package/server/graphql/resolvers/worksheet/picking/assign-picking-inventories.ts +23 -4
  416. package/server/graphql/resolvers/worksheet/picking/assign-picking-worker.ts +25 -17
  417. package/server/graphql/resolvers/worksheet/picking/batch-picking.ts +4 -2
  418. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +15 -6
  419. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +37 -42
  420. package/server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.ts +52 -42
  421. package/server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.ts +15 -6
  422. package/server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.ts +49 -35
  423. package/server/graphql/resolvers/worksheet/picking/picking.ts +4 -2
  424. package/server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.ts +11 -6
  425. package/server/graphql/resolvers/worksheet/picking/scan-product-picking.ts +10 -35
  426. package/server/graphql/resolvers/worksheet/picking/seal-tote.ts +2 -2
  427. package/server/graphql/resolvers/worksheet/picking/undo-picking-assignment.ts +9 -3
  428. package/server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.ts +2 -2
  429. package/server/graphql/resolvers/worksheet/picking-worksheet.ts +11 -11
  430. package/server/graphql/resolvers/worksheet/proceed-extra-products.ts +13 -13
  431. package/server/graphql/resolvers/worksheet/putaway/activate-putaway.ts +5 -3
  432. package/server/graphql/resolvers/worksheet/putaway/complete-putaway.ts +6 -5
  433. package/server/graphql/resolvers/worksheet/putaway/putaway.ts +5 -3
  434. package/server/graphql/resolvers/worksheet/putaway/undo-putaway.ts +5 -3
  435. package/server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.ts +5 -3
  436. package/server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts +13 -6
  437. package/server/graphql/resolvers/worksheet/putaway-return/putaway-return.ts +5 -3
  438. package/server/graphql/resolvers/worksheet/putaway-return/undo-putaway-return.ts +5 -3
  439. package/server/graphql/resolvers/worksheet/putaway-returning-worksheet.ts +4 -6
  440. package/server/graphql/resolvers/worksheet/putaway-worksheet.ts +4 -6
  441. package/server/graphql/resolvers/worksheet/recommend-putway-location.ts +20 -19
  442. package/server/graphql/resolvers/worksheet/reject-cancellation-release-order.ts +154 -220
  443. package/server/graphql/resolvers/worksheet/relocate-pallet.ts +6 -4
  444. package/server/graphql/resolvers/worksheet/replace-picking-pallets.ts +3 -7
  445. package/server/graphql/resolvers/worksheet/return-worksheet.ts +4 -6
  446. package/server/graphql/resolvers/worksheet/returning/activate-return.ts +5 -3
  447. package/server/graphql/resolvers/worksheet/returning/complete-return.ts +5 -3
  448. package/server/graphql/resolvers/worksheet/returning/returning.ts +5 -3
  449. package/server/graphql/resolvers/worksheet/sorting/activate-sorting.ts +5 -3
  450. package/server/graphql/resolvers/worksheet/sorting/complete-order-sorting.ts +7 -5
  451. package/server/graphql/resolvers/worksheet/sorting/complete-worksheet-sorting.ts +5 -3
  452. package/server/graphql/resolvers/worksheet/sorting/scan-product-sorting.ts +9 -3
  453. package/server/graphql/resolvers/worksheet/sorting/sorting-product.ts +9 -3
  454. package/server/graphql/resolvers/worksheet/sorting-worksheet.ts +5 -5
  455. package/server/graphql/resolvers/worksheet/transfer.ts +10 -12
  456. package/server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.ts +13 -7
  457. package/server/graphql/resolvers/worksheet/unloaded-inventories.ts +9 -9
  458. package/server/graphql/resolvers/worksheet/unloading/activate-unloading.ts +9 -5
  459. package/server/graphql/resolvers/worksheet/unloading/complete-product-scan-unload.ts +5 -3
  460. package/server/graphql/resolvers/worksheet/unloading/complete-unloading-partially.ts +5 -3
  461. package/server/graphql/resolvers/worksheet/unloading/complete-unloading.ts +8 -4
  462. package/server/graphql/resolvers/worksheet/unloading/scan-product-unload.ts +5 -3
  463. package/server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.ts +2 -2
  464. package/server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.ts +2 -2
  465. package/server/graphql/resolvers/worksheet/unloading/undo-unloading.ts +2 -2
  466. package/server/graphql/resolvers/worksheet/unloading/unload.ts +7 -7
  467. package/server/graphql/resolvers/worksheet/unloading-return/activate-unloading-return.ts +5 -3
  468. package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-return-partially.ts +5 -3
  469. package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts +9 -5
  470. package/server/graphql/resolvers/worksheet/unloading-return-worksheet.ts +4 -6
  471. package/server/graphql/resolvers/worksheet/unloading-worksheet.ts +5 -7
  472. package/server/graphql/resolvers/worksheet/update-worksheet.ts +5 -5
  473. package/server/graphql/resolvers/worksheet/vas/activate-vas.ts +5 -3
  474. package/server/graphql/resolvers/worksheet/vas/assign-vas-inventories.ts +5 -3
  475. package/server/graphql/resolvers/worksheet/vas/complete-vas.ts +5 -3
  476. package/server/graphql/resolvers/worksheet/vas/execute-vas.ts +5 -3
  477. package/server/graphql/resolvers/worksheet/vas/undo-vas-inventory.ts +5 -3
  478. package/server/graphql/resolvers/worksheet/vas/undo-vas.ts +5 -3
  479. package/server/graphql/resolvers/worksheet/vas-candidates.ts +20 -17
  480. package/server/graphql/resolvers/worksheet/vas-inventories.ts +9 -7
  481. package/server/graphql/resolvers/worksheet/vas-transactions/common-utils.ts +36 -18
  482. package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.ts +12 -5
  483. package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.ts +6 -3
  484. package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.ts +14 -6
  485. package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/undo-relabeling.ts +5 -7
  486. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.ts +3 -2
  487. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.ts +8 -5
  488. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.ts +6 -16
  489. package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.ts +5 -2
  490. package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.ts +10 -8
  491. package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/undo-repalletizing.ts +3 -5
  492. package/server/graphql/resolvers/worksheet/vas-transactions/unpacking/complete-unpacking.ts +6 -6
  493. package/server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.ts +10 -13
  494. package/server/graphql/resolvers/worksheet/vas-worksheet.ts +13 -11
  495. package/server/graphql/resolvers/worksheet/worksheet-by-order-no.ts +13 -8
  496. package/server/graphql/resolvers/worksheet/worksheet-with-pagination.ts +7 -5
  497. package/server/graphql/resolvers/worksheet/worksheet.ts +86 -32
  498. package/server/graphql/resolvers/worksheet/worksheets.ts +60 -19
  499. package/server/graphql/resolvers/worksheet-detail/check-progressing-pallet.ts +7 -8
  500. package/server/graphql/resolvers/worksheet-detail/create-worksheet-detail.ts +4 -6
  501. package/server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.ts +5 -6
  502. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +13 -19
  503. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.ts +19 -27
  504. package/server/graphql/resolvers/worksheet-detail/generate-carton-id.ts +2 -4
  505. package/server/graphql/resolvers/worksheet-detail/generate-pallet-id.ts +6 -6
  506. package/server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.ts +7 -4
  507. package/server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts +3 -3
  508. package/server/graphql/resolvers/worksheet-detail/index.ts +3 -1
  509. package/server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts +164 -0
  510. package/server/graphql/resolvers/worksheet-detail/update-worksheet-detail.ts +8 -7
  511. package/server/graphql/resolvers/worksheet-detail/worksheet-detail.ts +6 -7
  512. package/server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.ts +5 -5
  513. package/server/graphql/resolvers/worksheet-detail/worksheet-details.ts +6 -7
  514. package/server/graphql/resolvers/worksheet-movement/create-worksheet-movement.ts +4 -3
  515. package/server/graphql/resolvers/worksheet-movement/delete-worksheet-movement.ts +3 -2
  516. package/server/graphql/resolvers/worksheet-movement/update-worksheet-movement.ts +2 -4
  517. package/server/graphql/resolvers/worksheet-movement/worksheet-movement.ts +3 -6
  518. package/server/graphql/resolvers/worksheet-movement/worksheet-movements.ts +4 -4
  519. package/server/graphql/types/worksheet/batch-pick-worksheet-info.ts +9 -0
  520. package/server/graphql/types/worksheet/delivery-order-info.ts +3 -0
  521. package/server/graphql/types/worksheet/delivery-order-ro.ts +15 -0
  522. package/server/graphql/types/worksheet/index.ts +49 -38
  523. package/server/graphql/types/worksheet/multiple-release-good-worksheet.ts +8 -0
  524. package/server/graphql/types/worksheet/sellercraft-document.ts +8 -0
  525. package/server/graphql/types/worksheet-detail/index.ts +10 -0
  526. package/server/graphql/types/worksheet-detail/inventory-detail.ts +1 -0
  527. package/server/utils/inventory-util.ts +20 -14
  528. package/server/utils/worksheet-util.ts +10 -6
  529. package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js +0 -25
  530. package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js.map +0 -1
  531. package/dist-server/graphql/types/worksheet/airwaybill.js +0 -11
  532. package/dist-server/graphql/types/worksheet/airwaybill.js.map +0 -1
  533. package/server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.ts +0 -30
  534. package/server/graphql/types/worksheet/airwaybill.ts +0 -7
@@ -1,9 +1,10 @@
1
- import { Equal, In, IsNull, Not } from 'typeorm'
1
+ import { EntityManager, Equal, getConnection, In, IsNull, Not } from 'typeorm'
2
2
 
3
3
  import { Bizplace } from '@things-factory/biz-base'
4
4
  import { generateId } from '@things-factory/id-rule-base'
5
5
  import { Product, ProductDetail } from '@things-factory/product-base'
6
6
  import {
7
+ GenerateBatchPickInfo,
7
8
  ORDER_INVENTORY_STATUS,
8
9
  ORDER_PRODUCT_STATUS,
9
10
  ORDER_STATUS,
@@ -32,11 +33,11 @@ import {
32
33
 
33
34
  import { TASK_NUMBER_RULE_TYPE, TASK_NUMBER_SETTING_KEY, WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../constants'
34
35
  import { Worksheet, WorksheetDetail } from '../../entities'
35
- import { WorksheetNoGenerator } from '../../utils'
36
+ import { generateInventoryHistory, WorksheetNoGenerator } from '../../utils'
36
37
  import { VasWorksheetController } from '../vas/vas-worksheet-controller'
37
38
 
38
39
  export class PickingWorksheetController extends VasWorksheetController {
39
- async generatePickingWorksheet(releaseGoodNo: string): Promise<Worksheet> {
40
+ async generatePickingWorksheet(releaseGoodNo: string, currentStatus: string = null): Promise<Worksheet> {
40
41
  let releaseGood: ReleaseGood = await this.findRefOrder(
41
42
  ReleaseGood,
42
43
  {
@@ -74,79 +75,91 @@ export class PickingWorksheetController extends VasWorksheetController {
74
75
 
75
76
  releaseGood.status = ORDER_STATUS.READY_TO_PICK
76
77
  releaseGood.updater = this.user
77
- await this.updateRefOrder(releaseGood)
78
+ await this.updateRefOrder(releaseGood, null, currentStatus)
78
79
 
79
80
  return worksheet
80
81
  }
81
82
 
82
- async generateBatchPickingWorksheet(releaseGoodNos: [string], partnerBizplaceId: string): Promise<Worksheet> {
83
- let releaseGoods: ReleaseGood[] = await this.trxMgr.getRepository(ReleaseGood).find({
84
- where: { domain: this.domain, name: In(releaseGoodNos), status: ORDER_STATUS.PENDING_WORKSHEET },
85
- relations: ['orderInventories', 'orderInventories.inventory']
86
- })
83
+ async generateBatchPickingWorksheet(releaseGoodWithBiz: [GenerateBatchPickInfo[]]): Promise<Worksheet[]> {
84
+ let worksheets = []
85
+
86
+ for (let i = 0; i < releaseGoodWithBiz.length; i++) {
87
+ let releaseGoodNos = releaseGoodWithBiz[i].map(itm => itm.releaseGoodNo)
88
+
89
+ let releaseGoods: ReleaseGood[] = await this.trxMgr.getRepository(ReleaseGood).find({
90
+ where: { domain: this.domain, name: In(releaseGoodNos), status: ORDER_STATUS.PENDING_WORKSHEET },
91
+ relations: [
92
+ 'orderProducts',
93
+ 'orderProducts.product',
94
+ 'orderInventories',
95
+ 'orderInventories.inventory',
96
+ 'bizplace',
97
+ 'bizplace.domain'
98
+ ]
99
+ })
87
100
 
88
- const partnerBizplace: Bizplace = await this.trxMgr.getRepository(Bizplace).findOne(partnerBizplaceId)
101
+ let orderInventories: OrderInventory[] = []
102
+ releaseGoods.map((releaseGood: ReleaseGood) => {
103
+ const foundOIs: OrderInventory[] = releaseGood.orderInventories
104
+ foundOIs.map((oi: OrderInventory) => {
105
+ orderInventories.push(oi)
106
+ })
107
+ })
89
108
 
90
- let orderInventories: OrderInventory[] = []
91
- releaseGoods.map((releaseGood: ReleaseGood) => {
92
- const foundOIs: OrderInventory[] = releaseGood.orderInventories
93
- foundOIs.map((oi: OrderInventory) => {
94
- orderInventories.push(oi)
109
+ const worksheetSetting: Setting = await this.trxMgr.getRepository(Setting).findOne({
110
+ where: {
111
+ domain: this.domain,
112
+ name: TASK_NUMBER_SETTING_KEY.TASK_NO_RULE
113
+ }
95
114
  })
96
- })
115
+ if (!worksheetSetting) throw new Error(this.ERROR_MSG.FIND.NO_RESULT('task number rule'))
97
116
 
98
- const worksheetSetting: Setting = await this.trxMgr.getRepository(Setting).findOne({
99
- where: {
117
+ let worksheet: Worksheet = new Worksheet()
118
+ worksheet.name = WorksheetNoGenerator.generate(WORKSHEET_TYPE.BATCH_PICKING)
119
+ worksheet.type = WORKSHEET_TYPE.BATCH_PICKING
120
+ worksheet.taskNo = await generateId({
100
121
  domain: this.domain,
101
- name: TASK_NUMBER_SETTING_KEY.TASK_NO_RULE
122
+ type: TASK_NUMBER_RULE_TYPE.TASK_NO,
123
+ seed: {}
124
+ })
125
+ worksheet.status = WORKSHEET_STATUS.DEACTIVATED
126
+ worksheet.bizplace = releaseGoodWithBiz[i][0].bizplaceId
127
+ worksheet.domain = this.domain
128
+ worksheet.creator = this.user
129
+ worksheet.updater = this.user
130
+ worksheet = await this.trxMgr.getRepository(Worksheet).save(worksheet)
131
+
132
+ if (orderInventories.some((oi: OrderInventory) => oi.inventory?.id)) {
133
+ const hasInventoryOIs: OrderInventory[] = orderInventories.filter(
134
+ (orderInventory: OrderInventory) => orderInventory.inventory !== null
135
+ )
136
+
137
+ worksheet.worksheetDetails = await this.createWorksheetDetails(
138
+ worksheet,
139
+ WORKSHEET_TYPE.BATCH_PICKING,
140
+ hasInventoryOIs
141
+ )
102
142
  }
103
- })
104
- if (!worksheetSetting) throw new Error(this.ERROR_MSG.FIND.NO_RESULT('task number rule'))
105
143
 
106
- let worksheet: Worksheet = new Worksheet()
107
- worksheet.name = WorksheetNoGenerator.generate(WORKSHEET_TYPE.BATCH_PICKING)
108
- worksheet.type = WORKSHEET_TYPE.BATCH_PICKING
109
- worksheet.taskNo = await generateId({
110
- domain: this.domain,
111
- type: TASK_NUMBER_RULE_TYPE.TASK_NO,
112
- seed: {}
113
- })
114
- worksheet.status = WORKSHEET_STATUS.DEACTIVATED
115
- worksheet.bizplace = partnerBizplace
116
- worksheet.domain = this.domain
117
- worksheet.creator = this.user
118
- worksheet.updater = this.user
119
- worksheet = await this.trxMgr.getRepository(Worksheet).save(worksheet)
144
+ orderInventories.forEach((oi: OrderInventory) => {
145
+ oi.refWorksheetId = worksheet.id
146
+ oi.status = oi.inventory?.id ? ORDER_INVENTORY_STATUS.READY_TO_PICK : ORDER_INVENTORY_STATUS.PENDING_SPLIT
147
+ oi.updater = this.user
148
+ })
149
+ await this.updateOrderTargets(orderInventories)
120
150
 
121
- if (orderInventories.some((oi: OrderInventory) => oi.inventory?.id)) {
122
- const hasInventoryOIs: OrderInventory[] = orderInventories.filter(
123
- (orderInventory: OrderInventory) => orderInventory.inventory !== null
124
- )
151
+ releaseGoods = releaseGoods.map((releaseGood: ReleaseGood) => {
152
+ return {
153
+ ...releaseGood,
154
+ status: ORDER_STATUS.READY_TO_PICK,
155
+ updater: this.user
156
+ }
157
+ })
158
+ await this.trxMgr.getRepository(ReleaseGood).save(releaseGoods)
125
159
 
126
- worksheet.worksheetDetails = await this.createWorksheetDetails(
127
- worksheet,
128
- WORKSHEET_TYPE.BATCH_PICKING,
129
- hasInventoryOIs
130
- )
160
+ worksheets.push(worksheet)
131
161
  }
132
-
133
- orderInventories.forEach((oi: OrderInventory) => {
134
- oi.refWorksheetId = worksheet.id
135
- oi.status = oi.inventory?.id ? ORDER_INVENTORY_STATUS.READY_TO_PICK : ORDER_INVENTORY_STATUS.PENDING_SPLIT
136
- oi.updater = this.user
137
- })
138
- await this.updateOrderTargets(orderInventories)
139
-
140
- releaseGoods = releaseGoods.map((releaseGood: ReleaseGood) => {
141
- return {
142
- ...releaseGood,
143
- status: ORDER_STATUS.READY_TO_PICK,
144
- updater: this.user
145
- }
146
- })
147
- await this.trxMgr.getRepository(ReleaseGood).save(releaseGoods)
148
-
149
- return worksheet
162
+ return worksheets
150
163
  }
151
164
 
152
165
  async generateBatchPickingWorksheetDetail(
@@ -219,6 +232,8 @@ export class PickingWorksheetController extends VasWorksheetController {
219
232
  'worksheetDetails.targetInventory',
220
233
  'worksheetDetails.targetInventory.releaseGood',
221
234
  'worksheetDetails.targetInventory.product',
235
+ 'worksheetDetails.targetInventory.releaseGood.orderProducts',
236
+ 'worksheetDetails.targetInventory.releaseGood.orderProducts.product',
222
237
  'bizplace',
223
238
  'bizplace.domain',
224
239
  'bizplace.company',
@@ -236,12 +251,13 @@ export class PickingWorksheetController extends VasWorksheetController {
236
251
 
237
252
  worksheet = await this.activateWorksheet(worksheet, worksheetDetails, [])
238
253
 
239
- const completeSplitOIs: OrderInventory[] = await this.trxMgr.getRepository(OrderInventory).find({
240
- where: { domain: this.domain, refWorksheetId: worksheet.id, status: ORDER_INVENTORY_STATUS.COMPLETE_SPLIT },
254
+ // retrieve order inventory
255
+ const pickingOrderInventory: OrderInventory[] = await this.trxMgr.getRepository(OrderInventory).find({
256
+ where: { domain: this.domain, refWorksheetId: worksheet.id, status: ORDER_STATUS.PICKING },
241
257
  relations: ['releaseGood']
242
258
  })
243
259
 
244
- let releaseGoods: ReleaseGood[] = completeSplitOIs.map((oi: OrderInventory) => oi.releaseGood)
260
+ let releaseGoods: ReleaseGood[] = pickingOrderInventory.map((oi: OrderInventory) => oi.releaseGood)
245
261
 
246
262
  if (releaseGoods?.length) {
247
263
  releaseGoods = releaseGoods.map((rg: ReleaseGood) => {
@@ -254,11 +270,6 @@ export class PickingWorksheetController extends VasWorksheetController {
254
270
  await this.trxMgr.getRepository(ReleaseGood).save(releaseGoods)
255
271
  }
256
272
 
257
- if (completeSplitOIs?.length) {
258
- const ids: string[] = completeSplitOIs.map((oi: OrderInventory) => oi.id)
259
- await this.trxMgr.getRepository(OrderInventory).delete(ids)
260
- }
261
-
262
273
  return worksheet
263
274
  }
264
275
 
@@ -305,8 +316,10 @@ export class PickingWorksheetController extends VasWorksheetController {
305
316
  }
306
317
 
307
318
  const targetInventory: OrderInventory = worksheetDetail.targetInventory
308
- let inventory: Inventory = await this.trxMgr.getRepository(Inventory).findOne(targetInventory.inventory.id)
309
- const product: Product = await this.trxMgr.getRepository(Product).findOne(productId)
319
+ let inventory: Inventory = await this.trxMgr
320
+ .getRepository(Inventory)
321
+ .findOneBy({ id: targetInventory.inventory.id })
322
+ const product: Product = await this.trxMgr.getRepository(Product).findOneBy({ id: productId })
310
323
 
311
324
  // Create order inventories
312
325
  let newTargetInventory: OrderInventory = Object.assign({}, targetInventory)
@@ -377,7 +390,7 @@ export class PickingWorksheetController extends VasWorksheetController {
377
390
  .getRepository(OrderProduct)
378
391
  .update(
379
392
  { id: targetInventory.orderProduct.id },
380
- { status: ORDER_PRODUCT_STATUS.PENDING_ASSIGN, updater: this.user }
393
+ { status: ORDER_PRODUCT_STATUS.PENDING_ASSIGN, updater: this.user as any }
381
394
  )
382
395
  }
383
396
 
@@ -393,7 +406,11 @@ export class PickingWorksheetController extends VasWorksheetController {
393
406
  packingSize,
394
407
  status: ORDER_INVENTORY_STATUS.COMPLETE_SPLIT
395
408
  },
396
- { status: ORDER_INVENTORY_STATUS.PENDING_SPLIT, updater: this.user, updatedAt: new Date() }
409
+ {
410
+ status: ORDER_INVENTORY_STATUS.PENDING_SPLIT,
411
+ updater: this.user as any,
412
+ updatedAt: new Date() as any
413
+ }
397
414
  )
398
415
  }
399
416
 
@@ -404,81 +421,75 @@ export class PickingWorksheetController extends VasWorksheetController {
404
421
  cartonId: string,
405
422
  binLocation?: string,
406
423
  serialNumber?: string,
407
- toteNo?: string
408
- ): Promise<OrderInventory> {
424
+ toteNo?: string,
425
+ pickedQty: number = 1
426
+ ): Promise<WorksheetDetail> {
409
427
  try {
410
- let worksheetDetail: WorksheetDetail = await this.findExecutableWorksheetDetailByName(
411
- worksheetDetailName,
412
- worksheetType,
413
- [
414
- 'worksheet',
415
- 'worksheet.bizplace',
416
- 'targetInventory',
417
- 'targetInventory.releaseGood',
418
- 'targetInventory.inventory',
419
- 'targetInventory.product',
420
- 'targetInventory.orderProduct',
421
- 'targetInventory.product.productDetails',
422
- 'targetInventory.product.productDetails.product',
423
- 'targetInventory.product.productDetails.childProductDetail'
424
- ]
425
- )
428
+ //find existing worksheet detail
429
+ let worksheetDetail: WorksheetDetail = await this.trxMgr
430
+ .getRepository(WorksheetDetail)
431
+ .createQueryBuilder('wd')
432
+ .innerJoinAndSelect('wd.worksheet', 'ws')
433
+ .innerJoinAndSelect('ws.bizplace', 'bz')
434
+ .innerJoinAndSelect('wd.targetInventory', 'oi')
435
+ .innerJoinAndSelect('oi.releaseGood', 'rg')
436
+ .innerJoinAndSelect('oi.inventory', 'inv')
437
+ .leftJoinAndSelect('oi.orderProduct', 'op')
438
+ .innerJoinAndSelect('oi.product', 'prd')
439
+ .leftJoinAndSelect(
440
+ 'prd.productDetails',
441
+ 'pd',
442
+ 'pd.product_id = oi.product_id AND pd.deleted_at is null AND pd.packing_type = oi.packing_type AND pd.packing_size = oi.packing_size AND pd.uom = oi.uom'
443
+ )
444
+ .where('wd.name = :name', { name: worksheetDetailName })
445
+ .andWhere('wd.domain_id = :domainId', { domainId: this.domain.id })
446
+ .andWhere('wd.type = :type', { type: worksheetType })
447
+ .andWhere('wd.status = :status', { status: WORKSHEET_STATUS.EXECUTING })
448
+ .andWhere('inv.carton_id = :cartonId', { cartonId: cartonId })
449
+ .getOne()
426
450
 
427
- const releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood
428
- let targetInventory: OrderInventory = worksheetDetail.targetInventory
429
- let targetProduct: OrderProduct = targetInventory.orderProduct
430
- const product: Product = targetInventory.product
431
- let inventory: Inventory = targetInventory.inventory
432
- let bizplace: Bizplace = worksheetDetail.worksheet.bizplace
451
+ //validation to check matching worksheet detail based on name
452
+ if (!worksheetDetail || !worksheetDetail.targetInventory)
453
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(worksheetDetailName))
433
454
 
434
455
  //validation to prevent duplicated picking
435
- let oiValidate: OrderInventory = await this.trxMgr.getRepository(OrderInventory).findOne({
436
- where: { domain: this.domain, id: targetInventory.id, status: ORDER_INVENTORY_STATUS.PICKING }
437
- })
438
- if (!oiValidate) throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `is done`))
439
-
440
- //validation to prevent over release
441
- if (inventory.qty <= 0) throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `over release`))
442
-
443
- if (inventory.cartonId !== cartonId)
444
- throw new Error(this.ERROR_MSG.VALIDITY.UNEXPECTED_FIELD_VALUE('Carton ID', cartonId, inventory.cartonId))
456
+ if (worksheetDetail?.targetInventory?.status != ORDER_INVENTORY_STATUS.PICKING)
457
+ throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `is done`))
445
458
 
446
- const packingType: string = inventory.packingType
447
- const packingSize: number = inventory.packingSize
459
+ let matchingProduct = await this.getDirectQty(
460
+ {
461
+ ...worksheetDetail?.targetInventory?.product?.productDetails[0],
462
+ product: worksheetDetail?.targetInventory?.product
463
+ },
464
+ productBarcode,
465
+ pickedQty
466
+ )
448
467
 
449
- let pickedQty: number = 1
450
- const releaseQty: number = targetInventory.releaseQty
468
+ //validate matching product details based on scanned barcode
469
+ if (!matchingProduct) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
451
470
 
452
- targetInventory = await this.checkAndSetBinPicking(targetInventory, binLocation)
471
+ pickedQty = matchingProduct.qty
472
+ let pickedUomValue = matchingProduct.uomValue
453
473
 
454
- // search for matching product barcode
455
- const productDetails: ProductDetail[] = product?.productDetails.filter(detail => !detail.deletedAt)
456
- const isMatchingBarcode: boolean = productDetails.map(detail => detail.gtin).includes(productBarcode)
457
- if (!isMatchingBarcode) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
458
-
459
- // case for scanning parent packing type, packing size
460
- const foundProductDetail: ProductDetail = productDetails.find(
461
- (detail: ProductDetail) =>
462
- detail.gtin === productBarcode &&
463
- detail.packingType === packingType &&
464
- detail.packingSize == packingSize &&
465
- detail.product?.id === product.id
474
+ //validation to prevent over release
475
+ if (
476
+ !worksheetDetail?.targetInventory ||
477
+ worksheetDetail?.targetInventory.inventory.qty < 1 ||
478
+ pickedQty + (worksheetDetail.targetInventory?.pickedQty || 0) > worksheetDetail.targetInventory.releaseQty
466
479
  )
480
+ throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `over release`))
467
481
 
468
- if (!foundProductDetail && !product?.isRequireSerialNumberScanningOutbound) {
469
- const roProductDetail: ProductDetail = productDetails.find(
470
- (parentDetail: ProductDetail) =>
471
- parentDetail.packingType === packingType && parentDetail.packingSize == packingSize
472
- )
482
+ const releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood
473
483
 
474
- pickedQty = await this.getChildQty(productDetails, productBarcode, roProductDetail)
475
- if (pickedQty + targetInventory.pickedQty > releaseQty) {
476
- throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `over release`))
477
- }
478
- } else if (!foundProductDetail) {
479
- throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
480
- }
484
+ let targetInventory: OrderInventory = worksheetDetail.targetInventory
485
+ let targetProduct: OrderProduct = targetInventory.orderProduct
486
+ let inventory: Inventory = targetInventory.inventory
487
+ let bizplace: Bizplace = worksheetDetail.worksheet.bizplace
488
+ const product: Product = targetInventory.product
489
+
490
+ targetInventory = await this.checkAndSetBinPicking(targetInventory, binLocation)
481
491
 
492
+ // for required outbound serial number scanning
482
493
  if (product?.isRequireSerialNumberScanningOutbound) {
483
494
  if (!serialNumber || serialNumber == '') {
484
495
  throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `require serial number`))
@@ -531,11 +542,137 @@ export class PickingWorksheetController extends VasWorksheetController {
531
542
  }
532
543
  }
533
544
 
545
+ // for tote scanning
534
546
  if (toteNo) {
535
547
  await this.toteScanning(toteNo, targetProduct, targetInventory, pickedQty, releaseGood, bizplace)
536
548
  }
537
549
 
538
- await this.updatePickingTransaction(releaseGood, targetInventory, worksheetDetail, inventory, pickedQty)
550
+ // temporarily override with separate logic to handle transaction to speed up function
551
+ // await this.updatePickingTransaction(releaseGood, targetInventory, worksheetDetail, inventory, pickedQty)
552
+
553
+ const releaseQty: number = targetInventory.releaseQty
554
+
555
+ targetInventory.pickedQty = (targetInventory?.pickedQty || 0) + pickedQty
556
+
557
+ let updateOiObj = {
558
+ pickedQty: () => `"picked_qty" + ${pickedQty}`,
559
+ updatedAt: new Date(),
560
+ updater: this.user,
561
+ pickedBy: this.user.name,
562
+ pickedByUser: this.user,
563
+ pickedAt: new Date()
564
+ }
565
+
566
+ if (targetInventory.pickedQty == releaseQty) {
567
+ updateOiObj['status'] = ORDER_INVENTORY_STATUS.PICKED
568
+ }
569
+
570
+ if (targetInventory.binLocation) {
571
+ updateOiObj['binLocation'] = targetInventory.binLocation
572
+ }
573
+
574
+ await this.trxMgr
575
+ .getRepository(OrderInventory)
576
+ .createQueryBuilder()
577
+ .update(OrderInventory)
578
+ .set(updateOiObj as any)
579
+ .where({ id: targetInventory.id })
580
+ .andWhere(`picked_qty + :pickedQty <= release_qty`, { pickedQty })
581
+ .execute()
582
+
583
+ if (targetInventory.pickedQty == releaseQty) {
584
+ //update worksheet details only when line item picking complete
585
+ await this.trxMgr
586
+ .getRepository(WorksheetDetail)
587
+ .createQueryBuilder()
588
+ .update(WorksheetDetail)
589
+ .set({
590
+ status: WORKSHEET_STATUS.DONE,
591
+ updater: this.user,
592
+ updatedAt: new Date()
593
+ })
594
+ .where('id = :id', { id: worksheetDetail.id })
595
+ .execute()
596
+
597
+ getConnection().transaction(async (tx: EntityManager) => {
598
+ let releaseUomValue = Math.round((pickedUomValue / pickedQty) * releaseQty * 100) / 100
599
+
600
+ let updateInvObj = {
601
+ qty: () => `"qty" - ${releaseQty}`,
602
+ lockedQty: () => `"locked_qty" - ${releaseQty}`,
603
+ uomValue: () => `"uom_value" - ${releaseUomValue}`,
604
+ lockedUomValue: () => `"locked_uom_value" - ${releaseUomValue}`,
605
+ updater: this.user,
606
+ updatedAt: new Date()
607
+ }
608
+
609
+ let remainingQty = await tx
610
+ .getRepository(Inventory)
611
+ .createQueryBuilder()
612
+ .update(Inventory)
613
+ .set(updateInvObj as any)
614
+ .where('id = :id', { id: targetInventory.inventory.id })
615
+ .returning(['qty'])
616
+ .execute()
617
+ .then(dt => {
618
+ return dt.raw[0].qty
619
+ })
620
+
621
+ await generateInventoryHistory(
622
+ inventory,
623
+ releaseGood,
624
+ INVENTORY_TRANSACTION_TYPE.PICKING,
625
+ -releaseQty,
626
+ -releaseUomValue,
627
+ this.user,
628
+ tx
629
+ )
630
+
631
+ let inventoryItems: InventoryItem = await tx
632
+ .getRepository(InventoryItem)
633
+ .find({ where: { outboundOrderId: releaseGood.id } })
634
+
635
+ if (inventoryItems.length > 0) {
636
+ inventoryItems.forEach((itm: InventoryItem) => {
637
+ itm.status = INVENTORY_STATUS.PICKED
638
+ itm.updater = this.user
639
+ })
640
+
641
+ await tx.getRepository(InventoryItem).save(inventoryItems)
642
+ }
643
+
644
+ if (remainingQty === 0) {
645
+ await tx
646
+ .getRepository(Inventory)
647
+ .createQueryBuilder()
648
+ .update(Inventory)
649
+ .set({ status: INVENTORY_STATUS.TERMINATED })
650
+ .where('id = :id', { id: targetInventory.inventory.id })
651
+ .execute()
652
+
653
+ await generateInventoryHistory(
654
+ inventory,
655
+ releaseGood,
656
+ INVENTORY_TRANSACTION_TYPE.TERMINATED,
657
+ 0,
658
+ 0,
659
+ this.user,
660
+ tx
661
+ )
662
+ }
663
+ })
664
+ }
665
+
666
+ // return worksheet details
667
+ worksheetDetail = await this.trxMgr
668
+ .getRepository(WorksheetDetail)
669
+ .createQueryBuilder('wd')
670
+ .innerJoin('wd.targetInventory', 'oi')
671
+ .innerJoinAndSelect('oi.releaseGood', 'rg')
672
+ .where('wd.id = :id', { id: worksheetDetail.id })
673
+ .getOne()
674
+
675
+ return worksheetDetail
539
676
  } catch (error) {
540
677
  throw error
541
678
  }
@@ -830,7 +967,8 @@ export class PickingWorksheetController extends VasWorksheetController {
830
967
  cartonId: string,
831
968
  productBarcode: string,
832
969
  inventory: any,
833
- binLocationName: string
970
+ binLocationName: string,
971
+ pickingQty: number
834
972
  ): Promise<void> {
835
973
  const worksheet: Worksheet = await this.trxMgr.getRepository(Worksheet).findOne({
836
974
  where: { domain: this.domain, taskNo, type: worksheetType, status: WORKSHEET_STATUS.EXECUTING },
@@ -854,7 +992,7 @@ export class PickingWorksheetController extends VasWorksheetController {
854
992
  const batchId: string = inventory.batchId
855
993
  const packingType: string = inventory.packingType
856
994
  const packingSize: number = inventory.packingSize
857
- let pickedQty: number = 1
995
+ let pickedQty: number = pickingQty ? pickingQty : 1
858
996
 
859
997
  const targetInventories: OrderInventory[] = worksheetDetails
860
998
  .map((wsd: WorksheetDetail) => wsd.targetInventory)
@@ -887,7 +1025,8 @@ export class PickingWorksheetController extends VasWorksheetController {
887
1025
  this.ERROR_MSG.FIND.NO_RESULT(`Packing Type ( ${packingType}) or Packing Size (${packingSize})`)
888
1026
  )
889
1027
 
890
- pickedQty = await this.getChildQty(productDetails, productBarcode, roProductDetail)
1028
+ let childQty = await this.getChildQty(productDetails, productBarcode, roProductDetail)
1029
+ pickedQty *= childQty
891
1030
  }
892
1031
 
893
1032
  const sumOfReleaseQty: number = targetInventories
@@ -1003,15 +1142,6 @@ export class PickingWorksheetController extends VasWorksheetController {
1003
1142
  itm.updater = this.user
1004
1143
  })
1005
1144
 
1006
- // let inventoryLists = InventoryItems.filter(
1007
- // (value, index, self) => index === self.findIndex(itm => itm.inventory.id === value.inventory.id)
1008
- // )
1009
-
1010
- // inventoryLists.forEach((itm: Inventory) => {
1011
- // if (itm.inventory.qty - itm.releaseQty == 0)
1012
- // this.transactionInventory(itm, releaseGood, 0, 0, INVENTORY_TRANSACTION_TYPE.TERMINATED)
1013
- // })
1014
-
1015
1145
  await this.trxMgr.getRepository(InventoryItem).save(inventoryItems)
1016
1146
  }
1017
1147
 
@@ -1113,25 +1243,15 @@ export class PickingWorksheetController extends VasWorksheetController {
1113
1243
 
1114
1244
  private async checkAndSetBinPicking(orderInventory, binLocation) {
1115
1245
  // bin picking validation
1116
- const binPickingSetting: Setting = await this.trxMgr.getRepository(Setting).findOne({
1117
- where: {
1118
- domain: this.domain,
1119
- name: 'enable-bin-picking'
1120
- }
1121
- })
1122
- if (binPickingSetting != undefined && binPickingSetting.value.toLowerCase() == 'true') {
1123
- if (binLocation) {
1124
- const foundBinLocation: Location = await this.trxMgr.getRepository(Location).findOne({
1125
- where: { domain: this.domain, name: binLocation, type: LOCATION_TYPE.BIN }
1126
- })
1127
-
1128
- if (!foundBinLocation)
1129
- throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `invalid bin location id`))
1246
+ if (binLocation) {
1247
+ const foundBinLocation: Location = await this.trxMgr.getRepository(Location).findOne({
1248
+ where: { domain: this.domain, name: binLocation, type: LOCATION_TYPE.BIN }
1249
+ })
1130
1250
 
1131
- orderInventory.binLocation = foundBinLocation
1132
- } else {
1251
+ if (!foundBinLocation)
1133
1252
  throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `invalid bin location id`))
1134
- }
1253
+
1254
+ orderInventory.binLocation = foundBinLocation
1135
1255
  }
1136
1256
 
1137
1257
  return orderInventory
@@ -1140,7 +1260,7 @@ export class PickingWorksheetController extends VasWorksheetController {
1140
1260
  private async updatePickingTransaction(releaseGood, orderInventory, worksheetDetail, inventory, pickedQty) {
1141
1261
  const releaseQty: number = orderInventory.releaseQty
1142
1262
 
1143
- orderInventory.pickedQty = Boolean(orderInventory?.pickedQty) ? orderInventory.pickedQty + pickedQty : pickedQty
1263
+ orderInventory.pickedQty = (orderInventory?.pickedQty || 0) + pickedQty
1144
1264
  if (orderInventory.pickedQty == releaseQty) {
1145
1265
  const leftQty: number = inventory.qty - releaseQty
1146
1266
  if (leftQty < 0) {
@@ -1451,8 +1571,8 @@ export class PickingWorksheetController extends VasWorksheetController {
1451
1571
  }
1452
1572
 
1453
1573
  //if found order tote then check if order tote item exist
1454
- const foundOrderToteItem: OrderToteItem = await this.trxMgr.getRepository(OrderToteItem).findOne({
1455
- domain: this.domain,
1574
+ const foundOrderToteItem: OrderToteItem = await this.trxMgr.getRepository(OrderToteItem).findOneBy({
1575
+ domain: { id: this.domain.id },
1456
1576
  orderProduct: targetProduct,
1457
1577
  orderInventory: targetInventory,
1458
1578
  orderTote: foundOrderTote
@@ -1541,7 +1661,7 @@ export class PickingWorksheetController extends VasWorksheetController {
1541
1661
  {
1542
1662
  status: INVENTORY_STATUS.STORED,
1543
1663
  outboundOrderId: null,
1544
- updater: this.user
1664
+ updater: this.user as any
1545
1665
  }
1546
1666
  )
1547
1667
  }
@@ -1607,7 +1727,7 @@ export class PickingWorksheetController extends VasWorksheetController {
1607
1727
  updater: this.user
1608
1728
  })
1609
1729
 
1610
- const totalSeal = await this.trxMgr.getRepository(OrderToteSeal).count({
1730
+ const totalSeal = await this.trxMgr.getRepository(OrderToteSeal).countBy({
1611
1731
  orderTote: foundOrderTote
1612
1732
  })
1613
1733