@things-factory/worksheet-base 4.0.0-alpha.9 → 4.0.0-beta.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 (375) hide show
  1. package/dist-server/controllers/ecommerce/ecommerce-controller.js +46 -2
  2. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
  3. package/dist-server/controllers/ecommerce/index.js +1 -0
  4. package/dist-server/controllers/ecommerce/index.js.map +1 -1
  5. package/dist-server/controllers/ecommerce/sellercraft-controller.js +168 -0
  6. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -0
  7. package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js +7 -7
  8. package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js.map +1 -1
  9. package/dist-server/controllers/inbound/putaway-worksheet-controller.js +7 -7
  10. package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -1
  11. package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js +1 -1
  12. package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js.map +1 -1
  13. package/dist-server/controllers/inbound/unloading-worksheet-controller.js +14 -14
  14. package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
  15. package/dist-server/controllers/index.js +2 -0
  16. package/dist-server/controllers/index.js.map +1 -1
  17. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js +48 -13
  18. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js.map +1 -1
  19. package/dist-server/controllers/outbound/loading-worksheet-controller.js +4 -4
  20. package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
  21. package/dist-server/controllers/outbound/packing-worksheet-controller.js +16 -1
  22. package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
  23. package/dist-server/controllers/outbound/picking-worksheet-controller.js +20 -12
  24. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  25. package/dist-server/controllers/outbound/returning-worksheet-controller.js +1 -1
  26. package/dist-server/controllers/outbound/returning-worksheet-controller.js.map +1 -1
  27. package/dist-server/controllers/render-elccl-grn.js +13 -16
  28. package/dist-server/controllers/render-elccl-grn.js.map +1 -1
  29. package/dist-server/controllers/render-grn.js +192 -0
  30. package/dist-server/controllers/render-grn.js.map +1 -0
  31. package/dist-server/controllers/render-job-sheet.js +63 -47
  32. package/dist-server/controllers/render-job-sheet.js.map +1 -1
  33. package/dist-server/controllers/render-kimeda-grn.js +35 -21
  34. package/dist-server/controllers/render-kimeda-grn.js.map +1 -1
  35. package/dist-server/controllers/render-manual-do.js +9 -9
  36. package/dist-server/controllers/render-manual-do.js.map +1 -1
  37. package/dist-server/controllers/render-orientage-do.js +61 -35
  38. package/dist-server/controllers/render-orientage-do.js.map +1 -1
  39. package/dist-server/controllers/render-orientage-grn.js +53 -27
  40. package/dist-server/controllers/render-orientage-grn.js.map +1 -1
  41. package/dist-server/controllers/render-ro-do.js +34 -20
  42. package/dist-server/controllers/render-ro-do.js.map +1 -1
  43. package/dist-server/controllers/render-seebuu-grn.js +177 -0
  44. package/dist-server/controllers/render-seebuu-grn.js.map +1 -0
  45. package/dist-server/controllers/vas/vas-worksheet-controller.js +78 -17
  46. package/dist-server/controllers/vas/vas-worksheet-controller.js.map +1 -1
  47. package/dist-server/controllers/worksheet-controller.js +59 -11
  48. package/dist-server/controllers/worksheet-controller.js.map +1 -1
  49. package/dist-server/entities/worksheet-detail.js +23 -23
  50. package/dist-server/entities/worksheet-detail.js.map +1 -1
  51. package/dist-server/entities/worksheet-movement.js +9 -9
  52. package/dist-server/entities/worksheet-movement.js.map +1 -1
  53. package/dist-server/entities/worksheet.js +28 -26
  54. package/dist-server/entities/worksheet.js.map +1 -1
  55. package/dist-server/graphql/resolvers/pallet/pallet-outbound.js +2 -2
  56. package/dist-server/graphql/resolvers/pallet/pallet-outbound.js.map +1 -1
  57. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js +2 -2
  58. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -1
  59. package/dist-server/graphql/resolvers/worksheet/check-inventory-release.js +3 -3
  60. package/dist-server/graphql/resolvers/worksheet/check-inventory-release.js.map +1 -1
  61. package/dist-server/graphql/resolvers/worksheet/check-stock-take-current-location.js +3 -3
  62. package/dist-server/graphql/resolvers/worksheet/check-stock-take-current-location.js.map +1 -1
  63. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +3 -3
  64. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
  65. package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js +2 -2
  66. package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js.map +1 -1
  67. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +32 -10
  68. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
  69. package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js +8 -6
  70. package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js.map +1 -1
  71. package/dist-server/graphql/resolvers/worksheet/delete-worksheet.js +1 -1
  72. package/dist-server/graphql/resolvers/worksheet/delete-worksheet.js.map +1 -1
  73. package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js +4 -4
  74. package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js.map +1 -1
  75. package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js +25 -0
  76. package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js.map +1 -0
  77. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.js +4 -4
  78. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.js.map +1 -1
  79. package/dist-server/graphql/resolvers/worksheet/having-vas.js +3 -3
  80. package/dist-server/graphql/resolvers/worksheet/having-vas.js.map +1 -1
  81. package/dist-server/graphql/resolvers/worksheet/index.js +5 -4
  82. package/dist-server/graphql/resolvers/worksheet/index.js.map +1 -1
  83. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +4 -4
  84. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
  85. package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js +4 -4
  86. package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js.map +1 -1
  87. package/dist-server/graphql/resolvers/worksheet/loading/activate-loading.js +2 -2
  88. package/dist-server/graphql/resolvers/worksheet/loading/activate-loading.js.map +1 -1
  89. package/dist-server/graphql/resolvers/worksheet/loading/loading.js +1 -1
  90. package/dist-server/graphql/resolvers/worksheet/loading/loading.js.map +1 -1
  91. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js +4 -4
  92. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js.map +1 -1
  93. package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js +5 -5
  94. package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js.map +1 -1
  95. package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js +13 -1
  96. package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js.map +1 -1
  97. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js +38 -28
  98. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js.map +1 -1
  99. package/dist-server/graphql/resolvers/worksheet/packing/packing.js +13 -1
  100. package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
  101. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +13 -1
  102. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
  103. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +68 -19
  104. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  105. package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js +2 -2
  106. package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js.map +1 -1
  107. package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js +7 -5
  108. package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js.map +1 -1
  109. package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js +22 -2
  110. package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js.map +1 -1
  111. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +31 -6
  112. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
  113. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-inventories.js +4 -4
  114. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-inventories.js.map +1 -1
  115. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +20 -1
  116. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  117. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +129 -125
  118. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  119. package/dist-server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.js +2 -2
  120. package/dist-server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.js.map +1 -1
  121. package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js +9 -9
  122. package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js.map +1 -1
  123. package/dist-server/graphql/resolvers/worksheet/picking/undo-picking-assignment.js +4 -4
  124. package/dist-server/graphql/resolvers/worksheet/picking/undo-picking-assignment.js.map +1 -1
  125. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +5 -4
  126. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
  127. package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js +1 -1
  128. package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js.map +1 -1
  129. package/dist-server/graphql/resolvers/worksheet/putaway/activate-putaway.js +1 -1
  130. package/dist-server/graphql/resolvers/worksheet/putaway/activate-putaway.js.map +1 -1
  131. package/dist-server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.js +1 -1
  132. package/dist-server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.js.map +1 -1
  133. package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js +2 -2
  134. package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js.map +1 -1
  135. package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.js +2 -2
  136. package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.js.map +1 -1
  137. package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js +12 -7
  138. package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js.map +1 -1
  139. package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js +1 -1
  140. package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js.map +1 -1
  141. package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js +13 -4
  142. package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js.map +1 -1
  143. package/dist-server/graphql/resolvers/worksheet/return-worksheet.js +2 -2
  144. package/dist-server/graphql/resolvers/worksheet/return-worksheet.js.map +1 -1
  145. package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js +3 -3
  146. package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js.map +1 -1
  147. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js +4 -4
  148. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js.map +1 -1
  149. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +14 -14
  150. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
  151. package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js +2 -2
  152. package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js.map +1 -1
  153. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js +24 -4
  154. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js.map +1 -1
  155. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js +18 -1
  156. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js.map +1 -1
  157. package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js +2 -2
  158. package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js.map +1 -1
  159. package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js +3 -3
  160. package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js.map +1 -1
  161. package/dist-server/graphql/resolvers/worksheet/update-worksheet.js +1 -1
  162. package/dist-server/graphql/resolvers/worksheet/update-worksheet.js.map +1 -1
  163. package/dist-server/graphql/resolvers/worksheet/vas-candidates.js +8 -8
  164. package/dist-server/graphql/resolvers/worksheet/vas-candidates.js.map +1 -1
  165. package/dist-server/graphql/resolvers/worksheet/vas-inventories.js +3 -3
  166. package/dist-server/graphql/resolvers/worksheet/vas-inventories.js.map +1 -1
  167. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js +308 -17
  168. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js.map +1 -1
  169. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/index.js.map +1 -1
  170. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/repackaging.js.map +1 -1
  171. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.js +2 -2
  172. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.js.map +1 -1
  173. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.js +5 -5
  174. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.js.map +1 -1
  175. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.js +6 -6
  176. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.js.map +1 -1
  177. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/undo-relabeling.js +3 -3
  178. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/undo-relabeling.js.map +1 -1
  179. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js +137 -31
  180. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js.map +1 -1
  181. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js +163 -48
  182. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js.map +1 -1
  183. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js +37 -23
  184. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js.map +1 -1
  185. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.js +5 -5
  186. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.js.map +1 -1
  187. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.js +8 -8
  188. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.js.map +1 -1
  189. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/undo-repalletizing.js +3 -3
  190. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/undo-repalletizing.js.map +1 -1
  191. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js +3 -3
  192. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js.map +1 -1
  193. package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js +8 -8
  194. package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js.map +1 -1
  195. package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js +2 -2
  196. package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js.map +1 -1
  197. package/dist-server/graphql/resolvers/worksheet/worksheet.js +43 -37
  198. package/dist-server/graphql/resolvers/worksheet/worksheet.js.map +1 -1
  199. package/dist-server/graphql/resolvers/worksheet/worksheets.js +46 -17
  200. package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -1
  201. package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.js +1 -1
  202. package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.js.map +1 -1
  203. package/dist-server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.js +1 -1
  204. package/dist-server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.js.map +1 -1
  205. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js +89 -125
  206. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js.map +1 -1
  207. package/dist-server/graphql/resolvers/worksheet-detail/generate-carton-id.js +1 -1
  208. package/dist-server/graphql/resolvers/worksheet-detail/generate-carton-id.js.map +1 -1
  209. package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js +2 -2
  210. package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js.map +1 -1
  211. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js +3 -2
  212. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js.map +1 -1
  213. package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js +1 -1
  214. package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js.map +1 -1
  215. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-detail.js +1 -1
  216. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-detail.js.map +1 -1
  217. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.js +3 -2
  218. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.js.map +1 -1
  219. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details.js +2 -2
  220. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details.js.map +1 -1
  221. package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.js +1 -1
  222. package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.js.map +1 -1
  223. package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movements.js +1 -1
  224. package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movements.js.map +1 -1
  225. package/dist-server/graphql/types/index.js +2 -1
  226. package/dist-server/graphql/types/index.js.map +1 -1
  227. package/dist-server/graphql/types/pallet/index.js +10 -0
  228. package/dist-server/graphql/types/pallet/index.js.map +1 -0
  229. package/dist-server/graphql/types/worksheet/airwaybill.js +10 -0
  230. package/dist-server/graphql/types/worksheet/airwaybill.js.map +1 -0
  231. package/dist-server/graphql/types/worksheet/arrival-notice-worksheet.js +1 -1
  232. package/dist-server/graphql/types/worksheet/arrival-notice-worksheet.js.map +1 -1
  233. package/dist-server/graphql/types/worksheet/contact-point-info.js +1 -1
  234. package/dist-server/graphql/types/worksheet/contact-point-info.js.map +1 -1
  235. package/dist-server/graphql/types/worksheet/cycle-count-worksheet.js +1 -1
  236. package/dist-server/graphql/types/worksheet/cycle-count-worksheet.js.map +1 -1
  237. package/dist-server/graphql/types/worksheet/delivery-info.js +1 -1
  238. package/dist-server/graphql/types/worksheet/delivery-info.js.map +1 -1
  239. package/dist-server/graphql/types/worksheet/delivery-order-info.js +1 -1
  240. package/dist-server/graphql/types/worksheet/delivery-order-info.js.map +1 -1
  241. package/dist-server/graphql/types/worksheet/delivery-worksheet.js +1 -1
  242. package/dist-server/graphql/types/worksheet/delivery-worksheet.js.map +1 -1
  243. package/dist-server/graphql/types/worksheet/executing-worksheet.js +1 -1
  244. package/dist-server/graphql/types/worksheet/executing-worksheet.js.map +1 -1
  245. package/dist-server/graphql/types/worksheet/goods-delivery-note.js +1 -1
  246. package/dist-server/graphql/types/worksheet/goods-delivery-note.js.map +1 -1
  247. package/dist-server/graphql/types/worksheet/index.js +10 -2
  248. package/dist-server/graphql/types/worksheet/index.js.map +1 -1
  249. package/dist-server/graphql/types/worksheet/inventory-check-worksheet.js +1 -1
  250. package/dist-server/graphql/types/worksheet/inventory-check-worksheet.js.map +1 -1
  251. package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.js +1 -1
  252. package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.js.map +1 -1
  253. package/dist-server/graphql/types/worksheet/my-picking-assignment-status.js +1 -1
  254. package/dist-server/graphql/types/worksheet/my-picking-assignment-status.js.map +1 -1
  255. package/dist-server/graphql/types/worksheet/new-worksheet.js +1 -1
  256. package/dist-server/graphql/types/worksheet/new-worksheet.js.map +1 -1
  257. package/dist-server/graphql/types/worksheet/picking-assignment-status.js +1 -1
  258. package/dist-server/graphql/types/worksheet/picking-assignment-status.js.map +1 -1
  259. package/dist-server/graphql/types/worksheet/product-approval.js +1 -1
  260. package/dist-server/graphql/types/worksheet/product-approval.js.map +1 -1
  261. package/dist-server/graphql/types/worksheet/release-good-worksheet.js +1 -1
  262. package/dist-server/graphql/types/worksheet/release-good-worksheet.js.map +1 -1
  263. package/dist-server/graphql/types/worksheet/return-order-worksheet.js +1 -1
  264. package/dist-server/graphql/types/worksheet/return-order-worksheet.js.map +1 -1
  265. package/dist-server/graphql/types/worksheet/vas-order-worksheet.js +1 -1
  266. package/dist-server/graphql/types/worksheet/vas-order-worksheet.js.map +1 -1
  267. package/dist-server/graphql/types/worksheet/vas-worksheet.js +1 -1
  268. package/dist-server/graphql/types/worksheet/vas-worksheet.js.map +1 -1
  269. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js +1 -1
  270. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js.map +1 -1
  271. package/dist-server/graphql/types/worksheet/worksheet-info.js +3 -1
  272. package/dist-server/graphql/types/worksheet/worksheet-info.js.map +1 -1
  273. package/dist-server/graphql/types/worksheet/worksheet-list.js +1 -1
  274. package/dist-server/graphql/types/worksheet/worksheet-list.js.map +1 -1
  275. package/dist-server/graphql/types/worksheet/worksheet-patch.js +1 -1
  276. package/dist-server/graphql/types/worksheet/worksheet-patch.js.map +1 -1
  277. package/dist-server/graphql/types/worksheet/worksheet-with-pagination.js +1 -1
  278. package/dist-server/graphql/types/worksheet/worksheet-with-pagination.js.map +1 -1
  279. package/dist-server/graphql/types/worksheet/worksheet.js +1 -1
  280. package/dist-server/graphql/types/worksheet/worksheet.js.map +1 -1
  281. package/dist-server/graphql/types/worksheet-detail/index.js +2 -1
  282. package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -1
  283. package/dist-server/graphql/types/worksheet-detail/inventory-detail.js +2 -1
  284. package/dist-server/graphql/types/worksheet-detail/inventory-detail.js.map +1 -1
  285. package/dist-server/graphql/types/worksheet-detail/new-worksheet-detail.js +1 -1
  286. package/dist-server/graphql/types/worksheet-detail/new-worksheet-detail.js.map +1 -1
  287. package/dist-server/graphql/types/worksheet-detail/pallet-info.js +1 -1
  288. package/dist-server/graphql/types/worksheet-detail/pallet-info.js.map +1 -1
  289. package/dist-server/graphql/types/worksheet-detail/worksheet-detail-list.js +1 -1
  290. package/dist-server/graphql/types/worksheet-detail/worksheet-detail-list.js.map +1 -1
  291. package/dist-server/graphql/types/worksheet-detail/worksheet-detail-patch.js +1 -1
  292. package/dist-server/graphql/types/worksheet-detail/worksheet-detail-patch.js.map +1 -1
  293. package/dist-server/graphql/types/worksheet-detail/worksheet-detail.js +1 -1
  294. package/dist-server/graphql/types/worksheet-detail/worksheet-detail.js.map +1 -1
  295. package/dist-server/graphql/types/worksheet-movement/new-worksheet-movement.js +1 -1
  296. package/dist-server/graphql/types/worksheet-movement/new-worksheet-movement.js.map +1 -1
  297. package/dist-server/graphql/types/worksheet-movement/worksheet-movement-list.js +1 -1
  298. package/dist-server/graphql/types/worksheet-movement/worksheet-movement-list.js.map +1 -1
  299. package/dist-server/graphql/types/worksheet-movement/worksheet-movement-patch.js +1 -1
  300. package/dist-server/graphql/types/worksheet-movement/worksheet-movement-patch.js.map +1 -1
  301. package/dist-server/graphql/types/worksheet-movement/worksheet-movement.js +1 -1
  302. package/dist-server/graphql/types/worksheet-movement/worksheet-movement.js.map +1 -1
  303. package/dist-server/routes.js +20 -12
  304. package/dist-server/routes.js.map +1 -1
  305. package/dist-server/utils/inventory-util.js +59 -17
  306. package/dist-server/utils/inventory-util.js.map +1 -1
  307. package/dist-server/utils/worksheet-no-generator.js +24 -24
  308. package/dist-server/utils/worksheet-no-generator.js.map +1 -1
  309. package/dist-server/utils/worksheet-util.js +2 -2
  310. package/dist-server/utils/worksheet-util.js.map +1 -1
  311. package/package.json +16 -15
  312. package/server/controllers/ecommerce/ecommerce-controller.ts +82 -4
  313. package/server/controllers/ecommerce/index.ts +1 -0
  314. package/server/controllers/ecommerce/sellercraft-controller.ts +223 -0
  315. package/server/controllers/inbound/unloading-returning-worksheet-controller.ts +1 -0
  316. package/server/controllers/inbound/unloading-worksheet-controller.ts +16 -14
  317. package/server/controllers/index.ts +2 -0
  318. package/server/controllers/inspect/cycle-count-worksheet-controller.ts +108 -43
  319. package/server/controllers/outbound/packing-worksheet-controller.ts +21 -4
  320. package/server/controllers/outbound/picking-worksheet-controller.ts +26 -11
  321. package/server/controllers/render-elccl-grn.ts +3 -7
  322. package/server/controllers/render-grn.ts +218 -0
  323. package/server/controllers/render-job-sheet.ts +51 -39
  324. package/server/controllers/render-kimeda-grn.ts +28 -16
  325. package/server/controllers/render-orientage-do.ts +41 -11
  326. package/server/controllers/render-orientage-grn.ts +39 -10
  327. package/server/controllers/render-ro-do.ts +22 -6
  328. package/server/controllers/render-seebuu-grn.ts +198 -0
  329. package/server/controllers/vas/vas-worksheet-controller.ts +104 -23
  330. package/server/controllers/worksheet-controller.ts +80 -19
  331. package/server/entities/worksheet.ts +2 -0
  332. package/server/graphql/resolvers/pallet/pallet-outbound.ts +2 -1
  333. package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +30 -2
  334. package/server/graphql/resolvers/worksheet/cycle-count-worksheet.ts +7 -4
  335. package/server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.ts +30 -0
  336. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.ts +18 -3
  337. package/server/graphql/resolvers/worksheet/index.ts +6 -4
  338. package/server/graphql/resolvers/worksheet/not-tally-target-inventories.ts +4 -2
  339. package/server/graphql/resolvers/worksheet/packing/activate-packing.ts +20 -3
  340. package/server/graphql/resolvers/worksheet/packing/complete-packing.ts +47 -38
  341. package/server/graphql/resolvers/worksheet/packing/packing.ts +22 -3
  342. package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +22 -3
  343. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +79 -19
  344. package/server/graphql/resolvers/worksheet/pending-cancellation-release-order.ts +5 -1
  345. package/server/graphql/resolvers/worksheet/picking/activate-batch-picking.ts +34 -4
  346. package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +41 -8
  347. package/server/graphql/resolvers/worksheet/picking/assign-picking-inventories.ts +4 -3
  348. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +31 -3
  349. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +149 -148
  350. package/server/graphql/resolvers/worksheet/picking/undo-picking-assignment.ts +5 -4
  351. package/server/graphql/resolvers/worksheet/picking-worksheet.ts +5 -2
  352. package/server/graphql/resolvers/worksheet/recommend-putway-location.ts +7 -2
  353. package/server/graphql/resolvers/worksheet/replace-picking-pallets.ts +22 -9
  354. package/server/graphql/resolvers/worksheet/unloading/complete-unloading.ts +29 -5
  355. package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts +23 -2
  356. package/server/graphql/resolvers/worksheet/vas-transactions/common-utils.ts +452 -14
  357. package/server/graphql/resolvers/worksheet/vas-transactions/interfaces/index.ts +36 -1
  358. package/server/graphql/resolvers/worksheet/vas-transactions/interfaces/repackaging.ts +8 -2
  359. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.ts +185 -56
  360. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.ts +210 -54
  361. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.ts +64 -32
  362. package/server/graphql/resolvers/worksheet/worksheet.ts +67 -62
  363. package/server/graphql/resolvers/worksheet/worksheets.ts +51 -13
  364. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +119 -168
  365. package/server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts +2 -1
  366. package/server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.ts +2 -1
  367. package/server/graphql/types/index.ts +2 -1
  368. package/server/graphql/types/pallet/index.ts +6 -0
  369. package/server/graphql/types/worksheet/airwaybill.ts +7 -0
  370. package/server/graphql/types/worksheet/index.ts +10 -2
  371. package/server/graphql/types/worksheet/worksheet-info.ts +2 -0
  372. package/server/graphql/types/worksheet-detail/index.ts +2 -1
  373. package/server/graphql/types/worksheet-detail/inventory-detail.ts +1 -0
  374. package/server/routes.ts +15 -5
  375. package/server/utils/inventory-util.ts +64 -21
