@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 +1 @@
1
- {"version":3,"file":"add-extra-pallet.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/inspecting/add-extra-pallet.ts"],"names":[],"mappings":";;;AAGA,yDAAuE;AAE1D,QAAA,sBAAsB,GAAG;IACpC,KAAK,CAAC,cAAc,CAClB,CAAM,EACN,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,EAC3F,OAAY;QAEZ,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,cAAc,CAClB,EAAE,EACF,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,YAAY,CACb,CAAA;IACH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,cAAc,CAClC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,YAAoB,EACpB,QAAgB,EAChB,gBAAwB,EACxB,YAAoB,EACpB,iBAAyB,EACzB,YAAoB;IAEpB,MAAM,mBAAmB,GAAkC,IAAI,2CAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9G,MAAM,mBAAmB,CAAC,cAAc,CACtC,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,YAAY,CACb,CAAA;AACH,CAAC;AApBD,wCAoBC","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { EntityManager } from 'typeorm'\nimport { CycleCountWorksheetController } from '../../../../controllers'\n\nexport const addExtraPalletResolver = {\n async addExtraPallet(\n _: any,\n { cycleCountNo, palletId, inspectedBatchNo, inspectedQty, inspectedUomValue, locationName },\n context: any\n ) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n await addExtraPallet(\n tx,\n domain,\n user,\n cycleCountNo,\n palletId,\n inspectedBatchNo,\n inspectedQty,\n inspectedUomValue,\n locationName\n )\n }\n}\n\nexport async function addExtraPallet(\n tx: EntityManager,\n domain: Domain,\n user: User,\n cycleCountNo: string,\n palletId: string,\n inspectedBatchNo: string,\n inspectedQty: number,\n inspectedUomValue: number,\n locationName: string\n) {\n const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)\n await worksheetController.addExtraPallet(\n cycleCountNo,\n palletId,\n inspectedBatchNo,\n inspectedQty,\n inspectedUomValue,\n locationName\n )\n}\n"]}
1
+ {"version":3,"file":"add-extra-pallet.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/inspecting/add-extra-pallet.ts"],"names":[],"mappings":";;;AAKA,yDAAuE;AAE1D,QAAA,sBAAsB,GAAG;IACpC,KAAK,CAAC,cAAc,CAClB,CAAM,EACN,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,EAC3F,OAAY;QAEZ,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,cAAc,CAClB,EAAE,EACF,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,YAAY,CACb,CAAA;IACH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,cAAc,CAClC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,YAAoB,EACpB,QAAgB,EAChB,gBAAwB,EACxB,YAAoB,EACpB,iBAAyB,EACzB,YAAoB;IAEpB,MAAM,mBAAmB,GAAkC,IAAI,2CAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9G,MAAM,mBAAmB,CAAC,cAAc,CACtC,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,YAAY,CACb,CAAA;AACH,CAAC;AApBD,wCAoBC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { CycleCountWorksheetController } from '../../../../controllers'\n\nexport const addExtraPalletResolver = {\n async addExtraPallet(\n _: any,\n { cycleCountNo, palletId, inspectedBatchNo, inspectedQty, inspectedUomValue, locationName },\n context: any\n ) {\n const { tx, domain, user } = context.state\n await addExtraPallet(\n tx,\n domain,\n user,\n cycleCountNo,\n palletId,\n inspectedBatchNo,\n inspectedQty,\n inspectedUomValue,\n locationName\n )\n }\n}\n\nexport async function addExtraPallet(\n tx: EntityManager,\n domain: Domain,\n user: User,\n cycleCountNo: string,\n palletId: string,\n inspectedBatchNo: string,\n inspectedQty: number,\n inspectedUomValue: number,\n locationName: string\n) {\n const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)\n await worksheetController.addExtraPallet(\n cycleCountNo,\n palletId,\n inspectedBatchNo,\n inspectedQty,\n inspectedUomValue,\n locationName\n )\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"check-missing-pallet.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/inspecting/check-missing-pallet.ts"],"names":[],"mappings":";;;AAGA,yDAAuE;AAE1D,QAAA,0BAA0B,GAAG;IACxC,KAAK,CAAC,kBAAkB,CAAC,CAAM,EAAE,EAAE,mBAAmB,EAAE,EAAE,OAAY;QACpE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAA;IACjE,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,kBAAkB,CAAC,EAAiB,EAAE,MAAc,EAAE,IAAU,EAAE,mBAA2B;IACjH,MAAM,mBAAmB,GAAkC,IAAI,2CAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9G,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;AACnE,CAAC;AAHD,gDAGC","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { EntityManager } from 'typeorm'\nimport { CycleCountWorksheetController } from '../../../../controllers'\n\nexport const checkMissingPalletResolver = {\n async checkMissingPallet(_: any, { worksheetDetailName }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n await checkMissingPallet(tx, domain, user, worksheetDetailName)\n }\n}\n\nexport async function checkMissingPallet(tx: EntityManager, domain: Domain, user: User, worksheetDetailName: string) {\n const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)\n await worksheetController.checkMissingPallet(worksheetDetailName)\n}\n"]}
1
+ {"version":3,"file":"check-missing-pallet.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/inspecting/check-missing-pallet.ts"],"names":[],"mappings":";;;AAKA,yDAAuE;AAE1D,QAAA,0BAA0B,GAAG;IACxC,KAAK,CAAC,kBAAkB,CAAC,CAAM,EAAE,EAAE,mBAAmB,EAAE,EAAE,OAAwB;QAChF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAA;IACjE,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,kBAAkB,CAAC,EAAiB,EAAE,MAAc,EAAE,IAAU,EAAE,mBAA2B;IACjH,MAAM,mBAAmB,GAAkC,IAAI,2CAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9G,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;AACnE,CAAC;AAHD,gDAGC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { CycleCountWorksheetController } from '../../../../controllers'\n\nexport const checkMissingPalletResolver = {\n async checkMissingPallet(_: any, { worksheetDetailName }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n await checkMissingPallet(tx, domain, user, worksheetDetailName)\n }\n}\n\nexport async function checkMissingPallet(tx: EntityManager, domain: Domain, user: User, worksheetDetailName: string) {\n const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)\n await worksheetController.checkMissingPallet(worksheetDetailName)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"complete-inspection.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/inspecting/complete-inspection.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AACxD,yDAAuE;AACvE,uFAAkF;AAGrE,QAAA,0BAA0B,GAAG;IACxC,KAAK,CAAC,kBAAkB,CAAC,CAAM,EAAE,EAAE,gBAAgB,EAAE,EAAE,OAAY;QACjE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,SAAS,GAAc,MAAM,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAA;QAEzF,MAAM,IAAI,GACR,SAAS,CAAC,MAAM,KAAK,4BAAgB,CAAC,IAAI;YACxC,CAAC,CAAC,uCAAuC;YACzC,CAAC,CAAC,+CAA+C,CAAA;QACrD,MAAM,mBAAmB,GAAwB,IAAI,0CAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAE1F,MAAM,mBAAmB,CAAC,mBAAmB,CAAC;YAC5C,KAAK,EAAE,uCAAuC,gBAAgB,GAAG;YACjE,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;YAC3B,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;SACtC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,kBAAkB,CACtC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,gBAAwB;IAExB,MAAM,mBAAmB,GAAkC,IAAI,2CAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9G,OAAO,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;AACvE,CAAC;AARD,gDAQC","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { EntityManager } from 'typeorm'\nimport { WORKSHEET_STATUS } from '../../../../constants'\nimport { CycleCountWorksheetController } from '../../../../controllers'\nimport { WorksheetController } from '../../../../controllers/worksheet-controller'\nimport { Worksheet } from '../../../../entities'\n\nexport const completeInspectionResolver = {\n async completeInspection(_: any, { inventoryCheckNo }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n const worksheet: Worksheet = await completeCycleCount(tx, domain, user, inventoryCheckNo)\n\n const body: string =\n worksheet.status === WORKSHEET_STATUS.DONE\n ? `Inventories are checked successfully.`\n : `There are inventories needed to be reviewed. `\n const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)\n\n await worksheetController.notifyToOfficeAdmin({\n title: `Inventory check has been completed (${inventoryCheckNo})`,\n body,\n url: context.header.referer,\n data: { url: context.header.referer }\n })\n }\n}\n\nexport async function completeCycleCount(\n tx: EntityManager,\n domain: Domain,\n user: User,\n inventoryCheckNo: string\n): Promise<Worksheet> {\n const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)\n return await worksheetController.completeCycleCount(inventoryCheckNo)\n}\n"]}
1
+ {"version":3,"file":"complete-inspection.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/inspecting/complete-inspection.ts"],"names":[],"mappings":";;;AAKA,qDAAwD;AACxD,yDAAuE;AACvE,uFAAkF;AAGrE,QAAA,0BAA0B,GAAG;IACxC,KAAK,CAAC,kBAAkB,CAAC,CAAM,EAAE,EAAE,gBAAgB,EAAE,EAAE,OAAwB;QAC7E,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,SAAS,GAAc,MAAM,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAA;QAEzF,MAAM,IAAI,GACR,SAAS,CAAC,MAAM,KAAK,4BAAgB,CAAC,IAAI;YACxC,CAAC,CAAC,uCAAuC;YACzC,CAAC,CAAC,+CAA+C,CAAA;QACrD,MAAM,mBAAmB,GAAwB,IAAI,0CAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAE1F,MAAM,mBAAmB,CAAC,mBAAmB,CAAC;YAC5C,KAAK,EAAE,uCAAuC,gBAAgB,GAAG;YACjE,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;YAC3B,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;SACtC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,kBAAkB,CACtC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,gBAAwB;IAExB,MAAM,mBAAmB,GAAkC,IAAI,2CAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9G,OAAO,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;AACvE,CAAC;AARD,gDAQC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { WORKSHEET_STATUS } from '../../../../constants'\nimport { CycleCountWorksheetController } from '../../../../controllers'\nimport { WorksheetController } from '../../../../controllers/worksheet-controller'\nimport { Worksheet } from '../../../../entities'\n\nexport const completeInspectionResolver = {\n async completeInspection(_: any, { inventoryCheckNo }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n const worksheet: Worksheet = await completeCycleCount(tx, domain, user, inventoryCheckNo)\n\n const body: string =\n worksheet.status === WORKSHEET_STATUS.DONE\n ? `Inventories are checked successfully.`\n : `There are inventories needed to be reviewed. `\n const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)\n\n await worksheetController.notifyToOfficeAdmin({\n title: `Inventory check has been completed (${inventoryCheckNo})`,\n body,\n url: context.header.referer,\n data: { url: context.header.referer }\n })\n }\n}\n\nexport async function completeCycleCount(\n tx: EntityManager,\n domain: Domain,\n user: User,\n inventoryCheckNo: string\n): Promise<Worksheet> {\n const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)\n return await worksheetController.completeCycleCount(inventoryCheckNo)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"inspecting.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/inspecting/inspecting.ts"],"names":[],"mappings":";;;AAGA,yDAAuE;AAE1D,QAAA,kBAAkB,GAAG;IAChC,KAAK,CAAC,UAAU,CAAC,CAAM,EAAE,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,OAAY;QAC/G,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAA;IACnH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,iBAAiB,CACrC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B,EAC3B,gBAAwB,EACxB,YAAoB,EACpB,iBAAyB;IAEzB,MAAM,mBAAmB,GAAkC,IAAI,2CAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9G,MAAM,mBAAmB,CAAC,UAAU,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAA;AAC9G,CAAC;AAXD,8CAWC","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { EntityManager } from 'typeorm'\nimport { CycleCountWorksheetController } from '../../../../controllers'\n\nexport const inspectingResolver = {\n async inspecting(_: any, { worksheetDetailName, inspectedBatchNo, inspectedQty, inspectedUomValue }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n await executeInspection(tx, domain, user, worksheetDetailName, inspectedBatchNo, inspectedQty, inspectedUomValue)\n }\n}\n\nexport async function executeInspection(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string,\n inspectedBatchNo: string,\n inspectedQty: number,\n inspectedUomValue: number\n) {\n const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)\n await worksheetController.inspecting(worksheetDetailName, inspectedBatchNo, inspectedQty, inspectedUomValue)\n}\n"]}
1
+ {"version":3,"file":"inspecting.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/inspecting/inspecting.ts"],"names":[],"mappings":";;;AAKA,yDAAuE;AAE1D,QAAA,kBAAkB,GAAG;IAChC,KAAK,CAAC,UAAU,CACd,CAAM,EACN,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAC1E,OAAwB;QAExB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAA;IACnH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,iBAAiB,CACrC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B,EAC3B,gBAAwB,EACxB,YAAoB,EACpB,iBAAyB;IAEzB,MAAM,mBAAmB,GAAkC,IAAI,2CAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9G,MAAM,mBAAmB,CAAC,UAAU,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAA;AAC9G,CAAC;AAXD,8CAWC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { CycleCountWorksheetController } from '../../../../controllers'\n\nexport const inspectingResolver = {\n async inspecting(\n _: any,\n { worksheetDetailName, inspectedBatchNo, inspectedQty, inspectedUomValue },\n context: ResolverContext\n ) {\n const { tx, domain, user } = context.state\n await executeInspection(tx, domain, user, worksheetDetailName, inspectedBatchNo, inspectedQty, inspectedUomValue)\n }\n}\n\nexport async function executeInspection(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string,\n inspectedBatchNo: string,\n inspectedQty: number,\n inspectedUomValue: number\n) {\n const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)\n await worksheetController.inspecting(worksheetDetailName, inspectedBatchNo, inspectedQty, inspectedUomValue)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"relocate-pallet.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/inspecting/relocate-pallet.ts"],"names":[],"mappings":";;;AAGA,yDAAuE;AAE1D,QAAA,sBAAsB,GAAG;IACpC,KAAK,CAAC,cAAc,CAAC,CAAM,EAAE,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,EAAE,OAAY;QAC1I,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,cAAc,CAClB,EAAE,EACF,MAAM,EACN,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,CACtB,CAAA;IACH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,cAAc,CAClC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B,EAC3B,gBAAwB,EACxB,YAAoB,EACpB,iBAAyB,EACzB,qBAA6B;IAE7B,MAAM,mBAAmB,GAAkC,IAAI,2CAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9G,MAAM,mBAAmB,CAAC,cAAc,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAA;AACzI,CAAC;AAZD,wCAYC","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { EntityManager } from 'typeorm'\nimport { CycleCountWorksheetController } from '../../../../controllers'\n\nexport const relocatePalletResolver = {\n async relocatePallet(_: any, { worksheetDetailName, inspectedBatchNo, inspectedQty, inspectedUomValue, inspectedLocationName }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n await relocatePallet(\n tx,\n domain,\n user,\n worksheetDetailName,\n inspectedBatchNo,\n inspectedQty,\n inspectedUomValue,\n inspectedLocationName\n )\n }\n}\n\nexport async function relocatePallet(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string,\n inspectedBatchNo: string,\n inspectedQty: number,\n inspectedUomValue: number,\n inspectedLocationName: string\n) {\n const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)\n await worksheetController.relocatePallet(worksheetDetailName, inspectedBatchNo, inspectedQty, inspectedUomValue, inspectedLocationName)\n}\n"]}
1
+ {"version":3,"file":"relocate-pallet.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/inspecting/relocate-pallet.ts"],"names":[],"mappings":";;;AAKA,yDAAuE;AAE1D,QAAA,sBAAsB,GAAG;IACpC,KAAK,CAAC,cAAc,CAClB,CAAM,EACN,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,EACjG,OAAwB;QAExB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,cAAc,CAClB,EAAE,EACF,MAAM,EACN,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,CACtB,CAAA;IACH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,cAAc,CAClC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B,EAC3B,gBAAwB,EACxB,YAAoB,EACpB,iBAAyB,EACzB,qBAA6B;IAE7B,MAAM,mBAAmB,GAAkC,IAAI,2CAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9G,MAAM,mBAAmB,CAAC,cAAc,CACtC,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,CACtB,CAAA;AACH,CAAC;AAlBD,wCAkBC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { CycleCountWorksheetController } from '../../../../controllers'\n\nexport const relocatePalletResolver = {\n async relocatePallet(\n _: any,\n { worksheetDetailName, inspectedBatchNo, inspectedQty, inspectedUomValue, inspectedLocationName },\n context: ResolverContext\n ) {\n const { tx, domain, user } = context.state\n await relocatePallet(\n tx,\n domain,\n user,\n worksheetDetailName,\n inspectedBatchNo,\n inspectedQty,\n inspectedUomValue,\n inspectedLocationName\n )\n }\n}\n\nexport async function relocatePallet(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string,\n inspectedBatchNo: string,\n inspectedQty: number,\n inspectedUomValue: number,\n inspectedLocationName: string\n) {\n const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)\n await worksheetController.relocatePallet(\n worksheetDetailName,\n inspectedBatchNo,\n inspectedQty,\n inspectedUomValue,\n inspectedLocationName\n )\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"undo-inspection.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/inspecting/undo-inspection.ts"],"names":[],"mappings":";;;AAGA,yDAAuE;AAE1D,QAAA,sBAAsB,GAAG;IACpC,KAAK,CAAC,cAAc,CAAC,CAAM,EAAE,EAAE,mBAAmB,EAAE,EAAE,OAAY;QAChE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAA;IAC7D,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,cAAc,CAClC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B;IAE3B,MAAM,mBAAmB,GAAkC,IAAI,2CAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9G,MAAM,mBAAmB,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;AAC/D,CAAC;AARD,wCAQC","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { EntityManager } from 'typeorm'\nimport { CycleCountWorksheetController } from '../../../../controllers'\n\nexport const undoInspectionResolver = {\n async undoInspection(_: any, { worksheetDetailName }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n await undoInspection(tx, domain, user, worksheetDetailName)\n }\n}\n\nexport async function undoInspection(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string\n): Promise<void> {\n const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)\n await worksheetController.undoInspection(worksheetDetailName)\n}\n"]}
1
+ {"version":3,"file":"undo-inspection.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/inspecting/undo-inspection.ts"],"names":[],"mappings":";;;AAKA,yDAAuE;AAE1D,QAAA,sBAAsB,GAAG;IACpC,KAAK,CAAC,cAAc,CAAC,CAAM,EAAE,EAAE,mBAAmB,EAAE,EAAE,OAAwB;QAC5E,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAA;IAC7D,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,cAAc,CAClC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B;IAE3B,MAAM,mBAAmB,GAAkC,IAAI,2CAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9G,MAAM,mBAAmB,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;AAC/D,CAAC;AARD,wCAQC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { CycleCountWorksheetController } from '../../../../controllers'\n\nexport const undoInspectionResolver = {\n async undoInspection(_: any, { worksheetDetailName }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n await undoInspection(tx, domain, user, worksheetDetailName)\n }\n}\n\nexport async function undoInspection(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string\n): Promise<void> {\n const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)\n await worksheetController.undoInspection(worksheetDetailName)\n}\n"]}
@@ -12,6 +12,9 @@ exports.inventoriesByPalletResolver = {
12
12
  const params = { filters, pagination };
13
13
  let permittedBizplaceIds = await (0, biz_base_1.getPermittedBizplaceIds)(domain, user);
14
14
  const productFilters = params.filters.filter(x => x.name == 'productName');
15
+ const recallFilters = params.filters.find(x => x.name === 'recall');
16
+ const skipLockCheckFilters = params.filters.find(x => x.name === 'skipLockCheck');
17
+ let skipLockCheck = skipLockCheckFilters && (skipLockCheckFilters === null || skipLockCheckFilters === void 0 ? void 0 : skipLockCheckFilters.value) ? skipLockCheckFilters === null || skipLockCheckFilters === void 0 ? void 0 : skipLockCheckFilters.value : false;
15
18
  const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand'];
16
19
  params.filters = params.filters.filter(x => x.name != 'productName');
17
20
  if (!params.filters.find((filter) => filter.name === 'bizplace')) {
@@ -26,7 +29,9 @@ exports.inventoriesByPalletResolver = {
26
29
  permittedBizplaceIds = params.filters.find(filter => filter.name === 'bizplace').value;
27
30
  params.filters.find(filter => filter.name === 'bizplace').relation = true;
28
31
  }
29
- const qb = (0, typeorm_1.getRepository)(warehouse_base_1.Inventory).createQueryBuilder('iv');
32
+ const locationFilters = params.filters.find(x => x.name == 'locationName');
33
+ params.filters = params.filters.filter(x => x.name != 'locationName');
34
+ const qb = (0, shell_1.getRepository)(warehouse_base_1.Inventory).createQueryBuilder('iv');
30
35
  (0, shell_1.buildQuery)(qb, params, context);
31
36
  qb.leftJoinAndSelect('iv.domain', 'domain')
32
37
  .leftJoinAndSelect('iv.bizplace', 'bizplace')
@@ -36,9 +41,7 @@ exports.inventoriesByPalletResolver = {
36
41
  .leftJoinAndSelect('iv.creator', 'creator')
37
42
  .leftJoinAndSelect('iv.updater', 'updater')
38
43
  .andWhere('iv.qty > 0')
39
- .andWhere('CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END >= 0')
40
- .andWhere('iv.qty - CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END > 0')
41
- .andWhere(`location.type NOT IN ('${warehouse_base_1.LOCATION_TYPE.QUARANTINE}', '${warehouse_base_1.LOCATION_TYPE.RESERVE}')`)
44
+ .andWhere(`location.type ${(recallFilters === null || recallFilters === void 0 ? void 0 : recallFilters.value) === true ? '' : 'NOT'} IN ('${warehouse_base_1.LOCATION_TYPE.QUARANTINE}', '${warehouse_base_1.LOCATION_TYPE.RESERVE}')`)
42
45
  .andWhere(`(iv.batch_id, product.name, iv.packing_type, product.brand) NOT IN (
43
46
  SELECT
44
47
  oi.batch_id, p2.name, oi.packing_type, p2.brand
@@ -53,11 +56,17 @@ exports.inventoriesByPalletResolver = {
53
56
  AND oi.bizplace_id IN (:...permittedBizplaceIds)
54
57
  AND oi.domain_id = (:domainId)
55
58
  )`, { permittedBizplaceIds, domainId: domain.id });
59
+ if (!skipLockCheck) {
60
+ qb.andWhere('CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END >= 0');
61
+ qb.andWhere('iv.qty - CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END > 0');
62
+ }
63
+ if (locationFilters) {
64
+ qb.andWhere(`location.name ilike '${locationFilters.value}'`);
65
+ }
56
66
  if ((sortings === null || sortings === void 0 ? void 0 : sortings.length) !== 0) {
57
- const arrChildSortData = ['bizplace', 'product', 'location', 'warehouse', 'zone'];
58
- const sort = (sortings || []).reduce((acc, sort) => (Object.assign(Object.assign({}, acc), { [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'iv.' + sort.name]: sort.desc
59
- ? 'DESC'
60
- : 'ASC' })), {});
67
+ const arrChildSortData = ['productName', 'productSKU'];
68
+ const remapChildSortData = ['name', 'sku'];
69
+ const sort = (sortings || []).reduce((acc, sort, idx) => (Object.assign(Object.assign({}, acc), { [arrChildSortData.indexOf(sort.name) >= 0 ? 'product' + '.' + remapChildSortData[idx] : 'iv.' + sort.name]: sort.desc ? 'DESC' : 'ASC' })), {});
61
70
  qb.orderBy(sort);
62
71
  }
63
72
  if ((locationSortingRules === null || locationSortingRules === void 0 ? void 0 : locationSortingRules.length) > 0) {
@@ -83,7 +92,7 @@ exports.inventoriesByPalletResolver = {
83
92
  return Object.assign(Object.assign({}, item), { remainQty,
84
93
  remainUomValue, remainUomValueWithUom: remainUomValue + ' ' + item.uom,
85
94
  // product: item.product,
86
- productName: item.product.name, productSKU: item.product.sku, productBrand: item.product.brand });
95
+ productName: item.product.name, productSKU: item.product.sku, productBrand: item.product.brand, productId: item.product.id });
87
96
  }));
