@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":"activate-packing.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/packing/activate-packing.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AAGnD,qFAAwF;AAIxF,yDAA2F;AAG9E,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,eAAe,CAAC,CAAM,EAAE,EAAE,WAAW,EAAE,EAAE,OAAY;QACzD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAmC,OAAO,CAAC,KAAK,CAAA;QAEtE,IAAI,kBAAkB,GAAG,EAAE,CAAA;QAE3B,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YAC7C,IAAI;gBACF,MAAM,IAAA,oBAAU,GAAE,CAAC,WAAW,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;oBAC3C,IAAI,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;oBAC7D,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACjC,CAAC,CAAC,CAAA;aACH;YAAC,OAAO,KAAK,EAAE;aACf;QACH,CAAC,CAAC,CAAC,CAAA;QACH,OAAO,kBAAkB,CAAA;IAC3B,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,eAAe,CACnC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,WAAmB;IAEnB,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;IACxE,IAAI,WAAW,GAAgB,SAAS,CAAC,WAAW,CAAA;IAEpD,IAAI,WAAW,CAAC,IAAI,IAAI,KAAK,EAAE;QAC7B,MAAM,WAAW,GAAgB,MAAM,EAAE;aACtC,aAAa,CAAC,qCAAW,CAAC;aAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,2CAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;QAErF,IAAI,WAAW,EAAE;YACf,MAAM,eAAe,GAA0B,IAAI,mCAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YAC1F,MAAM,eAAe,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;SACnE;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AArBD,0CAqBC","sourcesContent":["import { EntityManager, getManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport { ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PackingWorksheetController, SellercraftController } from '../../../../controllers'\nimport { Worksheet } from '../../../../entities'\n\nexport const activatePackingResolver = {\n async activatePacking(_: any, { worksheetNo }, context: any) {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n let activatedPackingWs = []\n\n await Promise.all(worksheetNo.map(async item => {\n try {\n await getManager().transaction(async txMgr => {\n let result = await activatePacking(txMgr, domain, user, item)\n activatedPackingWs.push(result)\n })\n } catch (error) {\n }\n }))\n return activatedPackingWs\n }\n}\n\nexport async function activatePacking(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetNo: string\n): Promise<Worksheet> {\n const worksheetController: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n const worksheet = await worksheetController.activatePacking(worksheetNo)\n let releaseGood: ReleaseGood = worksheet.releaseGood\n\n if (releaseGood.type == 'b2c') {\n const sellercraft: Sellercraft = await tx\n .getRepository(Sellercraft)\n .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)\n }\n }\n return worksheet\n}\n"]}
1
+ {"version":3,"file":"activate-packing.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/packing/activate-packing.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AAGnD,qFAAwF;AAIxF,yDAA2F;AAG9E,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,eAAe,CAAC,CAAM,EAAE,EAAE,WAAW,EAAE,EAAE,OAAwB;QACrE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,IAAI,kBAAkB,GAAG,EAAE,CAAA;QAE3B,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YAC3B,IAAI;gBACF,MAAM,IAAA,oBAAU,GAAE,CAAC,WAAW,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;oBAC3C,IAAI,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;oBAC7D,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACjC,CAAC,CAAC,CAAA;aACH;YAAC,OAAO,KAAK,EAAE,GAAE;QACpB,CAAC,CAAC,CACH,CAAA;QACD,OAAO,kBAAkB,CAAA;IAC3B,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,eAAe,CACnC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,WAAmB;IAEnB,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;IACxE,IAAI,WAAW,GAAgB,SAAS,CAAC,WAAW,CAAA;IAEpD,IAAI,WAAW,CAAC,IAAI,IAAI,KAAK,EAAE;QAC7B,MAAM,WAAW,GAAgB,MAAM,EAAE;aACtC,aAAa,CAAC,qCAAW,CAAC;aAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,2CAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;QAEvF,IAAI,WAAW,EAAE;YACf,MAAM,eAAe,GAA0B,IAAI,mCAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YAC1F,eAAe,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;SAChE;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AArBD,0CAqBC","sourcesContent":["import { EntityManager, getManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport { ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PackingWorksheetController, SellercraftController } from '../../../../controllers'\nimport { Worksheet } from '../../../../entities'\n\nexport const activatePackingResolver = {\n async activatePacking(_: any, { worksheetNo }, context: ResolverContext) {\n const { domain, user } = context.state\n\n let activatedPackingWs = []\n\n await Promise.all(\n worksheetNo.map(async item => {\n try {\n await getManager().transaction(async txMgr => {\n let result = await activatePacking(txMgr, domain, user, item)\n activatedPackingWs.push(result)\n })\n } catch (error) {}\n })\n )\n return activatedPackingWs\n }\n}\n\nexport async function activatePacking(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetNo: string\n): Promise<Worksheet> {\n const worksheetController: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n const worksheet = await worksheetController.activatePacking(worksheetNo)\n let releaseGood: ReleaseGood = worksheet.releaseGood\n\n if (releaseGood.type == 'b2c') {\n const sellercraft: Sellercraft = await tx\n .getRepository(Sellercraft)\n .findOneBy({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)\n }\n }\n return worksheet\n}\n"]}
@@ -13,7 +13,7 @@ exports.completePackingResolver = {
13
13
  const { tx, domain, user } = context.state;
14
14
  await completePacking(tx, domain, user, releaseGoodNo);
15
15
  const releaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
16
- where: { domain, name: releaseGoodNo },
16
+ where: { domain: { id: domain.id }, name: releaseGoodNo },
17
17
  relations: [
18
18
  'bizplace',
19
19
  'bizplace.domain',
@@ -26,7 +26,7 @@ exports.completePackingResolver = {
26
26
  if (releaseGood.type === 'b2c') {
27
27
  const sellercraft = await tx
28
28
  .getRepository(integration_sellercraft_1.Sellercraft)
29
- .findOne({ domain: releaseGood.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
29
+ .findOneBy({ domain: releaseGood.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
30
30
  if (!sellercraft) {
31
31
  const companyDomain = releaseGood.bizplace.company.domain;
32
32
  const marketplaceOrder = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
@@ -1 +1 @@
1
- {"version":3,"file":"complete-packing.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/packing/complete-packing.ts"],"names":[],"mappings":";;;AAGA,uDAAkE;AAElE,qFAAwF;AACxF,uEAAmE;AACnE,2DAAwD;AAGxD,0DAAqE;AACrE,iEAAuE;AACvE,uFAAkF;AAErE,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,eAAe,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,EAAE,OAAY;QAC3D,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;QAEtD,MAAM,WAAW,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,OAAO,CAAC;YAC3E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;YACtC,SAAS,EAAE;gBACT,UAAU;gBACV,iBAAiB;gBACjB,kBAAkB;gBAClB,yBAAyB;gBACzB,kBAAkB;gBAClB,0BAA0B;aAC3B;SACF,CAAC,CAAA;QAEF,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,EAAE;YAC9B,MAAM,WAAW,GAAgB,MAAM,EAAE;iBACtC,aAAa,CAAC,qCAAW,CAAC;iBAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,2CAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;YAErF,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,aAAa,GAAW,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAA;gBACjE,MAAM,gBAAgB,GAAqB,MAAM,EAAE,CAAC,aAAa,CAAC,mCAAgB,CAAC,CAAC,OAAO,CAAC;oBAC1F,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE;oBAC5D,SAAS,EAAE;wBACT,uBAAuB;wBACvB,qDAAqD;wBACrD,8EAA8E;wBAC9E,kBAAkB;wBAClB,0CAA0C;qBAC3C;iBACF,CAAC,CAAA;gBACF,MAAM,gBAAgB,GAAqB,gBAAgB,CAAC,gBAAgB,CAAA;gBAE5E,IAAI,gBAAgB,CAAC,oBAAoB,EAAE;oBACzC,MAAM,aAAa,GAAwB,IAAI,+BAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;oBACpF,MAAM,aAAa,CAAC,eAAe,CAAC,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAA;iBACpG;aACF;SACF;QAED,MAAM,QAAQ,GAAa,MAAM,IAAA,wBAAa,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,mBAAmB,GAAwB,IAAI,0CAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAC1F,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YACnD,KAAK,EAAE,+BAA+B,QAAQ,CAAC,IAAI,KAAK,aAAa,GAAG;YACxE,IAAI,EAAE,4CAA4C;YAClD,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,eAAe,CACnC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,aAAqB;IAErB,MAAM,aAAa,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAClG,MAAM,aAAa,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;AACpD,CAAC;AARD,0CAQC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, getMyBizplace } from '@things-factory/biz-base'\nimport { MarketplaceStore } from '@things-factory/integration-marketplace'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport { MarketplaceOrder } from '@things-factory/marketplace-base'\nimport { ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PackingWorksheetController } from '../../../../controllers/'\nimport { EcommerceController } from '../../../../controllers/ecommerce'\nimport { WorksheetController } from '../../../../controllers/worksheet-controller'\n\nexport const completePackingResolver = {\n async completePacking(_: any, { releaseGoodNo }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n await completePacking(tx, domain, user, releaseGoodNo)\n\n const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({\n where: { domain, name: releaseGoodNo },\n relations: [\n 'bizplace',\n 'bizplace.domain',\n 'bizplace.company',\n 'bizplace.company.domain',\n 'orderInventories',\n 'orderInventories.product'\n ]\n })\n\n if (releaseGood.type === 'b2c') {\n const sellercraft: Sellercraft = await tx\n .getRepository(Sellercraft)\n .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })\n\n if (!sellercraft) {\n const companyDomain: Domain = releaseGood.bizplace.company.domain\n const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({\n where: { orderNo: releaseGood.refNo, domain: companyDomain },\n relations: [\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',\n 'marketplaceStore',\n 'marketplaceStore.marketplaceDistributors'\n ]\n })\n const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore\n\n if (marketplaceStore.isAutoUpdateShipment) {\n const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)\n await ecommerceCtrl.createOrderShip(releaseGood, marketplaceStore, marketplaceOrder, companyDomain)\n }\n }\n }\n\n const bizplace: Bizplace = await getMyBizplace(domain, user)\n const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)\n await worksheetController.notifyToCustomer(bizplace, {\n title: `Packing has been completed (${bizplace.name}, ${releaseGoodNo})`,\n body: `Items now are ready to be shipped/delivery`,\n url: context.header.referer,\n data: { url: context.header.referer }\n })\n }\n}\n\nexport async function completePacking(\n tx: EntityManager,\n domain: Domain,\n user: User,\n releaseGoodNo: string\n): Promise<void> {\n const packingWSCtrl: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n await packingWSCtrl.completePacking(releaseGoodNo)\n}\n"]}
1
+ {"version":3,"file":"complete-packing.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/packing/complete-packing.ts"],"names":[],"mappings":";;;AAGA,uDAAkE;AAElE,qFAAwF;AACxF,uEAAmE;AACnE,2DAAwD;AAGxD,0DAAqE;AACrE,iEAAuE;AACvE,uFAAkF;AAErE,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,eAAe,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,EAAE,OAAwB;QACvE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;QAEtD,MAAM,WAAW,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,OAAO,CAAC;YAC3E,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;YACzD,SAAS,EAAE;gBACT,UAAU;gBACV,iBAAiB;gBACjB,kBAAkB;gBAClB,yBAAyB;gBACzB,kBAAkB;gBAClB,0BAA0B;aAC3B;SACF,CAAC,CAAA;QAEF,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,EAAE;YAC9B,MAAM,WAAW,GAAgB,MAAM,EAAE;iBACtC,aAAa,CAAC,qCAAW,CAAC;iBAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,2CAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;YAEvF,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,aAAa,GAAW,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAA;gBACjE,MAAM,gBAAgB,GAAqB,MAAM,EAAE,CAAC,aAAa,CAAC,mCAAgB,CAAC,CAAC,OAAO,CAAC;oBAC1F,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE;oBAC5D,SAAS,EAAE;wBACT,uBAAuB;wBACvB,qDAAqD;wBACrD,8EAA8E;wBAC9E,kBAAkB;wBAClB,0CAA0C;qBAC3C;iBACF,CAAC,CAAA;gBACF,MAAM,gBAAgB,GAAqB,gBAAgB,CAAC,gBAAgB,CAAA;gBAE5E,IAAI,gBAAgB,CAAC,oBAAoB,EAAE;oBACzC,MAAM,aAAa,GAAwB,IAAI,+BAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;oBACpF,MAAM,aAAa,CAAC,eAAe,CAAC,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAA;iBACpG;aACF;SACF;QAED,MAAM,QAAQ,GAAa,MAAM,IAAA,wBAAa,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,mBAAmB,GAAwB,IAAI,0CAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAC1F,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YACnD,KAAK,EAAE,+BAA+B,QAAQ,CAAC,IAAI,KAAK,aAAa,GAAG;YACxE,IAAI,EAAE,4CAA4C;YAClD,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,eAAe,CACnC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,aAAqB;IAErB,MAAM,aAAa,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAClG,MAAM,aAAa,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;AACpD,CAAC;AARD,0CAQC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, getMyBizplace } from '@things-factory/biz-base'\nimport { MarketplaceStore } from '@things-factory/integration-marketplace'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport { MarketplaceOrder } from '@things-factory/marketplace-base'\nimport { ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PackingWorksheetController } from '../../../../controllers/'\nimport { EcommerceController } from '../../../../controllers/ecommerce'\nimport { WorksheetController } from '../../../../controllers/worksheet-controller'\n\nexport const completePackingResolver = {\n async completePacking(_: any, { releaseGoodNo }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n await completePacking(tx, domain, user, releaseGoodNo)\n\n const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({\n where: { domain: { id: domain.id }, name: releaseGoodNo },\n relations: [\n 'bizplace',\n 'bizplace.domain',\n 'bizplace.company',\n 'bizplace.company.domain',\n 'orderInventories',\n 'orderInventories.product'\n ]\n })\n\n if (releaseGood.type === 'b2c') {\n const sellercraft: Sellercraft = await tx\n .getRepository(Sellercraft)\n .findOneBy({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })\n\n if (!sellercraft) {\n const companyDomain: Domain = releaseGood.bizplace.company.domain\n const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({\n where: { orderNo: releaseGood.refNo, domain: companyDomain },\n relations: [\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',\n 'marketplaceStore',\n 'marketplaceStore.marketplaceDistributors'\n ]\n })\n const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore\n\n if (marketplaceStore.isAutoUpdateShipment) {\n const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)\n await ecommerceCtrl.createOrderShip(releaseGood, marketplaceStore, marketplaceOrder, companyDomain)\n }\n }\n }\n\n const bizplace: Bizplace = await getMyBizplace(domain, user)\n const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)\n await worksheetController.notifyToCustomer(bizplace, {\n title: `Packing has been completed (${bizplace.name}, ${releaseGoodNo})`,\n body: `Items now are ready to be shipped/delivery`,\n url: context.header.referer,\n data: { url: context.header.referer }\n })\n }\n}\n\nexport async function completePacking(\n tx: EntityManager,\n domain: Domain,\n user: User,\n releaseGoodNo: string\n): Promise<void> {\n const packingWSCtrl: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n await packingWSCtrl.completePacking(releaseGoodNo)\n}\n"]}
@@ -17,7 +17,7 @@ async function packing(tx, domain, user, worksheetDetailName, releaseQty, serial
17
17
  if (releaseGood.type === 'b2c' && !(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill)) {
18
18
  const sellercraft = await tx
19
19
  .getRepository(integration_sellercraft_1.Sellercraft)
20
- .findOne({ domain: worksheet.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
20
+ .findOneBy({ domain: worksheet.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
21
21
  if (sellercraft) {
22
22
  const sellercraftCtrl = new controllers_1.SellercraftController(tx, domain, user);
23
23
  await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood);
@@ -1 +1 @@
1
- {"version":3,"file":"packing.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/packing/packing.ts"],"names":[],"mappings":";;;AAGA,qFAAwF;AAIxF,yDAA2F;AAG9E,QAAA,eAAe,GAAG;IAC7B,KAAK,CAAC,OAAO,CAAC,CAAM,EAAE,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,OAAY;QACnF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IAChF,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,OAAO,CAC3B,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B,EAC3B,UAAkB,EAClB,YAAqB;IAErB,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IAExG,IAAI,WAAW,GAAgB,eAAe,CAAC,eAAe,CAAC,WAAW,CAAA;IAC1E,MAAM,SAAS,GAAc,eAAe,CAAC,SAAS,CAAA;IAEtD,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,CAAA,EAAE;QAC1D,MAAM,WAAW,GAAgB,MAAM,EAAE;aACtC,aAAa,CAAC,qCAAW,CAAC;aAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,2CAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;QAEnF,IAAI,WAAW,EAAE;YACf,MAAM,eAAe,GAA0B,IAAI,mCAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YAC1F,MAAM,eAAe,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;SACnE;KACF;AACH,CAAC;AAxBD,0BAwBC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport { ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PackingWorksheetController, SellercraftController } from '../../../../controllers'\nimport { Worksheet } from '../../../../entities'\n\nexport const packingResolver = {\n async packing(_: any, { worksheetDetailName, releaseQty, serialNumber }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n await packing(tx, domain, user, worksheetDetailName, releaseQty, serialNumber)\n }\n}\n\nexport async function packing(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string,\n releaseQty: number,\n serialNumber?: string\n) {\n const worksheetController: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n const worksheetDetail = await worksheetController.packing(worksheetDetailName, releaseQty, serialNumber)\n\n let releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood\n const worksheet: Worksheet = worksheetDetail.worksheet\n\n if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {\n const sellercraft: Sellercraft = await tx\n .getRepository(Sellercraft)\n .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)\n }\n }\n}\n"]}
1
+ {"version":3,"file":"packing.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/packing/packing.ts"],"names":[],"mappings":";;;AAGA,qFAAwF;AAIxF,yDAA2F;AAG9E,QAAA,eAAe,GAAG;IAC7B,KAAK,CAAC,OAAO,CAAC,CAAM,EAAE,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,OAAwB;QAC/F,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IAChF,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,OAAO,CAC3B,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B,EAC3B,UAAkB,EAClB,YAAqB;IAErB,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IAExG,IAAI,WAAW,GAAgB,eAAe,CAAC,eAAe,CAAC,WAAW,CAAA;IAC1E,MAAM,SAAS,GAAc,eAAe,CAAC,SAAS,CAAA;IAEtD,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,CAAA,EAAE;QAC1D,MAAM,WAAW,GAAgB,MAAM,EAAE;aACtC,aAAa,CAAC,qCAAW,CAAC;aAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,2CAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;QAErF,IAAI,WAAW,EAAE;YACf,MAAM,eAAe,GAA0B,IAAI,mCAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YAC1F,MAAM,eAAe,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;SACnE;KACF;AACH,CAAC;AAxBD,0BAwBC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport { ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PackingWorksheetController, SellercraftController } from '../../../../controllers'\nimport { Worksheet } from '../../../../entities'\n\nexport const packingResolver = {\n async packing(_: any, { worksheetDetailName, releaseQty, serialNumber }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n await packing(tx, domain, user, worksheetDetailName, releaseQty, serialNumber)\n }\n}\n\nexport async function packing(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string,\n releaseQty: number,\n serialNumber?: string\n) {\n const worksheetController: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n const worksheetDetail = await worksheetController.packing(worksheetDetailName, releaseQty, serialNumber)\n\n let releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood\n const worksheet: Worksheet = worksheetDetail.worksheet\n\n if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {\n const sellercraft: Sellercraft = await tx\n .getRepository(Sellercraft)\n .findOneBy({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)\n }\n }\n}\n"]}
@@ -10,19 +10,24 @@ exports.scanProductPackingResolver = {
10
10
  }
11
11
  };
12
12
  async function scanProductPacking(tx, domain, user, worksheetDetailName, productBarcode, serialNumber) {
13
- const worksheetController = new controllers_1.PackingWorksheetController(tx, domain, user);
14
- const worksheetDetail = await worksheetController.scanProductPacking(worksheetDetailName, productBarcode, serialNumber);
15
- let releaseGood = worksheetDetail.targetInventory.releaseGood;
16
- const worksheet = worksheetDetail.worksheet;
17
- if (releaseGood.type === 'b2c' && !(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill)) {
18
- const sellercraft = await tx
19
- .getRepository(integration_sellercraft_1.Sellercraft)
20
- .findOne({ domain: worksheet.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
21
- if (sellercraft) {
22
- const sellercraftCtrl = new controllers_1.SellercraftController(tx, domain, user);
23
- await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood);
13
+ try {
14
+ const worksheetController = new controllers_1.PackingWorksheetController(tx, domain, user);
15
+ const worksheetDetail = await worksheetController.scanProductPacking(worksheetDetailName, productBarcode, serialNumber);
16
+ let releaseGood = worksheetDetail.targetInventory.releaseGood;
17
+ const worksheet = worksheetDetail.worksheet;
18
+ if (releaseGood.type === 'b2c' && !(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill)) {
19
+ const sellercraft = await tx
20
+ .getRepository(integration_sellercraft_1.Sellercraft)
21
+ .findOneBy({ domain: worksheet.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
22
+ if (sellercraft) {
23
+ const sellercraftCtrl = new controllers_1.SellercraftController(tx, domain, user);
24
+ sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood);
25
+ }
24
26
  }
25
27
  }
28
+ catch (error) {
29
+ throw error;
30
+ }
26
31
  }
27
32
  exports.scanProductPacking = scanProductPacking;
28
33
  //# sourceMappingURL=scan-product-packing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan-product-packing.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/packing/scan-product-packing.ts"],"names":[],"mappings":";;;AAGA,qFAAwF;AAIxF,yDAA2F;AAG9E,QAAA,0BAA0B,GAAG;IACxC,KAAK,CAAC,kBAAkB,CAAC,CAAM,EAAE,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,OAAY;QAClG,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA;IAC/F,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,kBAAkB,CACtC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B,EAC3B,cAAsB,EACtB,YAAqB;IAErB,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,kBAAkB,CAClE,mBAAmB,EACnB,cAAc,EACd,YAAY,CACb,CAAA;IAED,IAAI,WAAW,GAAgB,eAAe,CAAC,eAAe,CAAC,WAAW,CAAA;IAC1E,MAAM,SAAS,GAAc,eAAe,CAAC,SAAS,CAAA;IAEtD,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,CAAA,EAAE;QAC1D,MAAM,WAAW,GAAgB,MAAM,EAAE;aACtC,aAAa,CAAC,qCAAW,CAAC;aAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,2CAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;QAEnF,IAAI,WAAW,EAAE;YACf,MAAM,eAAe,GAA0B,IAAI,mCAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YAC1F,MAAM,eAAe,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;SACnE;KACF;AACH,CAAC;AA5BD,gDA4BC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport { ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PackingWorksheetController, SellercraftController } from '../../../../controllers'\nimport { Worksheet } from '../../../../entities'\n\nexport const scanProductPackingResolver = {\n async scanProductPacking(_: any, { worksheetDetailName, productBarcode, serialNumber }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n await scanProductPacking(tx, domain, user, worksheetDetailName, productBarcode, serialNumber)\n }\n}\n\nexport async function scanProductPacking(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string,\n productBarcode: string,\n serialNumber?: string\n) {\n const worksheetController: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n const worksheetDetail = await worksheetController.scanProductPacking(\n worksheetDetailName,\n productBarcode,\n serialNumber\n )\n\n let releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood\n const worksheet: Worksheet = worksheetDetail.worksheet\n\n if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {\n const sellercraft: Sellercraft = await tx\n .getRepository(Sellercraft)\n .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)\n }\n }\n}\n"]}
1
+ {"version":3,"file":"scan-product-packing.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/packing/scan-product-packing.ts"],"names":[],"mappings":";;;AAGA,qFAAwF;AAIxF,yDAA2F;AAG9E,QAAA,0BAA0B,GAAG;IACxC,KAAK,CAAC,kBAAkB,CAAC,CAAM,EAAE,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,OAAwB;QAC9G,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA;IAC/F,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,kBAAkB,CACtC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B,EAC3B,cAAsB,EACtB,YAAqB;IAErB,IAAI;QACF,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACxG,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,kBAAkB,CAClE,mBAAmB,EACnB,cAAc,EACd,YAAY,CACb,CAAA;QAED,IAAI,WAAW,GAAgB,eAAe,CAAC,eAAe,CAAC,WAAW,CAAA;QAC1E,MAAM,SAAS,GAAc,eAAe,CAAC,SAAS,CAAA;QAEtD,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,CAAA,EAAE;YAC1D,MAAM,WAAW,GAAgB,MAAM,EAAE;iBACtC,aAAa,CAAC,qCAAW,CAAC;iBAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,2CAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;YAErF,IAAI,WAAW,EAAE;gBACf,MAAM,eAAe,GAA0B,IAAI,mCAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;gBAC1F,eAAe,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;aAC7D;SACF;KACF;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,KAAK,CAAA;KACZ;AACH,CAAC;AAhCD,gDAgCC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport { ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PackingWorksheetController, SellercraftController } from '../../../../controllers'\nimport { Worksheet } from '../../../../entities'\n\nexport const scanProductPackingResolver = {\n async scanProductPacking(_: any, { worksheetDetailName, productBarcode, serialNumber }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n await scanProductPacking(tx, domain, user, worksheetDetailName, productBarcode, serialNumber)\n }\n}\n\nexport async function scanProductPacking(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string,\n productBarcode: string,\n serialNumber?: string\n) {\n try {\n const worksheetController: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n const worksheetDetail = await worksheetController.scanProductPacking(\n worksheetDetailName,\n productBarcode,\n serialNumber\n )\n\n let releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood\n const worksheet: Worksheet = worksheetDetail.worksheet\n\n if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {\n const sellercraft: Sellercraft = await tx\n .getRepository(Sellercraft)\n .findOneBy({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)\n }\n }\n } catch (error) {\n throw error\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"undo-serial-number-packing.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.ts"],"names":[],"mappings":";;;AAKA,yDAAoE;AAEvD,QAAA,+BAA+B,GAAG;IAC7C,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,EAAE,OAAY;QAC1F,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAA;IACvF,CAAC;CACF,CAAA;AAED,KAAK,UAAU,uBAAuB,CACpC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B,EAC3B,eAAuB;IAEvB,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,MAAM,mBAAmB,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAA;AACzF,CAAC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PackingWorksheetController } from '../../../../controllers'\n\nexport const undoSerialNumberPackingResolver = {\n async undoSerialNumberPacking(_: any, { worksheetDetailName, inventoryItemId }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n await undoSerialNumberPacking(tx, domain, user, worksheetDetailName, inventoryItemId)\n }\n}\n\nasync function undoSerialNumberPacking(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string,\n inventoryItemId: string\n): Promise<void> {\n const worksheetController: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n await worksheetController.undoSerialNumberPacking(worksheetDetailName, inventoryItemId)\n}\n"]}
1
+ {"version":3,"file":"undo-serial-number-packing.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.ts"],"names":[],"mappings":";;;AAKA,yDAAoE;AAEvD,QAAA,+BAA+B,GAAG;IAC7C,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,EAAE,OAAwB;QACtG,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAA;IACvF,CAAC;CACF,CAAA;AAED,KAAK,UAAU,uBAAuB,CACpC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B,EAC3B,eAAuB;IAEvB,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,MAAM,mBAAmB,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAA;AACzF,CAAC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PackingWorksheetController } from '../../../../controllers'\n\nexport const undoSerialNumberPackingResolver = {\n async undoSerialNumberPacking(_: any, { worksheetDetailName, inventoryItemId }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n await undoSerialNumberPacking(tx, domain, user, worksheetDetailName, inventoryItemId)\n }\n}\n\nasync function undoSerialNumberPacking(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string,\n inventoryItemId: string\n): Promise<void> {\n const worksheetController: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n await worksheetController.undoSerialNumberPacking(worksheetDetailName, inventoryItemId)\n}\n"]}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTrackingNo = exports.packingWorksheetResolver = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const env_1 = require("@things-factory/env");
4
6
  const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
5
7
  const marketplace_base_1 = require("@things-factory/marketplace-base");
6
8
  const sales_base_1 = require("@things-factory/sales-base");
@@ -8,14 +10,15 @@ const warehouse_base_1 = require("@things-factory/warehouse-base");
8
10
  const constants_1 = require("../../../constants");
9
11
  const controllers_1 = require("../../../controllers");
10
12
  const utils_1 = require("../../../utils");
13
+ const setting_base_1 = require("@things-factory/setting-base");
11
14
  exports.packingWorksheetResolver = {
12
15
  async packingWorksheet(_, { releaseGoodNo }, context) {
13
- var _a;
16
+ var _a, _b, _c, _d;
14
17
  try {
15
18
  const { tx, domain, user } = context.state;
16
19
  let releaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
17
20
  where: {
18
- domain,
21
+ domain: { id: domain.id },
19
22
  name: releaseGoodNo
20
23
  },
21
24
  relations: ['bizplace', 'bizplace.domain']
@@ -23,7 +26,7 @@ exports.packingWorksheetResolver = {
23
26
  // Find Release Order based on Bin
24
27
  if (!releaseGood) {
25
28
  const binLocation = await tx.getRepository(warehouse_base_1.Location).findOne({
26
- where: { domain, name: releaseGoodNo }
29
+ where: { domain: { id: domain.id }, name: releaseGoodNo }
27
30
  });
28
31
  if (binLocation) {
29
32
  const qb = tx
@@ -32,7 +35,7 @@ exports.packingWorksheetResolver = {
32
35
  qb.innerJoinAndSelect('orderInventory.releaseGood', 'releaseGood')
33
36
  .innerJoinAndSelect('releaseGood.bizplace', 'bizplace')
34
37
  .innerJoinAndSelect('bizplace.domain', 'domain')
35
- .innerJoinAndSelect('worksheets', 'ws', `orderInventory.release_good_id = ws.release_good_id AND ws.type = 'PACKING' AND ws.status = 'EXECUTING'`)
38
+ .innerJoinAndSelect('worksheets', 'ws', `orderInventory.release_good_id = ws.release_good_id AND ws.type = 'PACKING' AND (ws.status = 'EXECUTING' OR ws.status = 'DEACTIVATED')`)
36
39
  .where('orderInventory.domain_id = :domainId', { domainId: domain.id })
37
40
  .andWhere('orderInventory.status IN (:...orderInventoryStatus)', {
38
41
  orderInventoryStatus: [
@@ -44,11 +47,20 @@ exports.packingWorksheetResolver = {
44
47
  .andWhere('orderInventory.bin_location_id = :locationId', { locationId: binLocation.id })
45
48
  .andWhere('releaseGood.status IN (:...status)', {
46
49
  status: [sales_base_1.ORDER_STATUS.READY_TO_PACK, sales_base_1.ORDER_STATUS.PACKING]
50
+ })
51
+ .orderBy(`case when orderInventory.status = '${sales_base_1.ORDER_INVENTORY_STATUS.PACKED}' then 1 end`)
52
+ .addOrderBy('ws.created_at', 'ASC');
53
+ const [orderInventoriesByBin, totalInventoriesByBin] = await qb.getManyAndCount();
54
+ // @oscarchuaweiwen-fsd @chrislim I suggest using getMany() instead since the total is redundant here
55
+ // remove duplicated count of release good
56
+ const filteredRO = orderInventoriesByBin.map(oiBin => {
57
+ return oiBin.releaseGood.name;
47
58
  });
48
- const orderInventoryByBin = await qb.getOne();
49
- if (orderInventoryByBin === null || orderInventoryByBin === void 0 ? void 0 : orderInventoryByBin.releaseGood) {
50
- releaseGoodNo = orderInventoryByBin.releaseGood.name;
51
- releaseGood = orderInventoryByBin.releaseGood;
59
+ if (orderInventoriesByBin.length > 0) {
60
+ releaseGoodNo = orderInventoriesByBin[0].releaseGood.name;
61
+ releaseGood = orderInventoriesByBin[0].releaseGood;
62
+ releaseGood.totalInventoriesByBin = [...new Set(filteredRO)].length;
63
+ releaseGood.isOrderInventoryBin = true;
52
64
  }
53
65
  else {
54
66
  throw new Error(`Bin do not have any existing order.`);
@@ -71,25 +83,48 @@ exports.packingWorksheetResolver = {
71
83
  'worksheetDetails.targetInventory.inventory.product.productDetails',
72
84
  'worksheetDetails.toLocation'
73
85
  ], constants_1.WORKSHEET_TYPE.PACKING, releaseGood);
74
- let marketplaceOrder;
86
+ if (worksheet.status === 'DEACTIVATED') {
87
+ const packingWSCtrl = new controllers_1.PackingWorksheetController(tx, domain, user);
88
+ const directActivatePackingWorksheet = await tx.getRepository(setting_base_1.Setting).findOne({
89
+ where: { domain: domain, category: 'id-rule', name: 'enable-direct-activate-packing-worksheet' }
90
+ });
91
+ const partnerDirectActivatePackingWorksheetSetting = await tx
92
+ .getRepository(setting_base_1.PartnerSetting)
93
+ .findOne({
94
+ where: {
95
+ setting: directActivatePackingWorksheet,
96
+ domain: domain,
97
+ partnerDomain: (_a = releaseGood.bizplace) === null || _a === void 0 ? void 0 : _a.domain
98
+ }
99
+ });
100
+ if (directActivatePackingWorksheet != undefined &&
101
+ directActivatePackingWorksheet.value.toLowerCase() == 'true') {
102
+ if (partnerDirectActivatePackingWorksheetSetting != undefined) {
103
+ if (partnerDirectActivatePackingWorksheetSetting.value.toLowerCase() == 'true')
104
+ await packingWSCtrl.activatePacking(worksheet.name);
105
+ }
106
+ else {
107
+ await packingWSCtrl.activatePacking(worksheet.name);
108
+ }
109
+ }
110
+ else {
111
+ throw new Error('Kindly go to packing worksheet page to activate the packing worksheet');
112
+ }
113
+ }
114
+ let marketplaceOrder = {};
75
115
  let marketplaceOrderItems = [];
76
116
  let marketplaceStore;
77
117
  let trackingNo;
78
118
  let shippingProvider;
79
119
  let marketplaceStatus;
80
120
  if (releaseGood.type === 'b2c') {
81
- const sellercraft = await tx.getRepository(integration_sellercraft_1.Sellercraft).findOne({
82
- domain: worksheet.bizplace.domain,
121
+ const sellercraft = await tx.getRepository(integration_sellercraft_1.Sellercraft).findOneBy({
122
+ domain: { id: worksheet.bizplace.domain.id },
83
123
  status: integration_sellercraft_1.SellercraftStatus.ACTIVE
84
124
  });
85
125
  if (sellercraft) {
86
- if (!(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill)) {
87
- const sellercraftCtrl = new controllers_1.SellercraftController(tx, domain, user);
88
- releaseGood = await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood);
89
- }
90
- trackingNo = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.trackingNo;
91
- shippingProvider = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.transporter;
92
- marketplaceStatus = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.marketplaceOrderStatus;
126
+ // asynchronously get document from sellercraft
127
+ getSellercraftDocument(sellercraft, releaseGood, domain, user);
93
128
  }
94
129
  else {
95
130
  marketplaceOrder = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
@@ -133,19 +168,19 @@ exports.packingWorksheetResolver = {
133
168
  refNo: releaseGood.refNo,
134
169
  refNo2: releaseGood.refNo2,
135
170
  refNo3: releaseGood.refNo3,
136
- partnerDomainId: (_a = releaseGood.bizplace) === null || _a === void 0 ? void 0 : _a.domain.id,
171
+ partnerDomainId: (_b = releaseGood.bizplace) === null || _b === void 0 ? void 0 : _b.domain.id,
137
172
  startedAt: worksheet.startedAt,
138
173
  shippingProvider: shippingProvider ? shippingProvider : '',
139
174
  trackingNo: trackingNo ? trackingNo : '',
140
175
  airwayBill: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill,
141
176
  checkedRemarkBy: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.checkedRemarkBy,
142
177
  invoice: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.invoice,
143
- platform: marketplaceOrder ? marketplaceOrder.marketplaceStore.platform : 'operato',
144
- marketplaceStoreId: marketplaceOrder ? marketplaceOrder.marketplaceStore.id : '',
178
+ platform: Object.keys(marketplaceOrder).length > 0 ? (_c = marketplaceOrder.marketplaceStore) === null || _c === void 0 ? void 0 : _c.platform : 'operato',
179
+ marketplaceStoreId: Object.keys(marketplaceOrder).length > 0 ? (_d = marketplaceOrder.marketplaceStore) === null || _d === void 0 ? void 0 : _d.id : '',
145
180
  marketplaceStatus: marketplaceStatus ? marketplaceStatus : '',
146
181
  marketplaceOrder: marketplaceOrder ? marketplaceOrder : ''
147
182
  },
148
- worksheetDetailInfos: worksheet.worksheetDetails.map(async (packingWSD) => {
183
+ worksheetDetailInfos: worksheet.worksheetDetails.map((packingWSD) => {
149
184
  const targetInventory = packingWSD.targetInventory;
150
185
  const inventory = targetInventory.inventory;
151
186
  return {
@@ -210,4 +245,43 @@ async function getTrackingNo(marketplaceStore, marketplaceOrderItems) {
210
245
  return trackingNo;
211
246
  }
212
247
  exports.getTrackingNo = getTrackingNo;
248
+ //trigger RTS, init document, and fetch sellercraft document in separated transaction
249
+ async function getSellercraftDocument(sellercraft, releaseGood, domain, user) {
250
+ await (0, typeorm_1.getManager)().transaction(async (txMgr) => {
251
+ const sellercraftCtrl = new controllers_1.SellercraftController(txMgr, domain, user);
252
+ try {
253
+ if (!(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill)) {
254
+ try {
255
+ // try fetch order document / AWB
256
+ releaseGood = await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood);
257
+ }
258
+ catch (error) {
259
+ try {
260
+ // retry initiate order document
261
+ await sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood);
262
+ }
263
+ catch (error) {
264
+ try {
265
+ // retry initiate order shipment / RTS
266
+ await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood);
267
+ }
268
+ catch (error) {
269
+ throw new Error(`initiateOrderShipment: ${error}`);
270
+ }
271
+ throw new Error(`initiateOrderDocument: ${error}`);
272
+ }
273
+ throw new Error(`fetchOrderDocument: ${error}`);
274
+ }
275
+ }
276
+ }
277
+ catch (error) {
278
+ env_1.logger.error(`packing-worksheet[getSellercraftDocument]:(data:${JSON.stringify({
279
+ sellercraft,
280
+ releaseGood,
281
+ domain,
282
+ user
283
+ })}) ${error} `);
284
+ }
285
+ });
286
+ }
213
287
  //# sourceMappingURL=packing-worksheet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packing-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/packing-worksheet.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager, SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport {\n MarketplaceOrder,\n MarketplaceOrderItem,\n MarketplaceOrderShipping,\n MarketplaceOrderShippingItem\n} from '@things-factory/marketplace-base'\nimport { ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { Inventory, Location } from '@things-factory/warehouse-base'\n\nimport { WORKSHEET_TYPE } from '../../../constants'\nimport { SellercraftController } from '../../../controllers'\nimport { Worksheet, WorksheetDetail } from '../../../entities'\nimport { fetchExecutingWorksheet } from '../../../utils'\n\nexport const packingWorksheetResolver = {\n async packingWorksheet(_: any, { releaseGoodNo }, context: any) {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n let releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({\n where: {\n domain,\n name: releaseGoodNo\n },\n relations: ['bizplace', 'bizplace.domain']\n })\n\n // Find Release Order based on Bin\n if (!releaseGood) {\n const binLocation: Location = await tx.getRepository(Location).findOne({\n where: { domain, name: releaseGoodNo }\n })\n\n if (binLocation) {\n const qb: SelectQueryBuilder<OrderInventory> = tx\n .getRepository(OrderInventory)\n .createQueryBuilder('orderInventory')\n\n qb.innerJoinAndSelect('orderInventory.releaseGood', 'releaseGood')\n .innerJoinAndSelect('releaseGood.bizplace', 'bizplace')\n .innerJoinAndSelect('bizplace.domain', 'domain')\n .innerJoinAndSelect(\n 'worksheets',\n 'ws',\n `orderInventory.release_good_id = ws.release_good_id AND ws.type = 'PACKING' AND ws.status = 'EXECUTING'`\n )\n .where('orderInventory.domain_id = :domainId', { domainId: domain.id })\n .andWhere('orderInventory.status IN (:...orderInventoryStatus)', {\n orderInventoryStatus: [\n ORDER_INVENTORY_STATUS.READY_TO_PACK,\n ORDER_INVENTORY_STATUS.PACKING,\n ORDER_INVENTORY_STATUS.PACKED\n ]\n })\n .andWhere('orderInventory.bin_location_id = :locationId', { locationId: binLocation.id })\n .andWhere('releaseGood.status IN (:...status)', {\n status: [ORDER_STATUS.READY_TO_PACK, ORDER_STATUS.PACKING]\n })\n\n const orderInventoryByBin = await qb.getOne()\n if (orderInventoryByBin?.releaseGood) {\n releaseGoodNo = orderInventoryByBin.releaseGood.name\n releaseGood = orderInventoryByBin.releaseGood\n } else {\n throw new Error(`Bin do not have any existing order.`)\n }\n }\n }\n\n if (!releaseGood) throw new Error(`Release good do not exist.`)\n\n const worksheet: Worksheet = await fetchExecutingWorksheet(\n domain,\n releaseGood.bizplace,\n [\n 'bizplace',\n 'bizplace.domain',\n 'releaseGood',\n 'releaseGood.domain',\n 'worksheetDetails',\n 'worksheetDetails.targetInventory',\n 'worksheetDetails.targetInventory.binLocation',\n 'worksheetDetails.targetInventory.inventory',\n 'worksheetDetails.targetInventory.inventory.location',\n 'worksheetDetails.targetInventory.inventory.product',\n 'worksheetDetails.targetInventory.inventory.product.productDetails',\n 'worksheetDetails.toLocation'\n ],\n WORKSHEET_TYPE.PACKING,\n releaseGood\n )\n\n let marketplaceOrder: MarketplaceOrder\n let marketplaceOrderItems: MarketplaceOrderItem[] = []\n let marketplaceStore\n let trackingNo: string\n let shippingProvider: string\n let marketplaceStatus: string\n\n if (releaseGood.type === 'b2c') {\n const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({\n domain: worksheet.bizplace.domain,\n status: SellercraftStatus.ACTIVE\n })\n\n if (sellercraft) {\n if (!releaseGood?.airwayBill) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n releaseGood = await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)\n }\n trackingNo = releaseGood?.trackingNo\n shippingProvider = releaseGood?.transporter\n marketplaceStatus = releaseGood?.marketplaceOrderStatus\n } else {\n marketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({\n where: { orderNo: releaseGood.refNo },\n relations: [\n 'domain',\n 'marketplaceStore',\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'\n ]\n })\n\n if (!marketplaceOrder) {\n throw new Error('Failed to retrieve ecommerce information, kindly contact our support team for this issue.')\n }\n\n let marketplaceOrderShipping: MarketplaceOrderShipping\n if (marketplaceOrder.isSplitted) {\n marketplaceOrderShipping = await tx.getRepository(MarketplaceOrderShipping).findOne({\n where: { subOrderNoRef: worksheet.releaseGood.refNo2 }\n })\n } else {\n marketplaceOrderShipping = await tx.getRepository(MarketplaceOrderShipping).findOne({\n where: { orderNoRef: worksheet.releaseGood.refNo }\n })\n }\n\n trackingNo = marketplaceOrderShipping.ownTrackingNo\n ? marketplaceOrderShipping.ownTrackingNo\n : marketplaceOrderShipping.trackingNo\n shippingProvider = marketplaceOrderShipping.ownTransporter\n ? marketplaceOrderShipping.ownTransporter\n : marketplaceOrderShipping.transporter\n\n marketplaceStore = marketplaceOrder?.marketplaceStore\n marketplaceStatus = marketplaceOrder?.status\n }\n }\n\n return {\n worksheetInfo: {\n releaseGood,\n bizplaceName: releaseGood.bizplace.name,\n refNo: releaseGood.refNo,\n refNo2: releaseGood.refNo2,\n refNo3: releaseGood.refNo3,\n partnerDomainId: releaseGood.bizplace?.domain.id,\n startedAt: worksheet.startedAt,\n shippingProvider: shippingProvider ? shippingProvider : '',\n trackingNo: trackingNo ? trackingNo : '',\n airwayBill: releaseGood?.airwayBill,\n checkedRemarkBy: releaseGood?.checkedRemarkBy,\n invoice: releaseGood?.invoice,\n platform: marketplaceOrder ? marketplaceOrder.marketplaceStore.platform : 'operato',\n marketplaceStoreId: marketplaceOrder ? marketplaceOrder.marketplaceStore.id : '',\n marketplaceStatus: marketplaceStatus ? marketplaceStatus : '',\n marketplaceOrder: marketplaceOrder ? marketplaceOrder : ''\n },\n worksheetDetailInfos: worksheet.worksheetDetails.map(async (packingWSD: WorksheetDetail) => {\n const targetInventory: OrderInventory = packingWSD.targetInventory\n const inventory: Inventory = targetInventory.inventory\n return {\n name: packingWSD.name,\n palletId: inventory.palletId,\n cartonId: inventory.cartonId,\n batchId: inventory.batchId,\n batchIdRef: inventory.batchIdRef,\n product: inventory.product,\n sku: inventory.product.sku,\n releaseQty: targetInventory.releaseQty,\n packedQty: targetInventory.packedQty,\n status: packingWSD.status,\n description: packingWSD.description,\n targetName: targetInventory.name,\n packingType: inventory.packingType,\n packingSize: inventory.packingSize,\n binLocation: targetInventory?.binLocation,\n location: inventory.location,\n relatedOrderInv: targetInventory\n }\n })\n }\n } catch (error) {\n console.error(error)\n throw error\n }\n }\n}\n\nexport async function getTrackingNo(marketplaceStore, marketplaceOrderItems): Promise<string> {\n let trackingNo = ''\n let marketplaceOrderShippings = []\n\n marketplaceOrderItems.map(item => {\n const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = item.marketplaceOrderShippingItems\n marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {\n const marketplaceOrderShipping = marketplaceOrderShippingItem.marketplaceOrderShipping\n\n if (marketplaceOrderShipping) {\n marketplaceOrderShippings.push(marketplaceOrderShipping)\n }\n })\n })\n\n const uniqueMarketplaceOrderShippings = Array.from(new Set(marketplaceOrderShippings.map(a => a.id))).map(id => {\n return marketplaceOrderShippings.find(a => a.id === id)\n })\n\n if (uniqueMarketplaceOrderShippings) {\n uniqueMarketplaceOrderShippings.map(marketplaceOrderShipping => {\n if (marketplaceStore.platform === 'lazada') {\n var newTrackingNo = []\n if (marketplaceOrderShipping?.trackingNo) {\n const trackingNos = JSON.parse(marketplaceOrderShipping.trackingNo)\n newTrackingNo = trackingNos.map(item => item.tracking_code)\n }\n let uniqueTrackingNos = [...new Set(newTrackingNo)]\n trackingNo = uniqueTrackingNos.join(', ')\n } else {\n trackingNo = marketplaceOrderShipping.trackingNo\n }\n })\n }\n\n return trackingNo\n}\n"]}
1
+ {"version":3,"file":"packing-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/packing-worksheet.ts"],"names":[],"mappings":";;;AAAA,qCAAwD;AAGxD,6CAA4C;AAC5C,qFAAwF;AACxF,uEAKyC;AACzC,2DAA8G;AAE9G,mEAAoE;AAEpE,kDAAmD;AACnD,sDAAwF;AAExF,0CAAwD;AACxD,+DAAsE;AAEzD,QAAA,wBAAwB,GAAG;IACtC,KAAK,CAAC,gBAAgB,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,EAAE,OAAwB;;QACxE,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAC1C,IAAI,WAAW,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,OAAO,CAAC;gBACzE,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;oBACzB,IAAI,EAAE,aAAa;iBACpB;gBACD,SAAS,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC;aAC3C,CAAC,CAAA;YAEF,kCAAkC;YAClC,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,WAAW,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,yBAAQ,CAAC,CAAC,OAAO,CAAC;oBACrE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;iBAC1D,CAAC,CAAA;gBAEF,IAAI,WAAW,EAAE;oBACf,MAAM,EAAE,GAAuC,EAAE;yBAC9C,aAAa,CAAC,2BAAc,CAAC;yBAC7B,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;oBAEvC,EAAE,CAAC,kBAAkB,CAAC,4BAA4B,EAAE,aAAa,CAAC;yBAC/D,kBAAkB,CAAC,sBAAsB,EAAE,UAAU,CAAC;yBACtD,kBAAkB,CAAC,iBAAiB,EAAE,QAAQ,CAAC;yBAC/C,kBAAkB,CACjB,YAAY,EACZ,IAAI,EACJ,wIAAwI,CACzI;yBACA,KAAK,CAAC,sCAAsC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;yBACtE,QAAQ,CAAC,qDAAqD,EAAE;wBAC/D,oBAAoB,EAAE;4BACpB,mCAAsB,CAAC,aAAa;4BACpC,mCAAsB,CAAC,OAAO;4BAC9B,mCAAsB,CAAC,MAAM;yBAC9B;qBACF,CAAC;yBACD,QAAQ,CAAC,8CAA8C,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;yBACxF,QAAQ,CAAC,oCAAoC,EAAE;wBAC9C,MAAM,EAAE,CAAC,yBAAY,CAAC,aAAa,EAAE,yBAAY,CAAC,OAAO,CAAC;qBAC3D,CAAC;yBACD,OAAO,CAAC,sCAAsC,mCAAsB,CAAC,MAAM,cAAc,CAAC;yBAC1F,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;oBAErC,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,GAAG,MAAM,EAAE,CAAC,eAAe,EAAE,CAAA;oBACjF,qGAAqG;oBAErG,0CAA0C;oBAC1C,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;wBACnD,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAA;oBAC/B,CAAC,CAAC,CAAA;oBAEF,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;wBACpC,aAAa,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAA;wBACzD,WAAW,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;wBAClD,WAAW,CAAC,qBAAqB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAA;wBACnE,WAAW,CAAC,mBAAmB,GAAG,IAAI,CAAA;qBACvC;yBAAM;wBACL,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;qBACvD;iBACF;aACF;YAED,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAE/D,MAAM,SAAS,GAAc,MAAM,IAAA,+BAAuB,EACxD,MAAM,EACN,WAAW,CAAC,QAAQ,EACpB;gBACE,UAAU;gBACV,iBAAiB;gBACjB,aAAa;gBACb,oBAAoB;gBACpB,kBAAkB;gBAClB,kCAAkC;gBAClC,8CAA8C;gBAC9C,4CAA4C;gBAC5C,qDAAqD;gBACrD,oDAAoD;gBACpD,mEAAmE;gBACnE,6BAA6B;aAC9B,EACD,0BAAc,CAAC,OAAO,EACtB,WAAW,CACZ,CAAA;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa,EAAE;gBACtC,MAAM,aAAa,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;gBAElG,MAAM,8BAA8B,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;oBACtF,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,0CAA0C,EAAE;iBACjG,CAAC,CAAA;gBAEF,MAAM,4CAA4C,GAAmB,MAAM,EAAE;qBAC1E,aAAa,CAAC,6BAAc,CAAC;qBAC7B,OAAO,CAAC;oBACP,KAAK,EAAE;wBACL,OAAO,EAAE,8BAA8B;wBACvC,MAAM,EAAE,MAAM;wBACd,aAAa,EAAE,MAAA,WAAW,CAAC,QAAQ,0CAAE,MAAM;qBAC5C;iBACF,CAAC,CAAA;gBAEJ,IACE,8BAA8B,IAAI,SAAS;oBAC3C,8BAA8B,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,EAC5D;oBACA,IAAI,4CAA4C,IAAI,SAAS,EAAE;wBAC7D,IAAI,4CAA4C,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM;4BAC5E,MAAM,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;qBACtD;yBAAM;wBACL,MAAM,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;qBACpD;iBACF;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;iBACzF;aACF;YAED,IAAI,gBAAgB,GAAqB,EAAE,CAAA;YAC3C,IAAI,qBAAqB,GAA2B,EAAE,CAAA;YACtD,IAAI,gBAAgB,CAAA;YACpB,IAAI,UAAkB,CAAA;YACtB,IAAI,gBAAwB,CAAA;YAC5B,IAAI,iBAAyB,CAAA;YAE7B,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,EAAE;gBAC9B,MAAM,WAAW,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,qCAAW,CAAC,CAAC,SAAS,CAAC;oBAC7E,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE;oBAC5C,MAAM,EAAE,2CAAiB,CAAC,MAAM;iBACjC,CAAC,CAAA;gBAEF,IAAI,WAAW,EAAE;oBACf,+CAA+C;oBAC/C,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;iBAC/D;qBAAM;oBACL,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mCAAgB,CAAC,CAAC,OAAO,CAAC;wBAClE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE;wBACrC,SAAS,EAAE;4BACT,QAAQ;4BACR,kBAAkB;4BAClB,uBAAuB;4BACvB,qDAAqD;4BACrD,8EAA8E;yBAC/E;qBACF,CAAC,CAAA;oBAEF,IAAI,CAAC,gBAAgB,EAAE;wBACrB,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAA;qBAC7G;oBAED,IAAI,wBAAkD,CAAA;oBACtD,IAAI,gBAAgB,CAAC,UAAU,EAAE;wBAC/B,wBAAwB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,2CAAwB,CAAC,CAAC,OAAO,CAAC;4BAClF,KAAK,EAAE,EAAE,aAAa,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE;yBACvD,CAAC,CAAA;qBACH;yBAAM;wBACL,wBAAwB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,2CAAwB,CAAC,CAAC,OAAO,CAAC;4BAClF,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE;yBACnD,CAAC,CAAA;qBACH;oBAED,UAAU,GAAG,wBAAwB,CAAC,aAAa;wBACjD,CAAC,CAAC,wBAAwB,CAAC,aAAa;wBACxC,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAA;oBACvC,gBAAgB,GAAG,wBAAwB,CAAC,cAAc;wBACxD,CAAC,CAAC,wBAAwB,CAAC,cAAc;wBACzC,CAAC,CAAC,wBAAwB,CAAC,WAAW,CAAA;oBAExC,gBAAgB,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,gBAAgB,CAAA;oBACrD,iBAAiB,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAA;iBAC7C;aACF;YAED,OAAO;gBACL,aAAa,EAAE;oBACb,WAAW;oBACX,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI;oBACvC,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,eAAe,EAAE,MAAA,WAAW,CAAC,QAAQ,0CAAE,MAAM,CAAC,EAAE;oBAChD,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;oBAC1D,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;oBACxC,UAAU,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU;oBACnC,eAAe,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe;oBAC7C,OAAO,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO;oBAC7B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAA,gBAAgB,CAAC,gBAAgB,0CAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;oBAC5G,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAA,gBAAgB,CAAC,gBAAgB,0CAAE,EAAE,CAAC,CAAC,CAAC,EAAE;oBACzG,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;oBAC7D,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;iBAC3D;gBACD,oBAAoB,EAAE,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,UAA2B,EAAE,EAAE;oBACnF,MAAM,eAAe,GAAmB,UAAU,CAAC,eAAe,CAAA;oBAClE,MAAM,SAAS,GAAc,eAAe,CAAC,SAAS,CAAA;oBACtD,OAAO;wBACL,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;wBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;wBAChC,OAAO,EAAE,SAAS,CAAC,OAAO;wBAC1B,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG;wBAC1B,UAAU,EAAE,eAAe,CAAC,UAAU;wBACtC,SAAS,EAAE,eAAe,CAAC,SAAS;wBACpC,MAAM,EAAE,UAAU,CAAC,MAAM;wBACzB,WAAW,EAAE,UAAU,CAAC,WAAW;wBACnC,UAAU,EAAE,eAAe,CAAC,IAAI;wBAChC,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,WAAW,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW;wBACzC,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,eAAe,EAAE,eAAe;qBACjC,CAAA;gBACH,CAAC,CAAC;aACH,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACpB,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,aAAa,CAAC,gBAAgB,EAAE,qBAAqB;IACzE,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,IAAI,yBAAyB,GAAG,EAAE,CAAA;IAElC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC/B,MAAM,6BAA6B,GAAmC,IAAI,CAAC,6BAA6B,CAAA;QACxG,6BAA6B,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE;YAC/D,MAAM,wBAAwB,GAAG,4BAA4B,CAAC,wBAAwB,CAAA;YAEtF,IAAI,wBAAwB,EAAE;gBAC5B,yBAAyB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;aACzD;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,+BAA+B,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAC7G,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,IAAI,+BAA+B,EAAE;QACnC,+BAA+B,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE;YAC7D,IAAI,gBAAgB,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC1C,IAAI,aAAa,GAAG,EAAE,CAAA;gBACtB,IAAI,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAE,UAAU,EAAE;oBACxC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAA;oBACnE,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;iBAC5D;gBACD,IAAI,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;gBACnD,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aAC1C;iBAAM;gBACL,UAAU,GAAG,wBAAwB,CAAC,UAAU,CAAA;aACjD;QACH,CAAC,CAAC,CAAA;KACH;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AApCD,sCAoCC;AAED,qFAAqF;AACrF,KAAK,UAAU,sBAAsB,CAAC,WAAwB,EAAE,WAAwB,EAAE,MAAc,EAAE,IAAU;IAClH,MAAM,IAAA,oBAAU,GAAE,CAAC,WAAW,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;QAC3C,MAAM,eAAe,GAA0B,IAAI,mCAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAC7F,IAAI;YACF,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,CAAA,EAAE;gBAC5B,IAAI;oBACF,iCAAiC;oBACjC,WAAW,GAAG,MAAM,eAAe,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;iBACjF;gBAAC,OAAO,KAAK,EAAE;oBACd,IAAI;wBACF,gCAAgC;wBAChC,MAAM,eAAe,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;qBACtE;oBAAC,OAAO,KAAK,EAAE;wBACd,IAAI;4BACF,sCAAsC;4BACtC,MAAM,eAAe,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;yBACtE;wBAAC,OAAO,KAAK,EAAE;4BACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAA;yBACnD;wBACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAA;qBACnD;oBACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAA;iBAChD;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,YAAM,CAAC,KAAK,CACV,mDAAmD,IAAI,CAAC,SAAS,CAAC;gBAChE,WAAW;gBACX,WAAW;gBACX,MAAM;gBACN,IAAI;aACL,CAAC,KAAK,KAAK,GAAG,CAChB,CAAA;SACF;IACH,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { getManager, SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { logger } from '@things-factory/env'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport {\n MarketplaceOrder,\n MarketplaceOrderItem,\n MarketplaceOrderShipping,\n MarketplaceOrderShippingItem\n} from '@things-factory/marketplace-base'\nimport { ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { Inventory, Location } from '@things-factory/warehouse-base'\n\nimport { WORKSHEET_TYPE } from '../../../constants'\nimport { PackingWorksheetController, SellercraftController } from '../../../controllers'\nimport { Worksheet, WorksheetDetail } from '../../../entities'\nimport { fetchExecutingWorksheet } from '../../../utils'\nimport { PartnerSetting, Setting } from '@things-factory/setting-base'\n\nexport const packingWorksheetResolver = {\n async packingWorksheet(_: any, { releaseGoodNo }, context: ResolverContext) {\n try {\n const { tx, domain, user } = context.state\n let releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({\n where: {\n domain: { id: domain.id },\n name: releaseGoodNo\n },\n relations: ['bizplace', 'bizplace.domain']\n })\n\n // Find Release Order based on Bin\n if (!releaseGood) {\n const binLocation: Location = await tx.getRepository(Location).findOne({\n where: { domain: { id: domain.id }, name: releaseGoodNo }\n })\n\n if (binLocation) {\n const qb: SelectQueryBuilder<OrderInventory> = tx\n .getRepository(OrderInventory)\n .createQueryBuilder('orderInventory')\n\n qb.innerJoinAndSelect('orderInventory.releaseGood', 'releaseGood')\n .innerJoinAndSelect('releaseGood.bizplace', 'bizplace')\n .innerJoinAndSelect('bizplace.domain', 'domain')\n .innerJoinAndSelect(\n 'worksheets',\n 'ws',\n `orderInventory.release_good_id = ws.release_good_id AND ws.type = 'PACKING' AND (ws.status = 'EXECUTING' OR ws.status = 'DEACTIVATED')`\n )\n .where('orderInventory.domain_id = :domainId', { domainId: domain.id })\n .andWhere('orderInventory.status IN (:...orderInventoryStatus)', {\n orderInventoryStatus: [\n ORDER_INVENTORY_STATUS.READY_TO_PACK,\n ORDER_INVENTORY_STATUS.PACKING,\n ORDER_INVENTORY_STATUS.PACKED\n ]\n })\n .andWhere('orderInventory.bin_location_id = :locationId', { locationId: binLocation.id })\n .andWhere('releaseGood.status IN (:...status)', {\n status: [ORDER_STATUS.READY_TO_PACK, ORDER_STATUS.PACKING]\n })\n .orderBy(`case when orderInventory.status = '${ORDER_INVENTORY_STATUS.PACKED}' then 1 end`)\n .addOrderBy('ws.created_at', 'ASC')\n\n const [orderInventoriesByBin, totalInventoriesByBin] = await qb.getManyAndCount()\n // @oscarchuaweiwen-fsd @chrislim I suggest using getMany() instead since the total is redundant here\n\n // remove duplicated count of release good\n const filteredRO = orderInventoriesByBin.map(oiBin => {\n return oiBin.releaseGood.name\n })\n\n if (orderInventoriesByBin.length > 0) {\n releaseGoodNo = orderInventoriesByBin[0].releaseGood.name\n releaseGood = orderInventoriesByBin[0].releaseGood\n releaseGood.totalInventoriesByBin = [...new Set(filteredRO)].length\n releaseGood.isOrderInventoryBin = true\n } else {\n throw new Error(`Bin do not have any existing order.`)\n }\n }\n }\n\n if (!releaseGood) throw new Error(`Release good do not exist.`)\n\n const worksheet: Worksheet = await fetchExecutingWorksheet(\n domain,\n releaseGood.bizplace,\n [\n 'bizplace',\n 'bizplace.domain',\n 'releaseGood',\n 'releaseGood.domain',\n 'worksheetDetails',\n 'worksheetDetails.targetInventory',\n 'worksheetDetails.targetInventory.binLocation',\n 'worksheetDetails.targetInventory.inventory',\n 'worksheetDetails.targetInventory.inventory.location',\n 'worksheetDetails.targetInventory.inventory.product',\n 'worksheetDetails.targetInventory.inventory.product.productDetails',\n 'worksheetDetails.toLocation'\n ],\n WORKSHEET_TYPE.PACKING,\n releaseGood\n )\n\n if (worksheet.status === 'DEACTIVATED') {\n const packingWSCtrl: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n\n const directActivatePackingWorksheet: Setting = await tx.getRepository(Setting).findOne({\n where: { domain: domain, category: 'id-rule', name: 'enable-direct-activate-packing-worksheet' }\n })\n\n const partnerDirectActivatePackingWorksheetSetting: PartnerSetting = await tx\n .getRepository(PartnerSetting)\n .findOne({\n where: {\n setting: directActivatePackingWorksheet,\n domain: domain,\n partnerDomain: releaseGood.bizplace?.domain\n }\n })\n\n if (\n directActivatePackingWorksheet != undefined &&\n directActivatePackingWorksheet.value.toLowerCase() == 'true'\n ) {\n if (partnerDirectActivatePackingWorksheetSetting != undefined) {\n if (partnerDirectActivatePackingWorksheetSetting.value.toLowerCase() == 'true')\n await packingWSCtrl.activatePacking(worksheet.name)\n } else {\n await packingWSCtrl.activatePacking(worksheet.name)\n }\n } else {\n throw new Error('Kindly go to packing worksheet page to activate the packing worksheet')\n }\n }\n\n let marketplaceOrder: MarketplaceOrder = {}\n let marketplaceOrderItems: MarketplaceOrderItem[] = []\n let marketplaceStore\n let trackingNo: string\n let shippingProvider: string\n let marketplaceStatus: string\n\n if (releaseGood.type === 'b2c') {\n const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOneBy({\n domain: { id: worksheet.bizplace.domain.id },\n status: SellercraftStatus.ACTIVE\n })\n\n if (sellercraft) {\n // asynchronously get document from sellercraft\n getSellercraftDocument(sellercraft, releaseGood, domain, user)\n } else {\n marketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({\n where: { orderNo: releaseGood.refNo },\n relations: [\n 'domain',\n 'marketplaceStore',\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'\n ]\n })\n\n if (!marketplaceOrder) {\n throw new Error('Failed to retrieve ecommerce information, kindly contact our support team for this issue.')\n }\n\n let marketplaceOrderShipping: MarketplaceOrderShipping\n if (marketplaceOrder.isSplitted) {\n marketplaceOrderShipping = await tx.getRepository(MarketplaceOrderShipping).findOne({\n where: { subOrderNoRef: worksheet.releaseGood.refNo2 }\n })\n } else {\n marketplaceOrderShipping = await tx.getRepository(MarketplaceOrderShipping).findOne({\n where: { orderNoRef: worksheet.releaseGood.refNo }\n })\n }\n\n trackingNo = marketplaceOrderShipping.ownTrackingNo\n ? marketplaceOrderShipping.ownTrackingNo\n : marketplaceOrderShipping.trackingNo\n shippingProvider = marketplaceOrderShipping.ownTransporter\n ? marketplaceOrderShipping.ownTransporter\n : marketplaceOrderShipping.transporter\n\n marketplaceStore = marketplaceOrder?.marketplaceStore\n marketplaceStatus = marketplaceOrder?.status\n }\n }\n\n return {\n worksheetInfo: {\n releaseGood,\n bizplaceName: releaseGood.bizplace.name,\n refNo: releaseGood.refNo,\n refNo2: releaseGood.refNo2,\n refNo3: releaseGood.refNo3,\n partnerDomainId: releaseGood.bizplace?.domain.id,\n startedAt: worksheet.startedAt,\n shippingProvider: shippingProvider ? shippingProvider : '',\n trackingNo: trackingNo ? trackingNo : '',\n airwayBill: releaseGood?.airwayBill,\n checkedRemarkBy: releaseGood?.checkedRemarkBy,\n invoice: releaseGood?.invoice,\n platform: Object.keys(marketplaceOrder).length > 0 ? marketplaceOrder.marketplaceStore?.platform : 'operato',\n marketplaceStoreId: Object.keys(marketplaceOrder).length > 0 ? marketplaceOrder.marketplaceStore?.id : '',\n marketplaceStatus: marketplaceStatus ? marketplaceStatus : '',\n marketplaceOrder: marketplaceOrder ? marketplaceOrder : ''\n },\n worksheetDetailInfos: worksheet.worksheetDetails.map((packingWSD: WorksheetDetail) => {\n const targetInventory: OrderInventory = packingWSD.targetInventory\n const inventory: Inventory = targetInventory.inventory\n return {\n name: packingWSD.name,\n palletId: inventory.palletId,\n cartonId: inventory.cartonId,\n batchId: inventory.batchId,\n batchIdRef: inventory.batchIdRef,\n product: inventory.product,\n sku: inventory.product.sku,\n releaseQty: targetInventory.releaseQty,\n packedQty: targetInventory.packedQty,\n status: packingWSD.status,\n description: packingWSD.description,\n targetName: targetInventory.name,\n packingType: inventory.packingType,\n packingSize: inventory.packingSize,\n binLocation: targetInventory?.binLocation,\n location: inventory.location,\n relatedOrderInv: targetInventory\n }\n })\n }\n } catch (error) {\n console.error(error)\n throw error\n }\n }\n}\n\nexport async function getTrackingNo(marketplaceStore, marketplaceOrderItems): Promise<string> {\n let trackingNo = ''\n let marketplaceOrderShippings = []\n\n marketplaceOrderItems.map(item => {\n const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = item.marketplaceOrderShippingItems\n marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {\n const marketplaceOrderShipping = marketplaceOrderShippingItem.marketplaceOrderShipping\n\n if (marketplaceOrderShipping) {\n marketplaceOrderShippings.push(marketplaceOrderShipping)\n }\n })\n })\n\n const uniqueMarketplaceOrderShippings = Array.from(new Set(marketplaceOrderShippings.map(a => a.id))).map(id => {\n return marketplaceOrderShippings.find(a => a.id === id)\n })\n\n if (uniqueMarketplaceOrderShippings) {\n uniqueMarketplaceOrderShippings.map(marketplaceOrderShipping => {\n if (marketplaceStore.platform === 'lazada') {\n var newTrackingNo = []\n if (marketplaceOrderShipping?.trackingNo) {\n const trackingNos = JSON.parse(marketplaceOrderShipping.trackingNo)\n newTrackingNo = trackingNos.map(item => item.tracking_code)\n }\n let uniqueTrackingNos = [...new Set(newTrackingNo)]\n trackingNo = uniqueTrackingNos.join(', ')\n } else {\n trackingNo = marketplaceOrderShipping.trackingNo\n }\n })\n }\n\n return trackingNo\n}\n\n//trigger RTS, init document, and fetch sellercraft document in separated transaction\nasync function getSellercraftDocument(sellercraft: Sellercraft, releaseGood: ReleaseGood, domain: Domain, user: User) {\n await getManager().transaction(async txMgr => {\n const sellercraftCtrl: SellercraftController = new SellercraftController(txMgr, domain, user)\n try {\n if (!releaseGood?.airwayBill) {\n try {\n // try fetch order document / AWB\n releaseGood = await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)\n } catch (error) {\n try {\n // retry initiate order document\n await sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)\n } catch (error) {\n try {\n // retry initiate order shipment / RTS\n await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)\n } catch (error) {\n throw new Error(`initiateOrderShipment: ${error}`)\n }\n throw new Error(`initiateOrderDocument: ${error}`)\n }\n throw new Error(`fetchOrderDocument: ${error}`)\n }\n }\n } catch (error) {\n logger.error(\n `packing-worksheet[getSellercraftDocument]:(data:${JSON.stringify({\n sellercraft,\n releaseGood,\n domain,\n user\n })}) ${error} `\n )\n }\n })\n}\n"]}
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.palletizingPallets = void 0;
4
- const sales_base_1 = require("@things-factory/sales-base");
5
- const uuid_1 = require("uuid");
6
4
  const typeorm_1 = require("typeorm");
5
+ const uuid_1 = require("uuid");
6
+ const sales_base_1 = require("@things-factory/sales-base");
7
7
  const constants_1 = require("../../../constants");
8
- const entities_1 = require("../../../entities");
9
8
  const controllers_1 = require("../../../controllers");
9
+ const entities_1 = require("../../../entities");
10
10
  exports.palletizingPallets = {
11
11
  async palletizingPallets(_, { refOrderNo, patches }, context) {
12
12
  const { tx, domain, user } = context.state;
13
13
  let arrivalNotice = await tx.getRepository(sales_base_1.ArrivalNotice).findOne({
14
- where: { domain: context.state.domain, name: refOrderNo, status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(sales_base_1.ORDER_STATUS.DONE)) },
14
+ where: { domain: { id: context.state.domain.id }, name: refOrderNo, status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(sales_base_1.ORDER_STATUS.DONE)) },
15
15
  relations: ['bizplace']
16
16
  });
17
17
  if (!arrivalNotice)
@@ -26,7 +26,7 @@ exports.palletizingPallets = {
26
26
  }
27
27
  });
28
28
  const palletizingVAS = await tx.getRepository(sales_base_1.Vas).findOne({
29
- where: { domain, id: patch.vas.id }
29
+ where: { domain: { id: domain.id }, id: patch.vas.id }
30
30
  });
31
31
  if (foundOV) {
32
32
  orderVass = Object.assign(Object.assign({}, foundOV), { set: patch.set, vas: palletizingVAS, qty: patch.qty, remark: patch.remark });
@@ -1 +1 @@
1
- {"version":3,"file":"palletizing-pallets.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/palletizing-pallets.ts"],"names":[],"mappings":"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","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { ArrivalNotice, OrderVas, Vas, ORDER_STATUS, ORDER_VAS_STATUS, ORDER_TYPES } from '@things-factory/sales-base'\nimport { v4 as uuidv4 } from 'uuid'\nimport { Equal, Not, EntityManager } from 'typeorm'\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'\nimport { Worksheet, WorksheetDetail } from '../../../entities'\nimport { VasWorksheetController, WorksheetController } from '../../../controllers'\n\nexport const palletizingPallets = {\n async palletizingPallets(_: any, { refOrderNo, patches }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n let arrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).findOne({\n where: { domain: context.state.domain, name: refOrderNo, status: Not(Equal(ORDER_STATUS.DONE)) },\n relations: ['bizplace']\n })\n\n if (!arrivalNotice) throw new Error(`Couldn't find VAS worksheet by order no (${refOrderNo})`)\n\n const vasWorksheetController: VasWorksheetController = new VasWorksheetController(tx, domain, user)\n const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)\n\n for (let patch of patches) {\n let orderVass: OrderVas\n\n const foundOV: OrderVas = await tx.getRepository(OrderVas).findOne({\n where: {\n id: patch.id\n }\n })\n\n const palletizingVAS: Vas = await tx.getRepository(Vas).findOne({\n where: { domain, id: patch.vas.id }\n })\n\n if (foundOV) {\n orderVass = {\n ...foundOV,\n set: patch.set,\n vas: palletizingVAS,\n qty: patch.qty,\n remark: patch.remark\n }\n\n let savedOrderVass: OrderVas = await tx.getRepository(OrderVas).save(orderVass)\n let newOrderVass: OrderVas = new OrderVas()\n ;(newOrderVass.id = savedOrderVass.id),\n (newOrderVass.name = savedOrderVass.name),\n (newOrderVass.set = savedOrderVass.set),\n (newOrderVass.vas = savedOrderVass.vas),\n (newOrderVass.qty = savedOrderVass.qty),\n (newOrderVass.remark = savedOrderVass.remark),\n (newOrderVass.targetType = savedOrderVass.targetType),\n (newOrderVass.type = savedOrderVass.type),\n (newOrderVass.status = savedOrderVass.status),\n (newOrderVass.domain = savedOrderVass.domain),\n (newOrderVass.bizplace = savedOrderVass.bizplace),\n (newOrderVass.arrivalNotice = savedOrderVass.arrivalNotice),\n (newOrderVass.creator = savedOrderVass.creator),\n (newOrderVass.updater = savedOrderVass.updater)\n\n let vasWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({\n where: {\n arrivalNotice,\n type: WORKSHEET_TYPE.VAS\n },\n relations: ['domain', 'bizplace', 'worksheetDetails', 'worksheetDetails.targetVas']\n })\n if (!vasWorksheet) {\n vasWorksheet = await vasWorksheetController.generateVasWorksheet(arrivalNotice)\n let vasWorksheetDetails: WorksheetDetail[] = vasWorksheet.worksheetDetails\n\n await vasWorksheetController.activateVAS(vasWorksheet.name, vasWorksheetDetails)\n }\n } else {\n orderVass = {\n name: uuidv4(),\n set: patch.set,\n vas: palletizingVAS,\n qty: patch.qty,\n remark: patch.remark,\n targetType: patch.targetType,\n type: ORDER_TYPES.ARRIVAL_NOTICE,\n status: WORKSHEET_STATUS.EXECUTING,\n domain: context.state.domain,\n bizplace: arrivalNotice.bizplace,\n arrivalNotice: arrivalNotice,\n creator: context.state.user,\n updater: context.state.user\n }\n\n let savedOrderVass: OrderVas = await tx.getRepository(OrderVas).save(orderVass)\n let newOrderVass: OrderVas = new OrderVas()\n ;(newOrderVass.id = savedOrderVass.id),\n (newOrderVass.name = savedOrderVass.name),\n (newOrderVass.set = savedOrderVass.set),\n (newOrderVass.vas = savedOrderVass.vas),\n (newOrderVass.qty = savedOrderVass.qty),\n (newOrderVass.remark = savedOrderVass.remark),\n (newOrderVass.targetType = savedOrderVass.targetType),\n (newOrderVass.type = savedOrderVass.type),\n (newOrderVass.status = savedOrderVass.status),\n (newOrderVass.domain = savedOrderVass.domain),\n (newOrderVass.bizplace = savedOrderVass.bizplace),\n (newOrderVass.arrivalNotice = savedOrderVass.arrivalNotice),\n (newOrderVass.creator = savedOrderVass.creator),\n (newOrderVass.updater = savedOrderVass.updater)\n\n let vasWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({\n where: {\n arrivalNotice,\n type: WORKSHEET_TYPE.VAS\n },\n relations: ['domain', 'bizplace', 'worksheetDetails', 'worksheetDetails.targetVas']\n })\n if (!vasWorksheet) {\n vasWorksheet = await vasWorksheetController.generateVasWorksheet(arrivalNotice)\n let vasWorksheetDetails: WorksheetDetail[] = vasWorksheet.worksheetDetails\n\n await vasWorksheetController.activateVAS(vasWorksheet.name, vasWorksheetDetails)\n } else {\n await worksheetController.createWorksheetDetails(vasWorksheet, WORKSHEET_TYPE.VAS, [newOrderVass])\n\n // if(vasWorksheetDetails) {\n // vasWorksheetDetails = vasWorksheetDetails.map(wsd => {\n // return {\n // ...wsd,\n // status: WORKSHEET_STATUS.EXECUTING\n // }\n // })\n // await trxMgr.getRepository(WorksheetDetail).save(vasWorksheetDetails)\n // }\n }\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"palletizing-pallets.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/palletizing-pallets.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager, Equal, Not } from 'typeorm'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { User } from '@things-factory/auth-base'\nimport { ArrivalNotice, ORDER_STATUS, ORDER_TYPES, OrderVas, Vas } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'\nimport { VasWorksheetController, WorksheetController } from '../../../controllers'\nimport { Worksheet, WorksheetDetail } from '../../../entities'\n\nexport const palletizingPallets = {\n async palletizingPallets(_: any, { refOrderNo, patches }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n let arrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).findOne({\n where: { domain: { id: context.state.domain.id }, name: refOrderNo, status: Not(Equal(ORDER_STATUS.DONE)) },\n relations: ['bizplace']\n })\n\n if (!arrivalNotice) throw new Error(`Couldn't find VAS worksheet by order no (${refOrderNo})`)\n\n const vasWorksheetController: VasWorksheetController = new VasWorksheetController(tx, domain, user)\n const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)\n\n for (let patch of patches) {\n let orderVass: OrderVas\n\n const foundOV: OrderVas = await tx.getRepository(OrderVas).findOne({\n where: {\n id: patch.id\n }\n })\n\n const palletizingVAS: Vas = await tx.getRepository(Vas).findOne({\n where: { domain: { id: domain.id }, id: patch.vas.id }\n })\n\n if (foundOV) {\n orderVass = {\n ...foundOV,\n set: patch.set,\n vas: palletizingVAS,\n qty: patch.qty,\n remark: patch.remark\n }\n\n let savedOrderVass: OrderVas = await tx.getRepository(OrderVas).save(orderVass)\n let newOrderVass: OrderVas = new OrderVas()\n ;(newOrderVass.id = savedOrderVass.id),\n (newOrderVass.name = savedOrderVass.name),\n (newOrderVass.set = savedOrderVass.set),\n (newOrderVass.vas = savedOrderVass.vas),\n (newOrderVass.qty = savedOrderVass.qty),\n (newOrderVass.remark = savedOrderVass.remark),\n (newOrderVass.targetType = savedOrderVass.targetType),\n (newOrderVass.type = savedOrderVass.type),\n (newOrderVass.status = savedOrderVass.status),\n (newOrderVass.domain = savedOrderVass.domain),\n (newOrderVass.bizplace = savedOrderVass.bizplace),\n (newOrderVass.arrivalNotice = savedOrderVass.arrivalNotice),\n (newOrderVass.creator = savedOrderVass.creator),\n (newOrderVass.updater = savedOrderVass.updater)\n\n let vasWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({\n where: {\n arrivalNotice,\n type: WORKSHEET_TYPE.VAS\n },\n relations: ['domain', 'bizplace', 'worksheetDetails', 'worksheetDetails.targetVas']\n })\n if (!vasWorksheet) {\n vasWorksheet = await vasWorksheetController.generateVasWorksheet(arrivalNotice)\n let vasWorksheetDetails: WorksheetDetail[] = vasWorksheet.worksheetDetails\n\n await vasWorksheetController.activateVAS(vasWorksheet.name, vasWorksheetDetails)\n }\n } else {\n orderVass = {\n name: uuidv4(),\n set: patch.set,\n vas: palletizingVAS,\n qty: patch.qty,\n remark: patch.remark,\n targetType: patch.targetType,\n type: ORDER_TYPES.ARRIVAL_NOTICE,\n status: WORKSHEET_STATUS.EXECUTING,\n domain: context.state.domain,\n bizplace: arrivalNotice.bizplace,\n arrivalNotice: arrivalNotice,\n creator: context.state.user,\n updater: context.state.user\n }\n\n let savedOrderVass: OrderVas = await tx.getRepository(OrderVas).save(orderVass)\n let newOrderVass: OrderVas = new OrderVas()\n ;(newOrderVass.id = savedOrderVass.id),\n (newOrderVass.name = savedOrderVass.name),\n (newOrderVass.set = savedOrderVass.set),\n (newOrderVass.vas = savedOrderVass.vas),\n (newOrderVass.qty = savedOrderVass.qty),\n (newOrderVass.remark = savedOrderVass.remark),\n (newOrderVass.targetType = savedOrderVass.targetType),\n (newOrderVass.type = savedOrderVass.type),\n (newOrderVass.status = savedOrderVass.status),\n (newOrderVass.domain = savedOrderVass.domain),\n (newOrderVass.bizplace = savedOrderVass.bizplace),\n (newOrderVass.arrivalNotice = savedOrderVass.arrivalNotice),\n (newOrderVass.creator = savedOrderVass.creator),\n (newOrderVass.updater = savedOrderVass.updater)\n\n let vasWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({\n where: {\n arrivalNotice,\n type: WORKSHEET_TYPE.VAS\n },\n relations: ['domain', 'bizplace', 'worksheetDetails', 'worksheetDetails.targetVas']\n })\n if (!vasWorksheet) {\n vasWorksheet = await vasWorksheetController.generateVasWorksheet(arrivalNotice)\n let vasWorksheetDetails: WorksheetDetail[] = vasWorksheet.worksheetDetails\n\n await vasWorksheetController.activateVAS(vasWorksheet.name, vasWorksheetDetails)\n } else {\n await worksheetController.createWorksheetDetails(vasWorksheet, WORKSHEET_TYPE.VAS, [newOrderVass])\n\n // if(vasWorksheetDetails) {\n // vasWorksheetDetails = vasWorksheetDetails.map(wsd => {\n // return {\n // ...wsd,\n // status: WORKSHEET_STATUS.EXECUTING\n // }\n // })\n // await trxMgr.getRepository(WorksheetDetail).save(vasWorksheetDetails)\n // }\n }\n }\n }\n }\n}\n"]}