@@ -1,21 +1,24 @@
1
+ import { EntityManager } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
2
- import { Bizplace, getMyBizplace, ContactPoint } from '@things-factory/biz-base'
3
- import { OrderInventory, ORDER_INVENTORY_STATUS, ReleaseGood } from '@things-factory/sales-base'
4
+ import { Bizplace, ContactPoint, getMyBizplace } from '@things-factory/biz-base'
5
+ import { LastMileAPI, LastMileDelivery } from '@things-factory/integration-lmd'
6
+ import { MarketplaceStore, MarketplaceTransporter } from '@things-factory/integration-marketplace'
7
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
8
+ import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShipping } from '@things-factory/marketplace-base'
9
+ import { ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'
4
10
  import { Domain } from '@things-factory/shell'
5
- import { EntityManager } from 'typeorm'
6
- import { WORKSHEET_TYPE, WORKSHEET_STATUS } from '../../../../constants'
11
+
12
+ import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'
7
13
  import {
8
- PackingWorksheetController,
9
14
  LoadingWorksheetController,
10
- PickingWorksheetController
15
+ PackingWorksheetController,
16
+ PickingWorksheetController,
17
+ SellercraftController
11
18
  } from '../../../../controllers/'
12
- import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShipping } from '@things-factory/marketplace-base'
13
- import { MarketplaceTransporter } from '@things-factory/integration-marketplace'
19
+ import { EcommerceController } from '../../../../controllers/ecommerce'
14
20
  import { WorksheetController } from '../../../../controllers/worksheet-controller'