88
97
  return { items, total };
89
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inventories-by-pallet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/inventories-by-pallet.ts"],"names":[],"mappings":"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","sourcesContent":["import { Brackets, getRepository, SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { ORDER_INVENTORY_STATUS } from '@things-factory/sales-base'\nimport { buildCondition, buildQuery, Domain } from '@things-factory/shell'\nimport { Inventory, LOCATION_TYPE } from '@things-factory/warehouse-base'\n\nexport const inventoriesByPalletResolver = {\n async inventoriesByPallet(_: any, { filters, pagination, sortings, locationSortingRules }, context: any) {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const params = { filters, pagination }\n let permittedBizplaceIds: string[] = await getPermittedBizplaceIds(domain, user)\n\n const productFilters = params.filters.filter(x => x.name == 'productName')\n const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand']\n params.filters = params.filters.filter(x => x.name != 'productName')\n\n if (!params.filters.find((filter: any) => filter.name === 'bizplace')) {\n params.filters.push({\n name: 'bizplace',\n operator: 'in',\n value: permittedBizplaceIds,\n relation: true\n })\n } else {\n permittedBizplaceIds = params.filters.find(filter => filter.name === 'bizplace').value\n params.filters.find(filter => filter.name === 'bizplace').relation = true\n }\n\n const qb: SelectQueryBuilder<Inventory> = getRepository(Inventory).createQueryBuilder('iv')\n buildQuery(qb, params, context)\n\n qb.leftJoinAndSelect('iv.domain', 'domain')\n .leftJoinAndSelect('iv.bizplace', 'bizplace')\n .leftJoinAndSelect('iv.product', 'product')\n .leftJoinAndSelect('iv.warehouse', 'warehouse')\n .leftJoinAndSelect('iv.location', 'location')\n .leftJoinAndSelect('iv.creator', 'creator')\n .leftJoinAndSelect('iv.updater', 'updater')\n .andWhere('iv.qty > 0')\n .andWhere('CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END >= 0')\n .andWhere('iv.qty - CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END > 0')\n .andWhere(`location.type NOT IN ('${LOCATION_TYPE.QUARANTINE}', '${LOCATION_TYPE.RESERVE}')`)\n .andWhere(\n `(iv.batch_id, product.name, iv.packing_type, product.brand) NOT IN (\n SELECT \n oi.batch_id, p2.name, oi.packing_type, p2.brand\n FROM \n order_inventories oi\n LEFT JOIN\n products p2\n ON\n oi.product_id = p2.id\n WHERE \n oi.status = '${ORDER_INVENTORY_STATUS.PENDING_SPLIT}'\n AND oi.bizplace_id IN (:...permittedBizplaceIds)\n AND oi.domain_id = (:domainId)\n )`,\n { permittedBizplaceIds, domainId: domain.id }\n )\n\n if (sortings?.length !== 0) {\n const arrChildSortData = ['bizplace', 'product', 'location', 'warehouse', 'zone']\n const sort = (sortings || []).reduce(\n (acc, sort) => ({\n ...acc,\n [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'iv.' + sort.name]: sort.desc\n ? 'DESC'\n : 'ASC'\n }),\n {}\n )\n qb.orderBy(sort)\n }\n\n if (locationSortingRules?.length > 0) {\n locationSortingRules.forEach((rule: { name: string; desc: boolean }) => {\n qb.addOrderBy(`location.${rule.name}`, rule.desc ? 'DESC' : 'ASC')\n })\n } else {\n qb.addOrderBy('location.name', 'DESC')\n }\n\n if (productFilters && productFilters.length > 0) {\n let productInfo = productFilters[0]\n qb.andWhere(\n new Brackets(qb2 => {\n productFilterColumns.forEach(filter => {\n const condition = buildCondition(\n 'product',\n filter,\n 'i_like',\n productInfo.value,\n false,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n\n let [items, total] = await qb.getManyAndCount()\n\n items = await Promise.all(\n items.map(async (item: Inventory) => {\n const { remainQty, remainUomValue } = await getRemainAmount(item)\n\n return {\n ...item,\n remainQty,\n remainUomValue,\n remainUomValueWithUom: remainUomValue + ' ' + item.uom,\n // product: item.product,\n productName: item.product.name,\n productSKU: item.product.sku,\n productBrand: item.product.brand\n }\n })\n )\n\n return { items, total }\n }\n}\n\nasync function getRemainAmount(inventory: Inventory): Promise<{ remainQty: number; remainUomValue: number }> {\n return {\n remainQty: inventory.qty - (inventory.lockedQty || 0),\n remainUomValue: inventory.uomValue - (inventory.lockedUomValue || 0)\n }\n}\n"]}
1
+ {"version":3,"file":"inventories-by-pallet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/inventories-by-pallet.ts"],"names":[],"mappings":"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","sourcesContent":["import { Brackets, OrderByCondition, SelectQueryBuilder } from 'typeorm'\n\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { ORDER_INVENTORY_STATUS } from '@things-factory/sales-base'\nimport { buildCondition, buildQuery, getRepository } from '@things-factory/shell'\nimport { Inventory, LOCATION_TYPE } from '@things-factory/warehouse-base'\n\nexport const inventoriesByPalletResolver = {\n async inventoriesByPallet(_: any, { filters, pagination, sortings, locationSortingRules }, context: ResolverContext) {\n const { domain, user } = context.state\n const params = { filters, pagination }\n let permittedBizplaceIds: string[] = await getPermittedBizplaceIds(domain, user)\n const productFilters = params.filters.filter(x => x.name == 'productName')\n const recallFilters = params.filters.find(x => x.name === 'recall')\n const skipLockCheckFilters = params.filters.find(x => x.name === 'skipLockCheck')\n let skipLockCheck: Boolean =\n skipLockCheckFilters && skipLockCheckFilters?.value ? skipLockCheckFilters?.value : false\n const productFilterColumns = ['sku', 'brandSku', 'name', 'description', 'brand', 'subBrand']\n params.filters = params.filters.filter(x => x.name != 'productName')\n\n if (!params.filters.find((filter: any) => filter.name === 'bizplace')) {\n params.filters.push({\n name: 'bizplace',\n operator: 'in',\n value: permittedBizplaceIds,\n relation: true\n })\n } else {\n permittedBizplaceIds = params.filters.find(filter => filter.name === 'bizplace').value\n params.filters.find(filter => filter.name === 'bizplace').relation = true\n }\n\n const locationFilters = params.filters.find(x => x.name == 'locationName')\n params.filters = params.filters.filter(x => x.name != 'locationName')\n\n const qb: SelectQueryBuilder<Inventory> = getRepository(Inventory).createQueryBuilder('iv')\n buildQuery(qb, params, context)\n\n qb.leftJoinAndSelect('iv.domain', 'domain')\n .leftJoinAndSelect('iv.bizplace', 'bizplace')\n .leftJoinAndSelect('iv.product', 'product')\n .leftJoinAndSelect('iv.warehouse', 'warehouse')\n .leftJoinAndSelect('iv.location', 'location')\n .leftJoinAndSelect('iv.creator', 'creator')\n .leftJoinAndSelect('iv.updater', 'updater')\n .andWhere('iv.qty > 0')\n .andWhere(\n `location.type ${recallFilters?.value === true ? '' : 'NOT'} IN ('${LOCATION_TYPE.QUARANTINE}', '${\n LOCATION_TYPE.RESERVE\n }')`\n )\n .andWhere(\n `(iv.batch_id, product.name, iv.packing_type, product.brand) NOT IN (\n SELECT \n oi.batch_id, p2.name, oi.packing_type, p2.brand\n FROM \n order_inventories oi\n LEFT JOIN\n products p2\n ON\n oi.product_id = p2.id\n WHERE \n oi.status = '${ORDER_INVENTORY_STATUS.PENDING_SPLIT}'\n AND oi.bizplace_id IN (:...permittedBizplaceIds)\n AND oi.domain_id = (:domainId)\n )`,\n { permittedBizplaceIds, domainId: domain.id }\n )\n\n if (!skipLockCheck) {\n qb.andWhere('CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END >= 0')\n qb.andWhere('iv.qty - CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END > 0')\n }\n\n if (locationFilters) {\n qb.andWhere(`location.name ilike '${locationFilters.value}'`)\n }\n\n if (sortings?.length !== 0) {\n const arrChildSortData = ['productName', 'productSKU']\n\n const remapChildSortData = ['name', 'sku']\n const sort: OrderByCondition = (sortings || []).reduce(\n (acc, sort, idx) => ({\n ...acc,\n [arrChildSortData.indexOf(sort.name) >= 0 ? 'product' + '.' + remapChildSortData[idx] : 'iv.' + sort.name]:\n sort.desc ? 'DESC' : 'ASC'\n }),\n {}\n )\n qb.orderBy(sort)\n }\n\n if (locationSortingRules?.length > 0) {\n locationSortingRules.forEach((rule: { name: string; desc: boolean }) => {\n qb.addOrderBy(`location.${rule.name}`, rule.desc ? 'DESC' : 'ASC')\n })\n } else {\n qb.addOrderBy('location.name', 'DESC')\n }\n\n if (productFilters && productFilters.length > 0) {\n let productInfo = productFilters[0]\n qb.andWhere(\n new Brackets(qb2 => {\n productFilterColumns.forEach(filter => {\n const condition = buildCondition(\n 'product',\n filter,\n 'i_like',\n productInfo.value,\n false,\n Object.keys(qb.getParameters()).length\n )\n\n qb2.orWhere(condition.clause, condition.parameters)\n })\n })\n )\n }\n let [items, total] = await qb.getManyAndCount()\n\n items = await Promise.all(\n items.map(async (item: Inventory) => {\n const { remainQty, remainUomValue } = await getRemainAmount(item)\n\n return {\n ...item,\n remainQty,\n remainUomValue,\n remainUomValueWithUom: remainUomValue + ' ' + item.uom,\n // product: item.product,\n productName: item.product.name,\n productSKU: item.product.sku,\n productBrand: item.product.brand,\n productId: item.product.id\n }\n })\n )\n\n return { items, total }\n }\n}\n\nasync function getRemainAmount(inventory: Inventory): Promise<{ remainQty: number; remainUomValue: number }> {\n return {\n remainQty: inventory.qty - (inventory.lockedQty || 0),\n remainUomValue: inventory.uomValue - (inventory.lockedUomValue || 0)\n }\n}\n"]}
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadedInventories = void 0;
4
- const sales_base_1 = require("@things-factory/sales-base");
5
4
  const typeorm_1 = require("typeorm");
5
+ const sales_base_1 = require("@things-factory/sales-base");
6
+ const shell_1 = require("@things-factory/shell");
6
7
  exports.loadedInventories = {
7
8
  async loadedInventories(_, { releaseGoodNo }, context) {
8
9
  const { domain } = context.state;
9
- const foundRO = await (0, typeorm_1.getRepository)(sales_base_1.ReleaseGood).findOne({
10
+ const foundRO = await (0, shell_1.getRepository)(sales_base_1.ReleaseGood).findOne({
10
11
  where: {
11
- domain,
12
+ domain: { id: domain.id },
12
13
  name: releaseGoodNo,
13
14
  status: sales_base_1.ORDER_STATUS.LOADING
14
15
  },
@@ -16,11 +17,11 @@ exports.loadedInventories = {
16
17
  });
17
18
  if (!foundRO)
18
19
  throw new Error('Release order is not found');
19
- const deliveryOrders = await (0, typeorm_1.getRepository)(sales_base_1.DeliveryOrder).find({
20
+ const deliveryOrders = await (0, shell_1.getRepository)(sales_base_1.DeliveryOrder).find({
20
21
  where: { releaseGood: foundRO }
21
22
  });
22
23
  if (deliveryOrders === null || deliveryOrders === void 0 ? void 0 : deliveryOrders.length) {
23
- return await (0, typeorm_1.getRepository)(sales_base_1.OrderInventory).find({
24
+ return await (0, shell_1.getRepository)(sales_base_1.OrderInventory).find({
24
25
  where: {
25
26
  deliveryOrder: (0, typeorm_1.In)(deliveryOrders.map((deliveryOrder) => deliveryOrder.id))
26
27
  },
@@ -1 +1 @@
1
- {"version":3,"file":"loaded-inventories.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/loaded-inventories.ts"],"names":[],"mappings":";;;AAAA,2DAAqG;AAErG,qCAA2C;AAE9B,QAAA,iBAAiB,GAAG;IAC/B,KAAK,CAAC,iBAAiB,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,EAAE,OAAY;QAC7D,MAAM,EAAE,MAAM,EAAE,GAAuB,OAAO,CAAC,KAAK,CAAA;QACpD,MAAM,OAAO,GAAgB,MAAM,IAAA,uBAAa,EAAC,wBAAW,CAAC,CAAC,OAAO,CAAC;YACpE,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,yBAAY,CAAC,OAAO;aAC7B;YACD,SAAS,EAAE,CAAC,UAAU,CAAC;SACxB,CAAC,CAAA;QACF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAE3D,MAAM,cAAc,GAAoB,MAAM,IAAA,uBAAa,EAAC,0BAAa,CAAC,CAAC,IAAI,CAAC;YAC9E,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;SAChC,CAAC,CAAA;QAEF,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,EAAE;YAC1B,OAAO,MAAM,IAAA,uBAAa,EAAC,2BAAc,CAAC,CAAC,IAAI,CAAC;gBAC9C,KAAK,EAAE;oBACL,aAAa,EAAE,IAAA,YAAE,EAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAA4B,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;iBAC1F;gBACD,SAAS,EAAE;oBACT,WAAW;oBACX,mBAAmB;oBACnB,eAAe;oBACf,+BAA+B;oBAC/B,gCAAgC;iBACjC;aACF,CAAC,CAAA;SACH;aAAM;YACL,OAAO,EAAE,CAAA;SACV;IACH,CAAC;CACF,CAAA","sourcesContent":["import { DeliveryOrder, OrderInventory, ORDER_STATUS, ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { getRepository, In } from 'typeorm'\n\nexport const loadedInventories = {\n async loadedInventories(_: any, { releaseGoodNo }, context: any) {\n const { domain }: { domain: Domain } = context.state\n const foundRO: ReleaseGood = await getRepository(ReleaseGood).findOne({\n where: {\n domain,\n name: releaseGoodNo,\n status: ORDER_STATUS.LOADING\n },\n relations: ['bizplace']\n })\n if (!foundRO) throw new Error('Release order is not found')\n\n const deliveryOrders: DeliveryOrder[] = await getRepository(DeliveryOrder).find({\n where: { releaseGood: foundRO }\n })\n\n if (deliveryOrders?.length) {\n return await getRepository(OrderInventory).find({\n where: {\n deliveryOrder: In(deliveryOrders.map((deliveryOrder: DeliveryOrder) => deliveryOrder.id))\n },\n relations: [\n 'inventory',\n 'inventory.product',\n 'deliveryOrder',\n 'deliveryOrder.transportDriver',\n 'deliveryOrder.transportVehicle'\n ]\n })\n } else {\n return []\n }\n }\n}\n"]}
1
+ {"version":3,"file":"loaded-inventories.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/loaded-inventories.ts"],"names":[],"mappings":";;;AAAA,qCAA4B;AAE5B,2DAAqG;AACrG,iDAAqD;AAExC,QAAA,iBAAiB,GAAG;IAC/B,KAAK,CAAC,iBAAiB,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,EAAE,OAAwB;QACzE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,MAAM,OAAO,GAAgB,MAAM,IAAA,qBAAa,EAAC,wBAAW,CAAC,CAAC,OAAO,CAAC;YACpE,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;gBACzB,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,yBAAY,CAAC,OAAO;aAC7B;YACD,SAAS,EAAE,CAAC,UAAU,CAAC;SACxB,CAAC,CAAA;QACF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAE3D,MAAM,cAAc,GAAoB,MAAM,IAAA,qBAAa,EAAC,0BAAa,CAAC,CAAC,IAAI,CAAC;YAC9E,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;SAChC,CAAC,CAAA;QAEF,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,EAAE;YAC1B,OAAO,MAAM,IAAA,qBAAa,EAAC,2BAAc,CAAC,CAAC,IAAI,CAAC;gBAC9C,KAAK,EAAE;oBACL,aAAa,EAAE,IAAA,YAAE,EAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAA4B,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;iBAC1F;gBACD,SAAS,EAAE;oBACT,WAAW;oBACX,mBAAmB;oBACnB,eAAe;oBACf,+BAA+B;oBAC/B,gCAAgC;iBACjC;aACF,CAAC,CAAA;SACH;aAAM;YACL,OAAO,EAAE,CAAA;SACV;IACH,CAAC;CACF,CAAA","sourcesContent":["import { In } from 'typeorm'\n\nimport { DeliveryOrder, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'\nimport { getRepository } from '@things-factory/shell'\n\nexport const loadedInventories = {\n async loadedInventories(_: any, { releaseGoodNo }, context: ResolverContext) {\n const { domain } = context.state\n const foundRO: ReleaseGood = await getRepository(ReleaseGood).findOne({\n where: {\n domain: { id: domain.id },\n name: releaseGoodNo,\n status: ORDER_STATUS.LOADING\n },\n relations: ['bizplace']\n })\n if (!foundRO) throw new Error('Release order is not found')\n\n const deliveryOrders: DeliveryOrder[] = await getRepository(DeliveryOrder).find({\n where: { releaseGood: foundRO }\n })\n\n if (deliveryOrders?.length) {\n return await getRepository(OrderInventory).find({\n where: {\n deliveryOrder: In(deliveryOrders.map((deliveryOrder: DeliveryOrder) => deliveryOrder.id))\n },\n relations: [\n 'inventory',\n 'inventory.product',\n 'deliveryOrder',\n 'deliveryOrder.transportDriver',\n 'deliveryOrder.transportVehicle'\n ]\n })\n } else {\n return []\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"activate-loading.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/loading/activate-loading.ts"],"names":[],"mappings":";;;AAEA,qCAAmD;AACnD,qDAAwE;AACxE,yDAAoE;AACpE,mDAAiE;AAEpD,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,eAAe,CAAC,CAAM,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,EAAE,OAAY;QAClF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,cAAc,GAAc,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;YAC1E,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,4BAAgB,CAAC,WAAW;gBACpC,IAAI,EAAE,0BAAc,CAAC,OAAO;aAC7B;YACD,SAAS,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,kCAAkC,CAAC;SAC/F,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAEhE,MAAM,0BAA0B,GAAW,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,KAAK,CAAC;YACjF,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,IAAI,EAAE,0BAAc,CAAC,OAAO;gBAC5B,MAAM,EAAE,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,4BAAgB,CAAC,IAAI,CAAC,CAAC;aAC1C;SACF,CAAC,CAAA;QAEF,MAAM,mBAAmB,GAAW,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,KAAK,CAAC;YAC1E,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,IAAI,EAAE,0BAAc,CAAC,GAAG;gBACxB,MAAM,EAAE,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,4BAAgB,CAAC,IAAI,CAAC,CAAC;aAC1C;SACF,CAAC,CAAA;QAEF,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,oDAAoD;QACpD,0EAA0E;QAC1E,uGAAuG;QACvG,IAAI,0BAA0B,EAAE;YAC9B,MAAM,CAAC,IAAI,CAAC,8BAA8B,cAAc,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAA;SACxG;QAED,IAAI,mBAAmB,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,8BAA8B,cAAc,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAA;SACxG;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SACtB;QAED,OAAO,MAAM,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAA;IACtF,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,eAAe,CACnC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,WAAmB,EACnB,uBAAmD;IAEnD,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,OAAO,MAAM,mBAAmB,CAAC,eAAe,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAA;AACxF,CAAC;AATD,0CASC","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { EntityManager, Equal, Not } from 'typeorm'\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'\nimport { LoadingWorksheetController } from '../../../../controllers'\nimport { Worksheet, WorksheetDetail } from '../../../../entities'\n\nexport const activateLoadingResolver = {\n async activateLoading(_: any, { worksheetNo, loadingWorksheetDetails }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n const foundWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({\n where: {\n domain: domain,\n name: worksheetNo,\n status: WORKSHEET_STATUS.DEACTIVATED,\n type: WORKSHEET_TYPE.LOADING\n },\n relations: ['bizplace', 'releaseGood', 'worksheetDetails', 'worksheetDetails.targetInventory']\n })\n\n if (!foundWorksheet) throw new Error(`Worksheet doesn't exists`)\n\n const relatedPickingWorksheetCnt: number = await tx.getRepository(Worksheet).count({\n where: {\n domain: domain,\n releaseGood: foundWorksheet.releaseGood,\n type: WORKSHEET_TYPE.PICKING,\n status: Not(Equal(WORKSHEET_STATUS.DONE))\n }\n })\n\n const relatedWorksheetCnt: number = await tx.getRepository(Worksheet).count({\n where: {\n domain: domain,\n releaseGood: foundWorksheet.releaseGood,\n type: WORKSHEET_TYPE.VAS,\n status: Not(Equal(WORKSHEET_STATUS.DONE))\n }\n })\n\n let errMsg = []\n\n // Stop to activate loading worksheet with Exception\n // This resolver is being called from client side not from other resolver.\n // So if there's a related worksheet, it should throw an Error to inform user about non-finished order.\n if (relatedPickingWorksheetCnt) {\n errMsg.push(`Picking Worksheet with RO: ${foundWorksheet.releaseGood.name} is still under processing.`)\n }\n\n if (relatedWorksheetCnt) {\n errMsg.push(`Related VAS order with RO: ${foundWorksheet.releaseGood.name} is still under processing.`)\n }\n\n if (errMsg.length > 0) {\n throw errMsg.join('')\n }\n\n return await activateLoading(tx, domain, user, worksheetNo, loadingWorksheetDetails)\n }\n}\n\nexport async function activateLoading(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetNo: string,\n loadingWorksheetDetails: Partial<WorksheetDetail>[]\n): Promise<Worksheet> {\n const worksheetController: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n return await worksheetController.activateLoading(worksheetNo, loadingWorksheetDetails)\n}\n"]}
1
+ {"version":3,"file":"activate-loading.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/loading/activate-loading.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AAKnD,qDAAwE;AACxE,yDAAoE;AACpE,mDAAiE;AAEpD,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,eAAe,CAAC,CAAM,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,EAAE,OAAwB;QAC9F,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,cAAc,GAAc,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;YAC1E,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,4BAAgB,CAAC,WAAW;gBACpC,IAAI,EAAE,0BAAc,CAAC,OAAO;aAC7B;YACD,SAAS,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,kCAAkC,CAAC;SAC/F,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAEhE,MAAM,0BAA0B,GAAW,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,KAAK,CAAC;YACjF,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,IAAI,EAAE,0BAAc,CAAC,OAAO;gBAC5B,MAAM,EAAE,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,4BAAgB,CAAC,IAAI,CAAC,CAAC;aAC1C;SACF,CAAC,CAAA;QAEF,MAAM,mBAAmB,GAAW,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,KAAK,CAAC;YAC1E,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,IAAI,EAAE,0BAAc,CAAC,GAAG;gBACxB,MAAM,EAAE,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,4BAAgB,CAAC,IAAI,CAAC,CAAC;aAC1C;SACF,CAAC,CAAA;QAEF,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,oDAAoD;QACpD,0EAA0E;QAC1E,uGAAuG;QACvG,IAAI,0BAA0B,EAAE;YAC9B,MAAM,CAAC,IAAI,CAAC,8BAA8B,cAAc,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAA;SACxG;QAED,IAAI,mBAAmB,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,8BAA8B,cAAc,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAA;SACxG;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SACtB;QAED,OAAO,MAAM,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAA;IACtF,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,eAAe,CACnC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,WAAmB,EACnB,uBAAmD;IAEnD,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,OAAO,MAAM,mBAAmB,CAAC,eAAe,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAA;AACxF,CAAC;AATD,0CASC","sourcesContent":["import { EntityManager, Equal, Not } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'\nimport { LoadingWorksheetController } from '../../../../controllers'\nimport { Worksheet, WorksheetDetail } from '../../../../entities'\n\nexport const activateLoadingResolver = {\n async activateLoading(_: any, { worksheetNo, loadingWorksheetDetails }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n const foundWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({\n where: {\n domain: domain,\n name: worksheetNo,\n status: WORKSHEET_STATUS.DEACTIVATED,\n type: WORKSHEET_TYPE.LOADING\n },\n relations: ['bizplace', 'releaseGood', 'worksheetDetails', 'worksheetDetails.targetInventory']\n })\n\n if (!foundWorksheet) throw new Error(`Worksheet doesn't exists`)\n\n const relatedPickingWorksheetCnt: number = await tx.getRepository(Worksheet).count({\n where: {\n domain: domain,\n releaseGood: foundWorksheet.releaseGood,\n type: WORKSHEET_TYPE.PICKING,\n status: Not(Equal(WORKSHEET_STATUS.DONE))\n }\n })\n\n const relatedWorksheetCnt: number = await tx.getRepository(Worksheet).count({\n where: {\n domain: domain,\n releaseGood: foundWorksheet.releaseGood,\n type: WORKSHEET_TYPE.VAS,\n status: Not(Equal(WORKSHEET_STATUS.DONE))\n }\n })\n\n let errMsg = []\n\n // Stop to activate loading worksheet with Exception\n // This resolver is being called from client side not from other resolver.\n // So if there's a related worksheet, it should throw an Error to inform user about non-finished order.\n if (relatedPickingWorksheetCnt) {\n errMsg.push(`Picking Worksheet with RO: ${foundWorksheet.releaseGood.name} is still under processing.`)\n }\n\n if (relatedWorksheetCnt) {\n errMsg.push(`Related VAS order with RO: ${foundWorksheet.releaseGood.name} is still under processing.`)\n }\n\n if (errMsg.length > 0) {\n throw errMsg.join('')\n }\n\n return await activateLoading(tx, domain, user, worksheetNo, loadingWorksheetDetails)\n }\n}\n\nexport async function activateLoading(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetNo: string,\n loadingWorksheetDetails: Partial<WorksheetDetail>[]\n): Promise<Worksheet> {\n const worksheetController: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n return await worksheetController.activateLoading(worksheetNo, loadingWorksheetDetails)\n}\n"]}
@@ -17,7 +17,7 @@ exports.completeLoadingResolver = {
17
17
  async function completeLoading(tx, domain, user, releaseGoodNo) {
18
18
  const worksheetController = new controllers_1.LoadingWorksheetController(tx, domain, user);
19
19
  const releaseGood = await worksheetController.findRefOrder(sales_base_1.ReleaseGood, {
20
- domain,
20
+ domain: { id: domain.id },
21
21
  name: releaseGoodNo,
22
22
  status: sales_base_1.ORDER_STATUS.LOADING
23
23
  }, ['bizplace', 'bizplace.domain']);
@@ -32,34 +32,34 @@ async function completeLoading(tx, domain, user, releaseGoodNo) {
32
32
  // Search Warehouse Company Domain
33
33
  const warehouseCompanyBizplace = await tx
34
34
  .getRepository(biz_base_1.Bizplace)
35
- .findOne({ where: { domain }, relations: ['company'] });
35
+ .findOne({ where: { domain: { id: domain.id } }, relations: ['company'] });
36
36
  const warehouseCompany = warehouseCompanyBizplace.company;
37
37
  const warehouseBizplaces = await tx
38
38
  .getRepository(biz_base_1.Bizplace)
39
- .find({ where: { company: warehouseCompany }, relations: ['domain'] });
39
+ .find({ where: { company: { id: warehouseCompany.id } }, relations: ['domain'] });
40
40
  const warehouseCompanyBizplaces = warehouseBizplaces.filter(biz => biz.domain.extType == 'company');
41
41
  const warehouseCompanyDomain = warehouseCompanyBizplaces[0].domain;
42
42
  const customerDomain = releaseGood.bizplace.domain;
43
43
  const fulfillmentCenter = await tx
44
44
  .getRepository(integration_fulfillment_1.FulfillmentCenter)
45
- .findOne({ domain: warehouseCompanyDomain, centerId: domain.subdomain, status: 'active' });
45
+ .findOneBy({ domain: { id: warehouseCompanyDomain.id }, centerId: domain.subdomain, status: 'active' });
46
46
  if (fulfillmentCenter) {
47
47
  let customerAvailableSftp = await tx.getRepository(integration_sftp_1.Sftp).findOne({
48
- where: { domain: customerDomain, status: 'ACTIVE', fulfillmentCenter }
48
+ where: { domain: { id: customerDomain.id }, status: 'ACTIVE', fulfillmentCenter }
49
49
  });
50
50
  if (customerAvailableSftp) {
51
51
  const responseFileTypes = JSON.parse(customerAvailableSftp.responseFileTypes);
52
52
  let inventoryItems = await tx.getRepository(warehouse_base_1.InventoryItem).find({
53
- where: { domain, outboundOrderId: releaseGood.id }
53
+ where: { domain: { id: domain.id }, outboundOrderId: releaseGood.id }
54
54
  });
55
- if (responseFileTypes.enableShipment) {
56
- let shipmentResult = await integration_sftp_1.SftpAPI.createShipment(customerAvailableSftp, {
57
- releaseGood,
58
- orderInventories: targetInventories,
59
- sftp: customerAvailableSftp
60
- });
61
- customerAvailableSftp = await tx.getRepository(integration_sftp_1.Sftp).save(shipmentResult);
62
- }
55
+ // if (responseFileTypes.enableShipment) {
56
+ // let shipmentResult: Sftp = await SftpAPI.createShipment(customerAvailableSftp, {
57
+ // releaseGood,
58
+ // orderInventories: targetInventories,
59
+ // sftp: customerAvailableSftp
60
+ // })
61
+ // customerAvailableSftp = await tx.getRepository(Sftp).save(shipmentResult)
62
+ // }
63
63
  if (responseFileTypes.enableSerialNumber) {
64
64
  let snResult = await integration_sftp_1.SftpAPI.createSerialNumber(customerAvailableSftp, {
65
65
  releaseGood,
@@ -1 +1 @@
1
- {"version":3,"file":"complete-loading.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/loading/complete-loading.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, Company } from '@things-factory/biz-base'\nimport { FulfillmentCenter } from '@things-factory/integration-fulfillment'\nimport { Sftp, SftpAPI } from '@things-factory/integration-sftp'\nimport { ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { InventoryItem } from '@things-factory/warehouse-base'\n\nimport { WORKSHEET_TYPE } from '../../../../constants'\nimport { LoadingWorksheetController, ReturningWorksheetController } from '../../../../controllers'\nimport { Worksheet, WorksheetDetail } from '../../../../entities'\n\nexport const completeLoadingResolver = {\n async completeLoading(_: any, { releaseGoodNo }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n await completeLoading(tx, domain, user, releaseGoodNo)\n }\n}\n\nexport async function completeLoading(\n tx: EntityManager,\n domain: Domain,\n user: User,\n releaseGoodNo: string\n): Promise<void> {\n const worksheetController: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n const releaseGood: ReleaseGood = await worksheetController.findRefOrder(\n ReleaseGood,\n {\n domain,\n name: releaseGoodNo,\n status: ORDER_STATUS.LOADING\n },\n ['bizplace', 'bizplace.domain']\n )\n const worksheet: Worksheet = await worksheetController.findWorksheetByRefOrder(releaseGood, WORKSHEET_TYPE.LOADING, [\n 'worksheetDetails',\n 'worksheetDetails.targetInventory',\n 'worksheetDetails.targetInventory.product'\n ])\n const worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails\n const targetInventories: OrderInventory[] = worksheetDetails.map((wsd: WorksheetDetail) => wsd.targetInventory)\n const remainInventories: OrderInventory[] = targetInventories.filter(\n (targetInventory: OrderInventory) => targetInventory.status === ORDER_INVENTORY_STATUS.LOADING\n )\n\n // Search Warehouse Company Domain\n const warehouseCompanyBizplace: Bizplace = await tx\n .getRepository(Bizplace)\n .findOne({ where: { domain }, relations: ['company'] })\n\n const warehouseCompany: Company = warehouseCompanyBizplace.company\n const warehouseBizplaces: Bizplace[] = await tx\n .getRepository(Bizplace)\n .find({ where: { company: warehouseCompany }, relations: ['domain'] })\n const warehouseCompanyBizplaces: Bizplace[] = warehouseBizplaces.filter(biz => biz.domain.extType == 'company')\n const warehouseCompanyDomain: Domain = warehouseCompanyBizplaces[0].domain\n\n const customerDomain: Domain = releaseGood.bizplace.domain\n const fulfillmentCenter: FulfillmentCenter = await tx\n .getRepository(FulfillmentCenter)\n .findOne({ domain: warehouseCompanyDomain, centerId: domain.subdomain, status: 'active' })\n\n if (fulfillmentCenter) {\n let customerAvailableSftp: Sftp = await tx.getRepository(Sftp).findOne({\n where: { domain: customerDomain, status: 'ACTIVE', fulfillmentCenter }\n })\n if (customerAvailableSftp) {\n const responseFileTypes: any = JSON.parse(customerAvailableSftp.responseFileTypes)\n\n let inventoryItems: InventoryItem[] = await tx.getRepository(InventoryItem).find({\n where: { domain, outboundOrderId: releaseGood.id }\n })\n\n if (responseFileTypes.enableShipment) {\n let shipmentResult: Sftp = await SftpAPI.createShipment(customerAvailableSftp, {\n releaseGood,\n orderInventories: targetInventories,\n sftp: customerAvailableSftp\n })\n customerAvailableSftp = await tx.getRepository(Sftp).save(shipmentResult)\n }\n\n if (responseFileTypes.enableSerialNumber) {\n let snResult: Sftp = await SftpAPI.createSerialNumber(customerAvailableSftp, {\n releaseGood,\n inventoryItems,\n sftp: customerAvailableSftp\n })\n customerAvailableSftp = await tx.getRepository(Sftp).save(snResult)\n }\n }\n }\n\n await worksheetController.completeLoading(releaseGoodNo)\n\n if (remainInventories.length) {\n await createReturnWorksheet(tx, domain, user, releaseGoodNo, remainInventories)\n }\n}\n\n// Generating worksheet for returning process\nexport async function createReturnWorksheet(\n tx: EntityManager,\n domain: Domain,\n user: User,\n releaseGoodNo: string,\n orderInventories: OrderInventory[]\n): Promise<Worksheet> {\n const worksheetController: ReturningWorksheetController = new ReturningWorksheetController(tx, domain, user)\n return await worksheetController.generateReturningWorksheet(releaseGoodNo, orderInventories)\n}\n"]}
1
+ {"version":3,"file":"complete-loading.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/loading/complete-loading.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, Company } from '@things-factory/biz-base'\nimport { FulfillmentCenter } from '@things-factory/integration-fulfillment'\nimport { Sftp, SftpAPI } from '@things-factory/integration-sftp'\nimport { ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { InventoryItem } from '@things-factory/warehouse-base'\n\nimport { WORKSHEET_TYPE } from '../../../../constants'\nimport { LoadingWorksheetController, ReturningWorksheetController } from '../../../../controllers'\nimport { Worksheet, WorksheetDetail } from '../../../../entities'\n\nexport const completeLoadingResolver = {\n async completeLoading(_: any, { releaseGoodNo }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n await completeLoading(tx, domain, user, releaseGoodNo)\n }\n}\n\nexport async function completeLoading(\n tx: EntityManager,\n domain: Domain,\n user: User,\n releaseGoodNo: string\n): Promise<void> {\n const worksheetController: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n const releaseGood: ReleaseGood = await worksheetController.findRefOrder(\n ReleaseGood,\n {\n domain: { id: domain.id },\n name: releaseGoodNo,\n status: ORDER_STATUS.LOADING\n },\n ['bizplace', 'bizplace.domain']\n )\n const worksheet: Worksheet = await worksheetController.findWorksheetByRefOrder(releaseGood, WORKSHEET_TYPE.LOADING, [\n 'worksheetDetails',\n 'worksheetDetails.targetInventory',\n 'worksheetDetails.targetInventory.product'\n ])\n const worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails\n const targetInventories: OrderInventory[] = worksheetDetails.map((wsd: WorksheetDetail) => wsd.targetInventory)\n const remainInventories: OrderInventory[] = targetInventories.filter(\n (targetInventory: OrderInventory) => targetInventory.status === ORDER_INVENTORY_STATUS.LOADING\n )\n\n // Search Warehouse Company Domain\n const warehouseCompanyBizplace: Bizplace = await tx\n .getRepository(Bizplace)\n .findOne({ where: { domain: { id: domain.id } }, relations: ['company'] })\n\n const warehouseCompany: Company = warehouseCompanyBizplace.company\n const warehouseBizplaces: Bizplace[] = await tx\n .getRepository(Bizplace)\n .find({ where: { company: { id: warehouseCompany.id } }, relations: ['domain'] })\n const warehouseCompanyBizplaces: Bizplace[] = warehouseBizplaces.filter(biz => biz.domain.extType == 'company')\n const warehouseCompanyDomain: Domain = warehouseCompanyBizplaces[0].domain\n\n const customerDomain: Domain = releaseGood.bizplace.domain\n const fulfillmentCenter: FulfillmentCenter = await tx\n .getRepository(FulfillmentCenter)\n .findOneBy({ domain: { id: warehouseCompanyDomain.id }, centerId: domain.subdomain, status: 'active' })\n\n if (fulfillmentCenter) {\n let customerAvailableSftp: Sftp = await tx.getRepository(Sftp).findOne({\n where: { domain: { id: customerDomain.id }, status: 'ACTIVE', fulfillmentCenter }\n })\n if (customerAvailableSftp) {\n const responseFileTypes: any = JSON.parse(customerAvailableSftp.responseFileTypes)\n\n let inventoryItems: InventoryItem[] = await tx.getRepository(InventoryItem).find({\n where: { domain: { id: domain.id }, outboundOrderId: releaseGood.id }\n })\n\n // if (responseFileTypes.enableShipment) {\n // let shipmentResult: Sftp = await SftpAPI.createShipment(customerAvailableSftp, {\n // releaseGood,\n // orderInventories: targetInventories,\n // sftp: customerAvailableSftp\n // })\n // customerAvailableSftp = await tx.getRepository(Sftp).save(shipmentResult)\n // }\n\n if (responseFileTypes.enableSerialNumber) {\n let snResult: Sftp = await SftpAPI.createSerialNumber(customerAvailableSftp, {\n releaseGood,\n inventoryItems,\n sftp: customerAvailableSftp\n })\n customerAvailableSftp = await tx.getRepository(Sftp).save(snResult)\n }\n }\n }\n\n await worksheetController.completeLoading(releaseGoodNo)\n\n if (remainInventories.length) {\n await createReturnWorksheet(tx, domain, user, releaseGoodNo, remainInventories)\n }\n}\n\n// Generating worksheet for returning process\nexport async function createReturnWorksheet(\n tx: EntityManager,\n domain: Domain,\n user: User,\n releaseGoodNo: string,\n orderInventories: OrderInventory[]\n): Promise<Worksheet> {\n const worksheetController: ReturningWorksheetController = new ReturningWorksheetController(tx, domain, user)\n return await worksheetController.generateReturningWorksheet(releaseGoodNo, orderInventories)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/loading/loading.ts"],"names":[],"mappings":";;;AAEA,2DAA+F;AAG/F,yDAAyF;AAG5E,QAAA,eAAe,GAAG;IAC7B,KAAK,CAAC,OAAO,CAAC,CAAM,EAAE,EAAE,sBAAsB,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,OAAY;;QACtF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAA;QAC/F,MAAM,mBAAmB,GAAwB,IAAI,iCAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAC1F,MAAM,WAAW,GAAgB,MAAM,mBAAmB,CAAC,YAAY,CACrE,wBAAW,EACX,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAC/B,CAAC,UAAU,EAAE,WAAW,CAAC,CAC1B,CAAA;QAED,MAAM,0BAA0B,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAC/G,IAAI,iBAAiB,GAAqB,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAE1F,MAAM,QAAQ,GAAa,WAAW,CAAC,QAAQ,CAAA;QAC/C,SAAS,mCACJ,SAAS,KACZ,iBAAiB,EAAE,CAAA,MAAA,WAAW,CAAC,SAAS,0CAAE,EAAE,KAAI,IAAI,GACrD,CAAA;QAED,MAAM,IAAA,kCAAqB,EAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IACpG,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,OAAO,CAC3B,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,gBAA2F,EAC3F,aAAqB;IAErB,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,OAAO,MAAM,mBAAmB,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAA;AAC3E,CAAC;AATD,0BASC","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { generateDeliveryOrder, OrderInventory, ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { EntityManager } from 'typeorm'\nimport { LoadingWorksheetController, WorksheetController } from '../../../../controllers'\nimport { WorksheetDetail } from '../../../../entities'\n\nexport const loadingResolver = {\n async loading(_: any, { loadedWorksheetDetails, releaseGoodNo, orderInfo }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n const worksheetDetails = await loading(tx, domain, user, loadedWorksheetDetails, releaseGoodNo)\n const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)\n const releaseGood: ReleaseGood = await worksheetController.findRefOrder(\n ReleaseGood,\n { domain, name: releaseGoodNo },\n ['bizplace', 'deliverTo']\n )\n\n const loadingWorksheetController: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n let targetInventories: OrderInventory[] = worksheetDetails.map(itm => itm.targetInventory)\n\n const bizplace: Bizplace = releaseGood.bizplace\n orderInfo = {\n ...orderInfo,\n contactPointRefId: releaseGood.deliverTo?.id || null\n }\n\n await generateDeliveryOrder(orderInfo, targetInventories, bizplace, releaseGood, domain, user, tx)\n }\n}\n\nexport async function loading(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetails: Partial<WorksheetDetail & { loadedQty: number } & { toteName: string }>[],\n releaseGoodNo: string\n): Promise<any> {\n const worksheetController: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n return await worksheetController.loading(releaseGoodNo, worksheetDetails)\n}\n"]}
1
+ {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/loading/loading.ts"],"names":[],"mappings":";;;AAIA,2DAA+F;AAG/F,yDAAyF;AAG5E,QAAA,eAAe,GAAG;IAC7B,KAAK,CAAC,OAAO,CAAC,CAAM,EAAE,EAAE,sBAAsB,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,OAAwB;;QAClG,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAA;QAC/F,MAAM,mBAAmB,GAAwB,IAAI,iCAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAC1F,MAAM,WAAW,GAAgB,MAAM,mBAAmB,CAAC,YAAY,CACrE,wBAAW,EACX,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAC/B,CAAC,UAAU,EAAE,WAAW,CAAC,CAC1B,CAAA;QAED,MAAM,0BAA0B,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAC/G,IAAI,iBAAiB,GAAqB,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAE1F,MAAM,QAAQ,GAAa,WAAW,CAAC,QAAQ,CAAA;QAC/C,SAAS,mCACJ,SAAS,KACZ,iBAAiB,EAAE,CAAA,MAAA,WAAW,CAAC,SAAS,0CAAE,EAAE,KAAI,IAAI,GACrD,CAAA;QAED,MAAM,IAAA,kCAAqB,EAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IACpG,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,OAAO,CAC3B,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,gBAA2F,EAC3F,aAAqB;IAErB,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,OAAO,MAAM,mBAAmB,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAA;AAC3E,CAAC;AATD,0BASC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { generateDeliveryOrder, OrderInventory, ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { LoadingWorksheetController, WorksheetController } from '../../../../controllers'\nimport { WorksheetDetail } from '../../../../entities'\n\nexport const loadingResolver = {\n async loading(_: any, { loadedWorksheetDetails, releaseGoodNo, orderInfo }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n const worksheetDetails = await loading(tx, domain, user, loadedWorksheetDetails, releaseGoodNo)\n const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)\n const releaseGood: ReleaseGood = await worksheetController.findRefOrder(\n ReleaseGood,\n { domain, name: releaseGoodNo },\n ['bizplace', 'deliverTo']\n )\n\n const loadingWorksheetController: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n let targetInventories: OrderInventory[] = worksheetDetails.map(itm => itm.targetInventory)\n\n const bizplace: Bizplace = releaseGood.bizplace\n orderInfo = {\n ...orderInfo,\n contactPointRefId: releaseGood.deliverTo?.id || null\n }\n\n await generateDeliveryOrder(orderInfo, targetInventories, bizplace, releaseGood, domain, user, tx)\n }\n}\n\nexport async function loading(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetails: Partial<WorksheetDetail & { loadedQty: number } & { toteName: string }>[],\n releaseGoodNo: string\n): Promise<any> {\n const worksheetController: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n return await worksheetController.loading(releaseGoodNo, worksheetDetails)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"undo-loading.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/loading/undo-loading.ts"],"names":[],"mappings":";;;AAIA,yDAAoE;AAEvD,QAAA,mBAAmB,GAAG;IACjC,KAAK,CAAC,WAAW,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,OAAY;QAClE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;IAC/D,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,WAAW,CAC/B,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,aAAqC,EACrC,SAAmB;IAEnB,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,MAAM,mBAAmB,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;AACjE,CAAC;AATD,kCASC","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { DeliveryOrder } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { EntityManager } from 'typeorm'\nimport { LoadingWorksheetController } from '../../../../controllers'\n\nexport const undoLoadingResolver = {\n async undoLoading(_: any, { deliveryOrder, palletIds }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n await undoLoading(tx, domain, user, deliveryOrder, palletIds)\n }\n}\n\nexport async function undoLoading(\n tx: EntityManager,\n domain: Domain,\n user: User,\n deliveryOrder: Partial<DeliveryOrder>,\n palletIds: string[]\n): Promise<void> {\n const worksheetController: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n await worksheetController.undoLoading(deliveryOrder, palletIds)\n}\n"]}
1
+ {"version":3,"file":"undo-loading.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/loading/undo-loading.ts"],"names":[],"mappings":";;;AAMA,yDAAoE;AAEvD,QAAA,mBAAmB,GAAG;IACjC,KAAK,CAAC,WAAW,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,OAAwB;QAC9E,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;IAC/D,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,WAAW,CAC/B,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,aAAqC,EACrC,SAAmB;IAEnB,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,MAAM,mBAAmB,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;AACjE,CAAC;AATD,kCASC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { DeliveryOrder } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { LoadingWorksheetController } from '../../../../controllers'\n\nexport const undoLoadingResolver = {\n async undoLoading(_: any, { deliveryOrder, palletIds }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n await undoLoading(tx, domain, user, deliveryOrder, palletIds)\n }\n}\n\nexport async function undoLoading(\n tx: EntityManager,\n domain: Domain,\n user: User,\n deliveryOrder: Partial<DeliveryOrder>,\n palletIds: string[]\n): Promise<void> {\n const worksheetController: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n await worksheetController.undoLoading(deliveryOrder, palletIds)\n}\n"]}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadingWorksheetResolver = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
5
  const sales_base_1 = require("@things-factory/sales-base");
6
+ const shell_1 = require("@things-factory/shell");
6
7
  const warehouse_base_1 = require("@things-factory/warehouse-base");
7
8
  const constants_1 = require("../../../constants");
8
9
  const entities_1 = require("../../../entities");
@@ -10,16 +11,16 @@ const utils_1 = require("../../../utils");
10
11
  exports.loadingWorksheetResolver = {
11
12
  async loadingWorksheet(_, { releaseGoodNo }, context) {
12
13
  const { domain } = context.state;
13
- let releaseGood = await (0, typeorm_1.getRepository)(sales_base_1.ReleaseGood).findOne({
14
- where: { domain, name: releaseGoodNo /*status: ORDER_STATUS.LOADING*/ },
14
+ let releaseGood = await (0, shell_1.getRepository)(sales_base_1.ReleaseGood).findOne({
15
+ where: { domain: { id: domain.id }, name: releaseGoodNo /*status: ORDER_STATUS.LOADING*/ },
15
16
  relations: ['bizplace', 'deliverTo', 'deliverTo.bizplace']
16
17
  });
17
18
  // Find Release Order based on Bin
18
19
  if (!releaseGood) {
19
- const binLocation = await (0, typeorm_1.getRepository)(warehouse_base_1.Location).findOne({
20
- where: { domain, name: releaseGoodNo }
20
+ const binLocation = await (0, shell_1.getRepository)(warehouse_base_1.Location).findOne({
21
+ where: { domain: { id: domain.id }, name: releaseGoodNo }
21
22
  });
22
- const qb = (0, typeorm_1.getRepository)(sales_base_1.OrderInventory).createQueryBuilder('orderInventory');
23
+ const qb = (0, shell_1.getRepository)(sales_base_1.OrderInventory).createQueryBuilder('orderInventory');
23
24
  qb.innerJoinAndSelect('orderInventory.releaseGood', 'releaseGood')
24
25
  .innerJoinAndSelect('releaseGood.bizplace', 'bizplace')
25
26
  .innerJoinAndSelect('bizplace.domain', 'domain')
@@ -37,14 +38,14 @@ exports.loadingWorksheetResolver = {
37
38
  }
38
39
  if (!releaseGood)
39
40
  throw new Error(`Release good doesn't exists.`);
40
- let [orderTotes, orderTotesTotal] = await (0, typeorm_1.getRepository)(sales_base_1.OrderTote).findAndCount({
41
+ let [orderTotes, orderTotesTotal] = await (0, shell_1.getRepository)(sales_base_1.OrderTote).findAndCount({
41
42
  where: { releaseGood: releaseGood.id }
42
43
  });
43
44
  const foundWorksheet = await (0, utils_1.fetchExecutingWorksheet)(domain, releaseGood.bizplace, ['bizplace', 'worksheetDetails'], constants_1.WORKSHEET_TYPE.LOADING, releaseGood);
44
- let foundWSD = await (0, typeorm_1.getRepository)(entities_1.WorksheetDetail).find({
45
+ let foundWSD = await (0, shell_1.getRepository)(entities_1.WorksheetDetail).find({
45
46
  where: {
46
- domain,
47
- worksheet: foundWorksheet,
47
+ domain: { id: domain.id },
48
+ worksheet: { id: foundWorksheet.id },
48
49
  type: constants_1.WORKSHEET_TYPE.LOADING,
49
50
  status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(constants_1.WORKSHEET_STATUS.DONE))
50
51
  },
@@ -57,7 +58,7 @@ exports.loadingWorksheetResolver = {
57
58
  ]
58
59
  });
59
60
  if (orderTotesTotal > 0) {
60
- let [toteItems, toteItemsTotal] = await (0, typeorm_1.getRepository)(sales_base_1.OrderToteItem).findAndCount({
61
+ let [toteItems, toteItemsTotal] = await (0, shell_1.getRepository)(sales_base_1.OrderToteItem).findAndCount({
61
62
  where: { orderTote: (0, typeorm_1.In)(orderTotes.map(itm => itm.id)) },
62
63
  relations: ['orderTote', 'orderInventory']
63
64
  });
@@ -1 +1 @@
1
- {"version":3,"file":"loading-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/loading-worksheet.ts"],"names":[],"mappings":"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","sourcesContent":["import { Equal, getRepository, In, Not, SelectQueryBuilder } from 'typeorm'\n\nimport {\n ORDER_STATUS,\n ORDER_INVENTORY_STATUS,\n OrderInventory,\n ReleaseGood,\n OrderTote,\n OrderToteItem\n} from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { Inventory, Location } from '@things-factory/warehouse-base'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'\nimport { Worksheet, WorksheetDetail } from '../../../entities'\nimport { fetchExecutingWorksheet } from '../../../utils'\n\nexport const loadingWorksheetResolver = {\n async loadingWorksheet(_: any, { releaseGoodNo }, context: any) {\n const { domain }: { domain: Domain } = context.state\n let releaseGood: ReleaseGood = await getRepository(ReleaseGood).findOne({\n where: { domain, name: releaseGoodNo /*status: ORDER_STATUS.LOADING*/ },\n relations: ['bizplace', 'deliverTo', 'deliverTo.bizplace']\n })\n\n // Find Release Order based on Bin\n if (!releaseGood) {\n const binLocation: Location = await getRepository(Location).findOne({\n where: { domain, name: releaseGoodNo }\n })\n\n const qb: SelectQueryBuilder<OrderInventory> = getRepository(OrderInventory).createQueryBuilder('orderInventory')\n qb.innerJoinAndSelect('orderInventory.releaseGood', 'releaseGood')\n .innerJoinAndSelect('releaseGood.bizplace', 'bizplace')\n .innerJoinAndSelect('bizplace.domain', 'domain')\n .where('orderInventory.domain_id = :domainId', { domainId: domain.id })\n .andWhere('orderInventory.status IN (:...orderInventoryStatus)', {\n orderInventoryStatus: [ORDER_INVENTORY_STATUS.LOADING, ORDER_INVENTORY_STATUS.LOADED]\n })\n .andWhere('orderInventory.bin_location_id = :locationId', { locationId: binLocation.id })\n .andWhere('releaseGood.status = :status', { status: ORDER_STATUS.LOADING })\n\n const orderInventoryByBin = await qb.getOne()\n\n if (orderInventoryByBin?.releaseGood) {\n releaseGoodNo = orderInventoryByBin.releaseGood.name\n releaseGood = orderInventoryByBin.releaseGood\n }\n }\n\n if (!releaseGood) throw new Error(`Release good doesn't exists.`)\n\n let [orderTotes, orderTotesTotal]: OrderTote = await getRepository(OrderTote).findAndCount({\n where: { releaseGood: releaseGood.id }\n })\n\n const foundWorksheet: Worksheet = await fetchExecutingWorksheet(\n domain,\n releaseGood.bizplace,\n ['bizplace', 'worksheetDetails'],\n WORKSHEET_TYPE.LOADING,\n releaseGood\n )\n let foundWSD: any[] = await getRepository(WorksheetDetail).find({\n where: {\n domain,\n worksheet: foundWorksheet,\n type: WORKSHEET_TYPE.LOADING,\n status: Not(Equal(WORKSHEET_STATUS.DONE))\n },\n relations: [\n 'targetInventory',\n 'targetInventory.orderProduct',\n 'targetInventory.inventory',\n 'targetInventory.inventory.location',\n 'targetInventory.inventory.product'\n ]\n })\n\n if (orderTotesTotal > 0) {\n let [toteItems, toteItemsTotal]: OrderToteItem = await getRepository(OrderToteItem).findAndCount({\n where: { orderTote: In(orderTotes.map(itm => itm.id)) },\n relations: ['orderTote', 'orderInventory']\n })\n\n let toteWsd = []\n\n for (let i = 0; i < toteItemsTotal; i++) {\n let wsdIndex = foundWSD.findIndex(\n itm => !itm?.toteName && itm.targetInventory.id == toteItems[i].orderInventory.id\n )\n\n if (wsdIndex >= 0) {\n let filterWSD: any = JSON.parse(JSON.stringify(foundWSD[wsdIndex]))\n let uomValue =\n Math.round((filterWSD.targetInventory.releaseUomValue / filterWSD.targetInventory.releaseQty) * 100) / 100\n\n foundWSD[wsdIndex].targetInventory.releaseQty -= toteItems[i].qty\n foundWSD[wsdIndex].targetInventory.pickedQty -= toteItems[i].qty\n foundWSD[wsdIndex].targetInventory.releaseUomValue = foundWSD[wsdIndex].targetInventory.releaseQty * uomValue\n\n filterWSD.targetInventory.releaseQty = toteItems[i].qty\n filterWSD.targetInventory.pickedQty = toteItems[i].qty\n filterWSD.targetInventory.releaseUomValue = toteItems[i].qty * uomValue\n filterWSD.toteName = toteItems[i].orderTote.name\n toteWsd.push(filterWSD)\n }\n }\n\n foundWSD = foundWSD.concat(toteWsd)\n foundWSD.sort((a, b) => (a.toteName > b.toteName ? 1 : -1))\n }\n\n let worksheetDetailInfos = foundWSD\n .filter(itm => itm.targetInventory.releaseQty > 0)\n .map((loadingWSD: any) => {\n const targetInventory: OrderInventory = loadingWSD.targetInventory\n const inventory: Inventory = targetInventory.inventory\n return {\n name: loadingWSD.name,\n palletId: inventory.palletId,\n batchId: inventory.batchId,\n batchIdRef: inventory.batchIdRef,\n product: inventory.product,\n releaseQty: targetInventory.releaseQty,\n releaseUomValue: targetInventory.releaseUomValue,\n status: loadingWSD.status,\n description: loadingWSD.description,\n targetName: targetInventory.name,\n packingType: inventory.packingType,\n packingSize: inventory.packingSize,\n inventory: targetInventory.inventory,\n toteName: loadingWSD.toteName\n }\n })\n\n return {\n worksheetInfo: {\n releaseGood,\n bizplaceName: releaseGood.bizplace.name,\n startedAt: foundWorksheet.startedAt,\n refNo: releaseGood.refNo,\n ownCollection: releaseGood.ownTransport\n },\n worksheetDetailInfos\n }\n }\n}\n"]}
1
+ {"version":3,"file":"loading-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/loading-worksheet.ts"],"names":[],"mappings":"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","sourcesContent":["import { Equal, In, Not, SelectQueryBuilder } from 'typeorm'\n\nimport {\n ORDER_INVENTORY_STATUS,\n ORDER_STATUS,\n OrderInventory,\n OrderTote,\n OrderToteItem,\n ReleaseGood\n} from '@things-factory/sales-base'\nimport { getRepository } from '@things-factory/shell'\nimport { Inventory, Location } from '@things-factory/warehouse-base'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'\nimport { Worksheet, WorksheetDetail } from '../../../entities'\nimport { fetchExecutingWorksheet } from '../../../utils'\n\nexport const loadingWorksheetResolver = {\n async loadingWorksheet(_: any, { releaseGoodNo }, context: ResolverContext) {\n const { domain } = context.state\n let releaseGood: ReleaseGood = await getRepository(ReleaseGood).findOne({\n where: { domain: { id: domain.id }, name: releaseGoodNo /*status: ORDER_STATUS.LOADING*/ },\n relations: ['bizplace', 'deliverTo', 'deliverTo.bizplace']\n })\n\n // Find Release Order based on Bin\n if (!releaseGood) {\n const binLocation: Location = await getRepository(Location).findOne({\n where: { domain: { id: domain.id }, name: releaseGoodNo }\n })\n\n const qb: SelectQueryBuilder<OrderInventory> = getRepository(OrderInventory).createQueryBuilder('orderInventory')\n qb.innerJoinAndSelect('orderInventory.releaseGood', 'releaseGood')\n .innerJoinAndSelect('releaseGood.bizplace', 'bizplace')\n .innerJoinAndSelect('bizplace.domain', 'domain')\n .where('orderInventory.domain_id = :domainId', { domainId: domain.id })\n .andWhere('orderInventory.status IN (:...orderInventoryStatus)', {\n orderInventoryStatus: [ORDER_INVENTORY_STATUS.LOADING, ORDER_INVENTORY_STATUS.LOADED]\n })\n .andWhere('orderInventory.bin_location_id = :locationId', { locationId: binLocation.id })\n .andWhere('releaseGood.status = :status', { status: ORDER_STATUS.LOADING })\n\n const orderInventoryByBin = await qb.getOne()\n\n if (orderInventoryByBin?.releaseGood) {\n releaseGoodNo = orderInventoryByBin.releaseGood.name\n releaseGood = orderInventoryByBin.releaseGood\n }\n }\n\n if (!releaseGood) throw new Error(`Release good doesn't exists.`)\n\n let [orderTotes, orderTotesTotal]: OrderTote = await getRepository(OrderTote).findAndCount({\n where: { releaseGood: releaseGood.id }\n })\n\n const foundWorksheet: Worksheet = await fetchExecutingWorksheet(\n domain,\n releaseGood.bizplace,\n ['bizplace', 'worksheetDetails'],\n WORKSHEET_TYPE.LOADING,\n releaseGood\n )\n let foundWSD: any[] = await getRepository(WorksheetDetail).find({\n where: {\n domain: { id: domain.id },\n worksheet: { id: foundWorksheet.id },\n type: WORKSHEET_TYPE.LOADING,\n status: Not(Equal(WORKSHEET_STATUS.DONE))\n },\n relations: [\n 'targetInventory',\n 'targetInventory.orderProduct',\n 'targetInventory.inventory',\n 'targetInventory.inventory.location',\n 'targetInventory.inventory.product'\n ]\n })\n\n if (orderTotesTotal > 0) {\n let [toteItems, toteItemsTotal]: OrderToteItem = await getRepository(OrderToteItem).findAndCount({\n where: { orderTote: In(orderTotes.map(itm => itm.id)) },\n relations: ['orderTote', 'orderInventory']\n })\n\n let toteWsd = []\n\n for (let i = 0; i < toteItemsTotal; i++) {\n let wsdIndex = foundWSD.findIndex(\n itm => !itm?.toteName && itm.targetInventory.id == toteItems[i].orderInventory.id\n )\n\n if (wsdIndex >= 0) {\n let filterWSD: any = JSON.parse(JSON.stringify(foundWSD[wsdIndex]))\n let uomValue =\n Math.round((filterWSD.targetInventory.releaseUomValue / filterWSD.targetInventory.releaseQty) * 100) / 100\n\n foundWSD[wsdIndex].targetInventory.releaseQty -= toteItems[i].qty\n foundWSD[wsdIndex].targetInventory.pickedQty -= toteItems[i].qty\n foundWSD[wsdIndex].targetInventory.releaseUomValue = foundWSD[wsdIndex].targetInventory.releaseQty * uomValue\n\n filterWSD.targetInventory.releaseQty = toteItems[i].qty\n filterWSD.targetInventory.pickedQty = toteItems[i].qty\n filterWSD.targetInventory.releaseUomValue = toteItems[i].qty * uomValue\n filterWSD.toteName = toteItems[i].orderTote.name\n toteWsd.push(filterWSD)\n }\n }\n\n foundWSD = foundWSD.concat(toteWsd)\n foundWSD.sort((a, b) => (a.toteName > b.toteName ? 1 : -1))\n }\n\n let worksheetDetailInfos = foundWSD\n .filter(itm => itm.targetInventory.releaseQty > 0)\n .map((loadingWSD: any) => {\n const targetInventory: OrderInventory = loadingWSD.targetInventory\n const inventory: Inventory = targetInventory.inventory\n return {\n name: loadingWSD.name,\n palletId: inventory.palletId,\n batchId: inventory.batchId,\n batchIdRef: inventory.batchIdRef,\n product: inventory.product,\n releaseQty: targetInventory.releaseQty,\n releaseUomValue: targetInventory.releaseUomValue,\n status: loadingWSD.status,\n description: loadingWSD.description,\n targetName: targetInventory.name,\n packingType: inventory.packingType,\n packingSize: inventory.packingSize,\n inventory: targetInventory.inventory,\n toteName: loadingWSD.toteName\n }\n })\n\n return {\n worksheetInfo: {\n releaseGood,\n bizplaceName: releaseGood.bizplace.name,\n startedAt: foundWorksheet.startedAt,\n refNo: releaseGood.refNo,\n ownCollection: releaseGood.ownTransport\n },\n worksheetDetailInfos\n }\n }\n}\n"]}
@@ -3,15 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.notTallyTargetInventoriesResolver = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
5
  const sales_base_1 = require("@things-factory/sales-base");
6
+ const shell_1 = require("@things-factory/shell");
6
7
  const entities_1 = require("../../../entities");
7
8
  exports.notTallyTargetInventoriesResolver = {
8
9
  async notTallyTargetInventories(_, { cycleCountNo }, context) {
9
10
  const { domain } = context.state;
10
- const cycleCount = await (0, typeorm_1.getRepository)(sales_base_1.InventoryCheck).findOne({
11
- where: { domain, name: cycleCountNo }
11
+ const cycleCount = await (0, shell_1.getRepository)(sales_base_1.InventoryCheck).findOne({
12
+ where: { domain: { id: domain.id }, name: cycleCountNo }
12
13
  });
13
- const worksheet = await (0, typeorm_1.getRepository)(entities_1.Worksheet).findOne({
14
- where: { domain, inventoryCheck: cycleCount }
14
+ const worksheet = await (0, shell_1.getRepository)(entities_1.Worksheet).findOne({
15
+ where: { domain: { id: domain.id }, inventoryCheck: cycleCount }
15
16
  });
16
17
  const qb = (0, typeorm_1.createQueryBuilder)(entities_1.WorksheetDetail, 'WSD');
17
18
  const worksheetDetails = await qb
@@ -1 +1 @@
1
- {"version":3,"file":"not-tally-target-inventories.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/not-tally-target-inventories.ts"],"names":[],"mappings":";;;AAAA,qCAA+E;AAE/E,2DAAmF;AAGnF,gDAA8D;AAEjD,QAAA,iCAAiC,GAAG;IAC/C,KAAK,CAAC,yBAAyB,CAAC,CAAM,EAAE,EAAE,YAAY,EAAE,EAAE,OAAY;QACpE,MAAM,EAAE,MAAM,EAAE,GAAuB,OAAO,CAAC,KAAK,CAAA;QAEpD,MAAM,UAAU,GAAmB,MAAM,IAAA,uBAAa,EAAC,2BAAc,CAAC,CAAC,OAAO,CAAC;YAC7E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;SACtC,CAAC,CAAA;QAEF,MAAM,SAAS,GAAc,MAAM,IAAA,uBAAa,EAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;YAClE,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE;SAC9C,CAAC,CAAA;QAEF,MAAM,EAAE,GAAwC,IAAA,4BAAkB,EAAC,0BAAe,EAAE,KAAK,CAAC,CAAA;QAC1F,MAAM,gBAAgB,GAAsB,MAAM,EAAE;aACjD,iBAAiB,CAAC,qBAAqB,EAAE,OAAO,CAAC;aACjD,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,CAAC;aAC3C,iBAAiB,CAAC,sBAAsB,EAAE,SAAS,CAAC;aACpD,iBAAiB,CAAC,yBAAyB,EAAE,SAAS,CAAC;aACvD,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC;aACxC,KAAK,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;aACxD,QAAQ,CAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;aACvE,QAAQ,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,mCAAsB,CAAC,SAAS,EAAE,CAAC;aAC9E,OAAO,EAAE,CAAA;QAEZ,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAC5E,CAAC;CACF,CAAA","sourcesContent":["import { createQueryBuilder, getRepository, SelectQueryBuilder } from 'typeorm'\n\nimport { InventoryCheck, ORDER_INVENTORY_STATUS } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { Worksheet, WorksheetDetail } from '../../../entities'\n\nexport const notTallyTargetInventoriesResolver = {\n async notTallyTargetInventories(_: any, { cycleCountNo }, context: any) {\n const { domain }: { domain: Domain } = context.state\n\n const cycleCount: InventoryCheck = await getRepository(InventoryCheck).findOne({\n where: { domain, name: cycleCountNo }\n })\n\n const worksheet: Worksheet = await getRepository(Worksheet).findOne({\n where: { domain, inventoryCheck: cycleCount }\n })\n\n const qb: SelectQueryBuilder<WorksheetDetail> = createQueryBuilder(WorksheetDetail, 'WSD')\n const worksheetDetails: WorksheetDetail[] = await qb\n .leftJoinAndSelect('WSD.targetInventory', 'T_INV')\n .leftJoinAndSelect('T_INV.inventory', 'INV')\n .leftJoinAndSelect('T_INV.originLocation', 'ORG_LOC')\n .leftJoinAndSelect('T_INV.inspectedLocation', 'ISP_LOC')\n .leftJoinAndSelect('INV.product', 'PROD')\n .where('WSD.domain = :domainId', { domainId: domain.id })\n .andWhere('WSD.worksheet = :worksheetId', { worksheetId: worksheet.id })\n .andWhere('WSD.status = :status', { status: ORDER_INVENTORY_STATUS.NOT_TALLY })\n .getMany()\n\n return worksheetDetails.map((wsd: WorksheetDetail) => wsd.targetInventory)\n }\n}\n"]}
1
+ {"version":3,"file":"not-tally-target-inventories.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/not-tally-target-inventories.ts"],"names":[],"mappings":";;;AAAA,qCAAgE;AAEhE,2DAAmF;AACnF,iDAAqD;AAErD,gDAA8D;AAEjD,QAAA,iCAAiC,GAAG;IAC/C,KAAK,CAAC,yBAAyB,CAAC,CAAM,EAAE,EAAE,YAAY,EAAE,EAAE,OAAwB;QAChF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,UAAU,GAAmB,MAAM,IAAA,qBAAa,EAAC,2BAAc,CAAC,CAAC,OAAO,CAAC;YAC7E,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;SACzD,CAAC,CAAA;QAEF,MAAM,SAAS,GAAc,MAAM,IAAA,qBAAa,EAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;YAClE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE;SACjE,CAAC,CAAA;QAEF,MAAM,EAAE,GAAwC,IAAA,4BAAkB,EAAC,0BAAe,EAAE,KAAK,CAAC,CAAA;QAC1F,MAAM,gBAAgB,GAAsB,MAAM,EAAE;aACjD,iBAAiB,CAAC,qBAAqB,EAAE,OAAO,CAAC;aACjD,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,CAAC;aAC3C,iBAAiB,CAAC,sBAAsB,EAAE,SAAS,CAAC;aACpD,iBAAiB,CAAC,yBAAyB,EAAE,SAAS,CAAC;aACvD,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC;aACxC,KAAK,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;aACxD,QAAQ,CAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;aACvE,QAAQ,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,mCAAsB,CAAC,SAAS,EAAE,CAAC;aAC9E,OAAO,EAAE,CAAA;QAEZ,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAC5E,CAAC;CACF,CAAA","sourcesContent":["import { createQueryBuilder, SelectQueryBuilder } from 'typeorm'\n\nimport { InventoryCheck, ORDER_INVENTORY_STATUS } from '@things-factory/sales-base'\nimport { getRepository } from '@things-factory/shell'\n\nimport { Worksheet, WorksheetDetail } from '../../../entities'\n\nexport const notTallyTargetInventoriesResolver = {\n async notTallyTargetInventories(_: any, { cycleCountNo }, context: ResolverContext) {\n const { domain } = context.state\n\n const cycleCount: InventoryCheck = await getRepository(InventoryCheck).findOne({\n where: { domain: { id: domain.id }, name: cycleCountNo }\n })\n\n const worksheet: Worksheet = await getRepository(Worksheet).findOne({\n where: { domain: { id: domain.id }, inventoryCheck: cycleCount }\n })\n\n const qb: SelectQueryBuilder<WorksheetDetail> = createQueryBuilder(WorksheetDetail, 'WSD')\n const worksheetDetails: WorksheetDetail[] = await qb\n .leftJoinAndSelect('WSD.targetInventory', 'T_INV')\n .leftJoinAndSelect('T_INV.inventory', 'INV')\n .leftJoinAndSelect('T_INV.originLocation', 'ORG_LOC')\n .leftJoinAndSelect('T_INV.inspectedLocation', 'ISP_LOC')\n .leftJoinAndSelect('INV.product', 'PROD')\n .where('WSD.domain = :domainId', { domainId: domain.id })\n .andWhere('WSD.worksheet = :worksheetId', { worksheetId: worksheet.id })\n .andWhere('WSD.status = :status', { status: ORDER_INVENTORY_STATUS.NOT_TALLY })\n .getMany()\n\n return worksheetDetails.map((wsd: WorksheetDetail) => wsd.targetInventory)\n }\n}\n"]}
@@ -15,8 +15,7 @@ exports.activatePackingResolver = {
15
15
  activatedPackingWs.push(result);
16
16
  });
17
17
  }
18
- catch (error) {
19
- }
18
+ catch (error) { }
20
19
  }));
21
20
  return activatedPackingWs;
22
21
  }
@@ -28,10 +27,10 @@ async function activatePacking(tx, domain, user, worksheetNo) {
28
27
  if (releaseGood.type == 'b2c') {
29
28
  const sellercraft = await tx
30
29
  .getRepository(integration_sellercraft_1.Sellercraft)
31
- .findOne({ domain: releaseGood.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
30
+ .findOneBy({ domain: releaseGood.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
32
31
  if (sellercraft) {
33
32
  const sellercraftCtrl = new controllers_1.SellercraftController(tx, domain, user);
34
- await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood);
33
+ sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood);
35
34
  }
36
35
  }
37
36
  return worksheet;