@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,24 +1,26 @@
1
+ import { EntityManager, EntitySchema, Equal, FindOneOptions, In, Not } from 'typeorm'
2
+
1
3
  import { Role, User } from '@things-factory/auth-base'
2
4
  import { Bizplace, getDomainUsers } from '@things-factory/biz-base'
5
+ import { sendNotification } from '@things-factory/notification'
6
+ import { ProductDetail } from '@things-factory/product-base'
3
7
  import {
4
8
  ArrivalNotice,
5
9
  DeliveryOrder,
6
10
  InventoryCheck,
7
- OrderInventory,
8
- OrderProduct,
9
- OrderVas,
10
11
  ORDER_INVENTORY_STATUS,
11
12
  ORDER_PRODUCT_STATUS,
12
13
  ORDER_VAS_STATUS,
14
+ OrderInventory,
15
+ OrderProduct,
16
+ OrderVas,
13
17
  ReleaseGood,
14
- VasOrder,
15
- ReturnOrder
18
+ ReturnOrder,
19
+ VasOrder
16
20
  } from '@things-factory/sales-base'
17
- import { ProductDetail } from '@things-factory/product-base'
18
21
  import { Domain } from '@things-factory/shell'
19
- import { sendNotification } from '@things-factory/notification'
20
- import { Inventory, Pallet, INVENTORY_STATUS } from '@things-factory/warehouse-base'
21
- import { EntityManager, EntitySchema, Equal, FindOneOptions, Not, In } from 'typeorm'
22
+ import { Inventory, INVENTORY_STATUS, Pallet } from '@things-factory/warehouse-base'
23
+
22
24
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../constants'
23
25
  import { Worksheet, WorksheetDetail } from '../entities'
24
26
  import { generateInventoryHistory, WorksheetNoGenerator } from '../utils'