15
21
  import { Worksheet, WorksheetDetail } from '../../../../entities'
16
- import { WorksheetNoGenerator } from '../../../../utils'
17
-
18
- import { LastMileDelivery, LastMileAPI } from '@things-factory/integration-lmd'
19
22
 
20
23
  export const completePickingResolver = {
21
24
  async completePicking(_: any, { releaseGoodNo }, context: any) {
@@ -41,9 +44,16 @@ export async function completePicking(
41
44
  releaseGoodNo: string
42
45
  ): Promise<void> {
43
46
  const pickingWSCtrl: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
44
- const releaseGood: ReleaseGood = await pickingWSCtrl.findRefOrder(ReleaseGood, {
45
- domain,
46
- name: releaseGoodNo
47
+ const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
48
+ where: { domain, name: releaseGoodNo },
49
+ relations: [
50
+ 'bizplace',
51
+ 'bizplace.domain',
52
+ 'bizplace.company',
53
+ 'bizplace.company.domain',
54
+ 'orderInventories',
55
+ 'orderInventories.product'
56
+ ]
47
57
  })
48
58
 
49
59
  const worksheet: Worksheet = await pickingWSCtrl.findWorksheetByRefOrder(releaseGood, WORKSHEET_TYPE.PICKING, [
@@ -60,160 +70,151 @@ export async function completePicking(
60
70
 
61
71
  const worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails
62
72
  const targetInventories: OrderInventory[] = worksheetDetails.map((wsd: WorksheetDetail) => wsd.targetInventory)
63
- const pickedTargetInventories: OrderInventory[] = targetInventories
64
- .filter(targetInventory => targetInventory.status === ORDER_INVENTORY_STATUS.PICKED)
65
- .map((pickedTargetInventory: OrderInventory) => {
66
- return pickedTargetInventory
67
- })
73
+ const pickedTargetInventories: OrderInventory[] = targetInventories.filter(
74
+ targetInventory => targetInventory.status === ORDER_INVENTORY_STATUS.PICKED
75
+ )
68
76
 
69
77
  await pickingWSCtrl.completePicking(releaseGoodNo)
70
78
 
71
- // Find Existing Loading Worksheet if any
72
- let existLoadingWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
73
- where: {
74
- releaseGood,
75
- type: WORKSHEET_TYPE.LOADING,
76
- status: WORKSHEET_STATUS.DEACTIVATED
77
- }
78
- })
79
-
80
- // find marketplace store to check if there is any eTrax true config
81
- // access marketplaceOrderShipping from marketplaceOrderItems
82
- const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
83
- where: { releaseOrderId: releaseGood.id },
84
- relations: ['marketplaceStore', 'marketplaceOrderItems', 'marketplaceOrderItems.marketplaceOrderShipping']
85
- })
86
-
87
- const eTraxOption: Boolean = marketplaceOrder?.marketplaceStore.eTrax
88
-
89
- if (releaseGood.packingOption) {
90
- // if eTrax option is true
91
- if (eTraxOption) {
92
- const marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems
93
-
94
- // access every marketplaceOrderItems for shipping information you need
95
- // trigger the controller from integration-lmd that trigger the API, build the parameters needed
96
- // for etrax didn't support multi awb per order
97
- const marketplaceOrderShipping: MarketplaceOrderShipping = marketplaceOrderItems[0].marketplaceOrderShipping
98
- const lmd: LastMileDelivery = await tx.getRepository(LastMileDelivery).findOne({
99
- where: {
100
- domain,
101
- platform: 'eTrax'
102
- }
79
+ if (releaseGood.type == 'b2c') {
80
+ const sellercraft: Sellercraft = await tx
81
+ .getRepository(Sellercraft)
82
+ .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
83
+
84
+ if (sellercraft) {
85
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
86
+ await sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)
87
+ } else {
88
+ const companyDomain: Domain = releaseGood.bizplace.company.domain
89
+ let marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
90
+ where: { orderNo: releaseGood.refNo, domain: companyDomain },
91
+ relations: ['marketplaceStore']
103
92
  })
93
+ const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore
94
+ let eTraxOption: boolean
104
95
 
105
- //Get which transporter to use
106
- const marketplaceTransporter: MarketplaceTransporter = await tx.getRepository(MarketplaceTransporter).findOne({
107
- where: { marketplaceStore: marketplaceOrder.marketplaceStore },
108
- relations: ['pickupTransporter', 'deliveryTransporter']
109
- })
96
+ if (marketplaceStore.isAutoUpdateShipment) {
97
+ const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
98
+ await ecommerceCtrl.createOrderComment(marketplaceStore, marketplaceOrder, ORDER_STATUS.PACKING)
99
+ }
110
100
 
111
- const resp = await LastMileAPI.createShipmentRequest(lmd, {
112
- orderNo: marketplaceOrder.orderNo,
113
- clientId: lmd.clientId,
114
- clientType: lmd.clientType,
115
- clientName: lmd.clientName,
116
- transporterId: marketplaceTransporter.pickupTransporter.transporterId,
117
- pickupName: warehouseContactPoint.name,
118
- pickupAddress1: warehouseContactPoint.address,
119
- pickupAddress2: warehouseContactPoint.address2,
120
- pickupPostcode: warehouseContactPoint.postCode,
121
- pickupState: warehouseContactPoint.state,
122
- pickupCity: warehouseContactPoint.city,
123
- pickupPhone: warehouseContactPoint.phone,
124
- pickupEmail: warehouseContactPoint.email,
125
- name: marketplaceOrderShipping.attentionTo.trim(),
126
- address1: marketplaceOrderShipping.address1.trim(),
127
- address2: marketplaceOrderShipping.address2.trim(),
128
- postCode: marketplaceOrderShipping.postCode.trim(),
129
- city: marketplaceOrderShipping.city.trim(),
130
- state: marketplaceOrderShipping.state.trim(),
131
- phone: marketplaceOrderShipping.phone1 || '',
132
- email: marketplaceOrderShipping.email || '',
133
- attentionTo: marketplaceOrderShipping.attentionTo,
134
- quantity: marketplaceOrderItems.length
101
+ marketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
102
+ where: { orderNo: releaseGood.refNo },
103
+ relations: ['marketplaceStore', 'marketplaceOrderItems', 'marketplaceOrderItems.marketplaceOrderShipping']
135
104
  })
136
105
 
137
- const delay = (ms: number) => {
138
- return new Promise(resolve => setTimeout(resolve, ms))
139
- }
106
+ if (!marketplaceOrder)
107
+ throw new Error('Failed to find ecommerce order, kindly contact our support team regarding this issue')
108
+ eTraxOption = marketplaceOrder?.marketplaceStore.eTrax
140
109
 
141
- if (resp.Status === 'SUCCESS') {
142
- //Success
143
- let awbObtained = false
144
- let retry = 0
145
- while (!awbObtained) {
146
- const marketplaceOrder2: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
147
- where: { releaseOrderId: releaseGood.id },
148
- relations: ['marketplaceStore', 'marketplaceOrderItems', 'marketplaceOrderItems.marketplaceOrderShipping']
149
- })
150
- const orderShipping = marketplaceOrder2.marketplaceOrderItems[0].marketplaceOrderShipping
151
- if (orderShipping.airwayBill) {
152
- awbObtained = true
110
+ // if eTrax option is true
111
+ if (eTraxOption) {
112
+ const marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems
113
+
114
+ // access every marketplaceOrderItems for shipping information you need
115
+ // trigger the controller from integration-lmd that trigger the API, build the parameters needed
116
+ // for etrax didn't support multi awb per order
117
+ const marketplaceOrderShipping: MarketplaceOrderShipping = marketplaceOrderItems[0].marketplaceOrderShipping
118
+ const lmd: LastMileDelivery = await tx.getRepository(LastMileDelivery).findOne({
119
+ where: {
120
+ domain,
121
+ platform: 'eTrax'
153
122
  }
154
- await delay(5000)
155
- //Timeout after 15sec
156
- if (++retry > 3) {
157
- break
123
+ })
124
+
125
+ //Get which transporter to use
126
+ const marketplaceTransporter: MarketplaceTransporter = await tx.getRepository(MarketplaceTransporter).findOne({
127
+ where: { marketplaceStore: marketplaceOrder.marketplaceStore },
128
+ relations: ['pickupTransporter', 'deliveryTransporter']
129
+ })
130
+
131
+ const resp = await LastMileAPI.createShipmentRequest(lmd, {
132
+ orderNo: marketplaceOrder.orderNo,
133
+ clientId: lmd.clientId,
134
+ clientType: lmd.clientType,
135
+ clientName: lmd.clientName,
136
+ transporterId: marketplaceTransporter.pickupTransporter.transporterId,
137
+ pickupName: warehouseContactPoint.name,
138
+ pickupAddress1: warehouseContactPoint.address,
139
+ pickupAddress2: warehouseContactPoint.address2,
140
+ pickupPostcode: warehouseContactPoint.postCode,
141
+ pickupState: warehouseContactPoint.state,
142
+ pickupCity: warehouseContactPoint.city,
143
+ pickupPhone: warehouseContactPoint.phone,
144
+ pickupEmail: warehouseContactPoint.email,
145
+ name: marketplaceOrderShipping?.attentionTo ? marketplaceOrderShipping.attentionTo.trim() : '',
146
+ address1: marketplaceOrderShipping?.address1 ? marketplaceOrderShipping?.address1.trim() : '-',
147
+ address2: marketplaceOrderShipping?.address2 ? marketplaceOrderShipping?.address2.trim() : '-',
148
+ postCode: marketplaceOrderShipping?.postCode ? marketplaceOrderShipping?.postCode.trim() : '',
149
+ city: marketplaceOrderShipping?.city ? marketplaceOrderShipping?.city.trim() : '',
150
+ state: marketplaceOrderShipping?.state ? marketplaceOrderShipping?.state.trim() : '',
151
+ phone: marketplaceOrderShipping.phone1 || '',
152
+ email: marketplaceOrderShipping.email || '',
153
+ attentionTo: marketplaceOrderShipping.attentionTo,
154
+ quantity: marketplaceOrderItems.length
155
+ })
156
+
157
+ const delay = (ms: number) => {
158
+ return new Promise(resolve => setTimeout(resolve, ms))
159
+ }
160
+
161
+ if (resp.Status === 'SUCCESS') {
162
+ //Success
163
+ let awbObtained = false
164
+ let retry = 0
165
+ while (!awbObtained) {
166
+ const marketplaceOrder2: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
167
+ where: { releaseOrderId: releaseGood.id },
168
+ relations: ['marketplaceStore', 'marketplaceOrderItems', 'marketplaceOrderItems.marketplaceOrderShipping']
169
+ })
170
+ const orderShipping = marketplaceOrder2.marketplaceOrderItems[0].marketplaceOrderShipping
171
+ if (orderShipping?.airwayBill) {
172
+ awbObtained = true
173
+ }
174
+ await delay(5000)
175
+ //Timeout after 15sec
176
+ if (++retry > 3) {
177
+ break
178
+ }
158
179
  }
180
+ } else {
181
+ throw resp
182
+ //Failed
159
183
  }
160
- } else {
161
- throw resp
162
- //Failed
163
184
  }
164
185
  }
186
+ }
165
187
 
188
+ if (releaseGood.packingOption) {
166
189
  const packingWSCtrl: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)
167
190
  await packingWSCtrl.generatePackingWorksheet(releaseGoodNo)
168
- }
191
+ } else {
192
+ // Find Existing Loading Worksheet if any
193
+ const existLoadingWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
194
+ where: {
195
+ releaseGood,
196
+ type: WORKSHEET_TYPE.LOADING,
197
+ status: WORKSHEET_STATUS.DEACTIVATED
198
+ }
199
+ })
169
200
 
