@things-factory/worksheet-base 4.3.651 → 4.3.653

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 (635) hide show
  1. package/dist-server/constants/index.js +22 -0
  2. package/dist-server/constants/index.js.map +1 -0
  3. package/dist-server/constants/rule-type.js +8 -0
  4. package/dist-server/constants/rule-type.js.map +1 -0
  5. package/dist-server/constants/target-type.js +10 -0
  6. package/dist-server/constants/target-type.js.map +1 -0
  7. package/dist-server/constants/template.js +17 -0
  8. package/dist-server/constants/template.js.map +1 -0
  9. package/dist-server/constants/transaction-type.js +13 -0
  10. package/dist-server/constants/transaction-type.js.map +1 -0
  11. package/dist-server/constants/worksheet.js +44 -0
  12. package/dist-server/constants/worksheet.js.map +1 -0
  13. package/dist-server/controllers/ecommerce/ecommerce-controller.js +252 -0
  14. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -0
  15. package/dist-server/controllers/ecommerce/index.js +19 -0
  16. package/dist-server/controllers/ecommerce/index.js.map +1 -0
  17. package/dist-server/controllers/ecommerce/sellercraft-controller.js +458 -0
  18. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -0
  19. package/dist-server/controllers/inbound/index.js +21 -0
  20. package/dist-server/controllers/inbound/index.js.map +1 -0
  21. package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js +353 -0
  22. package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js.map +1 -0
  23. package/dist-server/controllers/inbound/putaway-worksheet-controller.js +444 -0
  24. package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -0
  25. package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js +189 -0
  26. package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js.map +1 -0
  27. package/dist-server/controllers/inbound/unloading-worksheet-controller.js +1056 -0
  28. package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -0
  29. package/dist-server/controllers/index.js +37 -0
  30. package/dist-server/controllers/index.js.map +1 -0
  31. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js +1039 -0
  32. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js.map +1 -0
  33. package/dist-server/controllers/inspect/index.js +18 -0
  34. package/dist-server/controllers/inspect/index.js.map +1 -0
  35. package/dist-server/controllers/outbound/index.js +31 -0
  36. package/dist-server/controllers/outbound/index.js.map +1 -0
  37. package/dist-server/controllers/outbound/loading-worksheet-controller.js +304 -0
  38. package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -0
  39. package/dist-server/controllers/outbound/packing-worksheet-controller.js +573 -0
  40. package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -0
  41. package/dist-server/controllers/outbound/picking-worksheet-controller.js +2489 -0
  42. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -0
  43. package/dist-server/controllers/outbound/returning-worksheet-controller.js +171 -0
  44. package/dist-server/controllers/outbound/returning-worksheet-controller.js.map +1 -0
  45. package/dist-server/controllers/outbound/sorting-worksheet-controller.js +539 -0
  46. package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -0
  47. package/dist-server/controllers/pos/index.js +18 -0
  48. package/dist-server/controllers/pos/index.js.map +1 -0
  49. package/dist-server/controllers/pos/xilnex-controller.js +188 -0
  50. package/dist-server/controllers/pos/xilnex-controller.js.map +1 -0
  51. package/dist-server/controllers/render-elccl-grn.js +194 -0
  52. package/dist-server/controllers/render-elccl-grn.js.map +1 -0
  53. package/dist-server/controllers/render-fm-grn.js +229 -0
  54. package/dist-server/controllers/render-fm-grn.js.map +1 -0
  55. package/dist-server/controllers/render-grn.js +240 -0
  56. package/dist-server/controllers/render-grn.js.map +1 -0
  57. package/dist-server/controllers/render-invoices.js +187 -0
  58. package/dist-server/controllers/render-invoices.js.map +1 -0
  59. package/dist-server/controllers/render-job-sheet.js +184 -0
  60. package/dist-server/controllers/render-job-sheet.js.map +1 -0
  61. package/dist-server/controllers/render-kimeda-grn.js +152 -0
  62. package/dist-server/controllers/render-kimeda-grn.js.map +1 -0
  63. package/dist-server/controllers/render-manifest.js +76 -0
  64. package/dist-server/controllers/render-manifest.js.map +1 -0
  65. package/dist-server/controllers/render-manual-do.js +204 -0
  66. package/dist-server/controllers/render-manual-do.js.map +1 -0
  67. package/dist-server/controllers/render-orientage-do.js +325 -0
  68. package/dist-server/controllers/render-orientage-do.js.map +1 -0
  69. package/dist-server/controllers/render-orientage-grn.js +158 -0
  70. package/dist-server/controllers/render-orientage-grn.js.map +1 -0
  71. package/dist-server/controllers/render-po.js +157 -0
  72. package/dist-server/controllers/render-po.js.map +1 -0
  73. package/dist-server/controllers/render-ro-do.js +393 -0
  74. package/dist-server/controllers/render-ro-do.js.map +1 -0
  75. package/dist-server/controllers/render-seebuu-grn.js +177 -0
  76. package/dist-server/controllers/render-seebuu-grn.js.map +1 -0
  77. package/dist-server/controllers/replenishment/index.js +18 -0
  78. package/dist-server/controllers/replenishment/index.js.map +1 -0
  79. package/dist-server/controllers/replenishment/replenishment-worksheet-controller.js +483 -0
  80. package/dist-server/controllers/replenishment/replenishment-worksheet-controller.js.map +1 -0
  81. package/dist-server/controllers/vas/index.js +18 -0
  82. package/dist-server/controllers/vas/index.js.map +1 -0
  83. package/dist-server/controllers/vas/vas-worksheet-controller.js +792 -0
  84. package/dist-server/controllers/vas/vas-worksheet-controller.js.map +1 -0
  85. package/dist-server/controllers/worksheet-controller.js +1049 -0
  86. package/dist-server/controllers/worksheet-controller.js.map +1 -0
  87. package/dist-server/entities/active-worksheet-picking-view.js +164 -0
  88. package/dist-server/entities/active-worksheet-picking-view.js.map +1 -0
  89. package/dist-server/entities/index.js +24 -0
  90. package/dist-server/entities/index.js.map +1 -0
  91. package/dist-server/entities/warehouse-bizplace-onhand-inventory.js +171 -0
  92. package/dist-server/entities/warehouse-bizplace-onhand-inventory.js.map +1 -0
  93. package/dist-server/entities/warehouse-inventory-assignment-ranking.js +39 -0
  94. package/dist-server/entities/warehouse-inventory-assignment-ranking.js.map +1 -0
  95. package/dist-server/entities/worksheet-detail.js +136 -0
  96. package/dist-server/entities/worksheet-detail.js.map +1 -0
  97. package/dist-server/entities/worksheet-movement.js +58 -0
  98. package/dist-server/entities/worksheet-movement.js.map +1 -0
  99. package/dist-server/entities/worksheet.js +140 -0
  100. package/dist-server/entities/worksheet.js.map +1 -0
  101. package/dist-server/graphql/index.js +33 -0
  102. package/dist-server/graphql/index.js.map +1 -0
  103. package/dist-server/graphql/resolvers/index.js +33 -0
  104. package/dist-server/graphql/resolvers/index.js.map +1 -0
  105. package/dist-server/graphql/resolvers/pallet/index.js +7 -0
  106. package/dist-server/graphql/resolvers/pallet/index.js.map +1 -0
  107. package/dist-server/graphql/resolvers/pallet/pallet-outbound.js +53 -0
  108. package/dist-server/graphql/resolvers/pallet/pallet-outbound.js.map +1 -0
  109. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js +138 -0
  110. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -0
  111. package/dist-server/graphql/resolvers/worksheet/cancel-arrival-notice.js +55 -0
  112. package/dist-server/graphql/resolvers/worksheet/cancel-arrival-notice.js.map +1 -0
  113. package/dist-server/graphql/resolvers/worksheet/cancel-draft-release-order.js +17 -0
  114. package/dist-server/graphql/resolvers/worksheet/cancel-draft-release-order.js.map +1 -0
  115. package/dist-server/graphql/resolvers/worksheet/cancel-replenishment.js +57 -0
  116. package/dist-server/graphql/resolvers/worksheet/cancel-replenishment.js.map +1 -0
  117. package/dist-server/graphql/resolvers/worksheet/check-inventory-release.js +29 -0
  118. package/dist-server/graphql/resolvers/worksheet/check-inventory-release.js.map +1 -0
  119. package/dist-server/graphql/resolvers/worksheet/check-stock-take-current-location.js +63 -0
  120. package/dist-server/graphql/resolvers/worksheet/check-stock-take-current-location.js.map +1 -0
  121. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +249 -0
  122. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -0
  123. package/dist-server/graphql/resolvers/worksheet/create-worksheet.js +11 -0
  124. package/dist-server/graphql/resolvers/worksheet/create-worksheet.js.map +1 -0
  125. package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js +131 -0
  126. package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js.map +1 -0
  127. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +255 -0
  128. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -0
  129. package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet-for-carton.js +130 -0
  130. package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet-for-carton.js.map +1 -0
  131. package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet-for-pallet.js +133 -0
  132. package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet-for-pallet.js.map +1 -0
  133. package/dist-server/graphql/resolvers/worksheet/delete-worksheet.js +18 -0
  134. package/dist-server/graphql/resolvers/worksheet/delete-worksheet.js.map +1 -0
  135. package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js +102 -0
  136. package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js.map +1 -0
  137. package/dist-server/graphql/resolvers/worksheet/fetch-delivery-order-ro.js +169 -0
  138. package/dist-server/graphql/resolvers/worksheet/fetch-delivery-order-ro.js.map +1 -0
  139. package/dist-server/graphql/resolvers/worksheet/fetch-powrup-document.js +60 -0
  140. package/dist-server/graphql/resolvers/worksheet/fetch-powrup-document.js.map +1 -0
  141. package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js +60 -0
  142. package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js.map +1 -0
  143. package/dist-server/graphql/resolvers/worksheet/fetch-webspert-document.js +49 -0
  144. package/dist-server/graphql/resolvers/worksheet/fetch-webspert-document.js.map +1 -0
  145. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js +34 -0
  146. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js.map +1 -0
  147. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-worksheet-no.js +28 -0
  148. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-worksheet-no.js.map +1 -0
  149. package/dist-server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.js +140 -0
  150. package/dist-server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.js.map +1 -0
  151. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js +45 -0
  152. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js.map +1 -0
  153. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.js +16 -0
  154. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.js.map +1 -0
  155. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet-carton.js +17 -0
  156. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet-carton.js.map +1 -0
  157. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.js +17 -0
  158. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.js.map +1 -0
  159. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.js +17 -0
  160. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.js.map +1 -0
  161. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-return-worksheet.js +48 -0
  162. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-return-worksheet.js.map +1 -0
  163. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-worksheet.js +57 -0
  164. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-worksheet.js.map +1 -0
  165. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-putaway-worksheet.js +42 -0
  166. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-putaway-worksheet.js.map +1 -0
  167. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js +495 -0
  168. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js.map +1 -0
  169. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-replenishement-worksheet.js +19 -0
  170. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-replenishement-worksheet.js.map +1 -0
  171. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-return-order-worksheet.js +28 -0
  172. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-return-order-worksheet.js.map +1 -0
  173. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-vas-order-worksheet.js +22 -0
  174. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-vas-order-worksheet.js.map +1 -0
  175. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/index.js +17 -0
  176. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/index.js.map +1 -0
  177. package/dist-server/graphql/resolvers/worksheet/get-packing-list.js +80 -0
  178. package/dist-server/graphql/resolvers/worksheet/get-packing-list.js.map +1 -0
  179. package/dist-server/graphql/resolvers/worksheet/having-vas.js +43 -0
  180. package/dist-server/graphql/resolvers/worksheet/having-vas.js.map +1 -0
  181. package/dist-server/graphql/resolvers/worksheet/index.js +75 -0
  182. package/dist-server/graphql/resolvers/worksheet/index.js.map +1 -0
  183. package/dist-server/graphql/resolvers/worksheet/inspecting/activate-cycle-count.js +16 -0
  184. package/dist-server/graphql/resolvers/worksheet/inspecting/activate-cycle-count.js.map +1 -0
  185. package/dist-server/graphql/resolvers/worksheet/inspecting/add-extra-inventory.js +16 -0
  186. package/dist-server/graphql/resolvers/worksheet/inspecting/add-extra-inventory.js.map +1 -0
  187. package/dist-server/graphql/resolvers/worksheet/inspecting/check-missing-inventory-carton.js +16 -0
  188. package/dist-server/graphql/resolvers/worksheet/inspecting/check-missing-inventory-carton.js.map +1 -0
  189. package/dist-server/graphql/resolvers/worksheet/inspecting/check-missing-inventory.js +16 -0
  190. package/dist-server/graphql/resolvers/worksheet/inspecting/check-missing-inventory.js.map +1 -0
  191. package/dist-server/graphql/resolvers/worksheet/inspecting/complete-inspection.js +28 -0
  192. package/dist-server/graphql/resolvers/worksheet/inspecting/complete-inspection.js.map +1 -0
  193. package/dist-server/graphql/resolvers/worksheet/inspecting/index.js +16 -0
  194. package/dist-server/graphql/resolvers/worksheet/inspecting/index.js.map +1 -0
  195. package/dist-server/graphql/resolvers/worksheet/inspecting/inspecting-carton.js +16 -0
  196. package/dist-server/graphql/resolvers/worksheet/inspecting/inspecting-carton.js.map +1 -0
  197. package/dist-server/graphql/resolvers/worksheet/inspecting/inspecting-pallet.js +16 -0
  198. package/dist-server/graphql/resolvers/worksheet/inspecting/inspecting-pallet.js.map +1 -0
  199. package/dist-server/graphql/resolvers/worksheet/inspecting/relocate-inventory-carton.js +16 -0
  200. package/dist-server/graphql/resolvers/worksheet/inspecting/relocate-inventory-carton.js.map +1 -0
  201. package/dist-server/graphql/resolvers/worksheet/inspecting/relocate-inventory.js +16 -0
  202. package/dist-server/graphql/resolvers/worksheet/inspecting/relocate-inventory.js.map +1 -0
  203. package/dist-server/graphql/resolvers/worksheet/inspecting/undo-inspection-carton.js +16 -0
  204. package/dist-server/graphql/resolvers/worksheet/inspecting/undo-inspection-carton.js.map +1 -0
  205. package/dist-server/graphql/resolvers/worksheet/inspecting/undo-inspection.js +16 -0
  206. package/dist-server/graphql/resolvers/worksheet/inspecting/undo-inspection.js.map +1 -0
  207. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +137 -0
  208. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -0
  209. package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js +41 -0
  210. package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js.map +1 -0
  211. package/dist-server/graphql/resolvers/worksheet/loading/activate-loading.js +59 -0
  212. package/dist-server/graphql/resolvers/worksheet/loading/activate-loading.js.map +1 -0
  213. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js +138 -0
  214. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js.map +1 -0
  215. package/dist-server/graphql/resolvers/worksheet/loading/index.js +9 -0
  216. package/dist-server/graphql/resolvers/worksheet/loading/index.js.map +1 -0
  217. package/dist-server/graphql/resolvers/worksheet/loading/loading.js +25 -0
  218. package/dist-server/graphql/resolvers/worksheet/loading/loading.js.map +1 -0
  219. package/dist-server/graphql/resolvers/worksheet/loading/undo-loading.js +16 -0
  220. package/dist-server/graphql/resolvers/worksheet/loading/undo-loading.js.map +1 -0
  221. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js +179 -0
  222. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js.map +1 -0
  223. package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js +48 -0
  224. package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js.map +1 -0
  225. package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js +30 -0
  226. package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js.map +1 -0
  227. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js +53 -0
  228. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js.map +1 -0
  229. package/dist-server/graphql/resolvers/worksheet/packing/index.js +10 -0
  230. package/dist-server/graphql/resolvers/worksheet/packing/index.js.map +1 -0
  231. package/dist-server/graphql/resolvers/worksheet/packing/packing.js +51 -0
  232. package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -0
  233. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +29 -0
  234. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -0
  235. package/dist-server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.js +15 -0
  236. package/dist-server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.js.map +1 -0
  237. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +619 -0
  238. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -0
  239. package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js +122 -0
  240. package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js.map +1 -0
  241. package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js +163 -0
  242. package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js.map +1 -0
  243. package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js +103 -0
  244. package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js.map +1 -0
  245. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +81 -0
  246. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -0
  247. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-inventories.js +16 -0
  248. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-inventories.js.map +1 -0
  249. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js +31 -0
  250. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js.map +1 -0
  251. package/dist-server/graphql/resolvers/worksheet/picking/batch-picking.js +16 -0
  252. package/dist-server/graphql/resolvers/worksheet/picking/batch-picking.js.map +1 -0
  253. package/dist-server/graphql/resolvers/worksheet/picking/bulk-activate-picking.js +75 -0
  254. package/dist-server/graphql/resolvers/worksheet/picking/bulk-activate-picking.js.map +1 -0
  255. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +273 -0
  256. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -0
  257. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +432 -0
  258. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -0
  259. package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js +110 -0
  260. package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js.map +1 -0
  261. package/dist-server/graphql/resolvers/worksheet/picking/index.js +21 -0
  262. package/dist-server/graphql/resolvers/worksheet/picking/index.js.map +1 -0
  263. package/dist-server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.js +22 -0
  264. package/dist-server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.js.map +1 -0
  265. package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js +62 -0
  266. package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js.map +1 -0
  267. package/dist-server/graphql/resolvers/worksheet/picking/picking.js +16 -0
  268. package/dist-server/graphql/resolvers/worksheet/picking/picking.js.map +1 -0
  269. package/dist-server/graphql/resolvers/worksheet/picking/replenishment-picking.js +12 -0
  270. package/dist-server/graphql/resolvers/worksheet/picking/replenishment-picking.js.map +1 -0
  271. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.js +16 -0
  272. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.js.map +1 -0
  273. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js +13 -0
  274. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js.map +1 -0
  275. package/dist-server/graphql/resolvers/worksheet/picking/seal-tote.js +15 -0
  276. package/dist-server/graphql/resolvers/worksheet/picking/seal-tote.js.map +1 -0
  277. package/dist-server/graphql/resolvers/worksheet/picking/undo-picking-assignment.js +16 -0
  278. package/dist-server/graphql/resolvers/worksheet/picking/undo-picking-assignment.js.map +1 -0
  279. package/dist-server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.js +15 -0
  280. package/dist-server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.js.map +1 -0
  281. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +193 -0
  282. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -0
  283. package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js +162 -0
  284. package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js.map +1 -0
  285. package/dist-server/graphql/resolvers/worksheet/putaway/activate-putaway.js +41 -0
  286. package/dist-server/graphql/resolvers/worksheet/putaway/activate-putaway.js.map +1 -0
  287. package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js +88 -0
  288. package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js.map +1 -0
  289. package/dist-server/graphql/resolvers/worksheet/putaway/complete-replenishment-putaway.js +16 -0
  290. package/dist-server/graphql/resolvers/worksheet/putaway/complete-replenishment-putaway.js.map +1 -0
  291. package/dist-server/graphql/resolvers/worksheet/putaway/index.js +12 -0
  292. package/dist-server/graphql/resolvers/worksheet/putaway/index.js.map +1 -0
  293. package/dist-server/graphql/resolvers/worksheet/putaway/putaway.js +17 -0
  294. package/dist-server/graphql/resolvers/worksheet/putaway/putaway.js.map +1 -0
  295. package/dist-server/graphql/resolvers/worksheet/putaway/replenishment-putaway.js +15 -0
  296. package/dist-server/graphql/resolvers/worksheet/putaway/replenishment-putaway.js.map +1 -0
  297. package/dist-server/graphql/resolvers/worksheet/putaway/undo-putaway.js +16 -0
  298. package/dist-server/graphql/resolvers/worksheet/putaway/undo-putaway.js.map +1 -0
  299. package/dist-server/graphql/resolvers/worksheet/putaway/undo-replenishment-putaway.js +16 -0
  300. package/dist-server/graphql/resolvers/worksheet/putaway/undo-replenishment-putaway.js.map +1 -0
  301. package/dist-server/graphql/resolvers/worksheet/putaway-replenishment-worksheet.js +87 -0
  302. package/dist-server/graphql/resolvers/worksheet/putaway-replenishment-worksheet.js.map +1 -0
  303. package/dist-server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.js +41 -0
  304. package/dist-server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.js.map +1 -0
  305. package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js +67 -0
  306. package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js.map +1 -0
  307. package/dist-server/graphql/resolvers/worksheet/putaway-return/index.js +9 -0
  308. package/dist-server/graphql/resolvers/worksheet/putaway-return/index.js.map +1 -0
  309. package/dist-server/graphql/resolvers/worksheet/putaway-return/putaway-return.js +15 -0
  310. package/dist-server/graphql/resolvers/worksheet/putaway-return/putaway-return.js.map +1 -0
  311. package/dist-server/graphql/resolvers/worksheet/putaway-return/undo-putaway-return.js +15 -0
  312. package/dist-server/graphql/resolvers/worksheet/putaway-return/undo-putaway-return.js.map +1 -0
  313. package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js +73 -0
  314. package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js.map +1 -0
  315. package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.js +141 -0
  316. package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.js.map +1 -0
  317. package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js +157 -0
  318. package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js.map +1 -0
  319. package/dist-server/graphql/resolvers/worksheet/refresh-active-worksheet-picking-views.js +11 -0
  320. package/dist-server/graphql/resolvers/worksheet/refresh-active-worksheet-picking-views.js.map +1 -0
  321. package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js +164 -0
  322. package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js.map +1 -0
  323. package/dist-server/graphql/resolvers/worksheet/relocate-pallet.js +41 -0
  324. package/dist-server/graphql/resolvers/worksheet/relocate-pallet.js.map +1 -0
  325. package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js +91 -0
  326. package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js.map +1 -0
  327. package/dist-server/graphql/resolvers/worksheet/replenishment/activate-picking-replenishment.js +17 -0
  328. package/dist-server/graphql/resolvers/worksheet/replenishment/activate-picking-replenishment.js.map +1 -0
  329. package/dist-server/graphql/resolvers/worksheet/replenishment/index.js +6 -0
  330. package/dist-server/graphql/resolvers/worksheet/replenishment/index.js.map +1 -0
  331. package/dist-server/graphql/resolvers/worksheet/return-worksheet.js +63 -0
  332. package/dist-server/graphql/resolvers/worksheet/return-worksheet.js.map +1 -0
  333. package/dist-server/graphql/resolvers/worksheet/returning/activate-return.js +16 -0
  334. package/dist-server/graphql/resolvers/worksheet/returning/activate-return.js.map +1 -0
  335. package/dist-server/graphql/resolvers/worksheet/returning/complete-return.js +29 -0
  336. package/dist-server/graphql/resolvers/worksheet/returning/complete-return.js.map +1 -0
  337. package/dist-server/graphql/resolvers/worksheet/returning/index.js +8 -0
  338. package/dist-server/graphql/resolvers/worksheet/returning/index.js.map +1 -0
  339. package/dist-server/graphql/resolvers/worksheet/returning/returning.js +16 -0
  340. package/dist-server/graphql/resolvers/worksheet/returning/returning.js.map +1 -0
  341. package/dist-server/graphql/resolvers/worksheet/sorting/activate-sorting.js +16 -0
  342. package/dist-server/graphql/resolvers/worksheet/sorting/activate-sorting.js.map +1 -0
  343. package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.js +28 -0
  344. package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.js.map +1 -0
  345. package/dist-server/graphql/resolvers/worksheet/sorting/complete-worksheet-sorting.js +16 -0
  346. package/dist-server/graphql/resolvers/worksheet/sorting/complete-worksheet-sorting.js.map +1 -0
  347. package/dist-server/graphql/resolvers/worksheet/sorting/index.js +10 -0
  348. package/dist-server/graphql/resolvers/worksheet/sorting/index.js.map +1 -0
  349. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js +16 -0
  350. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js.map +1 -0
  351. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js +16 -0
  352. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js.map +1 -0
  353. package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js +89 -0
  354. package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js.map +1 -0
  355. package/dist-server/graphql/resolvers/worksheet/transfer.js +88 -0
  356. package/dist-server/graphql/resolvers/worksheet/transfer.js.map +1 -0
  357. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js +45 -0
  358. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js.map +1 -0
  359. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +69 -0
  360. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -0
  361. package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js +38 -0
  362. package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js.map +1 -0
  363. package/dist-server/graphql/resolvers/worksheet/unloading/complete-product-scan-unload.js +15 -0
  364. package/dist-server/graphql/resolvers/worksheet/unloading/complete-product-scan-unload.js.map +1 -0
  365. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading-partially.js +32 -0
  366. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading-partially.js.map +1 -0
  367. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js +70 -0
  368. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js.map +1 -0
  369. package/dist-server/graphql/resolvers/worksheet/unloading/index.js +14 -0
  370. package/dist-server/graphql/resolvers/worksheet/unloading/index.js.map +1 -0
  371. package/dist-server/graphql/resolvers/worksheet/unloading/scan-product-unload.js +15 -0
  372. package/dist-server/graphql/resolvers/worksheet/unloading/scan-product-unload.js.map +1 -0
  373. package/dist-server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.js +15 -0
  374. package/dist-server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.js.map +1 -0
  375. package/dist-server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.js +15 -0
  376. package/dist-server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.js.map +1 -0
  377. package/dist-server/graphql/resolvers/worksheet/unloading/undo-unloading.js +15 -0
  378. package/dist-server/graphql/resolvers/worksheet/unloading/undo-unloading.js.map +1 -0
  379. package/dist-server/graphql/resolvers/worksheet/unloading/unload.js +19 -0
  380. package/dist-server/graphql/resolvers/worksheet/unloading/unload.js.map +1 -0
  381. package/dist-server/graphql/resolvers/worksheet/unloading-return/activate-unloading-return.js +16 -0
  382. package/dist-server/graphql/resolvers/worksheet/unloading-return/activate-unloading-return.js.map +1 -0
  383. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-return-partially.js +16 -0
  384. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-return-partially.js.map +1 -0
  385. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js +57 -0
  386. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js.map +1 -0
  387. package/dist-server/graphql/resolvers/worksheet/unloading-return/index.js +8 -0
  388. package/dist-server/graphql/resolvers/worksheet/unloading-return/index.js.map +1 -0
  389. package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js +67 -0
  390. package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js.map +1 -0
  391. package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js +102 -0
  392. package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js.map +1 -0
  393. package/dist-server/graphql/resolvers/worksheet/update-worksheet.js +20 -0
  394. package/dist-server/graphql/resolvers/worksheet/update-worksheet.js.map +1 -0
  395. package/dist-server/graphql/resolvers/worksheet/vas/activate-vas.js +16 -0
  396. package/dist-server/graphql/resolvers/worksheet/vas/activate-vas.js.map +1 -0
  397. package/dist-server/graphql/resolvers/worksheet/vas/assign-vas-inventories.js +16 -0
  398. package/dist-server/graphql/resolvers/worksheet/vas/assign-vas-inventories.js.map +1 -0
  399. package/dist-server/graphql/resolvers/worksheet/vas/complete-vas.js +99 -0
  400. package/dist-server/graphql/resolvers/worksheet/vas/complete-vas.js.map +1 -0
  401. package/dist-server/graphql/resolvers/worksheet/vas/execute-vas.js +22 -0
  402. package/dist-server/graphql/resolvers/worksheet/vas/execute-vas.js.map +1 -0
  403. package/dist-server/graphql/resolvers/worksheet/vas/index.js +11 -0
  404. package/dist-server/graphql/resolvers/worksheet/vas/index.js.map +1 -0
  405. package/dist-server/graphql/resolvers/worksheet/vas/undo-vas-inventory.js +15 -0
  406. package/dist-server/graphql/resolvers/worksheet/vas/undo-vas-inventory.js.map +1 -0
  407. package/dist-server/graphql/resolvers/worksheet/vas/undo-vas.js +16 -0
  408. package/dist-server/graphql/resolvers/worksheet/vas/undo-vas.js.map +1 -0
  409. package/dist-server/graphql/resolvers/worksheet/vas-candidates.js +123 -0
  410. package/dist-server/graphql/resolvers/worksheet/vas-candidates.js.map +1 -0
  411. package/dist-server/graphql/resolvers/worksheet/vas-inventories.js +36 -0
  412. package/dist-server/graphql/resolvers/worksheet/vas-inventories.js.map +1 -0
  413. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js +729 -0
  414. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js.map +1 -0
  415. package/dist-server/graphql/resolvers/worksheet/vas-transactions/index.js +22 -0
  416. package/dist-server/graphql/resolvers/worksheet/vas-transactions/index.js.map +1 -0
  417. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/index.js +21 -0
  418. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/index.js.map +1 -0
  419. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/relabeling.js +3 -0
  420. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/relabeling.js.map +1 -0
  421. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/repackaging.js +9 -0
  422. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/repackaging.js.map +1 -0
  423. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/repalletizing.js +3 -0
  424. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/repalletizing.js.map +1 -0
  425. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/unpacking.js +3 -0
  426. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/unpacking.js.map +1 -0
  427. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.js +71 -0
  428. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.js.map +1 -0
  429. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.js +46 -0
  430. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.js.map +1 -0
  431. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/index.js +21 -0
  432. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/index.js.map +1 -0
  433. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.js +68 -0
  434. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.js.map +1 -0
  435. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/undo-relabeling.js +28 -0
  436. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/undo-relabeling.js.map +1 -0
  437. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js +166 -0
  438. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js.map +1 -0
  439. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/index.js +20 -0
  440. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/index.js.map +1 -0
  441. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js +278 -0
  442. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js.map +1 -0
  443. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js +113 -0
  444. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js.map +1 -0
  445. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.js +63 -0
  446. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.js.map +1 -0
  447. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/index.js +20 -0
  448. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/index.js.map +1 -0
  449. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.js +117 -0
  450. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.js.map +1 -0
  451. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/undo-repalletizing.js +55 -0
  452. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/undo-repalletizing.js.map +1 -0
  453. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/complete-unpacking.js +15 -0
  454. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/complete-unpacking.js.map +1 -0
  455. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/index.js +19 -0
  456. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/index.js.map +1 -0
  457. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js +132 -0
  458. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js.map +1 -0
  459. package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js +94 -0
  460. package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js.map +1 -0
  461. package/dist-server/graphql/resolvers/worksheet/worksheet-by-order-no.js +29 -0
  462. package/dist-server/graphql/resolvers/worksheet/worksheet-by-order-no.js.map +1 -0
  463. package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js +54 -0
  464. package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js.map +1 -0
  465. package/dist-server/graphql/resolvers/worksheet/worksheet.js +501 -0
  466. package/dist-server/graphql/resolvers/worksheet/worksheet.js.map +1 -0
  467. package/dist-server/graphql/resolvers/worksheet/worksheets.js +547 -0
  468. package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -0
  469. package/dist-server/graphql/resolvers/worksheet-detail/check-progressing-pallet.js +22 -0
  470. package/dist-server/graphql/resolvers/worksheet-detail/check-progressing-pallet.js.map +1 -0
  471. package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.js +39 -0
  472. package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.js.map +1 -0
  473. package/dist-server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.js +18 -0
  474. package/dist-server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.js.map +1 -0
  475. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js +149 -0
  476. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js.map +1 -0
  477. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js +122 -0
  478. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js.map +1 -0
  479. package/dist-server/graphql/resolvers/worksheet-detail/generate-carton-id.js +25 -0
  480. package/dist-server/graphql/resolvers/worksheet-detail/generate-carton-id.js.map +1 -0
  481. package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js +77 -0
  482. package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js.map +1 -0
  483. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js +177 -0
  484. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js.map +1 -0
  485. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js +67 -0
  486. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js.map +1 -0
  487. package/dist-server/graphql/resolvers/worksheet-detail/index.js +20 -0
  488. package/dist-server/graphql/resolvers/worksheet-detail/index.js.map +1 -0
  489. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js +100 -0
  490. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js.map +1 -0
  491. package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js +30 -0
  492. package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js.map +1 -0
  493. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-detail.js +31 -0
  494. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-detail.js.map +1 -0
  495. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.js +49 -0
  496. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.js.map +1 -0
  497. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details.js +17 -0
  498. package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details.js.map +1 -0
  499. package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.js +14 -0
  500. package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.js.map +1 -0
  501. package/dist-server/graphql/resolvers/worksheet-movement/delete-worksheet-movement.js +12 -0
  502. package/dist-server/graphql/resolvers/worksheet-movement/delete-worksheet-movement.js.map +1 -0
  503. package/dist-server/graphql/resolvers/worksheet-movement/index.js +11 -0
  504. package/dist-server/graphql/resolvers/worksheet-movement/index.js.map +1 -0
  505. package/dist-server/graphql/resolvers/worksheet-movement/update-worksheet-movement.js +13 -0
  506. package/dist-server/graphql/resolvers/worksheet-movement/update-worksheet-movement.js.map +1 -0
  507. package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movement.js +12 -0
  508. package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movement.js.map +1 -0
  509. package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movements.js +15 -0
  510. package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movements.js.map +1 -0
  511. package/dist-server/graphql/types/index.js +39 -0
  512. package/dist-server/graphql/types/index.js.map +1 -0
  513. package/dist-server/graphql/types/pallet/index.js +13 -0
  514. package/dist-server/graphql/types/pallet/index.js.map +1 -0
  515. package/dist-server/graphql/types/pallet/pallet.js +10 -0
  516. package/dist-server/graphql/types/pallet/pallet.js.map +1 -0
  517. package/dist-server/graphql/types/worksheet/arrival-notice-worksheet.js +11 -0
  518. package/dist-server/graphql/types/worksheet/arrival-notice-worksheet.js.map +1 -0
  519. package/dist-server/graphql/types/worksheet/batch-pick-worksheet-info.js +12 -0
  520. package/dist-server/graphql/types/worksheet/batch-pick-worksheet-info.js.map +1 -0
  521. package/dist-server/graphql/types/worksheet/contact-point-info.js +15 -0
  522. package/dist-server/graphql/types/worksheet/contact-point-info.js.map +1 -0
  523. package/dist-server/graphql/types/worksheet/cycle-count-worksheet.js +19 -0
  524. package/dist-server/graphql/types/worksheet/cycle-count-worksheet.js.map +1 -0
  525. package/dist-server/graphql/types/worksheet/delivery-info.js +14 -0
  526. package/dist-server/graphql/types/worksheet/delivery-info.js.map +1 -0
  527. package/dist-server/graphql/types/worksheet/delivery-order-info.js +30 -0
  528. package/dist-server/graphql/types/worksheet/delivery-order-info.js.map +1 -0
  529. package/dist-server/graphql/types/worksheet/delivery-order-ro.js +18 -0
  530. package/dist-server/graphql/types/worksheet/delivery-order-ro.js.map +1 -0
  531. package/dist-server/graphql/types/worksheet/delivery-worksheet.js +10 -0
  532. package/dist-server/graphql/types/worksheet/delivery-worksheet.js.map +1 -0
  533. package/dist-server/graphql/types/worksheet/executing-worksheet.js +11 -0
  534. package/dist-server/graphql/types/worksheet/executing-worksheet.js.map +1 -0
  535. package/dist-server/graphql/types/worksheet/find-release-orders-by-task-no.js +12 -0
  536. package/dist-server/graphql/types/worksheet/find-release-orders-by-task-no.js.map +1 -0
  537. package/dist-server/graphql/types/worksheet/goods-delivery-note.js +11 -0
  538. package/dist-server/graphql/types/worksheet/goods-delivery-note.js.map +1 -0
  539. package/dist-server/graphql/types/worksheet/index.js +902 -0
  540. package/dist-server/graphql/types/worksheet/index.js.map +1 -0
  541. package/dist-server/graphql/types/worksheet/inventory-check-worksheet.js +11 -0
  542. package/dist-server/graphql/types/worksheet/inventory-check-worksheet.js.map +1 -0
  543. package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.js +12 -0
  544. package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.js.map +1 -0
  545. package/dist-server/graphql/types/worksheet/location-filter.js +13 -0
  546. package/dist-server/graphql/types/worksheet/location-filter.js.map +1 -0
  547. package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.js +11 -0
  548. package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.js.map +1 -0
  549. package/dist-server/graphql/types/worksheet/my-picking-assignment-status.js +12 -0
  550. package/dist-server/graphql/types/worksheet/my-picking-assignment-status.js.map +1 -0
  551. package/dist-server/graphql/types/worksheet/new-worksheet.js +13 -0
  552. package/dist-server/graphql/types/worksheet/new-worksheet.js.map +1 -0
  553. package/dist-server/graphql/types/worksheet/packing-list.js +10 -0
  554. package/dist-server/graphql/types/worksheet/packing-list.js.map +1 -0
  555. package/dist-server/graphql/types/worksheet/picking-assignment-status.js +12 -0
  556. package/dist-server/graphql/types/worksheet/picking-assignment-status.js.map +1 -0
  557. package/dist-server/graphql/types/worksheet/powrup-document.js +11 -0
  558. package/dist-server/graphql/types/worksheet/powrup-document.js.map +1 -0
  559. package/dist-server/graphql/types/worksheet/product-approval.js +14 -0
  560. package/dist-server/graphql/types/worksheet/product-approval.js.map +1 -0
  561. package/dist-server/graphql/types/worksheet/release-good-worksheet.js +11 -0
  562. package/dist-server/graphql/types/worksheet/release-good-worksheet.js.map +1 -0
  563. package/dist-server/graphql/types/worksheet/replenish-inventory-patch.js +11 -0
  564. package/dist-server/graphql/types/worksheet/replenish-inventory-patch.js.map +1 -0
  565. package/dist-server/graphql/types/worksheet/return-order-worksheet.js +11 -0
  566. package/dist-server/graphql/types/worksheet/return-order-worksheet.js.map +1 -0
  567. package/dist-server/graphql/types/worksheet/sellercraft-document.js +11 -0
  568. package/dist-server/graphql/types/worksheet/sellercraft-document.js.map +1 -0
  569. package/dist-server/graphql/types/worksheet/vas-order-worksheet.js +10 -0
  570. package/dist-server/graphql/types/worksheet/vas-order-worksheet.js.map +1 -0
  571. package/dist-server/graphql/types/worksheet/vas-worksheet.js +11 -0
  572. package/dist-server/graphql/types/worksheet/vas-worksheet.js.map +1 -0
  573. package/dist-server/graphql/types/worksheet/webspert-document.js +11 -0
  574. package/dist-server/graphql/types/worksheet/webspert-document.js.map +1 -0
  575. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js +88 -0
  576. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js.map +1 -0
  577. package/dist-server/graphql/types/worksheet/worksheet-info.js +46 -0
  578. package/dist-server/graphql/types/worksheet/worksheet-info.js.map +1 -0
  579. package/dist-server/graphql/types/worksheet/worksheet-list.js +11 -0
  580. package/dist-server/graphql/types/worksheet/worksheet-list.js.map +1 -0
  581. package/dist-server/graphql/types/worksheet/worksheet-patch.js +21 -0
  582. package/dist-server/graphql/types/worksheet/worksheet-patch.js.map +1 -0
  583. package/dist-server/graphql/types/worksheet/worksheet-with-pagination.js +12 -0
  584. package/dist-server/graphql/types/worksheet/worksheet-with-pagination.js.map +1 -0
  585. package/dist-server/graphql/types/worksheet/worksheet.js +45 -0
  586. package/dist-server/graphql/types/worksheet/worksheet.js.map +1 -0
  587. package/dist-server/graphql/types/worksheet-detail/index.js +83 -0
  588. package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -0
  589. package/dist-server/graphql/types/worksheet-detail/inventory-detail.js +48 -0
  590. package/dist-server/graphql/types/worksheet-detail/inventory-detail.js.map +1 -0
  591. package/dist-server/graphql/types/worksheet-detail/new-worksheet-detail.js +24 -0
  592. package/dist-server/graphql/types/worksheet-detail/new-worksheet-detail.js.map +1 -0
  593. package/dist-server/graphql/types/worksheet-detail/pallet-info.js +14 -0
  594. package/dist-server/graphql/types/worksheet-detail/pallet-info.js.map +1 -0
  595. package/dist-server/graphql/types/worksheet-detail/worksheet-detail-list.js +11 -0
  596. package/dist-server/graphql/types/worksheet-detail/worksheet-detail-list.js.map +1 -0
  597. package/dist-server/graphql/types/worksheet-detail/worksheet-detail-patch.js +32 -0
  598. package/dist-server/graphql/types/worksheet-detail/worksheet-detail-patch.js.map +1 -0
  599. package/dist-server/graphql/types/worksheet-detail/worksheet-detail.js +34 -0
  600. package/dist-server/graphql/types/worksheet-detail/worksheet-detail.js.map +1 -0
  601. package/dist-server/graphql/types/worksheet-movement/index.js +31 -0
  602. package/dist-server/graphql/types/worksheet-movement/index.js.map +1 -0
  603. package/dist-server/graphql/types/worksheet-movement/new-worksheet-movement.js +11 -0
  604. package/dist-server/graphql/types/worksheet-movement/new-worksheet-movement.js.map +1 -0
  605. package/dist-server/graphql/types/worksheet-movement/worksheet-movement-list.js +11 -0
  606. package/dist-server/graphql/types/worksheet-movement/worksheet-movement-list.js.map +1 -0
  607. package/dist-server/graphql/types/worksheet-movement/worksheet-movement-patch.js +11 -0
  608. package/dist-server/graphql/types/worksheet-movement/worksheet-movement-patch.js.map +1 -0
  609. package/dist-server/graphql/types/worksheet-movement/worksheet-movement.js +13 -0
  610. package/dist-server/graphql/types/worksheet-movement/worksheet-movement.js.map +1 -0
  611. package/dist-server/index.js +38 -0
  612. package/dist-server/index.js.map +1 -0
  613. package/dist-server/middlewares/index.js +4 -0
  614. package/dist-server/middlewares/index.js.map +1 -0
  615. package/dist-server/migrations/index.js +12 -0
  616. package/dist-server/migrations/index.js.map +1 -0
  617. package/dist-server/routes.js +65 -0
  618. package/dist-server/routes.js.map +1 -0
  619. package/dist-server/utils/datetime-util.js +61 -0
  620. package/dist-server/utils/datetime-util.js.map +1 -0
  621. package/dist-server/utils/index.js +23 -0
  622. package/dist-server/utils/index.js.map +1 -0
  623. package/dist-server/utils/inventory-util.js +236 -0
  624. package/dist-server/utils/inventory-util.js.map +1 -0
  625. package/dist-server/utils/lambda/lambda-const.js +6 -0
  626. package/dist-server/utils/lambda/lambda-const.js.map +1 -0
  627. package/dist-server/utils/lmd-util.js +699 -0
  628. package/dist-server/utils/lmd-util.js.map +1 -0
  629. package/dist-server/utils/worksheet-no-generator.js +187 -0
  630. package/dist-server/utils/worksheet-no-generator.js.map +1 -0
  631. package/dist-server/utils/worksheet-util.js +85 -0
  632. package/dist-server/utils/worksheet-util.js.map +1 -0
  633. package/dist-server/utils/xilnex-util.js +62 -0
  634. package/dist-server/utils/xilnex-util.js.map +1 -0
  635. package/package.json +12 -12