@@ -56,6 +58,7 @@ export class WorksheetController {
56
58
  public readonly ERROR_MSG = {
57
59
  FIND: {
58
60
  NO_RESULT: (condition: any) => `There's no results matched with condition ${condition}`,
61
+ NO_CHILD_RESULT: (condition: any) => `There's no child result matched with condition ${condition}`,
59
62
  NOT_MATCH: (source: any, target: any) => `Unable to find matching ${target} using ${source}`
60
63
  },
61
64
  ORDER_ITEM: {
@@ -637,10 +640,12 @@ export class WorksheetController {
637
640
 
638
641
  const worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails
639
642
 
640
- worksheetDetails.forEach((wsd: WorksheetDetail) => {
641
- wsd.status = WORKSHEET_STATUS.DONE
642
- wsd.updater = this.user
643
- })
643
+ worksheetDetails
644
+ .filter((wsd: WorksheetDetail) => wsd.status !== ORDER_INVENTORY_STATUS.REPLACED)
645
+ .forEach((wsd: WorksheetDetail) => {
646
+ wsd.status = WORKSHEET_STATUS.DONE
647
+ wsd.updater = this.user
648
+ })
644
649
  await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetails)
645
650
 
646
651
  if (worksheetType === WORKSHEET_TYPE.UNLOADING) {
@@ -668,12 +673,14 @@ export class WorksheetController {
668
673
  worksheetType === WORKSHEET_TYPE.WAREHOUSE_RETURN ||
669
674
  worksheetType === WORKSHEET_TYPE.UNLOADING_RETURN
670
675
  ) {
671
- const targetInventories: OrderInventory[] = worksheet.worksheetDetails.map((wsd: WorksheetDetail) => {
672
- let targetInventory: OrderInventory = wsd.targetInventory
673
- targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED
674
- targetInventory.updater = this.user
675
- return targetInventory
676
- })
676
+ const targetInventories: OrderInventory[] = worksheet.worksheetDetails
677
+ .filter((wsd: WorksheetDetail) => wsd.status !== ORDER_INVENTORY_STATUS.REPLACED)
678
+ .map((wsd: WorksheetDetail) => {
679
+ let targetInventory: OrderInventory = wsd.targetInventory
680
+ targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED
681
+ targetInventory.updater = this.user
682
+ return targetInventory
683
+ })
677
684
 
678
685
  await this.updateOrderTargets(targetInventories)
679
686
  }
@@ -951,6 +958,60 @@ export class WorksheetController {
951
958
  return childQty
952
959
  }
953
960
 
961
+ /**
962
+ * @summary Check for product child qty at any scanned level
963
+ * @description It will check every level of product detail by comparing scanned level and GAN registered level.
964
+ * By getting the level that has relation, child qty will be retrieved
965
+ * 1st level: PALLET -> 2 CARTONS (scan), 2nd level: CARTON -> 6 BAGS, 3rd level: BAG -> 10 UNITS, lowest: UNIT (order registered packing type)
966
+ */
967
+ async getChildPackingSize(
968
+ productDetails: ProductDetail[],
969
+ defaultProductDetail: ProductDetail,
970
+ unmatchingProductDetail: ProductDetail
971
+ ): Promise<number> {
972
+ let hasChildRelation: boolean = Boolean(unmatchingProductDetail?.childProductDetail)
973
+ let hasMatchingChild: boolean
974
+ let packingSize: number = 1
975
+ let currentChildProductDetail: ProductDetail
976
+
977
+ if (hasChildRelation) {
978
+ currentChildProductDetail = productDetails.find(
979
+ (productDetail: ProductDetail) => productDetail.id === unmatchingProductDetail.childProductDetail.id
980
+ )
981
+
982
+ if (!currentChildProductDetail) {
983
+ throw new Error(this.ERROR_MSG.FIND.NOT_MATCH('packing type', `GTIN (${unmatchingProductDetail.gtin})`))
984
+ }
985
+
986
+ hasMatchingChild = Boolean(defaultProductDetail.id === currentChildProductDetail.id)
987
+ if (hasMatchingChild) {
988
+ packingSize = unmatchingProductDetail.packingSize
989
+ } else {
990
+ packingSize = unmatchingProductDetail.packingSize * packingSize
991
+ }
992
+ } else {
993
+ throw new Error(this.ERROR_MSG.FIND.NO_CHILD_RESULT(`${unmatchingProductDetail.gtin}`))
994
+ }
995
+
996
+ while (hasChildRelation && !hasMatchingChild) {
997
+ if (hasMatchingChild) {
998
+ packingSize = currentChildProductDetail.packingSize * packingSize // 12 x 10
999
+ } else if (!hasMatchingChild && hasChildRelation) {
1000
+ packingSize = currentChildProductDetail.packingSize * packingSize // 12 x 10
1001
+ currentChildProductDetail = productDetails.find(
1002
+ (productDetail: ProductDetail) => productDetail.id === currentChildProductDetail.childProductDetail.id
1003
+ )
1004
+
1005
+ hasChildRelation = Boolean(currentChildProductDetail?.childProductDetail)
1006
+ hasMatchingChild = Boolean(defaultProductDetail.id === currentChildProductDetail.id)
1007
+ } else if (!hasChildRelation && !hasMatchingChild) {
1008
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(unmatchingProductDetail.gtin))
1009
+ }
1010
+ }
1011
+
1012
+ return packingSize
1013
+ }
1014
+
954
1015
  async createInventory(inventory: Partial<Inventory> | Partial<Inventory>[]): Promise<Inventory | Inventory[]> {
955
1016
  inventory = this.setStamp(inventory)
956
1017
  return await this.trxMgr.getRepository(Inventory).save(inventory)
@@ -26,6 +26,8 @@ import { WorksheetDetail } from './worksheet-detail'
26
26
  @Index('ix_worksheet_0', (worksheet: Worksheet) => [worksheet.domain, worksheet.bizplace, worksheet.name], {
27
27
  unique: true
28
28
  })
29
+ @Index('ix_worksheet_1', (worksheet: Worksheet) => [worksheet.arrivalNotice, worksheet.type])
30
+ @Index('ix_worksheet_2', (worksheet: Worksheet) => [worksheet.releaseGood, worksheet.type])
29
31
  export class Worksheet {
30
32
  @PrimaryGeneratedColumn('uuid')
31
33
  id: string
@@ -1,9 +1,10 @@
1
+ import { EntityManager, In } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
2
4
  import { Bizplace } from '@things-factory/biz-base'
3
5
  import { ReleaseGood } from '@things-factory/sales-base'
4
6
  import { Domain } from '@things-factory/shell'
5
7
  import { Pallet, PalletHistory } from '@things-factory/warehouse-base'
6
- import { EntityManager, getRepository, In } from 'typeorm'
7
8
 
8
9
  export const palletOutbound = {
9
10
  async palletOutbound(_: any, { refOrderNo, patches }, context: any) {
@@ -1,9 +1,13 @@
1
+ import { EntityManager, In } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
2
- import { InventoryCheck, OrderInventory, ORDER_INVENTORY_STATUS, ORDER_STATUS } from '@things-factory/sales-base'
4
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
5
+ import { InventoryCheck, ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory } from '@things-factory/sales-base'
3
6
  import { Domain } from '@things-factory/shell'
4
7
  import { Inventory, INVENTORY_STATUS, INVENTORY_TRANSACTION_TYPE, Location } from '@things-factory/warehouse-base'
5
- import { EntityManager, In } from 'typeorm'
8
+
6
9
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
10
+ import { SellercraftController } from '../../../controllers'
7
11
  import { Worksheet, WorksheetDetail } from '../../../entities'
8
12
  import { generateInventoryHistory, switchLocationStatus } from '../../../utils'
9
13
 
@@ -48,6 +52,11 @@ export async function cycleCountAdjustment(
48
52
  relations: [
49
53
  'targetInventory',
50
54
  'targetInventory.inventory',
55
+ 'targetInventory.inventory.product',
56
+ 'targetInventory.inventory.product.productDetails',
57
+ 'targetInventory.inventory.product.productDetails.childProductDetail',
58
+ 'targetInventory.inventory.bizplace',
59
+ 'targetInventory.inventory.bizplace.domain',
51
60
  'targetInventory.inventory.location',
52
61
  'targetInventory.inspectedLocation',
53
62
  'targetInventory.inspectedLocation.warehouse'
@@ -61,6 +70,10 @@ export async function cycleCountAdjustment(
61
70
  const transactQty: number = targetInventory.inspectedQty - inventory.qty
62
71
  const transactUomValue: number = targetInventory.inspectedUomValue - inventory.uomValue
63
72
 
73
+ const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({
74
+ where: { domain: inventory.bizplace.domain, status: SellercraftStatus.ACTIVE }
75
+ })
76
+
64
77
  if (targetInventory.status === ORDER_INVENTORY_STATUS.MISSING) {
65
78
  // create STORED, CC_ADJUSTMENT history
66
79
  await generateInventoryHistory(
@@ -83,6 +96,11 @@ export async function cycleCountAdjustment(
83
96
 
84
97
  // create TERMINATED, TERMINATED history
85
98
  await generateInventoryHistory(inventory, cycleCount, INVENTORY_TRANSACTION_TYPE.TERMINATED, 0, 0, user, tx)
99
+
100
+ if (sellercraft) {
101
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
102
+ await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)
103
+ }
86
104
  } else if (targetInventory.inspectedQty == 0) {
87
105
  // create STORED, CC_ADJUSTMENT history
88
106
  await generateInventoryHistory(
@@ -109,6 +127,11 @@ export async function cycleCountAdjustment(
109
127
 
110
128
  // create TERMINATED, TERMINATED history
111
129
  await generateInventoryHistory(inventory, cycleCount, INVENTORY_TRANSACTION_TYPE.TERMINATED, 0, 0, user, tx)
130
+
131
+ if (sellercraft) {
132
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
133
+ await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)
134
+ }
112
135
  } else {
113
136
  const prevLocationId: string = inventory.location.id
114
137
 
@@ -153,6 +176,11 @@ export async function cycleCountAdjustment(
153
176
  )
154
177
  }
155
178
 
179
+ if (sellercraft) {
180
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
181
+ await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)
182
+ }
183
+
156
184
  targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED
157
185
  targetInventory.updater = user
158
186
  await tx.getRepository(OrderInventory).save(targetInventory)
@@ -1,7 +1,9 @@
1
+ import { createQueryBuilder, getRepository, In, SelectQueryBuilder } from 'typeorm'
2
+
3
+ import { InventoryCheck, ORDER_STATUS, OrderInventory } from '@things-factory/sales-base'
1
4
  import { Domain } from '@things-factory/shell'
2
- import { getRepository, createQueryBuilder, SelectQueryBuilder, In } from 'typeorm'
3
5
  import { Inventory } from '@things-factory/warehouse-base'
4
- import { OrderInventory, ORDER_STATUS, InventoryCheck } from '@things-factory/sales-base'
6
+
5
7
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
6
8
  import { Worksheet, WorksheetDetail } from '../../../entities'
7
9
 
@@ -21,7 +23,7 @@ export const cycleCountWorksheetResolver = {
21
23
  type: In([WORKSHEET_TYPE.CYCLE_COUNT, WORKSHEET_TYPE.CYCLE_COUNT_RECHECK]),
22
24
  status: WORKSHEET_STATUS.EXECUTING
23
25
  },
24
- relations: ['bizplace']
26
+ relations: ['bizplace', 'bizplace.domain']
25
27
  })
26
28
 
27
29
  const qb: SelectQueryBuilder<WorksheetDetail> = createQueryBuilder(WorksheetDetail, 'WSD')
@@ -46,7 +48,8 @@ export const cycleCountWorksheetResolver = {
46
48
  return {
47
49
  worksheetInfo: {
48
50
  startedAt: worksheet.startedAt,
49
- bizplace: worksheet.bizplace
51
+ bizplace: worksheet.bizplace,
52
+ partnerDomainId: worksheet.bizplace?.domain.id
50
53
  },
51
54
  worksheetDetailInfos: worksheetDetails.map(async (cycleCountWSD: WorksheetDetail) => {
52
55
  const targetInventory: OrderInventory = cycleCountWSD.targetInventory
@@ -0,0 +1,30 @@
1
+ import { EntityManager } from 'typeorm'
2
+
3
+ import { User } from '@things-factory/auth-base'
4
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
5
+ import { ReleaseGood } from '@things-factory/sales-base'
6
+ import { Domain } from '@things-factory/shell'
7
+
8
+ import { SellercraftController } from '../../../controllers'
9
+
10
+ export const fetchSellercraftAirwayBillResolver = {
11
+ async fetchSellercraftAirwayBill(_: any, { releaseGoodNo }, context: any) {
12
+ const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
13
+ let releaseGood: ReleaseGood = await tx
14
+ .getRepository(ReleaseGood)
15
+ .findOne({ where: { domain, name: releaseGoodNo }, relations: ['bizplace', 'bizplace.domain'] })
16
+
17
+ const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({
18
+ domain: releaseGood.bizplace.domain,
19
+ status: SellercraftStatus.ACTIVE
20
+ })
21
+
22
+ if (sellercraft && !releaseGood?.airwayBill) {
23
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
24
+ await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
25
+ }
26
+
27
+ const airwayBill: string = releaseGood?.airwayBill
28
+ return { airwayBill }
29
+ }
30
+ }
@@ -1,11 +1,18 @@
1
+ import { EntityManager } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
4
+ import { OrderInventory } from '@things-factory/sales-base'
2
5
  import { Domain } from '@things-factory/shell'
3
- import { EntityManager } from 'typeorm'
6
+
4
7
  import { CycleCountWorksheetController } from '../../../../controllers'
5
8
  import { Worksheet } from '../../../../entities'
6
9
 
7
10
  export const generateCycleCountWorksheetResolver = {
8
- async generateCycleCountWorksheet(_: any, { executionDate, customerId, orderInventoryIds, limit }, context: any) {
11
+ async generateCycleCountWorksheet(
12
+ _: any,
13
+ { executionDate, customerId, orderInventoryIds, orderInventories, limit },
14
+ context: any
15
+ ) {
9
16
  const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
10
17
 
11
18
  const cycleCountWorksheet: Worksheet = await generateCycleCountWorksheet(
@@ -15,6 +22,7 @@ export const generateCycleCountWorksheetResolver = {
15
22
  executionDate,
16
23
  customerId,
17
24
  orderInventoryIds,
25
+ orderInventories,
18
26
  limit
19
27
  )
20
28
 
@@ -29,8 +37,15 @@ export async function generateCycleCountWorksheet(
29
37
  executionDate: string,
30
38
  customerId: string,
31
39
  orderInventoryIds: string[] = [],
40
+ orderInventories: OrderInventory[],
32
41
  limit: number
33
42
  ): Promise<Worksheet> {
34
43
  const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)
35
- return await worksheetController.generateCycleCountWorksheet(executionDate, customerId, orderInventoryIds, limit)
44
+ return await worksheetController.generateCycleCountWorksheet(
45
+ executionDate,
46
+ customerId,
47
+ orderInventoryIds,
48
+ orderInventories,
49
+ limit
50
+ )
36
51
  }
@@ -8,6 +8,8 @@ import { cycleCountAdjustmentResolver } from './cycle-count-adjustment'
8
8
  import { cycleCountWorksheetResolver } from './cycle-count-worksheet'
9
9
  import { deleteWorksheet } from './delete-worksheet'
10
10
  import { deliveryOrderByWorksheetResolver } from './delivery-order-by-worksheet'
11
+ import { fetchSellercraftAirwayBillResolver } from './fetch-sellercraft-airway-bill'
12
+ import { findReleaseOrdersByTaskNoResolver } from './find-release-orders-by-task-no'
11
13
  import { Mutations as GenerateWorksheetMutations } from './generate-worksheet'
12
14
  import { havingVasResolver } from './having-vas'
13
15
  import { Mutations as InspectMutations } from './inspecting'
@@ -33,13 +35,13 @@ import { recommendPutawayLocationResolver } from './recommend-putway-location'
33
35
  import { rejectCancellationReleaseOrder } from './reject-cancellation-release-order'
34
36
  import { replacePickingPalletsResolver } from './replace-picking-pallets'
35
37
  import { returnWorksheetResolver } from './return-worksheet'
36
- import { sortingWorksheetResolver } from './sorting-worksheet'
37
38
  import { Mutations as ReturningMutations } from './returning'
39
+ import { Mutations as SortingMutations } from './sorting'
40
+ import { sortingWorksheetResolver } from './sorting-worksheet'
38
41
  import { transfer } from './transfer'
39
42
  import { unloadedInventories } from './unloaded-inventories'
40
43
  import { unloadedInventoriesByReusablePallet } from './unloaded-inventories-by-reusable-pallet'
41
44
  import { Mutations as UnloadingMutations } from './unloading'
42
- import { Mutations as SortingMutations } from './sorting'
43
45
  import { Mutations as UnloadingReturnMutations } from './unloading-return'
44
46
  import { unloadingReturnWorksheetResolver } from './unloading-return-worksheet'
45
47
  import { unloadingWorksheetResolver } from './unloading-worksheet'
@@ -62,7 +64,6 @@ import { worksheetResolver } from './worksheet'
62
64
  import { worksheetByOrderNoResolver } from './worksheet-by-order-no'
63
65
  import { worksheetWithPaginationResolver } from './worksheet-with-pagination'
64
66
  import { worksheetsResolver } from './worksheets'
65
- import { findReleaseOrdersByTaskNoResolver } from './find-release-orders-by-task-no'
66
67
 
67
68
  export const Query = {
68
69
  ...worksheetsResolver,
@@ -130,5 +131,6 @@ export const Mutation = {
130
131
  ...undoRelabelingResolver,
131
132
  ...crossDockPickingResolver,
132
133
  ...unpackingResolver,
133
- ...palletizingPallets
134
+ ...palletizingPallets,
135
+ ...fetchSellercraftAirwayBillResolver
134
136
  }
@@ -1,6 +1,8 @@
1
+ import { createQueryBuilder, getRepository, SelectQueryBuilder } from 'typeorm'
2
+
1
3
  import { InventoryCheck, ORDER_INVENTORY_STATUS } from '@things-factory/sales-base'
2
4
  import { Domain } from '@things-factory/shell'
3
- import { createQueryBuilder, getRepository, SelectQueryBuilder } from 'typeorm'
5
+
4
6
  import { Worksheet, WorksheetDetail } from '../../../entities'
5
7
 
6
8
  export const notTallyTargetInventoriesResolver = {
@@ -24,7 +26,7 @@ export const notTallyTargetInventoriesResolver = {
24
26
  .leftJoinAndSelect('INV.product', 'PROD')
25
27
  .where('WSD.domain = :domainId', { domainId: domain.id })
26
28
  .andWhere('WSD.worksheet = :worksheetId', { worksheetId: worksheet.id })
27
- .andWhere('T_INV.status = :status', { status: ORDER_INVENTORY_STATUS.NOT_TALLY })
29
+ .andWhere('WSD.status = :status', { status: ORDER_INVENTORY_STATUS.NOT_TALLY })
28
30
  .getMany()
29
31
 
30
32
  return worksheetDetails.map((wsd: WorksheetDetail) => wsd.targetInventory)
@@ -1,7 +1,11 @@
1
+ import { EntityManager } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
4
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
5
+ import { ReleaseGood } from '@things-factory/sales-base'
2
6
  import { Domain } from '@things-factory/shell'
3
- import { EntityManager } from 'typeorm'
4
- import { PackingWorksheetController } from '../../../../controllers'
7
+
8
+ import { PackingWorksheetController, SellercraftController } from '../../../../controllers'
5
9
  import { Worksheet } from '../../../../entities'
6
10
 
7
11
  export const activatePackingResolver = {
@@ -18,5 +22,18 @@ export async function activatePacking(
18
22
  worksheetNo: string
19
23
  ): Promise<Worksheet> {
20
24
  const worksheetController: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)
21
- return await worksheetController.activatePacking(worksheetNo)
25
+ const worksheet = await worksheetController.activatePacking(worksheetNo)
26
+ let releaseGood: ReleaseGood = worksheet.releaseGood
27
+
28
+ if (releaseGood.type == 'b2c') {
29
+ const sellercraft: Sellercraft = await tx
30
+ .getRepository(Sellercraft)
31
+ .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
32
+
33
+ if (sellercraft) {
34
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
35
+ await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
36
+ }
37
+ }
38
+ return worksheet
22
39
  }
@@ -1,11 +1,15 @@
1
- import { Bizplace, getMyBizplace } from '@things-factory/biz-base'
2
- import { Domain } from '@things-factory/shell'
3
1
  import { EntityManager } from 'typeorm'
4
- import { LoadingWorksheetController, PackingWorksheetController } from '../../../../controllers/'
5
- import { OrderInventory, ORDER_INVENTORY_STATUS, ReleaseGood } from '@things-factory/sales-base'
2
+
6
3
  import { User } from '@things-factory/auth-base'
7
- import { WORKSHEET_TYPE } from '../../../../constants'
8
- import { Worksheet, WorksheetDetail } from '../../../../entities'
4
+ import { Bizplace, getMyBizplace } from '@things-factory/biz-base'
5
+ import { MarketplaceStore } from '@things-factory/integration-marketplace'
6
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
7
+ import { MarketplaceOrder } from '@things-factory/marketplace-base'
8
+ import { ReleaseGood } from '@things-factory/sales-base'
9
+ import { Domain } from '@things-factory/shell'
10
+
11
+ import { PackingWorksheetController } from '../../../../controllers/'
12
+ import { EcommerceController } from '../../../../controllers/ecommerce'
9
13
  import { WorksheetController } from '../../../../controllers/worksheet-controller'
10
14
 
11
15
  export const completePackingResolver = {
@@ -13,6 +17,43 @@ export const completePackingResolver = {
13
17
  const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
14
18
  await completePacking(tx, domain, user, releaseGoodNo)
15
19
 
20
+ const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
21
+ where: { domain, name: releaseGoodNo },
22
+ relations: [
23
+ 'bizplace',
24
+ 'bizplace.domain',
25
+ 'bizplace.company',
26
+ 'bizplace.company.domain',
27
+ 'orderInventories',
28
+ 'orderInventories.product'
29
+ ]
30
+ })
31
+
32
+ if (releaseGood.type === 'b2c') {
33
+ const sellercraft: Sellercraft = await tx
34
+ .getRepository(Sellercraft)
35
+ .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
36
+
37
+ if (!sellercraft) {
38
+ const companyDomain: Domain = releaseGood.bizplace.company.domain
39
+ const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
40
+ where: { orderNo: releaseGood.refNo, domain: companyDomain },
41
+ relations: [
42
+ 'marketplaceOrderItems',
43
+ 'marketplaceOrderItems.marketplaceOrderShipping',
44
+ 'marketplaceStore',
45
+ 'marketplaceStore.marketplaceDistributors'
46
+ ]
47
+ })
48
+ const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore
49
+
50
+ if (marketplaceStore.isAutoUpdateShipment) {
51
+ const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
52
+ await ecommerceCtrl.createOrderShip(releaseGood, marketplaceStore, marketplaceOrder, companyDomain)
53
+ }
54
+ }
55
+ }
56
+
16
57
  const bizplace: Bizplace = await getMyBizplace(domain, user)
17
58
  const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)
18
59
  await worksheetController.notifyToCustomer(bizplace, {
@@ -31,37 +72,5 @@ export async function completePacking(
31
72
  releaseGoodNo: string
32
73
  ): Promise<void> {
33
74
  const packingWSCtrl: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)
34
- const releaseGood: ReleaseGood = await packingWSCtrl.findRefOrder(ReleaseGood, {
35
- domain,
36
- name: releaseGoodNo
37
- })
38
- const worksheet: Worksheet = await packingWSCtrl.findWorksheetByRefOrder(releaseGood, WORKSHEET_TYPE.PACKING, [
39
- 'worksheetDetails',
40
- 'worksheetDetails.targetInventory'
41
- ])
42
-
43
- const worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails
44
- const targetInventories: OrderInventory[] = worksheetDetails.map((wsd: WorksheetDetail) => wsd.targetInventory)
45
- const packedTargetInventories: OrderInventory[] = targetInventories
46
- .filter(targetInventory => targetInventory.status === ORDER_INVENTORY_STATUS.PACKED)
47
- .map((packedTargetInventory: OrderInventory) => {
48
- return packedTargetInventory
49
- })
50
-
51
75
  await packingWSCtrl.completePacking(releaseGoodNo)
52
-
53
- if (!releaseGood.courierOption) {
54
- const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)
55
- let loadingWorksheet: Worksheet = await loadingWSCtrl.generateLoadingWorksheet(
56
- releaseGoodNo,
57
- packedTargetInventories
58
- )
59
-
60
- if (!loadingWorksheet.worksheetDetails?.length) {
61
- loadingWorksheet = await packingWSCtrl.findWorksheetById(loadingWorksheet.id)
62
- }
63
-
64
- const loadingWorksheetDetails: WorksheetDetail[] = loadingWorksheet.worksheetDetails
65
- await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails)
66
- }
67
76
  }
@@ -1,7 +1,12 @@
1
+ import { EntityManager } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
4
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
5
+ import { ReleaseGood } from '@things-factory/sales-base'
2
6
  import { Domain } from '@things-factory/shell'
3
- import { EntityManager } from 'typeorm'
4
- import { PackingWorksheetController } from '../../../../controllers'
7
+
8
+ import { PackingWorksheetController, SellercraftController } from '../../../../controllers'
9
+ import { Worksheet } from '../../../../entities'
5
10
 
6
11
  export const packingResolver = {
7
12
  async packing(_: any, { worksheetDetailName, releaseQty }, context: any) {
@@ -18,5 +23,19 @@ export async function packing(
18
23
  releaseQty: number
19
24
  ) {
20
25
  const worksheetController: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)
21
- await worksheetController.packing(worksheetDetailName, releaseQty)
26
+ const worksheetDetail = await worksheetController.packing(worksheetDetailName, releaseQty)
27
+
28
+ let releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood
29
+ const worksheet: Worksheet = worksheetDetail.worksheet
30
+
31
+ if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {
32
+ const sellercraft: Sellercraft = await tx
33
+ .getRepository(Sellercraft)
34
+ .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
35
+
36
+ if (sellercraft) {
37
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
38
+ await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
39
+ }
40
+ }
22
41
  }
@@ -1,7 +1,12 @@
1
+ import { EntityManager } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
4
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
5
+ import { ReleaseGood } from '@things-factory/sales-base'
2
6
  import { Domain } from '@things-factory/shell'
3
- import { EntityManager } from 'typeorm'
4
- import { PackingWorksheetController } from '../../../../controllers'
7
+
8
+ import { PackingWorksheetController, SellercraftController } from '../../../../controllers'
9
+ import { Worksheet } from '../../../../entities'
5
10
 
6
11
  export const scanProductPackingResolver = {
7
12
  async scanProductPacking(_: any, { worksheetDetailName, productBarcode }, context: any) {
@@ -18,5 +23,19 @@ export async function scanProductPacking(
18
23
  productBarcode: string
19
24
  ) {
20
25
  const worksheetController: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)
21
- await worksheetController.scanProductPacking(worksheetDetailName, productBarcode)
26
+ const worksheetDetail = await worksheetController.scanProductPacking(worksheetDetailName, productBarcode)
27
+
28
+ let releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood
29
+ const worksheet: Worksheet = worksheetDetail.worksheet
30
+
31
+ if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {
32
+ const sellercraft: Sellercraft = await tx
33
+ .getRepository(Sellercraft)
34
+ .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
35
+
36
+ if (sellercraft) {
37
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
38
+ await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
39
+ }
40
+ }
22
41
  }