170
- if (existLoadingWorksheet && !releaseGood.packingOption) {
171
- const bizplace: Bizplace = await getMyBizplace(domain, user)
201
+ if (!existLoadingWorksheet && !releaseGood.courierOption && !releaseGood.packingOption) {
202
+ const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)
203
+ let loadingWorksheet: Worksheet = await loadingWSCtrl.generateLoadingWorksheet(
204
+ releaseGoodNo,
205
+ pickedTargetInventories
206
+ )
172
207
 
173
- // 2) Create loading worksheet details
174
- let loadingWorksheetDetails = await Promise.all(
175
- pickedTargetInventories.map(async (targetInventory: OrderInventory) => {
176
- let existingLoadingWorksheetDetail: WorksheetDetail = await tx.getRepository(WorksheetDetail).findOne({
177
- where: {
178
- domain,
179
- worksheet: existLoadingWorksheet,
180
- targetInventory,
181
- type: WORKSHEET_TYPE.LOADING
182
- }
183
- })
208
+ if (!loadingWorksheet.worksheetDetails?.length) {
209
+ loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id)
210
+ }
184
211
 
185
- return existingLoadingWorksheetDetail
186
- ? {
187
- ...existingLoadingWorksheetDetail,
188
- status: WORKSHEET_STATUS.DEACTIVATED
189
- }
190
- : {
191
- domain,
192
- bizplace: bizplace,
193
- worksheet: existLoadingWorksheet,
194
- name: WorksheetNoGenerator.generateDetail(WORKSHEET_TYPE.LOADING),
195
- targetInventory,
196
- type: WORKSHEET_TYPE.LOADING,
197
- status: WORKSHEET_STATUS.DEACTIVATED,
198
- creator: user,
199
- updater: user
200
- }
201
- })
202
- )
203
-
204
- loadingWorksheetDetails = await tx.getRepository(WorksheetDetail).save(loadingWorksheetDetails)
205
- } else if (!existLoadingWorksheet && !releaseGood.courierOption && !releaseGood.packingOption) {
206
- const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)
207
- let loadingWorksheet: Worksheet = await loadingWSCtrl.generateLoadingWorksheet(
208
- releaseGoodNo,
209
- pickedTargetInventories
210
- )
211
-
212
- if (!loadingWorksheet.worksheetDetails?.length) {
213
- loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id)
212
+ const loadingWorksheetDetails: WorksheetDetail[] = loadingWorksheet.worksheetDetails
213
+ await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails)
214
+ } else {
215
+ throw new Error(
216
+ 'Picking completion has been triggered twice, loading worksheet has been generated. Kindly proceed to loading.'
217
+ )
214
218
  }