@@ -0,0 +1,1056 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnloadingWorksheetController = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const id_rule_base_1 = require("@things-factory/id-rule-base");
6
+ const sales_base_1 = require("@things-factory/sales-base");
7
+ const setting_base_1 = require("@things-factory/setting-base");
8
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
9
+ const constants_1 = require("../../constants");
10
+ const entities_1 = require("../../entities");
11
+ const utils_1 = require("../../utils");
12
+ const vas_worksheet_controller_1 = require("../vas/vas-worksheet-controller");
13
+ class UnloadingWorksheetController extends vas_worksheet_controller_1.VasWorksheetController {
14
+ async generateUnloadingWorksheet(arrivalNoticeNo, bufferLocationId) {
15
+ try {
16
+ let arrivalNotice = await this.findRefOrder(sales_base_1.ArrivalNotice, {
17
+ domain: this.domain,
18
+ name: arrivalNoticeNo,
19
+ status: sales_base_1.ORDER_STATUS.ARRIVED
20
+ }, ['bizplace', 'orderVass']);
21
+ const orderProducts = await this.trxMgr
22
+ .getRepository(sales_base_1.OrderProduct)
23
+ .find({ where: { arrivalNotice } });
24
+ const orderVASs = arrivalNotice.orderVass;
25
+ const bufferLocation = await this.trxMgr.getRepository(warehouse_base_1.Location).findOne(bufferLocationId);
26
+ const worksheet = await this.generateWorksheet(constants_1.WORKSHEET_TYPE.UNLOADING, arrivalNotice, orderProducts, sales_base_1.ORDER_STATUS.READY_TO_UNLOAD, sales_base_1.ORDER_PRODUCT_STATUS.READY_TO_UNLOAD, { bufferLocation });
27
+ if ((orderVASs === null || orderVASs === void 0 ? void 0 : orderVASs.length) > 0) {
28
+ await this.generateVasWorksheet(arrivalNotice);
29
+ }
30
+ return worksheet;
31
+ }
32
+ catch (e) {
33
+ throw new Error(e);
34
+ }
35
+ }
36
+ async unload(worksheetDetailName, inventory, productBarcode) {
37
+ var _a;
38
+ const worksheetDetail = await this.trxMgr.getRepository(entities_1.WorksheetDetail).findOne({
39
+ where: {
40
+ name: worksheetDetailName,
41
+ status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(constants_1.WORKSHEET_STATUS.DEACTIVATED))
42
+ },
43
+ relations: [
44
+ 'bizplace',
45
+ 'worksheet',
46
+ 'worksheet.arrivalNotice',
47
+ 'worksheet.returnOrder',
48
+ 'worksheet.bufferLocation',
49
+ 'worksheet.bufferLocation.warehouse',
50
+ 'targetProduct',
51
+ 'targetProduct.product',
52
+ 'targetProduct.productDetail',
53
+ 'targetInventory',
54
+ 'targetInventory.inventory',
55
+ 'targetInventory.product',
56
+ 'targetInventory.productDetail'
57
+ ]
58
+ });
59
+ if (!worksheetDetail)
60
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(worksheetDetailName));
61
+ const targetProduct = worksheetDetail.targetProduct;
62
+ if (targetProduct && targetProduct.status == sales_base_1.ORDER_PRODUCT_STATUS.EDITED)
63
+ throw new Error('this product is pending for changes approval');
64
+ const arrivalNotice = worksheetDetail.worksheet.arrivalNotice;
65
+ const returnOrder = worksheetDetail.worksheet.returnOrder;
66
+ const location = worksheetDetail.worksheet.bufferLocation;
67
+ const targetOrderInventory = worksheetDetail === null || worksheetDetail === void 0 ? void 0 : worksheetDetail.targetInventory;
68
+ const originInventory = (targetOrderInventory === null || targetOrderInventory === void 0 ? void 0 : targetOrderInventory.inventory) || null;
69
+ const orderId = Boolean(arrivalNotice === null || arrivalNotice === void 0 ? void 0 : arrivalNotice.id) ? arrivalNotice.id : returnOrder.id;
70
+ let productDetail = Boolean(arrivalNotice)
71
+ ? targetProduct.productDetail
72
+ : targetOrderInventory.productDetail;
73
+ let qty = Number(inventory.qty);
74
+ let uom = Boolean(arrivalNotice) ? targetProduct.uom : originInventory.uom;
75
+ if (isNaN(qty) || qty <= 0) {
76
+ throw new Error('Invalid quantity value');
77
+ }
78
+ if (!(inventory === null || inventory === void 0 ? void 0 : inventory.palletId)) {
79
+ if (!(inventory === null || inventory === void 0 ? void 0 : inventory.cartonId)) {
80
+ throw new Error('missing carton Id');
81
+ }
82
+ // Commenting thhis function will enable the usage of pre-existing carton during unloading
83
+ // await this.checkCartonDuplication(inventory.cartonId, orderId)
84
+ if (targetProduct === null || targetProduct === void 0 ? void 0 : targetProduct.palletId) {
85
+ inventory.palletId = targetProduct.palletId;
86
+ }
87
+ else {
88
+ inventory.palletId = await (0, id_rule_base_1.generateId)({
89
+ domain: this.domain,
90
+ type: constants_1.RULE_TYPE.LOT_NUMBER_ID,
91
+ seed: { date: utils_1.DateGenerator.generateDate() }
92
+ });
93
+ }
94
+ }
95
+ else {
96
+ await this.checkPalletDuplication(inventory.palletId);
97
+ }
98
+ let newInventory = new warehouse_base_1.Inventory();
99
+ newInventory = {
100
+ bizplace: worksheetDetail.bizplace,
101
+ name: warehouse_base_1.InventoryNoGenerator.inventoryName(),
102
+ palletId: inventory.palletId,
103
+ cartonId: inventory.cartonId || undefined,
104
+ refOrderId: orderId,
105
+ productDetail,
106
+ warehouse: location.warehouse,
107
+ zone: location.zone,
108
+ location: location,
109
+ expirationDate: (inventory === null || inventory === void 0 ? void 0 : inventory.expirationDate) ? new Date(inventory.expirationDate) : undefined,
110
+ status: warehouse_base_1.INVENTORY_STATUS.UNLOADED,
111
+ qty: qty
112
+ };
113
+ if ((_a = inventory.reusablePallet) === null || _a === void 0 ? void 0 : _a.id) {
114
+ newInventory.reusablePallet = await this.trxMgr.getRepository(warehouse_base_1.Pallet).findOne(inventory.reusablePallet.id);
115
+ }
116
+ // Find matching product based on GTIN
117
+ if (productBarcode) {
118
+ let matchingProduct;
119
+ matchingProduct = await this.getDirectQty(Object.assign(Object.assign({}, productDetail), { product: targetOrderInventory === null || targetOrderInventory === void 0 ? void 0 : targetOrderInventory.product }), productBarcode, qty);
120
+ //validate matching product details based on scanned barcode
121
+ if (!matchingProduct)
122
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode));
123
+ qty = matchingProduct.qty;
124
+ uom = arrivalNotice ? targetProduct.uom : matchingProduct.uom;
125
+ }
126
+ // Calculate uom value
127
+ const uomValue = Math.round(qty *
128
+ (Boolean(arrivalNotice)
129
+ ? targetProduct.uomValue
130
+ : targetOrderInventory.returnUomValue / targetOrderInventory.returnQty) *
131
+ 1000) / 1000;
132
+ if (arrivalNotice) {
133
+ newInventory = Object.assign(Object.assign({}, newInventory), { batchId: targetProduct.batchId, batchIdRef: targetProduct.batchIdRef, product: targetProduct.product, packingType: targetProduct.packingType, packingSize: targetProduct.packingSize, remark: targetProduct.remark, manufactureDate: targetProduct.manufactureDate, orderProductId: targetProduct === null || targetProduct === void 0 ? void 0 : targetProduct.id, uom: uom || productDetail.uom, qty: qty, uomValue: uomValue, unitCost: (targetProduct === null || targetProduct === void 0 ? void 0 : targetProduct.unitPrice)
134
+ ? ((targetProduct.packQty * targetProduct.unitPrice + targetProduct.miscAmt - targetProduct.discountAmt) *
135
+ (1 + targetProduct.taxRate / 100)) /
136
+ targetProduct.packQty
137
+ : 0 });
138
+ const updateOP = {
139
+ id: targetProduct.id,
140
+ actualPalletQty: ++targetProduct.actualPalletQty,
141
+ actualPackQty: Number(targetProduct.actualPackQty || 0) + qty,
142
+ status: sales_base_1.ORDER_PRODUCT_STATUS.UNLOADED,
143
+ productDetail: productDetail
144
+ };
145
+ // targetProduct.status = ORDER_PRODUCT_STATUS.UNLOADED
146
+ // targetProduct.productDetail = productDetail
147
+ await this.updateOrderTargets([updateOP], sales_base_1.OrderProduct);
148
+ }
149
+ // case 2: Return Order -> Update Order Inventory
150
+ else if (returnOrder) {
151
+ newInventory = Object.assign(Object.assign({}, newInventory), { batchId: targetOrderInventory.batchId, batchIdRef: null, product: targetOrderInventory.product, packingType: targetOrderInventory.packingType, packingSize: targetOrderInventory.packingSize, remark: targetOrderInventory.remark, uom: uom || productDetail.uom, qty: qty, uomValue: uomValue, unitCost: targetOrderInventory.unitCost, orderInventoryId: targetOrderInventory === null || targetOrderInventory === void 0 ? void 0 : targetOrderInventory.id, refInventory: targetOrderInventory === null || targetOrderInventory === void 0 ? void 0 : targetOrderInventory.inventory });
152
+ const updateOI = {
153
+ id: targetOrderInventory.id,
154
+ actualPalletQty: ++targetOrderInventory.actualPalletQty,
155
+ actualPackQty: targetOrderInventory.actualPackQty + qty,
156
+ status: sales_base_1.ORDER_PRODUCT_STATUS.UNLOADED
157
+ };
158
+ await this.updateOrderTargets([updateOI], sales_base_1.OrderInventory);
159
+ }
160
+ // Create New History Transaction
161
+ newInventory = await this.transactionInventory(newInventory, Boolean(arrivalNotice) ? arrivalNotice : returnOrder, newInventory.qty, newInventory.uomValue, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.UNLOADING);
162
+ return (arrivalNotice === null || arrivalNotice === void 0 ? void 0 : arrivalNotice.name) || (returnOrder === null || returnOrder === void 0 ? void 0 : returnOrder.name) || null;
163
+ }
164
+ async scanSerialNumberUnload(worksheetDetailName, serialNumber, inventory) {
165
+ var _a;
166
+ const worksheetDetail = await this.trxMgr.getRepository(entities_1.WorksheetDetail).findOne({
167
+ where: {
168
+ name: worksheetDetailName,
169
+ status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(constants_1.WORKSHEET_STATUS.DEACTIVATED))
170
+ },
171
+ relations: [
172
+ 'bizplace',
173
+ 'worksheet',
174
+ 'worksheet.arrivalNotice',
175
+ 'worksheet.returnOrder',
176
+ 'worksheet.bufferLocation',
177
+ 'worksheet.bufferLocation.warehouse',
178
+ 'targetProduct',
179
+ 'targetProduct.product',
180
+ 'targetProduct.productDetail',
181
+ 'targetProduct.product.productDetails',
182
+ 'targetProduct.product.productDetails.childProductDetail',
183
+ 'targetInventory',
184
+ 'targetInventory.productDetail',
185
+ 'targetInventory.product',
186
+ 'targetInventory.product.productDetails',
187
+ 'targetInventory.product.productDetails.childProductDetail'
188
+ ]
189
+ });
190
+ if (!worksheetDetail)
191
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(worksheetDetailName));
192
+ if (!(inventory === null || inventory === void 0 ? void 0 : inventory.palletId))
193
+ inventory.palletId = await (0, id_rule_base_1.generateId)({
194
+ domain: this.domain,
195
+ type: constants_1.RULE_TYPE.LOT_NUMBER_ID,
196
+ seed: { date: utils_1.DateGenerator.generateDate() }
197
+ });
198
+ const targetProduct = worksheetDetail.targetProduct;
199
+ if ((targetProduct === null || targetProduct === void 0 ? void 0 : targetProduct.status) == sales_base_1.ORDER_PRODUCT_STATUS.EDITED)
200
+ throw new Error('this product is pending for changes approval');
201
+ const bizplace = worksheetDetail.bizplace;
202
+ const worksheet = worksheetDetail.worksheet;
203
+ const arrivalNotice = worksheet.arrivalNotice;
204
+ const returnOrder = worksheet.returnOrder;
205
+ const targetInventory = worksheetDetail.targetInventory;
206
+ const product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product;
207
+ const productDetail = Boolean(arrivalNotice)
208
+ ? targetProduct.productDetail
209
+ : targetInventory.productDetail;
210
+ const packingType = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType;
211
+ const packingSize = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize;
212
+ const batchId = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId;
213
+ let qty = 0;
214
+ let uom = Boolean(arrivalNotice) ? targetProduct.uom : targetInventory.uom;
215
+ const cartonId = inventory.cartonId;
216
+ const orderId = Boolean(arrivalNotice) ? arrivalNotice.id : returnOrder.id;
217
+ await this.checkSerialNumberDuplication(serialNumber, product);
218
+ qty++;
219
+ const invQb = this.trxMgr
220
+ .getRepository(warehouse_base_1.Inventory)
221
+ .createQueryBuilder('INV')
222
+ .where('INV.domain_id = :domainId', { domainId: this.domain.id })
223
+ .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
224
+ .andWhere('INV.product_detail_id = :productDetailId', { productDetailId: productDetail.id })
225
+ .andWhere('INV.batch_id = :batchId', { batchId: batchId });
226
+ if (arrivalNotice)
227
+ invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id });
228
+ else if (returnOrder)
229
+ invQb.andWhere('INV.ref_order_id = :returnOrderId', { returnOrderId: returnOrder.id });
230
+ if (inventory === null || inventory === void 0 ? void 0 : inventory.expirationDate) {
231
+ invQb.andWhere('INV.expiration_date = :expirationDate', {
232
+ expirationDate: inventory.expirationDate
233
+ });
234
+ }
235
+ if (inventory === null || inventory === void 0 ? void 0 : inventory.cartonId)
236
+ invQb.andWhere('INV.carton_id = :cartonId', { cartonId: inventory.cartonId });
237
+ else
238
+ invQb.andWhere('INV.pallet_id = :palletId', { palletId: inventory.palletId });
239
+ let foundInventory = await invQb.getOne();
240
+ const batchIdRef = Boolean(arrivalNotice) ? targetProduct.batchIdRef : null;
241
+ const remark = Boolean(arrivalNotice) ? targetProduct.remark : targetInventory.remark;
242
+ const manufactureDate = Boolean(arrivalNotice) ? targetProduct.manufactureDate : null;
243
+ const location = worksheet.bufferLocation;
244
+ const warehouse = location.warehouse;
245
+ const zone = location.zone;
246
+ const unitCost = Boolean(arrivalNotice)
247
+ ? (targetProduct === null || targetProduct === void 0 ? void 0 : targetProduct.unitPrice)
248
+ ? ((targetProduct.packQty * targetProduct.unitPrice + targetProduct.miscAmt - targetProduct.discountAmt) *
249
+ (1 + targetProduct.taxRate / 100)) /
250
+ targetProduct.packQty
251
+ : 0
252
+ : null;
253
+ if (!foundInventory) {
254
+ let newInventory = new warehouse_base_1.Inventory();
255
+ newInventory.bizplace = bizplace;
256
+ newInventory.domain = this.domain;
257
+ newInventory.name = warehouse_base_1.InventoryNoGenerator.inventoryName();
258
+ newInventory.palletId = inventory.palletId;
259
+ newInventory.cartonId = inventory.cartonId;
260
+ newInventory.batchId = batchId;
261
+ newInventory.batchIdRef = batchIdRef;
262
+ newInventory.product = product;
263
+ newInventory.productDetail = productDetail;
264
+ newInventory.packingType = packingType;
265
+ newInventory.packingSize = packingSize;
266
+ newInventory.uom = uom;
267
+ newInventory.remark = remark;
268
+ newInventory.qty = qty;
269
+ newInventory.uomValue =
270
+ Math.round(qty *
271
+ (Boolean(arrivalNotice)
272
+ ? targetProduct.uomValue
273
+ : targetInventory.returnUomValue / targetInventory.returnQty) *
274
+ 1000) / 1000;
275
+ newInventory.manufactureDate = manufactureDate;
276
+ newInventory.refOrderId = orderId;
277
+ newInventory.unitCost = unitCost;
278
+ if ((_a = inventory.reusablePallet) === null || _a === void 0 ? void 0 : _a.id) {
279
+ newInventory.reusablePallet = await this.trxMgr.getRepository(warehouse_base_1.Pallet).findOne(inventory.reusablePallet.id);
280
+ }
281
+ newInventory.orderProductId = Boolean(arrivalNotice) ? targetProduct.id : null;
282
+ newInventory.orderInventoryId = Boolean(returnOrder) ? targetInventory.id : null;
283
+ newInventory.warehouse = warehouse;
284
+ newInventory.location = location;
285
+ newInventory.zone = zone;
286
+ newInventory.status = warehouse_base_1.INVENTORY_STATUS.CHECKED;
287
+ newInventory.creator = this.user;
288
+ if (inventory === null || inventory === void 0 ? void 0 : inventory.expirationDate) {
289
+ newInventory.expirationDate = new Date(inventory.expirationDate);
290
+ }
291
+ if (arrivalNotice) {
292
+ targetProduct.actualPalletQty++;
293
+ targetProduct.actualPackQty = Boolean(targetProduct.actualPackQty) ? targetProduct.actualPackQty + qty : qty;
294
+ }
295
+ else if (returnOrder) {
296
+ targetInventory.actualPalletQty++;
297
+ targetInventory.actualPackQty = Boolean(targetInventory.actualPackQty)
298
+ ? targetInventory.actualPackQty + qty
299
+ : qty;
300
+ }
301
+ foundInventory = await this.trxMgr.getRepository(warehouse_base_1.Inventory).save(newInventory);
302
+ //refer to scanUnload
303
+ newInventory = await this.transactionInventory(newInventory, Boolean(arrivalNotice) ? arrivalNotice : returnOrder, newInventory.qty, newInventory.uomValue, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.UNLOADING);
304
+ }
305
+ else {
306
+ const updatedQty = foundInventory.qty + qty;
307
+ foundInventory.expirationDate = foundInventory.expirationDate ? new Date(foundInventory.expirationDate) : null;
308
+ foundInventory.qty = updatedQty;
309
+ foundInventory.uomValue +=
310
+ Math.round(qty *
311
+ (Boolean(arrivalNotice)
312
+ ? targetProduct.uomValue
313
+ : targetInventory.returnUomValue / targetInventory.returnQty) *
314
+ 1000) / 1000;
315
+ //refer to scanUnload
316
+ foundInventory = await this.transactionInventory(foundInventory, Boolean(arrivalNotice) ? arrivalNotice : returnOrder, foundInventory.qty, foundInventory.uomValue, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.UNLOADING);
317
+ if (arrivalNotice)
318
+ targetProduct.actualPackQty = targetProduct.actualPackQty + qty;
319
+ else if (returnOrder)
320
+ targetInventory.actualPackQty = targetInventory.actualPackQty + qty;
321
+ foundInventory = await this.trxMgr.getRepository(warehouse_base_1.Inventory).save(foundInventory);
322
+ }
323
+ let inventoryItem = new warehouse_base_1.InventoryItem();
324
+ inventoryItem.name = warehouse_base_1.InventoryNoGenerator.inventoryItemName();
325
+ inventoryItem.serialNumber = serialNumber;
326
+ inventoryItem.status = foundInventory.status;
327
+ inventoryItem.inboundOrderId = foundInventory.refOrderId;
328
+ inventoryItem.product = product;
329
+ inventoryItem.productDetail = productDetail;
330
+ inventoryItem.inventory = foundInventory;
331
+ inventoryItem.source = warehouse_base_1.INVENTORY_ITEM_SOURCE.INBOUND;
332
+ inventoryItem.domain = this.domain;
333
+ inventoryItem.creator = this.user;
334
+ inventoryItem.updater = this.user;
335
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(inventoryItem);
336
+ if (arrivalNotice) {
337
+ targetProduct.updater = this.user;
338
+ this.updateOrderTargets([targetProduct]);
339
+ }
340
+ else if (returnOrder) {
341
+ targetInventory.updater = this.user;
342
+ this.updateOrderTargets([targetInventory]);
343
+ }
344
+ }
345
+ async scanProductUnload(worksheetDetailName, productBarcode, inventory) {
346
+ var _a;
347
+ const worksheetDetail = await this.trxMgr.getRepository(entities_1.WorksheetDetail).findOne({
348
+ where: {
349
+ name: worksheetDetailName,
350
+ status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(constants_1.WORKSHEET_STATUS.DEACTIVATED))
351
+ },
352
+ relations: [
353
+ 'bizplace',
354
+ 'worksheet',
355
+ 'worksheet.arrivalNotice',
356
+ 'worksheet.returnOrder',
357
+ 'worksheet.bufferLocation',
358
+ 'worksheet.bufferLocation.warehouse',
359
+ 'targetProduct',
360
+ 'targetProduct.product',
361
+ 'targetProduct.productDetail',
362
+ 'targetProduct.product.productDetails',
363
+ 'targetProduct.product.productDetails.childProductDetail',
364
+ 'targetInventory',
365
+ 'targetInventory.product',
366
+ 'targetInventory.productDetail',
367
+ 'targetInventory.product.productDetails',
368
+ 'targetInventory.product.productDetails.childProductDetail'
369
+ ]
370
+ });
371
+ if (!worksheetDetail)
372
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(worksheetDetailName));
373
+ if (!(inventory === null || inventory === void 0 ? void 0 : inventory.palletId))
374
+ inventory.palletId = await (0, id_rule_base_1.generateId)({
375
+ domain: this.domain,
376
+ type: constants_1.RULE_TYPE.LOT_NUMBER_ID,
377
+ seed: { date: utils_1.DateGenerator.generateDate() }
378
+ });
379
+ const targetProduct = worksheetDetail.targetProduct;
380
+ if (targetProduct.status == sales_base_1.ORDER_PRODUCT_STATUS.EDITED)
381
+ throw new Error('this product is pending for changes approval');
382
+ const bizplace = worksheetDetail.bizplace;
383
+ const worksheet = worksheetDetail.worksheet;
384
+ const arrivalNotice = worksheet.arrivalNotice;
385
+ const returnOrder = worksheet.returnOrder;
386
+ const targetInventory = worksheetDetail.targetInventory;
387
+ const product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product;
388
+ let productDetail = Boolean(arrivalNotice)
389
+ ? targetProduct.productDetail
390
+ : targetInventory.productDetail;
391
+ const packingType = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType;
392
+ const packingSize = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize;
393
+ const batchId = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId;
394
+ let qty = 1;
395
+ let uom = Boolean(arrivalNotice) ? targetProduct.uom : targetInventory.uom;
396
+ const cartonId = inventory.cartonId;
397
+ const orderId = Boolean(arrivalNotice) ? arrivalNotice.id : returnOrder.id;
398
+ // Commenting thhis function will enable the usage of pre-existing carton during unloading
399
+ // await this.checkCartonDuplication(cartonId, orderId)
400
+ let matchingProduct;
401
+ matchingProduct = await this.getDirectQty(Object.assign(Object.assign({}, productDetail), { product: targetInventory === null || targetInventory === void 0 ? void 0 : targetInventory.product }), productBarcode, qty);
402
+ //validate matching product details based on scanned barcode
403
+ if (!matchingProduct)
404
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode));
405
+ qty = matchingProduct.qty;
406
+ uom = arrivalNotice ? targetProduct.uom : matchingProduct.uom;
407
+ const invQb = this.trxMgr
408
+ .getRepository(warehouse_base_1.Inventory)
409
+ .createQueryBuilder('INV')
410
+ .where('INV.domain_id = :domainId', { domainId: this.domain.id })
411
+ .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
412
+ .andWhere('INV.product_detail_id = :productDetailId', { productDetailId: productDetail.id })
413
+ .andWhere('INV.batch_id = :batchId', { batchId: batchId });
414
+ if (arrivalNotice)
415
+ invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id });
416
+ else if (returnOrder)
417
+ invQb.andWhere('INV.ref_order_id = :returnOrderId', { returnOrderId: returnOrder.id });
418
+ if (inventory === null || inventory === void 0 ? void 0 : inventory.expirationDate) {
419
+ invQb.andWhere('INV.expiration_date = :expirationDate', {
420
+ expirationDate: inventory.expirationDate
421
+ });
422
+ }
423
+ if (inventory === null || inventory === void 0 ? void 0 : inventory.cartonId)
424
+ invQb.andWhere('INV.carton_id = :cartonId', { cartonId: inventory.cartonId });
425
+ else
426
+ invQb.andWhere('INV.pallet_id = :palletId', { palletId: inventory.palletId });
427
+ let foundInventory = await invQb.getOne();
428
+ const batchIdRef = Boolean(arrivalNotice) ? targetProduct.batchIdRef : null;
429
+ const remark = Boolean(arrivalNotice) ? targetProduct.remark : targetInventory.remark;
430
+ const manufactureDate = Boolean(arrivalNotice) ? targetProduct.manufactureDate : null;
431
+ const location = worksheet.bufferLocation;
432
+ const warehouse = location.warehouse;
433
+ const zone = location.zone;
434
+ const unitCost = Boolean(arrivalNotice)
435
+ ? (targetProduct === null || targetProduct === void 0 ? void 0 : targetProduct.unitPrice)
436
+ ? ((targetProduct.packQty * targetProduct.unitPrice + targetProduct.miscAmt - targetProduct.discountAmt) *
437
+ (1 + targetProduct.taxRate / 100)) /
438
+ targetProduct.packQty
439
+ : 0
440
+ : null;
441
+ if (!foundInventory) {
442
+ let newInventory = new warehouse_base_1.Inventory();
443
+ newInventory.bizplace = bizplace;
444
+ newInventory.domain = this.domain;
445
+ newInventory.name = warehouse_base_1.InventoryNoGenerator.inventoryName();
446
+ newInventory.palletId = inventory.palletId;
447
+ newInventory.cartonId = inventory.cartonId;
448
+ newInventory.batchId = batchId;
449
+ newInventory.batchIdRef = batchIdRef;
450
+ newInventory.product = product;
451
+ newInventory.productDetail = productDetail;
452
+ newInventory.packingType = packingType;
453
+ newInventory.packingSize = packingSize;
454
+ newInventory.uom = uom;
455
+ newInventory.remark = remark;
456
+ newInventory.qty = qty;
457
+ newInventory.uomValue =
458
+ Math.round(qty *
459
+ (Boolean(arrivalNotice)
460
+ ? targetProduct.uomValue
461
+ : targetInventory.returnUomValue / targetInventory.returnQty) *
462
+ 1000) / 1000;
463
+ newInventory.manufactureDate = manufactureDate;
464
+ newInventory.refOrderId = orderId;
465
+ newInventory.unitCost = unitCost;
466
+ if ((_a = inventory.reusablePallet) === null || _a === void 0 ? void 0 : _a.id) {
467
+ newInventory.reusablePallet = await this.trxMgr.getRepository(warehouse_base_1.Pallet).findOne(inventory.reusablePallet.id);
468
+ }
469
+ newInventory.orderProductId = Boolean(arrivalNotice) ? targetProduct.id : null;
470
+ newInventory.orderInventoryId = Boolean(returnOrder) ? targetInventory.id : null;
471
+ newInventory.warehouse = warehouse;
472
+ newInventory.location = location;
473
+ newInventory.zone = zone;
474
+ newInventory.status = warehouse_base_1.INVENTORY_STATUS.CHECKED;
475
+ newInventory.creator = this.user;
476
+ if (inventory === null || inventory === void 0 ? void 0 : inventory.expirationDate) {
477
+ newInventory.expirationDate = new Date(inventory.expirationDate);
478
+ }
479
+ if (arrivalNotice) {
480
+ targetProduct.actualPalletQty++;
481
+ targetProduct.actualPackQty = Boolean(targetProduct.actualPackQty) ? targetProduct.actualPackQty + qty : qty;
482
+ }
483
+ else if (returnOrder) {
484
+ targetInventory.actualPalletQty++;
485
+ targetInventory.actualPackQty = Boolean(targetInventory.actualPackQty)
486
+ ? targetInventory.actualPackQty + qty
487
+ : qty;
488
+ }
489
+ await this.trxMgr.getRepository(warehouse_base_1.Inventory).save(newInventory);
490
+ }
491
+ else {
492
+ const updatedQty = foundInventory.qty + qty;
493
+ foundInventory.expirationDate = foundInventory.expirationDate ? new Date(foundInventory.expirationDate) : null;
494
+ foundInventory.qty = updatedQty;
495
+ foundInventory.uomValue +=
496
+ Math.round(qty *
497
+ (Boolean(arrivalNotice)
498
+ ? targetProduct.uomValue
499
+ : targetInventory.returnUomValue / targetInventory.returnQty) *
500
+ 1000) / 1000;
501
+ foundInventory.productDetail = productDetail;
502
+ if (arrivalNotice)
503
+ targetProduct.actualPackQty = targetProduct.actualPackQty + qty;
504
+ else if (returnOrder)
505
+ targetInventory.actualPackQty = targetInventory.actualPackQty + qty;
506
+ await this.trxMgr.getRepository(warehouse_base_1.Inventory).save(foundInventory);
507
+ }
508
+ if (arrivalNotice) {
509
+ targetProduct.updater = this.user;
510
+ targetProduct.productDetail = productDetail;
511
+ this.updateOrderTargets([targetProduct]);
512
+ }
513
+ else if (returnOrder) {
514
+ targetInventory.updater = this.user;
515
+ this.updateOrderTargets([targetInventory]);
516
+ }
517
+ }
518
+ async completeProductScanUnload(worksheetDetailName, inventory) {
519
+ const worksheetDetail = await this.trxMgr.getRepository(entities_1.WorksheetDetail).findOne({
520
+ where: {
521
+ name: worksheetDetailName,
522
+ status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(constants_1.WORKSHEET_STATUS.DEACTIVATED))
523
+ },
524
+ relations: [
525
+ 'bizplace',
526
+ 'worksheet',
527
+ 'worksheet.arrivalNotice',
528
+ 'worksheet.returnOrder',
529
+ 'worksheet.bufferLocation',
530
+ 'worksheet.bufferLocation.warehouse',
531
+ 'targetProduct',
532
+ 'targetProduct.product',
533
+ 'targetProduct.productDetail',
534
+ 'targetInventory',
535
+ 'targetInventory.product',
536
+ 'targetInventory.productDetail'
537
+ ]
538
+ });
539
+ if (!worksheetDetail)
540
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(worksheetDetailName));
541
+ const bizplace = worksheetDetail.bizplace;
542
+ const worksheet = worksheetDetail.worksheet;
543
+ const arrivalNotice = worksheet.arrivalNotice;
544
+ const returnOrder = worksheet.returnOrder;
545
+ const targetProduct = worksheetDetail.targetProduct;
546
+ const targetInventory = worksheetDetail.targetInventory;
547
+ const productDetail = Boolean(arrivalNotice) ? targetProduct.productDetail : targetInventory.productDetail;
548
+ const batchId = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId;
549
+ const invQb = await this.trxMgr
550
+ .getRepository(warehouse_base_1.Inventory)
551
+ .createQueryBuilder('INV')
552
+ .where('INV.domain_id = :domainId', { domainId: this.domain.id })
553
+ .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
554
+ .andWhere('INV.product_detail_id = :productDetailId', { productDetailId: productDetail.id })
555
+ .andWhere('INV.batch_id = :batchId', { batchId: batchId });
556
+ if (arrivalNotice)
557
+ invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id });
558
+ else if (returnOrder)
559
+ invQb.andWhere('INV.ref_order_id = :returnOrderId', { returnOrderId: returnOrder.id });
560
+ if (inventory === null || inventory === void 0 ? void 0 : inventory.expirationDate) {
561
+ invQb.andWhere('INV.expiration_date = :expirationDate', {
562
+ expirationDate: inventory.expirationDate
563
+ });
564
+ }
565
+ if (inventory === null || inventory === void 0 ? void 0 : inventory.cartonId)
566
+ invQb.andWhere('INV.carton_id = :cartonId', { cartonId: inventory.cartonId });
567
+ else
568
+ invQb.andWhere('INV.pallet_id = :palletId', { palletId: inventory.palletId });
569
+ let foundInventory = await invQb.getOne();
570
+ if (!foundInventory)
571
+ throw new Error(this.ERROR_MSG.FIND.NO_RESULT(foundInventory.palletId));
572
+ foundInventory.status = warehouse_base_1.INVENTORY_STATUS.UNLOADED;
573
+ foundInventory = await this.transactionInventory(foundInventory, Boolean(arrivalNotice) ? arrivalNotice : returnOrder, foundInventory.qty, foundInventory.uomValue, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.UNLOADING);
574
+ }
575
+ async undoUnload(orderType, orderNo, inventoryIds) {
576
+ for (var i = 0; i < inventoryIds.length; i++) {
577
+ const inventoryId = inventoryIds[i];
578
+ let inventory = await this.trxMgr.getRepository(warehouse_base_1.Inventory).findOne({
579
+ where: { domain: this.domain, id: inventoryId },
580
+ relations: ['location', 'product', 'productDetail']
581
+ });
582
+ this.checkRecordValidity(inventory, {
583
+ status: (status) => {
584
+ const availableStatus = [warehouse_base_1.INVENTORY_STATUS.UNLOADED, warehouse_base_1.INVENTORY_STATUS.CHECKED];
585
+ if (availableStatus.indexOf(status) < 0) {
586
+ throw new Error(this.ERROR_MSG.VALIDITY.UNEXPECTED_FIELD_VALUE('status', 'Inventory current status unable to undo', status));
587
+ }
588
+ return true;
589
+ }
590
+ });
591
+ const qty = inventory.qty;
592
+ let targetProduct;
593
+ let targetInventory;
594
+ let arrivalNotice;
595
+ let returnOrder;
596
+ let worksheetDetail;
597
+ let worksheetDetailStatus;
598
+ if (orderType === sales_base_1.ORDER_TYPES.ARRIVAL_NOTICE) {
599
+ arrivalNotice = await this.trxMgr.getRepository(sales_base_1.ArrivalNotice).findOne({
600
+ where: { domain: this.domain, name: orderNo },
601
+ relations: ['orderProducts', 'orderProducts.product', 'orderProducts.productDetail']
602
+ });
603
+ targetProduct = arrivalNotice.orderProducts.find(op => op.batchId == inventory.batchId && op.productDetail.id == inventory.productDetail.id);
604
+ let foundPartialUnloadedInventories = await this.trxMgr.getRepository(warehouse_base_1.Inventory).findOne({
605
+ where: { domain: this.domain, orderProductId: targetProduct.id, status: warehouse_base_1.INVENTORY_STATUS.PARTIALLY_UNLOADED }
606
+ });
607
+ if (foundPartialUnloadedInventories) {
608
+ worksheetDetailStatus = constants_1.WORKSHEET_STATUS.PARTIALLY_UNLOADED;
609
+ }
610
+ if (inventory.status == warehouse_base_1.INVENTORY_STATUS.UNLOADED) {
611
+ targetProduct.actualPackQty -= qty;
612
+ targetProduct.actualPalletQty--;
613
+ targetProduct.remark = null;
614
+ targetProduct.issue = null;
615
+ targetProduct.status = sales_base_1.ORDER_PRODUCT_STATUS.UNLOADING;
616
+ }
617
+ else {
618
+ targetProduct.actualPackQty -= qty;
619
+ }
620
+ targetProduct.updater = this.user;
621
+ await this.updateOrderTargets([targetProduct]);
622
+ worksheetDetail = await this.trxMgr
623
+ .getRepository(entities_1.WorksheetDetail)
624
+ .findOne({ where: { domain: this.domain, targetProduct } });
625
+ //remove all related serial numbers
626
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).delete({ inventory: inventoryId });
627
+ }
628
+ else {
629
+ returnOrder = await this.trxMgr.getRepository(sales_base_1.ReturnOrder).findOne({
630
+ where: { domain: this.domain, name: orderNo },
631
+ relations: ['orderInventories', 'orderInventories.inventory', 'orderInventories.productDetail']
632
+ });
633
+ targetInventory = returnOrder.orderInventories.find(oi => oi.batchId == inventory.batchId && oi.productDetail.id == inventory.productDetail.id);
634
+ if (inventory.status == warehouse_base_1.INVENTORY_STATUS.UNLOADED) {
635
+ targetInventory.actualPackQty -= qty;
636
+ targetInventory.actualPalletQty--;
637
+ targetInventory.status = sales_base_1.ORDER_PRODUCT_STATUS.UNLOADING;
638
+ }
639
+ else {
640
+ targetInventory.actualPackQty--;
641
+ }
642
+ targetInventory.updater = this.user;
643
+ await this.updateOrderTargets([targetInventory]);
644
+ worksheetDetail = await this.trxMgr
645
+ .getRepository(entities_1.WorksheetDetail)
646
+ .findOne({ where: { domain: this.domain, targetInventory } });
647
+ }
648
+ if (inventory.status == warehouse_base_1.INVENTORY_STATUS.CHECKED) {
649
+ inventory.qty -= qty;
650
+ inventory.uomValue =
651
+ Math.round(inventory.qty *
652
+ (Boolean(orderType === sales_base_1.ORDER_TYPES.ARRIVAL_NOTICE)
653
+ ? targetProduct.uomValue
654
+ : targetInventory.returnUomValue) *
655
+ 1000) / 1000;
656
+ inventory.updater = this.user;
657
+ await this.trxMgr.getRepository(warehouse_base_1.Inventory).save(inventory);
658
+ if (inventory.qty == 0) {
659
+ inventory.lastSeq++;
660
+ inventory.status = warehouse_base_1.INVENTORY_STATUS.DELETED;
661
+ inventory = await this.transactionInventory(inventory, Boolean(orderType === sales_base_1.ORDER_TYPES.ARRIVAL_NOTICE) ? arrivalNotice : returnOrder, -inventory.qty, -inventory.uomValue, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.UNDO_UNLOADING);
662
+ inventory.qty = 0;
663
+ inventory.uomValue = 0;
664
+ inventory.updater = this.user;
665
+ targetProduct.actualPalletQty--;
666
+ await this.updateOrderTargets([targetProduct]);
667
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryHistory).update({ inventory }, { inventory: null });
668
+ await this.trxMgr.getRepository(warehouse_base_1.Inventory).delete({ id: inventory.id });
669
+ }
670
+ }
671
+ else {
672
+ inventory.lastSeq++;
673
+ inventory.status = warehouse_base_1.INVENTORY_STATUS.DELETED;
674
+ inventory = await this.transactionInventory(inventory, Boolean(orderType === sales_base_1.ORDER_TYPES.ARRIVAL_NOTICE) ? arrivalNotice : returnOrder, -inventory.qty, -inventory.uomValue, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.UNDO_UNLOADING);
675
+ inventory.qty = 0;
676
+ inventory.uomValue = 0;
677
+ inventory.updater = this.user;
678
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryHistory).update({ inventory }, { inventory: null });
679
+ await this.trxMgr.getRepository(warehouse_base_1.Inventory).delete({ id: inventory.id });
680
+ }
681
+ worksheetDetail.issue = inventory.qty == 0 && (worksheetDetail === null || worksheetDetail === void 0 ? void 0 : worksheetDetail.issue) ? null : worksheetDetail.issue;
682
+ worksheetDetail.status =
683
+ worksheetDetailStatus == constants_1.WORKSHEET_STATUS.PARTIALLY_UNLOADED
684
+ ? constants_1.WORKSHEET_STATUS.PARTIALLY_UNLOADED
685
+ : constants_1.WORKSHEET_STATUS.EXECUTING;
686
+ worksheetDetail.updater = this.user;
687
+ await this.trxMgr.getRepository(entities_1.WorksheetDetail).save(worksheetDetail);
688
+ }
689
+ }
690
+ async undoSerialNumberUnload(worksheetDetailName, inventoryItemId) {
691
+ const worksheetDetail = await this.trxMgr.getRepository(entities_1.WorksheetDetail).findOne({
692
+ where: { name: worksheetDetailName, domain: this.domain, status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(constants_1.WORKSHEET_STATUS.DEACTIVATED)) },
693
+ relations: [
694
+ 'worksheet',
695
+ 'worksheet.arrivalNotice',
696
+ 'worksheet.returnOrder',
697
+ 'targetProduct',
698
+ 'targetProduct.product'
699
+ ]
700
+ });
701
+ let worksheet = worksheetDetail.worksheet;
702
+ let arrivalNotice = worksheet.arrivalNotice;
703
+ let returnOrder = worksheet.returnOrder;
704
+ let targetInventory = worksheetDetail.targetInventory;
705
+ let targetProduct = worksheetDetail.targetProduct;
706
+ let inventoryItem = await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).findOne({
707
+ where: { domain: this.domain, id: inventoryItemId },
708
+ relations: ['inventory', 'product']
709
+ });
710
+ let inventory = inventoryItem.inventory;
711
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).delete(inventoryItem.id);
712
+ inventory.qty--;
713
+ inventory.uomValue =
714
+ Math.round(inventory.qty *
715
+ (Boolean(arrivalNotice)
716
+ ? targetProduct.uomValue
717
+ : targetInventory.returnUomValue / targetInventory.returnQty) *
718
+ 1000) / 1000;
719
+ await this.trxMgr
720
+ .getRepository(warehouse_base_1.Inventory)
721
+ .update({ id: inventory.id }, { qty: inventory.qty, uomValue: inventory.uomValue });
722
+ targetProduct.actualPackQty--;
723
+ const inventoryItems = await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).find({
724
+ where: { domain: this.domain, inboundOrderId: arrivalNotice.id, inventory }
725
+ });
726
+ if ((inventoryItems === null || inventoryItems === void 0 ? void 0 : inventoryItems.length) == 0) {
727
+ await this.trxMgr.getRepository(warehouse_base_1.Inventory).delete(inventory.id);
728
+ targetProduct.actualPalletQty--;
729
+ }
730
+ targetProduct.updater = this.user;
731
+ await this.updateOrderTargets([targetProduct]);
732
+ }
733
+ async activateUnloading(worksheetNo, unloadingWorksheetDetails) {
734
+ let worksheet = await this.findActivatableWorksheet(worksheetNo, constants_1.WORKSHEET_TYPE.UNLOADING, [
735
+ 'bizplace',
736
+ 'arrivalNotice',
737
+ 'worksheetDetails',
738
+ 'worksheetDetails.targetProduct',
739
+ 'worksheetDetails.targetProduct.product',
740
+ 'worksheetDetails.targetVas'
741
+ ]);
742
+ let arrivalNotice = worksheet.arrivalNotice;
743
+ let vasWorksheet = new entities_1.Worksheet();
744
+ try {
745
+ vasWorksheet = await this.findWorksheetByRefOrder(arrivalNotice, constants_1.WORKSHEET_TYPE.VAS);
746
+ }
747
+ catch (e) {
748
+ // do nothing
749
+ }
750
+ if (!Object.keys(vasWorksheet).length || (vasWorksheet === null || vasWorksheet === void 0 ? void 0 : vasWorksheet.status) == constants_1.WORKSHEET_STATUS.DONE) {
751
+ const bizplace = worksheet.bizplace;
752
+ let worksheetDetails = worksheet.worksheetDetails;
753
+ const targetProductsId = worksheet.worksheetDetails.map(wsd => {
754
+ return wsd.targetProduct.id;
755
+ });
756
+ await this.trxMgr
757
+ .getRepository(sales_base_1.OrderProduct)
758
+ .update({ id: (0, typeorm_1.In)(targetProductsId) }, { status: sales_base_1.ORDER_PRODUCT_STATUS.UNLOADING, updater: this.user });
759
+ arrivalNotice.status = sales_base_1.ORDER_STATUS.PROCESSING;
760
+ arrivalNotice.updater = this.user;
761
+ this.updateRefOrder(arrivalNotice);
762
+ const palletizingWSDs = this.filterPalletizingWSDs(unloadingWorksheetDetails);
763
+ if (palletizingWSDs === null || palletizingWSDs === void 0 ? void 0 : palletizingWSDs.length) {
764
+ this.createPalletizingWSDs(bizplace, arrivalNotice, worksheetDetails, unloadingWorksheetDetails);
765
+ }
766
+ worksheet = await this.activateWorksheet(worksheet, worksheetDetails, unloadingWorksheetDetails);
767
+ }
768
+ else if (vasWorksheet && vasWorksheet.status == constants_1.WORKSHEET_STATUS.DEACTIVATED) {
769
+ await this.activateVAS(vasWorksheet.name, vasWorksheet.worksheetDetails);
770
+ }
771
+ else if (vasWorksheet && vasWorksheet.status == constants_1.WORKSHEET_STATUS.EXECUTING) {
772
+ throw new Error(`There is pending VAS execution`);
773
+ }
774
+ return worksheet;
775
+ }
776
+ async getProductScanningVal(arrivalNotice) {
777
+ var _a;
778
+ let productScanning = 'false';
779
+ const enableProductScanning = await this.trxMgr.getRepository(setting_base_1.Setting).findOne({
780
+ where: { domain: this.domain, category: 'id-rule', name: 'enable-product-scanning' }
781
+ });
782
+ if (enableProductScanning)
783
+ productScanning = enableProductScanning.value;
784
+ const partnerEnableProductScanning = await this.trxMgr.getRepository(setting_base_1.PartnerSetting).findOne({
785
+ where: { setting: enableProductScanning, domain: this.domain, partnerDomain: (_a = arrivalNotice.bizplace) === null || _a === void 0 ? void 0 : _a.domain }
786
+ });
787
+ if (partnerEnableProductScanning)
788
+ productScanning = partnerEnableProductScanning.value;
789
+ return productScanning;
790
+ }
791
+ async getInputQtyVal(arrivalNotice) {
792
+ var _a;
793
+ let inputQty = '';
794
+ const enableInputQty = await this.trxMgr.getRepository(setting_base_1.Setting).findOne({
795
+ where: { domain: this.domain, category: 'id-rule', name: 'enable-input-qty' }
796
+ });
797
+ if (enableInputQty)
798
+ inputQty = enableInputQty.value;
799
+ const partnerEnableInputQty = await this.trxMgr.getRepository(setting_base_1.PartnerSetting).findOne({
800
+ where: { setting: enableInputQty, domain: this.domain, partnerDomain: (_a = arrivalNotice.bizplace) === null || _a === void 0 ? void 0 : _a.domain }
801
+ });
802
+ if (partnerEnableInputQty)
803
+ inputQty = partnerEnableInputQty.value;
804
+ return parseInt(inputQty || '-1');
805
+ }
806
+ // only creates inventory history upon partial or full unload when
807
+ // productScanning is true
808
+ // inputQty is false
809
+ async createInventoryHistory(arrivalNotice, inventories) {
810
+ try {
811
+ if (inventories === undefined) {
812
+ const inventoryList = await this.trxMgr.getRepository(warehouse_base_1.Inventory).findAndCount({
813
+ where: {
814
+ domain: this.domain,
815
+ refOrderId: arrivalNotice.id
816
+ }
817
+ });
818
+ inventories = inventoryList[0];
819
+ }
820
+ for (const inventory of inventories) {
821
+ await this.transactionInventory(inventory, arrivalNotice, inventory.qty, inventory.uomValue, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.UNLOADING);
822
+ }
823
+ }
824
+ catch (e) {
825
+ throw e;
826
+ }
827
+ }
828
+ async completeUnloading(arrivalNoticeNo, unloadingWorksheetDetails) {
829
+ let arrivalNotice = await this.findRefOrder(sales_base_1.ArrivalNotice, { domain: this.domain, name: arrivalNoticeNo, status: (0, typeorm_1.In)([sales_base_1.ORDER_STATUS.PROCESSING, sales_base_1.ORDER_STATUS.PUTTING_AWAY]) }, ['orderProducts', 'releaseGood', 'bizplace', 'bizplace.domain']);
830
+ if (arrivalNotice.crossDocking) {
831
+ // Picking worksheet for cross docking should be completed before complete it
832
+ // Find picking worksheet
833
+ const releaseGood = arrivalNotice.releaseGood;
834
+ const executingPickingWS = await this.trxMgr.getRepository(entities_1.Worksheet).findOne({
835
+ where: {
836
+ domain: this.domain,
837
+ releaseGood,
838
+ type: constants_1.WORKSHEET_TYPE.PICKING,
839
+ status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(constants_1.WORKSHEET_STATUS.DONE))
840
+ }
841
+ });
842
+ if (executingPickingWS)
843
+ throw new Error(`Picking should be completed before complete unloading for cross docking.`);
844
+ }
845
+ if (arrivalNotice.orderProducts.some((op) => op.status === sales_base_1.ORDER_PRODUCT_STATUS.READY_TO_APPROVED)) {
846
+ throw new Error(`There's non-approved order products`);
847
+ }
848
+ let worksheet = await this.findWorksheetByRefOrder(arrivalNotice, constants_1.WORKSHEET_TYPE.UNLOADING, [
849
+ 'worksheetDetails',
850
+ 'worksheetDetails.targetProduct'
851
+ ]);
852
+ this.checkRecordValidity(worksheet, { status: constants_1.WORKSHEET_STATUS.EXECUTING });
853
+ const partiallyUnloadedCnt = await this.trxMgr.getRepository(warehouse_base_1.Inventory).count({
854
+ where: { domain: this.domain, refOrderId: arrivalNotice.id, status: warehouse_base_1.INVENTORY_STATUS.PARTIALLY_UNLOADED }
855
+ });
856
+ if (partiallyUnloadedCnt) {
857
+ throw new Error('There is partially unloaded pallet, generate putaway worksheet before complete unloading.');
858
+ }
859
+ if (unloadingWorksheetDetails.some((wsd) => wsd.issue)) {
860
+ const worksheetDetails = worksheet.worksheetDetails;
861
+ unloadingWorksheetDetails = this.renewWorksheetDetails(worksheetDetails, unloadingWorksheetDetails, 'name', {
862
+ updater: this.user
863
+ });
864
+ const worksheetDetailsWithIssue = unloadingWorksheetDetails.filter((wsd) => wsd.issue);
865
+ if (worksheetDetailsWithIssue.length) {
866
+ await this.trxMgr.getRepository(entities_1.WorksheetDetail).save(worksheetDetailsWithIssue);
867
+ }
868
+ const targetProductsWithIssue = worksheetDetailsWithIssue.map((wsd) => {
869
+ let targetProduct = wsd.targetProduct;
870
+ targetProduct.issue = wsd.issue;
871
+ return targetProduct;
872
+ });
873
+ await this.updateOrderTargets(targetProductsWithIssue);
874
+ }
875
+ if (arrivalNotice.status !== sales_base_1.ORDER_STATUS.PUTTING_AWAY) {
876
+ await this.completeWorksheet(worksheet, sales_base_1.ORDER_STATUS.READY_TO_PUTAWAY);
877
+ }
878
+ else {
879
+ await this.completeWorksheet(worksheet);
880
+ }
881
+ const productScanning = await this.getProductScanningVal(arrivalNotice);
882
+ const inputQty = await this.getInputQtyVal(arrivalNotice);
883
+ if (productScanning === 'true' && (inputQty < 0 || inputQty > 3)) {
884
+ await this.createInventoryHistory(arrivalNotice);
885
+ }
886
+ else {
887
+ const inventories = await this.trxMgr.getRepository(warehouse_base_1.Inventory).find({
888
+ where: {
889
+ domain: this.domain,
890
+ refOrderId: arrivalNotice.id,
891
+ status: (0, typeorm_1.In)([warehouse_base_1.INVENTORY_STATUS.UNLOADED, warehouse_base_1.INVENTORY_STATUS.CHECKED])
892
+ },
893
+ relations: ['domain', 'bizplace', 'product', 'warehouse', 'location']
894
+ });
895
+ for (let inventory of inventories) {
896
+ let inventoryItems = await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).find({
897
+ where: { domain: this.domain, inventory }
898
+ });
899
+ if (inventoryItems === null || inventoryItems === void 0 ? void 0 : inventoryItems.length) {
900
+ inventory.status = warehouse_base_1.INVENTORY_STATUS.STORED;
901
+ await Promise.all(inventoryItems.map(async (inventoryItem) => {
902
+ await this.trxMgr
903
+ .getRepository(warehouse_base_1.InventoryItem)
904
+ .update({ id: inventoryItem.id }, { status: warehouse_base_1.INVENTORY_STATUS.STORED });
905
+ }));
906
+ await (0, warehouse_base_1.generateInventoryHistory)(inventory, arrivalNotice, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.UNLOADING, inventory.qty, inventory.uomValue, this.user, this.trxMgr);
907
+ }
908
+ }
909
+ }
910
+ let vasWorksheet = await this.trxMgr.getRepository(entities_1.Worksheet).findOne({
911
+ where: {
912
+ arrivalNotice,
913
+ type: constants_1.WORKSHEET_TYPE.VAS
914
+ },
915
+ relations: ['worksheetDetails', 'worksheetDetails.targetVas', 'worksheetDetails.targetVas.vas']
916
+ });
917
+ if (vasWorksheet) {
918
+ let serviceVasWorksheetDetails = vasWorksheet.worksheetDetails.filter(x => x.targetVas.vas.type == sales_base_1.VAS_TYPES.SERVICE && x.status != constants_1.WORKSHEET_STATUS.DONE);
919
+ let materialsVasWorksheetDetails = vasWorksheet.worksheetDetails.filter(x => x.targetVas.vas.type == sales_base_1.VAS_TYPES.MATERIALS);
920
+ materialsVasWorksheetDetails.forEach((wsd) => {
921
+ wsd.status = constants_1.WORKSHEET_STATUS.DONE;
922
+ wsd.updater = this.user;
923
+ });
924
+ await this.trxMgr.getRepository(entities_1.WorksheetDetail).save(materialsVasWorksheetDetails);
925
+ let targetVASs = materialsVasWorksheetDetails.map((wsd) => {
926
+ let targetVas = wsd.targetVas;
927
+ targetVas.status = sales_base_1.ORDER_VAS_STATUS.TERMINATED;
928
+ targetVas.updater = this.user;
929
+ return targetVas;
930
+ });
931
+ if (targetVASs.length)
932
+ await this.updateOrderTargets(targetVASs);
933
+ if (serviceVasWorksheetDetails.length <= 0) {
934
+ vasWorksheet.status = constants_1.WORKSHEET_STATUS.DONE;
935
+ vasWorksheet.updater = this.user;
936
+ await this.trxMgr.getRepository(entities_1.Worksheet).save(vasWorksheet);
937
+ }
938
+ }
939
+ }
940
+ async completeUnloadingPartially(arrivalNoticeNo, unloadingWorksheetDetail) {
941
+ const arrivalNotice = await this.findRefOrder(sales_base_1.ArrivalNotice, {
942
+ domain: this.domain,
943
+ name: arrivalNoticeNo,
944
+ status: (0, typeorm_1.In)([sales_base_1.ORDER_STATUS.PROCESSING, sales_base_1.ORDER_STATUS.PUTTING_AWAY])
945
+ }, ['bizplace', 'bizplace.domain']);
946
+ const worksheet = await this.findWorksheetByRefOrder(arrivalNotice, constants_1.WORKSHEET_TYPE.UNLOADING, [
947
+ 'worksheetDetails',
948
+ 'worksheetDetails.targetProduct'
949
+ ]);
950
+ this.checkRecordValidity(worksheet, { status: constants_1.WORKSHEET_STATUS.EXECUTING });
951
+ let worksheetDetails = worksheet.worksheetDetails.filter(({ name: itm1 }) => unloadingWorksheetDetail.some(({ name: itm2 }) => itm2 === itm1));
952
+ worksheetDetails.forEach((wsds) => {
953
+ wsds.status = constants_1.WORKSHEET_STATUS.PARTIALLY_UNLOADED;
954
+ wsds.updater = this.user;
955
+ });
956
+ worksheetDetails = await this.trxMgr.getRepository(entities_1.WorksheetDetail).save(worksheetDetails);
957
+ for (let i = 0; i < worksheetDetails.length; i++) {
958
+ worksheetDetails[i].targetProduct.status = sales_base_1.ORDER_PRODUCT_STATUS.PARTIALLY_UNLOADED;
959
+ worksheetDetails[i].targetProduct.remark = worksheetDetails[i].issue || worksheetDetails[i].targetProduct.remark;
960
+ await this.updateOrderTargets([worksheetDetails[i].targetProduct]);
961
+ }
962
+ let inventories = await this.trxMgr.getRepository(warehouse_base_1.Inventory).find({
963
+ where: {
964
+ domain: this.domain,
965
+ refOrderId: arrivalNotice.id,
966
+ status: (0, typeorm_1.In)([warehouse_base_1.INVENTORY_STATUS.UNLOADED, warehouse_base_1.INVENTORY_STATUS.CHECKED])
967
+ }
968
+ });
969
+ inventories.forEach((inventory) => {
970
+ inventory.status = warehouse_base_1.INVENTORY_STATUS.PARTIALLY_UNLOADED;
971
+ inventory.updater = this.user;
972
+ });
973
+ await this.trxMgr.getRepository(warehouse_base_1.Inventory).save(inventories);
974
+ const productScanning = await this.getProductScanningVal(arrivalNotice);
975
+ const inputQty = await this.getInputQtyVal(arrivalNotice);
976
+ if (productScanning === 'true' && (inputQty < 0 || inputQty > 3))
977
+ await this.createInventoryHistory(arrivalNotice, inventories);
978
+ let vasWorksheet = await this.trxMgr.getRepository(entities_1.Worksheet).findOne({
979
+ where: {
980
+ arrivalNotice,
981
+ type: constants_1.WORKSHEET_TYPE.VAS
982
+ },
983
+ relations: ['worksheetDetails', 'worksheetDetails.targetVas', 'worksheetDetails.targetVas.vas']
984
+ });
985
+ if (vasWorksheet) {
986
+ let serviceVasWorksheetDetails = vasWorksheet.worksheetDetails.filter(x => x.targetVas.vas.type == sales_base_1.VAS_TYPES.SERVICE && x.status != constants_1.WORKSHEET_STATUS.DONE);
987
+ let materialsVasWorksheetDetails = vasWorksheet.worksheetDetails.filter(x => x.targetVas.vas.type == sales_base_1.VAS_TYPES.MATERIALS);
988
+ materialsVasWorksheetDetails.forEach((wsd) => {
989
+ wsd.status = constants_1.WORKSHEET_STATUS.DONE;
990
+ wsd.updater = this.user;
991
+ });
992
+ await this.trxMgr.getRepository(entities_1.WorksheetDetail).save(materialsVasWorksheetDetails);
993
+ let targetVASs = materialsVasWorksheetDetails.map((wsd) => {
994
+ let targetVas = wsd.targetVas;
995
+ targetVas.status = sales_base_1.ORDER_VAS_STATUS.TERMINATED;
996
+ targetVas.updater = this.user;
997
+ return targetVas;
998
+ });
999
+ await this.updateOrderTargets(targetVASs);
1000
+ if (serviceVasWorksheetDetails.length <= 0) {
1001
+ vasWorksheet.status = constants_1.WORKSHEET_STATUS.DONE;
1002
+ vasWorksheet.updater = this.user;
1003
+ await this.trxMgr.getRepository(entities_1.Worksheet).save(vasWorksheet);
1004
+ }
1005
+ }
1006
+ return worksheet;
1007
+ }
1008
+ async createPalletizingWSDs(bizplace, arrivalNotice, worksheetDetails, palletizingWSDs) {
1009
+ let palletizingOrderVASs = [];
1010
+ let currentSetNo = 1;
1011
+ if (worksheetDetails.some((wd) => wd.targetVas)) {
1012
+ const getSetNo = worksheetDetails.map((wd) => wd.targetVas.set);
1013
+ if (getSetNo.length > 0) {
1014
+ currentSetNo = Math.max(...getSetNo) + 1;
1015
+ }
1016
+ }
1017
+ for (let palletizingWSD of palletizingWSDs) {
1018
+ const palletizingVAS = await this.trxMgr.getRepository(sales_base_1.Vas).findOne({
1019
+ where: { domain: this.domain, id: palletizingWSD.palletizingVasId }
1020
+ });
1021
+ const targetProduct = worksheetDetails.find((wsd) => wsd.name === palletizingWSD.name).targetProduct;
1022
+ let palletizingOrderVas = new sales_base_1.OrderVas();
1023
+ palletizingOrderVas.domain = this.domain;
1024
+ palletizingOrderVas.bizplace = bizplace;
1025
+ palletizingOrderVas.name = sales_base_1.OrderNoGenerator.orderVas();
1026
+ palletizingOrderVas.arrivalNotice = arrivalNotice;
1027
+ palletizingOrderVas.vas = palletizingVAS;
1028
+ palletizingOrderVas.set = currentSetNo;
1029
+ palletizingOrderVas.targetType = sales_base_1.VAS_TARGET_TYPES.BATCH_AND_PRODUCT_TYPE;
1030
+ palletizingOrderVas.targetBatchId = targetProduct.batchId;
1031
+ palletizingOrderVas.qty = targetProduct.packQty;
1032
+ palletizingOrderVas.targetProduct = targetProduct.product;
1033
+ palletizingOrderVas.packingType = targetProduct.packingType;
1034
+ palletizingOrderVas.description = palletizingWSD.palletizingDescription;
1035
+ palletizingOrderVas.type = sales_base_1.ORDER_TYPES.ARRIVAL_NOTICE;
1036
+ palletizingOrderVas.status = sales_base_1.ORDER_VAS_STATUS.COMPLETED;
1037
+ palletizingOrderVas.creator = this.user;
1038
+ palletizingOrderVas.updater = this.user;
1039
+ palletizingOrderVas = await this.trxMgr.getRepository(sales_base_1.OrderVas).save(palletizingOrderVas);
1040
+ palletizingOrderVASs.push(palletizingOrderVas);
1041
+ currentSetNo++;
1042
+ }
1043
+ let vasWorksheet = await this.findWorksheetByRefOrder(arrivalNotice, constants_1.WORKSHEET_TYPE.VAS);
1044
+ if (!vasWorksheet) {
1045
+ await this.generateVasWorksheet(arrivalNotice);
1046
+ }
1047
+ else {
1048
+ await this.createWorksheetDetails(vasWorksheet, constants_1.WORKSHEET_TYPE.VAS, palletizingOrderVASs);
1049
+ }
1050
+ }
1051
+ filterPalletizingWSDs(unloadingWSDs) {
1052
+ return unloadingWSDs.filter((wsd) => wsd.palletQty && wsd.palletizingDescription);
1053
+ }
1054
+ }
1055
+ exports.UnloadingWorksheetController = UnloadingWorksheetController;
1056
+ //# sourceMappingURL=unloading-worksheet-controller.js.map