215
-
216
- const loadingWorksheetDetails: WorksheetDetail[] = loadingWorksheet.worksheetDetails
217
- await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails)
218
219
  }
219
220
  }
@@ -4,9 +4,9 @@ import { EntityManager } from 'typeorm'
4
4
  import { PickingWorksheetController } from '../../../../controllers'
5
5
 
6
6
  export const undoPickingAssigmentResolver = {
7
- async undoPickingAssigment(_: any, { worksheetNo, batchId, productId, packingType }, context: any): Promise<void> {
7
+ async undoPickingAssigment(_: any, { worksheetNo, batchId, productId, packingType, packingSize }, context: any): Promise<void> {
8
8
  const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
9
- await undoPickingAssigment(tx, domain, user, worksheetNo, batchId, productId, packingType)
9
+ await undoPickingAssigment(tx, domain, user, worksheetNo, batchId, productId, packingType, packingSize)
10
10
  }
11
11
  }
12
12
 
@@ -17,8 +17,9 @@ export async function undoPickingAssigment(
17
17
  worksheetNo: string,
18
18
  batchId: string,
19
19
  productId: string,
20
- packingType: string
20
+ packingType: string,
21
+ packingSize: number
21
22
  ): Promise<void> {
22
23
  const worksheetController: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
23
- await worksheetController.undoPickingAssigment(worksheetNo, batchId, productId, packingType)
24
+ await worksheetController.undoPickingAssigment(worksheetNo, batchId, productId, packingType, packingSize)
24
25
  }
@@ -1,10 +1,12 @@
1
1
  import { createQueryBuilder, getRepository, SelectQueryBuilder } from 'typeorm'
2
+
3
+ import { ORDER_INVENTORY_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'
2
4
  import { Domain } from '@things-factory/shell'
3
- import { fetchExecutingWorksheet } from '../../../utils'
4
5
  import { Inventory } from '@things-factory/warehouse-base'
5
- import { OrderInventory, ReleaseGood, ORDER_INVENTORY_STATUS } from '@things-factory/sales-base'
6
+
6
7
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
7
8
  import { WorksheetDetail } from '../../../entities'
9
+ import { fetchExecutingWorksheet } from '../../../utils'
8
10
 
9
11
  export const pickingWorksheetResolver = {
10
12
  async pickingWorksheet(_: any, { releaseGoodNo, locationSortingRules }, context: any) {
@@ -47,6 +49,7 @@ export const pickingWorksheetResolver = {
47
49
  partnerDomainId: releaseGood.bizplace?.domain.id,
48
50
  startedAt: worksheet.startedAt,
49
51
  refNo: releaseGood.refNo,
52
+ refNo2: releaseGood.refNo2,
50
53
  releaseGood
51
54
  },
52
55
  worksheetDetailInfos: worksheetDetails.map(async (pickingWSD: WorksheetDetail) => {
@@ -2,7 +2,7 @@ import { ArrivalNotice, ReturnOrder } from '@things-factory/sales-base'
2
2
  import { Setting } from '@things-factory/setting-base'
3
3
  import { Domain } from '@things-factory/shell'
4
4
  import { Location, LOCATION_STATUS, LOCATION_TYPE, Warehouse } from '@things-factory/warehouse-base'
5
- import { Equal, getRepository, Not } from 'typeorm'
5
+ import { In, getRepository, Not } from 'typeorm'
6
6
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
7
7
  import { Worksheet, WorksheetDetail } from '../../../entities'
8
8
 
@@ -65,7 +65,12 @@ export async function recommendLocationLevel1(
65
65
  if (orderSetting?.value) order = JSON.parse(orderSetting.value)
66
66
 
67
67
  return await getRepository(Location).find({
68
- where: { domain, warehouse, status: LOCATION_STATUS.EMPTY, type: Not(Equal(LOCATION_TYPE.BUFFER)) },
68
+ where: {
69
+ domain,
70
+ warehouse,
71
+ status: LOCATION_STATUS.EMPTY,
72
+ type: Not(In([LOCATION_TYPE.BUFFER, LOCATION_TYPE.BIN]))
73
+ },
69
74
  order,
70
75
  take: optCnt
71
76
  })
@@ -1,15 +1,18 @@
1
+ import { EntityManager } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
2
4
  import { Bizplace } from '@things-factory/biz-base'
5
+ import { Product } from '@things-factory/product-base'
3
6
  import {
4
- OrderInventory,
5
- OrderNoGenerator,
6
7
  ORDER_INVENTORY_STATUS,
7
8
  ORDER_TYPES,
9
+ OrderInventory,
10
+ OrderNoGenerator,
8
11
  ReleaseGood
9
12
  } from '@things-factory/sales-base'
10
13
  import { Domain } from '@things-factory/shell'
11
14
  import { Inventory } from '@things-factory/warehouse-base'
12
- import { EntityManager } from 'typeorm'
15
+
13
16
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
14
17
  import { Worksheet, WorksheetDetail } from '../../../entities'
15
18
  import { WorksheetNoGenerator } from '../../../utils'
@@ -29,11 +32,13 @@ export const replacePickingPalletsResolver = {
29
32
  'worksheet',
30
33
  'targetInventory',
31
34
  'targetInventory.releaseGood',
32
- 'targetInventory.inventory'
35
+ 'targetInventory.inventory',
36
+ 'targetInventory.inventory.product'
33
37
  ]
34
38
  })
35
39
  const prevOrderInv: OrderInventory = prevWSD.targetInventory
36
40
  const prevInv: Inventory = prevOrderInv.inventory
41
+ const product: Product = prevInv.product
37
42
  const batchId: string = prevOrderInv.batchId
38
43
  const productName: string = prevOrderInv.productName
39
44
  const packingType: string = prevOrderInv.packingType
@@ -45,9 +50,8 @@ export const replacePickingPalletsResolver = {
45
50
  // remove locked qty and locked uomValue
46
51
  await tx.getRepository(Inventory).save({
47
52
  ...prevInv,
48
- lockedQty: 0,
49
- lockedWeight: 0,
50
- lockedUomValue: 0,
53
+ lockedQty: prevInv.lockedQty - prevOrderInv.releaseQty,
54
+ lockedUomValue: prevInv.lockedUomValue - prevOrderInv.releaseUomValue,
51
55
  updater: user
52
56
  })
53
57
 
@@ -67,7 +71,7 @@ export const replacePickingPalletsResolver = {
67
71
 
68
72
  await Promise.all(
69
73
  inventories.map(async (inventory: Inventory) => {
70
- const foundInv: Inventory = await tx.getRepository(Inventory).findOne({
74
+ let foundInv: Inventory = await tx.getRepository(Inventory).findOne({
71
75
  where: {
72
76
  domain,
73
77
  palletId: inventory.palletId
@@ -85,11 +89,13 @@ export const replacePickingPalletsResolver = {
85
89
  releaseQty: inventory.qty,
86
90
  releaseUomValue: unitUomValue * inventory.qty,
87
91
  inventory: foundInv,
92
+ product,
88
93
  batchId,
89
94
  type: ORDER_TYPES.RELEASE_OF_GOODS,
90
95
  status: ORDER_INVENTORY_STATUS.PICKING,
91
96
  productName,
92
97
  packingType,
98
+ packingSize: inventory.packingSize,
93
99
  creator: user,
94
100
  updater: user
95
101
  })
@@ -110,8 +116,15 @@ export const replacePickingPalletsResolver = {
110
116
  updater: user
111
117
  })
112
118
 
119
+ foundInv.lockedQty = foundInv.lockedQty ? foundInv.lockedQty + inventory.qty : inventory.qty
120
+ foundInv.lockedUomValue = foundInv.lockedUomValue
121
+ ? foundInv.lockedUomValue + unitUomValue * inventory.qty
122
+ : unitUomValue * inventory.qty
123
+
124
+ foundInv = await tx.getRepository(Inventory).save(foundInv)
125
+
113
126
  // 6. execute picking transaction
114
- await picking(tx, domain, user, wsd.name, worksheetType, inventory.palletId, returnLocation, inventory.qty)
127
+ await picking(tx, domain, user, wsd.name, worksheetType, foundInv.palletId, returnLocation, inventory.qty)
115
128
  })
116
129
  )
117
130
  }
@@ -1,14 +1,17 @@
1
+ import { EntityManager } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
2
4
  import { Bizplace } from '@things-factory/biz-base'
3
- import { ArrivalNotice, generateGoodsReceivalNote } from '@things-factory/sales-base'
4
5
  import { MarketplaceStore } from '@things-factory/integration-marketplace'
6
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
7
+ import { ArrivalNotice, generateGoodsReceivalNote } from '@things-factory/sales-base'
5
8
  import { Domain } from '@things-factory/shell'
6
9
  import { Inventory, INVENTORY_STATUS } from '@things-factory/warehouse-base'
7
- import { EntityManager } from 'typeorm'
10
+
8
11
  import { WORKSHEET_STATUS } from '../../../../constants'
9
12
  import { PutawayWorksheetController, UnloadingWorksheetController } from '../../../../controllers'
13
+ import { EcommerceController, SellercraftController } from '../../../../controllers/ecommerce'
10
14
  import { Worksheet, WorksheetDetail } from '../../../../entities'
11
- import { EcommerceController } from '../../../../controllers/ecommerce'
12
15
 
13
16
  export const completeUnloadingResolver = {
14
17
  async completeUnloading(_: any, { arrivalNoticeNo, worksheetDetails }, context: any) {
@@ -17,7 +20,17 @@ export const completeUnloadingResolver = {
17
20
 
18
21
  const arrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).findOne({
19
22
  where: { domain, name: arrivalNoticeNo },
20
- relations: ['bizplace', 'bizplace.company', 'bizplace.company.domain', 'orderProducts', 'orderProducts.product']
23
+ relations: [
24
+ 'purchaseOrder',
25
+ 'bizplace',
26
+ 'bizplace.domain',
27
+ 'bizplace.company',
28
+ 'bizplace.company.domain',
29
+ 'orderProducts',
30
+ 'orderProducts.product',
31
+ 'orderProducts.product.productDetails',
32
+ 'orderProducts.product.productDetails.childProductDetail'
33
+ ]
21
34
  })
22
35
 
23
36
  const putawayWSCtrl: PutawayWorksheetController = new PutawayWorksheetController(tx, domain, user)
@@ -29,10 +42,21 @@ export const completeUnloadingResolver = {
29
42
 
30
43
  // search for any active marketplace connection
31
44
  const companyDomain: Domain = arrivalNotice.bizplace.company.domain
45
+ const customerDomain: Domain = arrivalNotice.bizplace.domain
32
46
  const marketplaceStores: MarketplaceStore[] = await tx.getRepository(MarketplaceStore).find({
33
- where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true }
47
+ where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
48
+ relations: ['marketplaceDistributors']
34
49
  })
35
50
 
51
+ const sellercraft: Sellercraft = await tx
52
+ .getRepository(Sellercraft)
53
+ .findOne({ domain: customerDomain, status: SellercraftStatus.ACTIVE })
54
+
55
+ if (sellercraft) {
56
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
57
+ await sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice)
58
+ }
59
+
36
60
  if (marketplaceStores?.length && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
37
61
  const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
38
62
  await ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain)
@@ -1,10 +1,14 @@
1
+ import { EntityManager } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
4
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
2
5
  import { ReturnOrder } from '@things-factory/sales-base'
3
6
  import { Domain } from '@things-factory/shell'
4
7
  import { Inventory, INVENTORY_STATUS } from '@things-factory/warehouse-base'
5
- import { EntityManager } from 'typeorm'
8
+
6
9
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'
7
10
  import { PutawayReturningWorksheetController, UnloadingReturningWorksheetController } from '../../../../controllers'
11
+ import { SellercraftController } from '../../../../controllers/ecommerce'
8
12
  import { Worksheet, WorksheetDetail } from '../../../../entities'
9
13
 
10
14
  export const completeUnloadReturningResolver = {
@@ -14,9 +18,26 @@ export const completeUnloadReturningResolver = {
14
18
 
15
19
  const returnOrder: ReturnOrder = await tx.getRepository(ReturnOrder).findOne({
16
20
  where: { domain, name: returnOrderNo },
17
- relations: ['bizplace']
21
+ relations: [
22
+ 'bizplace',
23
+ 'bizplace.domain',
24
+ 'orderInventories',
25
+ 'orderInventories.inventory',
26
+ 'orderInventories.product',
27
+ 'orderInventories.product.productDetails'
28
+ ]
18
29
  })
19
30
 
31
+ const customerDomain: Domain = returnOrder.bizplace.domain
32
+ const sellercraft: Sellercraft = await tx
33
+ .getRepository(Sellercraft)
34
+ .findOne({ domain: customerDomain, status: SellercraftStatus.ACTIVE })
35
+
36
+ if (sellercraft) {
37
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
38
+ await sellercraftCtrl.registerProductReturn(sellercraft, returnOrder)
39
+ }
40
+
20
41
  const putawayWSCtrl: PutawayReturningWorksheetController = new PutawayReturningWorksheetController(tx, domain, user)
21
42
  let putawayWorksheet: Worksheet
22
43