@things-factory/operato-wms 4.3.669 → 4.3.671

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 (298) hide show
  1. package/client/pages/bulk-operation/bulk-operation.js +14 -2
  2. package/client/pages/bulk-operation/validate-ro-popup.js +18 -2
  3. package/config.development.js +8 -1
  4. package/package.json +38 -38
  5. package/dist-server/graphql/index.js +0 -33
  6. package/dist-server/graphql/index.js.map +0 -1
  7. package/dist-server/graphql/resolvers/board-setting/board-settings.js +0 -78
  8. package/dist-server/graphql/resolvers/board-setting/board-settings.js.map +0 -1
  9. package/dist-server/graphql/resolvers/board-setting/index.js +0 -6
  10. package/dist-server/graphql/resolvers/board-setting/index.js.map +0 -1
  11. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js +0 -87
  12. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js.map +0 -1
  13. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js +0 -138
  14. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js.map +0 -1
  15. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js +0 -124
  16. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js.map +0 -1
  17. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js +0 -159
  18. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js.map +0 -1
  19. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js +0 -90
  20. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js.map +0 -1
  21. package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js +0 -34
  22. package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js.map +0 -1
  23. package/dist-server/graphql/resolvers/custom/elccl/index.js +0 -11
  24. package/dist-server/graphql/resolvers/custom/elccl/index.js.map +0 -1
  25. package/dist-server/graphql/resolvers/custom/kimeda/index.js +0 -6
  26. package/dist-server/graphql/resolvers/custom/kimeda/index.js.map +0 -1
  27. package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js +0 -40
  28. package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js.map +0 -1
  29. package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js +0 -36
  30. package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js.map +0 -1
  31. package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js +0 -24
  32. package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js.map +0 -1
  33. package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js +0 -24
  34. package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js.map +0 -1
  35. package/dist-server/graphql/resolvers/dashboard/index.js +0 -12
  36. package/dist-server/graphql/resolvers/dashboard/index.js.map +0 -1
  37. package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js +0 -65
  38. package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js.map +0 -1
  39. package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js +0 -22
  40. package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js.map +0 -1
  41. package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js +0 -36
  42. package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js.map +0 -1
  43. package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js +0 -56
  44. package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js.map +0 -1
  45. package/dist-server/graphql/resolvers/index.js +0 -58
  46. package/dist-server/graphql/resolvers/index.js.map +0 -1
  47. package/dist-server/graphql/resolvers/inventory-comparison/index.js +0 -6
  48. package/dist-server/graphql/resolvers/inventory-comparison/index.js.map +0 -1
  49. package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js +0 -78
  50. package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js.map +0 -1
  51. package/dist-server/graphql/resolvers/opa-menu/index.js +0 -6
  52. package/dist-server/graphql/resolvers/opa-menu/index.js.map +0 -1
  53. package/dist-server/graphql/resolvers/opa-menu/opa-menus.js +0 -73
  54. package/dist-server/graphql/resolvers/opa-menu/opa-menus.js.map +0 -1
  55. package/dist-server/graphql/resolvers/other/add-release-good-products.js +0 -309
  56. package/dist-server/graphql/resolvers/other/add-release-good-products.js.map +0 -1
  57. package/dist-server/graphql/resolvers/other/index.js +0 -8
  58. package/dist-server/graphql/resolvers/other/index.js.map +0 -1
  59. package/dist-server/graphql/resolvers/other/page-settings.js +0 -135
  60. package/dist-server/graphql/resolvers/other/page-settings.js.map +0 -1
  61. package/dist-server/graphql/resolvers/outbound/complete-load.js +0 -162
  62. package/dist-server/graphql/resolvers/outbound/complete-load.js.map +0 -1
  63. package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js +0 -148
  64. package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js.map +0 -1
  65. package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js +0 -114
  66. package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js.map +0 -1
  67. package/dist-server/graphql/resolvers/outbound/get-delivery-orders.js +0 -46
  68. package/dist-server/graphql/resolvers/outbound/get-delivery-orders.js.map +0 -1
  69. package/dist-server/graphql/resolvers/outbound/get-loading-task.js +0 -100
  70. package/dist-server/graphql/resolvers/outbound/get-loading-task.js.map +0 -1
  71. package/dist-server/graphql/resolvers/outbound/index.js +0 -17
  72. package/dist-server/graphql/resolvers/outbound/index.js.map +0 -1
  73. package/dist-server/graphql/resolvers/outbound/load-by-qty.js +0 -121
  74. package/dist-server/graphql/resolvers/outbound/load-by-qty.js.map +0 -1
  75. package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js +0 -158
  76. package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js.map +0 -1
  77. package/dist-server/graphql/resolvers/outbound/my-loading-assignment-status.js +0 -32
  78. package/dist-server/graphql/resolvers/outbound/my-loading-assignment-status.js.map +0 -1
  79. package/dist-server/graphql/resolvers/outbound/sort-item.js +0 -66
  80. package/dist-server/graphql/resolvers/outbound/sort-item.js.map +0 -1
  81. package/dist-server/graphql/resolvers/outbound/undo-load.js +0 -72
  82. package/dist-server/graphql/resolvers/outbound/undo-load.js.map +0 -1
  83. package/dist-server/graphql/resolvers/outbound/warehouse-return.js +0 -101
  84. package/dist-server/graphql/resolvers/outbound/warehouse-return.js.map +0 -1
  85. package/dist-server/graphql/resolvers/reports/analysis-picking-packing-report.js +0 -128
  86. package/dist-server/graphql/resolvers/reports/analysis-picking-packing-report.js.map +0 -1
  87. package/dist-server/graphql/resolvers/reports/billing-module-report.js +0 -355
  88. package/dist-server/graphql/resolvers/reports/billing-module-report.js.map +0 -1
  89. package/dist-server/graphql/resolvers/reports/costing-report.js +0 -166
  90. package/dist-server/graphql/resolvers/reports/costing-report.js.map +0 -1
  91. package/dist-server/graphql/resolvers/reports/cycle-count-report.js +0 -311
  92. package/dist-server/graphql/resolvers/reports/cycle-count-report.js.map +0 -1
  93. package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js +0 -218
  94. package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +0 -1
  95. package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js +0 -140
  96. package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js.map +0 -1
  97. package/dist-server/graphql/resolvers/reports/index.js +0 -21
  98. package/dist-server/graphql/resolvers/reports/index.js.map +0 -1
  99. package/dist-server/graphql/resolvers/reports/manifest-report.js +0 -98
  100. package/dist-server/graphql/resolvers/reports/manifest-report.js.map +0 -1
  101. package/dist-server/graphql/resolvers/reports/non-loaded-inventory-report.js +0 -143
  102. package/dist-server/graphql/resolvers/reports/non-loaded-inventory-report.js.map +0 -1
  103. package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js +0 -290
  104. package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js.map +0 -1
  105. package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js +0 -143
  106. package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js.map +0 -1
  107. package/dist-server/graphql/resolvers/reports/pg-udf-query.js +0 -70
  108. package/dist-server/graphql/resolvers/reports/pg-udf-query.js.map +0 -1
  109. package/dist-server/graphql/resolvers/reports/product-label-report.js +0 -57
  110. package/dist-server/graphql/resolvers/reports/product-label-report.js.map +0 -1
  111. package/dist-server/graphql/resolvers/reports/release-inventory-report.js +0 -180
  112. package/dist-server/graphql/resolvers/reports/release-inventory-report.js.map +0 -1
  113. package/dist-server/graphql/resolvers/reports/shortage-report.js +0 -165
  114. package/dist-server/graphql/resolvers/reports/shortage-report.js.map +0 -1
  115. package/dist-server/graphql/resolvers/reports/tote-loading-qc-report.js +0 -129
  116. package/dist-server/graphql/resolvers/reports/tote-loading-qc-report.js.map +0 -1
  117. package/dist-server/graphql/resolvers/reports/vas-report.js +0 -386
  118. package/dist-server/graphql/resolvers/reports/vas-report.js.map +0 -1
  119. package/dist-server/graphql/resolvers/shipping-provider/index.js +0 -6
  120. package/dist-server/graphql/resolvers/shipping-provider/index.js.map +0 -1
  121. package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js +0 -24
  122. package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +0 -1
  123. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/index.js +0 -6
  124. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/index.js.map +0 -1
  125. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js +0 -97
  126. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js.map +0 -1
  127. package/dist-server/graphql/resolvers/zone-worksheet/activate-zone-worksheet.js +0 -91
  128. package/dist-server/graphql/resolvers/zone-worksheet/activate-zone-worksheet.js.map +0 -1
  129. package/dist-server/graphql/resolvers/zone-worksheet/assign-sorter.js +0 -36
  130. package/dist-server/graphql/resolvers/zone-worksheet/assign-sorter.js.map +0 -1
  131. package/dist-server/graphql/resolvers/zone-worksheet/generate-zone-worksheet.js +0 -106
  132. package/dist-server/graphql/resolvers/zone-worksheet/generate-zone-worksheet.js.map +0 -1
  133. package/dist-server/graphql/resolvers/zone-worksheet/get-zone-picking-task.js +0 -108
  134. package/dist-server/graphql/resolvers/zone-worksheet/get-zone-picking-task.js.map +0 -1
  135. package/dist-server/graphql/resolvers/zone-worksheet/index.js +0 -12
  136. package/dist-server/graphql/resolvers/zone-worksheet/index.js.map +0 -1
  137. package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js +0 -346
  138. package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js.map +0 -1
  139. package/dist-server/graphql/resolvers/zone-worksheet/zone-worksheet.js +0 -146
  140. package/dist-server/graphql/resolvers/zone-worksheet/zone-worksheet.js.map +0 -1
  141. package/dist-server/graphql/types/board-setting/board-setting.js +0 -16
  142. package/dist-server/graphql/types/board-setting/board-setting.js.map +0 -1
  143. package/dist-server/graphql/types/board-setting/index.js +0 -9
  144. package/dist-server/graphql/types/board-setting/index.js.map +0 -1
  145. package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report-list.js +0 -14
  146. package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report-list.js.map +0 -1
  147. package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report.js +0 -30
  148. package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report.js.map +0 -1
  149. package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report-list.js +0 -14
  150. package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report-list.js.map +0 -1
  151. package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report.js +0 -25
  152. package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report.js.map +0 -1
  153. package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.js +0 -22
  154. package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.js.map +0 -1
  155. package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report-list.js +0 -14
  156. package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report-list.js.map +0 -1
  157. package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report.js +0 -23
  158. package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report.js.map +0 -1
  159. package/dist-server/graphql/types/custom/elccl/elccl-pallet-detail-report.js +0 -22
  160. package/dist-server/graphql/types/custom/elccl/elccl-pallet-detail-report.js.map +0 -1
  161. package/dist-server/graphql/types/custom/elccl/index.js +0 -30
  162. package/dist-server/graphql/types/custom/elccl/index.js.map +0 -1
  163. package/dist-server/graphql/types/custom/kimeda/index.js +0 -7
  164. package/dist-server/graphql/types/custom/kimeda/index.js.map +0 -1
  165. package/dist-server/graphql/types/dashboard/index.js +0 -17
  166. package/dist-server/graphql/types/dashboard/index.js.map +0 -1
  167. package/dist-server/graphql/types/dashboard/inventory-expiry-counter.js +0 -16
  168. package/dist-server/graphql/types/dashboard/inventory-expiry-counter.js.map +0 -1
  169. package/dist-server/graphql/types/dashboard/inventory-expiry-status.js +0 -14
  170. package/dist-server/graphql/types/dashboard/inventory-expiry-status.js.map +0 -1
  171. package/dist-server/graphql/types/dashboard/order-status-counter.js +0 -14
  172. package/dist-server/graphql/types/dashboard/order-status-counter.js.map +0 -1
  173. package/dist-server/graphql/types/index.js +0 -70
  174. package/dist-server/graphql/types/index.js.map +0 -1
  175. package/dist-server/graphql/types/inventory-comparison/index.js +0 -13
  176. package/dist-server/graphql/types/inventory-comparison/index.js.map +0 -1
  177. package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.js +0 -14
  178. package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.js.map +0 -1
  179. package/dist-server/graphql/types/inventory-comparison/inventory-comparison.js +0 -18
  180. package/dist-server/graphql/types/inventory-comparison/inventory-comparison.js.map +0 -1
  181. package/dist-server/graphql/types/opa-menu/index.js +0 -9
  182. package/dist-server/graphql/types/opa-menu/index.js.map +0 -1
  183. package/dist-server/graphql/types/opa-menu/opa-menu.js +0 -45
  184. package/dist-server/graphql/types/opa-menu/opa-menu.js.map +0 -1
  185. package/dist-server/graphql/types/other/index.js +0 -21
  186. package/dist-server/graphql/types/other/index.js.map +0 -1
  187. package/dist-server/graphql/types/other/page-setting.js +0 -37
  188. package/dist-server/graphql/types/other/page-setting.js.map +0 -1
  189. package/dist-server/graphql/types/outbound/delivery-order-info-list.js +0 -14
  190. package/dist-server/graphql/types/outbound/delivery-order-info-list.js.map +0 -1
  191. package/dist-server/graphql/types/outbound/index.js +0 -24
  192. package/dist-server/graphql/types/outbound/index.js.map +0 -1
  193. package/dist-server/graphql/types/outbound/loading-assignment.js +0 -15
  194. package/dist-server/graphql/types/outbound/loading-assignment.js.map +0 -1
  195. package/dist-server/graphql/types/outbound/loading-worksheet-type.js +0 -25
  196. package/dist-server/graphql/types/outbound/loading-worksheet-type.js.map +0 -1
  197. package/dist-server/graphql/types/reports/analysis-picking-packing-report-list.js +0 -14
  198. package/dist-server/graphql/types/reports/analysis-picking-packing-report-list.js.map +0 -1
  199. package/dist-server/graphql/types/reports/analysis-picking-packing-report.js +0 -18
  200. package/dist-server/graphql/types/reports/analysis-picking-packing-report.js.map +0 -1
  201. package/dist-server/graphql/types/reports/billing-module-report-list.js +0 -14
  202. package/dist-server/graphql/types/reports/billing-module-report-list.js.map +0 -1
  203. package/dist-server/graphql/types/reports/billing-module-report.js +0 -15
  204. package/dist-server/graphql/types/reports/billing-module-report.js.map +0 -1
  205. package/dist-server/graphql/types/reports/costing-report-list.js +0 -14
  206. package/dist-server/graphql/types/reports/costing-report-list.js.map +0 -1
  207. package/dist-server/graphql/types/reports/costing-report.js +0 -19
  208. package/dist-server/graphql/types/reports/costing-report.js.map +0 -1
  209. package/dist-server/graphql/types/reports/cycle-count-report-list.js +0 -14
  210. package/dist-server/graphql/types/reports/cycle-count-report-list.js.map +0 -1
  211. package/dist-server/graphql/types/reports/cycle-count-report.js +0 -35
  212. package/dist-server/graphql/types/reports/cycle-count-report.js.map +0 -1
  213. package/dist-server/graphql/types/reports/inbound-order-details-report-list.js +0 -14
  214. package/dist-server/graphql/types/reports/inbound-order-details-report-list.js.map +0 -1
  215. package/dist-server/graphql/types/reports/inbound-order-details-report.js +0 -60
  216. package/dist-server/graphql/types/reports/inbound-order-details-report.js.map +0 -1
  217. package/dist-server/graphql/types/reports/inbound-serial-number-report-list.js +0 -14
  218. package/dist-server/graphql/types/reports/inbound-serial-number-report-list.js.map +0 -1
  219. package/dist-server/graphql/types/reports/inbound-serial-number-report.js +0 -23
  220. package/dist-server/graphql/types/reports/inbound-serial-number-report.js.map +0 -1
  221. package/dist-server/graphql/types/reports/index.js +0 -89
  222. package/dist-server/graphql/types/reports/index.js.map +0 -1
  223. package/dist-server/graphql/types/reports/loading-qc-report-list.js +0 -14
  224. package/dist-server/graphql/types/reports/loading-qc-report-list.js.map +0 -1
  225. package/dist-server/graphql/types/reports/loading-qc-report.js +0 -24
  226. package/dist-server/graphql/types/reports/loading-qc-report.js.map +0 -1
  227. package/dist-server/graphql/types/reports/manifest-report-list.js +0 -14
  228. package/dist-server/graphql/types/reports/manifest-report-list.js.map +0 -1
  229. package/dist-server/graphql/types/reports/manifest-report-type.js +0 -23
  230. package/dist-server/graphql/types/reports/manifest-report-type.js.map +0 -1
  231. package/dist-server/graphql/types/reports/non-loaded-inventory-report-list.js +0 -14
  232. package/dist-server/graphql/types/reports/non-loaded-inventory-report-list.js.map +0 -1
  233. package/dist-server/graphql/types/reports/non-loaded-inventory-report.js +0 -23
  234. package/dist-server/graphql/types/reports/non-loaded-inventory-report.js.map +0 -1
  235. package/dist-server/graphql/types/reports/outbound-order-details-report-list.js +0 -14
  236. package/dist-server/graphql/types/reports/outbound-order-details-report-list.js.map +0 -1
  237. package/dist-server/graphql/types/reports/outbound-order-details-report.js +0 -79
  238. package/dist-server/graphql/types/reports/outbound-order-details-report.js.map +0 -1
  239. package/dist-server/graphql/types/reports/outbound-serial-number-report-list.js +0 -14
  240. package/dist-server/graphql/types/reports/outbound-serial-number-report-list.js.map +0 -1
  241. package/dist-server/graphql/types/reports/outbound-serial-number-report.js +0 -25
  242. package/dist-server/graphql/types/reports/outbound-serial-number-report.js.map +0 -1
  243. package/dist-server/graphql/types/reports/pg-udf-query-list.js +0 -13
  244. package/dist-server/graphql/types/reports/pg-udf-query-list.js.map +0 -1
  245. package/dist-server/graphql/types/reports/product-label-report-list.js +0 -14
  246. package/dist-server/graphql/types/reports/product-label-report-list.js.map +0 -1
  247. package/dist-server/graphql/types/reports/product-label-report.js +0 -16
  248. package/dist-server/graphql/types/reports/product-label-report.js.map +0 -1
  249. package/dist-server/graphql/types/reports/release-inventory-report-list.js +0 -14
  250. package/dist-server/graphql/types/reports/release-inventory-report-list.js.map +0 -1
  251. package/dist-server/graphql/types/reports/release-inventory-report.js +0 -29
  252. package/dist-server/graphql/types/reports/release-inventory-report.js.map +0 -1
  253. package/dist-server/graphql/types/reports/shortage-report-list.js +0 -14
  254. package/dist-server/graphql/types/reports/shortage-report-list.js.map +0 -1
  255. package/dist-server/graphql/types/reports/shortage-report-type.js +0 -26
  256. package/dist-server/graphql/types/reports/shortage-report-type.js.map +0 -1
  257. package/dist-server/graphql/types/reports/vas-report-list.js +0 -20
  258. package/dist-server/graphql/types/reports/vas-report-list.js.map +0 -1
  259. package/dist-server/graphql/types/reports/vas-report.js +0 -29
  260. package/dist-server/graphql/types/reports/vas-report.js.map +0 -1
  261. package/dist-server/graphql/types/shipping-provider/index.js +0 -10
  262. package/dist-server/graphql/types/shipping-provider/index.js.map +0 -1
  263. package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js +0 -13
  264. package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js.map +0 -1
  265. package/dist-server/graphql/types/shipping-provider/shipping-provider.js +0 -13
  266. package/dist-server/graphql/types/shipping-provider/shipping-provider.js.map +0 -1
  267. package/dist-server/graphql/types/warehouse-inventory-adjustment/index.js +0 -9
  268. package/dist-server/graphql/types/warehouse-inventory-adjustment/index.js.map +0 -1
  269. package/dist-server/graphql/types/zone-worksheet/index.js +0 -22
  270. package/dist-server/graphql/types/zone-worksheet/index.js.map +0 -1
  271. package/dist-server/graphql/types/zone-worksheet/zone-picking-worksheet.js +0 -18
  272. package/dist-server/graphql/types/zone-worksheet/zone-picking-worksheet.js.map +0 -1
  273. package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview-list.js +0 -13
  274. package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview-list.js.map +0 -1
  275. package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview.js +0 -16
  276. package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview.js.map +0 -1
  277. package/dist-server/index.js +0 -20
  278. package/dist-server/index.js.map +0 -1
  279. package/dist-server/migrations/1568858861188-SeedSetting.js +0 -51
  280. package/dist-server/migrations/1568858861188-SeedSetting.js.map +0 -1
  281. package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js +0 -35
  282. package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js.map +0 -1
  283. package/dist-server/migrations/1623381200659-SeedStoringRule.js +0 -33
  284. package/dist-server/migrations/1623381200659-SeedStoringRule.js.map +0 -1
  285. package/dist-server/migrations/1687413760311-UpdateProductDetailStockQty.js +0 -36
  286. package/dist-server/migrations/1687413760311-UpdateProductDetailStockQty.js.map +0 -1
  287. package/dist-server/migrations/1687415141200-InsertNewProductDetailStock.js +0 -32
  288. package/dist-server/migrations/1687415141200-InsertNewProductDetailStock.js.map +0 -1
  289. package/dist-server/migrations/index.js +0 -12
  290. package/dist-server/migrations/index.js.map +0 -1
  291. package/dist-server/opa-app-setting-constants.js +0 -15
  292. package/dist-server/opa-app-setting-constants.js.map +0 -1
  293. package/dist-server/routes.js +0 -3
  294. package/dist-server/routes.js.map +0 -1
  295. package/dist-server/utils/index.js +0 -18
  296. package/dist-server/utils/index.js.map +0 -1
  297. package/dist-server/utils/report-query-util.js +0 -42
  298. package/dist-server/utils/report-query-util.js.map +0 -1
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assignSorter = void 0;
4
- const typeorm_1 = require("typeorm");
5
- const auth_base_1 = require("@things-factory/auth-base");
6
- const sales_base_1 = require("@things-factory/sales-base");
7
- exports.assignSorter = {
8
- async assignSorter(_parentObj, { releaseGoodId, userId }, context) {
9
- const { tx, domain } = context.state;
10
- const sorter = await tx.getRepository(auth_base_1.User).findOne(userId, { relations: ['domains'] });
11
- if (((sorter === null || sorter === void 0 ? void 0 : sorter.domains) || []).every((userDomain) => userDomain.id !== domain.id)) {
12
- throw new Error('Target user does not belong to current domain');
13
- }
14
- if (!sorter)
15
- throw new Error('failed to find target user');
16
- await Promise.all(releaseGoodId.map(async (releaseGoodId) => {
17
- const releaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
18
- id: releaseGoodId
19
- }, {
20
- where: [
21
- {
22
- status: (0, typeorm_1.Not)((0, typeorm_1.In)([sales_base_1.ORDER_STATUS.PROCESSING, sales_base_1.ORDER_STATUS.DONE]))
23
- }
24
- ]
25
- });
26
- if (!releaseGood)
27
- throw new Error('failed to find target order');
28
- await tx.getRepository(sales_base_1.ReleaseGood).update({
29
- id: releaseGoodId
30
- }, {
31
- sortedBy: sorter
32
- });
33
- }));
34
- }
35
- };
36
- //# sourceMappingURL=assign-sorter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assign-sorter.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/zone-worksheet/assign-sorter.ts"],"names":[],"mappings":";;;AAAA,qCAAgD;AAEhD,yDAAgD;AAGhD,2DAAsE;AAEzD,QAAA,YAAY,GAAG;IAC1B,KAAK,CAAC,YAAY,CAChB,UAAgB,EAChB,EAAE,aAAa,EAAE,MAAM,EAA+C,EACtE,OAAY;QAEZ,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAA0C,OAAO,CAAC,KAAK,CAAA;QAC3E,MAAM,MAAM,GAAS,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAE7F,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,UAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE;YACtF,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;SACjE;QACD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAE1D,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,aAAa,EAAC,EAAE;YACtC,MAAM,WAAW,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,OAAO,CAC1E;gBACE,EAAE,EAAE,aAAa;aAClB,EACD;gBACE,KAAK,EAAE;oBACL;wBACE,MAAM,EAAE,IAAA,aAAG,EAAC,IAAA,YAAE,EAAC,CAAC,yBAAY,CAAC,UAAU,EAAE,yBAAY,CAAC,IAAI,CAAC,CAAC,CAAC;qBAC9D;iBACF;aACF,CACF,CAAA;YAED,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAChE,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,MAAM,CACxC;gBACE,EAAE,EAAE,aAAa;aAClB,EACD;gBACE,QAAQ,EAAE,MAAM;aACjB,CACF,CAAA;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;CACF,CAAA"}
@@ -1,106 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateWorksheetZonePicking = void 0;
4
- const sales_base_1 = require("@things-factory/sales-base");
5
- const worksheet_base_1 = require("@things-factory/worksheet-base");
6
- const warehouse_base_1 = require("@things-factory/warehouse-base");
7
- const typeorm_1 = require("typeorm");
8
- exports.generateWorksheetZonePicking = {
9
- async generateWorksheetZonePicking(_, { releaseGoods }, context) {
10
- const { user, domain, tx } = context.state;
11
- let worksheets = [];
12
- //fetch all orders
13
- let relatedReleaseGoods = await tx.getRepository(sales_base_1.ReleaseGood).find({
14
- where: {
15
- name: (0, typeorm_1.In)(releaseGoods),
16
- status: sales_base_1.ORDER_STATUS.PENDING_WORKSHEET,
17
- domain: domain
18
- }
19
- });
20
- //split by bizplace
21
- const bizplaces = new Set();
22
- relatedReleaseGoods.forEach(item => {
23
- bizplaces.add(item.bizplaceId);
24
- });
25
- for (const bizplace of bizplaces) {
26
- let bizplaceFilteredReleaseGoods = relatedReleaseGoods.filter(rg => rg.bizplaceId === bizplace);
27
- let releaseGoodIds = bizplaceFilteredReleaseGoods.map(rg => rg.id);
28
- //fetch all oi
29
- let orderInventories = await tx.getRepository(sales_base_1.OrderInventory).find({
30
- where: {
31
- releaseGood: (0, typeorm_1.In)(releaseGoodIds)
32
- },
33
- relations: ['inventory', 'inventory.location']
34
- });
35
- let oiIds = orderInventories.map(item => item.id);
36
- let zones = await tx
37
- .getRepository(warehouse_base_1.Location)
38
- .createQueryBuilder('l')
39
- .select('DISTINCT l.zone', 'zone')
40
- .innerJoin('inventories', 'iv', 'iv.location_id = l.id')
41
- .innerJoin('order_inventories', 'oi', 'oi.inventory_id = iv.id')
42
- .where('oi.id in (:...ids)', { ids: oiIds })
43
- .getRawMany()
44
- .then(rows => rows.map(row => row.zone));
45
- //split by zone
46
- for (const zone of zones) {
47
- //generate worksheets by zone
48
- let zoneFilteredOi = orderInventories.filter(item => item.inventory.location.zone == zone);
49
- let worksheet = {
50
- name: worksheet_base_1.WorksheetNoGenerator.generate(worksheet_base_1.WORKSHEET_TYPE.ZONE_PICKING),
51
- type: worksheet_base_1.WORKSHEET_TYPE.ZONE_PICKING,
52
- status: worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED,
53
- bizplace: bizplace,
54
- domain: domain,
55
- creator: user,
56
- updater: user,
57
- createdAt: new Date(),
58
- updatedAt: new Date(),
59
- zone: zone
60
- };
61
- worksheet = await tx.getRepository(worksheet_base_1.Worksheet).save(worksheet);
62
- if ((zoneFilteredOi === null || zoneFilteredOi === void 0 ? void 0 : zoneFilteredOi.length) > 0) {
63
- worksheet.worksheetDetails = [];
64
- for (const oi of zoneFilteredOi) {
65
- //generate worksheet detail for all OIs in the group
66
- const worksheetDetail = {
67
- name: worksheet_base_1.WorksheetNoGenerator.generateDetail(worksheet_base_1.WORKSHEET_TYPE.ZONE_PICKING),
68
- domain: domain,
69
- bizplace: bizplace,
70
- worksheet: worksheet,
71
- type: worksheet_base_1.WORKSHEET_TYPE.ZONE_PICKING,
72
- status: worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED,
73
- targetInventory: oi,
74
- creator: user,
75
- updater: user,
76
- createdAt: new Date(),
77
- updatedAt: new Date()
78
- };
79
- await tx.getRepository(worksheet_base_1.WorksheetDetail).save(worksheetDetail);
80
- worksheet.worksheetDetails.push(Object.assign({}, worksheetDetail));
81
- }
82
- //update for all OIs
83
- await tx.getRepository(sales_base_1.OrderInventory).update({ id: (0, typeorm_1.In)(zoneFilteredOi.map(oi => oi.id)) }, {
84
- refWorksheetId: worksheet.id,
85
- status: sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_PICK,
86
- updater: user,
87
- updatedAt: new Date()
88
- });
89
- }
90
- worksheets.push(worksheet);
91
- }
92
- await tx.getRepository(sales_base_1.ReleaseGood).update({ id: (0, typeorm_1.In)(bizplaceFilteredReleaseGoods.map(rg => rg.id)) }, {
93
- status: sales_base_1.ORDER_STATUS.READY_TO_PICK,
94
- updater: user,
95
- updatedAt: new Date()
96
- });
97
- await tx.getRepository(sales_base_1.ReleaseGood).update({ id: (0, typeorm_1.In)(bizplaceFilteredReleaseGoods.map(rg => rg.id)) }, {
98
- status: sales_base_1.ORDER_STATUS.READY_TO_PICK,
99
- updater: user,
100
- updatedAt: new Date()
101
- });
102
- }
103
- return worksheets;
104
- }
105
- };
106
- //# sourceMappingURL=generate-zone-worksheet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-zone-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/zone-worksheet/generate-zone-worksheet.ts"],"names":[],"mappings":"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"}
@@ -1,108 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getZonePickingTask = void 0;
4
- const typeorm_1 = require("typeorm");
5
- const auth_base_1 = require("@things-factory/auth-base");
6
- const sales_base_1 = require("@things-factory/sales-base");
7
- const worksheet_base_1 = require("@things-factory/worksheet-base");
8
- const setting_base_1 = require("@things-factory/setting-base");
9
- const zone_worksheet_1 = require("./zone-worksheet");
10
- exports.getZonePickingTask = {
11
- async getZonePickingTask(_, {}, context) {
12
- try {
13
- let worksheet;
14
- let locationSortingRules;
15
- await (0, typeorm_1.getConnection)().transaction(async (tx) => {
16
- const { domain, user } = context.state;
17
- const assignee = await tx.getRepository(auth_base_1.User).findOne(user.id, { relations: ['domains'] });
18
- if (((assignee === null || assignee === void 0 ? void 0 : assignee.domains) || []).every((userDomain) => userDomain.id !== domain.id))
19
- throw new Error('Target user is not belong to current domain');
20
- if (!assignee)
21
- throw new Error('failed to find target user');
22
- let worksheetQb = await tx
23
- .getRepository(worksheet_base_1.Worksheet)
24
- .createQueryBuilder('ws')
25
- .select('ws.id')
26
- .addSelect('ws.name')
27
- .addSelect('ws.status')
28
- .where('(ws.domain_id = :domain_id AND ws.type = :type AND ws.assignee_id = :assignee AND (ws.status = :status1 OR ws.status = :status2))', {
29
- domain_id: domain.id,
30
- type: worksheet_base_1.WORKSHEET_TYPE.ZONE_PICKING,
31
- assignee: assignee.id,
32
- status1: worksheet_base_1.WORKSHEET_STATUS.EXECUTING,
33
- status2: worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED
34
- });
35
- worksheet = await worksheetQb.getOne();
36
- if (!worksheet) {
37
- //find a worksheet and update assignee to user
38
- let updatedWorksheets = await (0, typeorm_1.getConnection)().transaction(async (tx2) => {
39
- let x = await tx2.getRepository(worksheet_base_1.Worksheet).query(`
40
- UPDATE worksheets ws SET
41
- assignee_id = $2,
42
- updated_at = NOW(),
43
- updater_id = $2
44
- FROM (
45
- SELECT ws.id, ws.name, ws.status, ws.release_good_id FROM worksheets ws
46
- WHERE ws.domain_id = $1
47
- AND ws.type = 'ZONE_PICKING'
48
- AND ws.status IN ('EXECUTING', 'DEACTIVATED')
49
- AND ws.assignee_id IS NULL
50
- ORDER BY ws.created_at
51
- ) src where src.id = ws.id
52
- RETURNING ws.id;
53
- `, [domain.id, assignee.id]);
54
- return x[0];
55
- });
56
- if (updatedWorksheets.length == 0)
57
- throw new Error('no suitable worksheet found');
58
- //fetch updated ws
59
- worksheet = await tx
60
- .getRepository(worksheet_base_1.Worksheet)
61
- .findOne({ where: { id: updatedWorksheets[0].id, assignee: assignee } });
62
- }
63
- //validate worksheet is assigned to user
64
- if (!worksheet)
65
- throw new Error('Please try again by clicking the "Get Task" button');
66
- if (worksheet.status == worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED) {
67
- await tx.getRepository(worksheet_base_1.Worksheet).update(worksheet.id, {
68
- status: worksheet_base_1.WORKSHEET_STATUS.EXECUTING,
69
- startedAt: new Date()
70
- });
71
- const worksheetDetails = await tx.getRepository(worksheet_base_1.WorksheetDetail).find({
72
- where: { worksheet: worksheet },
73
- relations: ['targetInventory']
74
- });
75
- await tx
76
- .getRepository(worksheet_base_1.WorksheetDetail)
77
- .update({ worksheet: worksheet, status: worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED }, { status: worksheet_base_1.WORKSHEET_STATUS.EXECUTING });
78
- const orderInventoryIds = worksheetDetails
79
- .map(detail => detail.targetInventory)
80
- .filter(oi => oi.status === sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_PICK)
81
- .map(oi => oi.id);
82
- if (orderInventoryIds.length > 0) {
83
- await tx
84
- .getRepository(sales_base_1.OrderInventory)
85
- .update({ id: (0, typeorm_1.In)(orderInventoryIds) }, { status: sales_base_1.ORDER_INVENTORY_STATUS.PROCESSING });
86
- const releaseGoodIds = worksheetDetails
87
- .map(detail => detail.targetInventory.releaseGoodId)
88
- .filter((value, index, self) => self.indexOf(value) === index);
89
- if (releaseGoodIds.length > 0) {
90
- await tx
91
- .getRepository(sales_base_1.ReleaseGood)
92
- .update({ id: (0, typeorm_1.In)(releaseGoodIds), status: sales_base_1.ORDER_STATUS.READY_TO_PICK }, { status: sales_base_1.ORDER_STATUS.PROCESSING });
93
- }
94
- }
95
- }
96
- locationSortingRules = await tx.getRepository(setting_base_1.Setting).findOne({
97
- where: { domain, name: 'rule-for-picking-product' }
98
- });
99
- });
100
- //call zonePickingWorksheet
101
- return zone_worksheet_1.zonePickingWorksheet.zonePickingWorksheet(_, { name: worksheet.name, locationSortingRules, filter: 'PICKING' }, context);
102
- }
103
- catch (e) {
104
- throw e;
105
- }
106
- }
107
- };
108
- //# sourceMappingURL=get-zone-picking-task.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-zone-picking-task.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/zone-worksheet/get-zone-picking-task.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Mutation = exports.Query = void 0;
4
- const zone_worksheet_1 = require("./zone-worksheet");
5
- const generate_zone_worksheet_1 = require("./generate-zone-worksheet");
6
- const activate_zone_worksheet_1 = require("./activate-zone-worksheet");
7
- const zone_picking_1 = require("./zone-picking");
8
- const assign_sorter_1 = require("./assign-sorter");
9
- const get_zone_picking_task_1 = require("./get-zone-picking-task");
10
- exports.Query = Object.assign(Object.assign({}, zone_worksheet_1.zoneWorksheetOverview), zone_worksheet_1.zonePickingWorksheet);
11
- exports.Mutation = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, generate_zone_worksheet_1.generateWorksheetZonePicking), activate_zone_worksheet_1.activateWorksheetZonePicking), activate_zone_worksheet_1.activateBulkWorksheetZonePicking), zone_picking_1.zonePicking), assign_sorter_1.assignSorter), get_zone_picking_task_1.getZonePickingTask);
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/zone-worksheet/index.ts"],"names":[],"mappings":";;;AAAA,qDAA8E;AAC9E,uEAAyE;AACzE,uEAA0G;AAC1G,iDAA4C;AAC5C,mDAA8C;AAC9C,mEAA4D;AAE/C,QAAA,KAAK,mCACb,sCAAqB,GACrB,qCAAoB,EACxB;AAEY,QAAA,QAAQ,2FAChB,sDAA4B,GAC5B,sDAA4B,GAC5B,0DAAgC,GAChC,0BAAW,GACX,4BAAY,GACZ,0CAAkB,EACtB"}
@@ -1,346 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.zonePicking = void 0;
4
- const typeorm_1 = require("typeorm");
5
- const worksheet_base_1 = require("@things-factory/worksheet-base");
6
- const sales_base_1 = require("@things-factory/sales-base");
7
- const warehouse_base_1 = require("@things-factory/warehouse-base");
8
- const product_base_1 = require("@things-factory/product-base");
9
- const uuid_1 = require("uuid");
10
- exports.zonePicking = {
11
- async scanProductZonePicking(_, { worksheetId, cartonId, productBarcode, binNo, pickingQty }, context) {
12
- const { domain, tx, user } = context.state;
13
- try {
14
- console.time('ws');
15
- //fetch ws, wsd, oi
16
- const worksheet = await tx
17
- .getRepository(worksheet_base_1.Worksheet)
18
- .createQueryBuilder('ws')
19
- .innerJoinAndSelect('ws.worksheetDetails', 'wsd', 'wsd.worksheet_id = ws.id')
20
- .innerJoinAndSelect('wsd.targetInventory', 'oi', 'oi.id= wsd.target_inventory_id')
21
- .where('ws.id = :worksheetId', { worksheetId: worksheetId })
22
- .andWhere('ws.domain_id = :domainId', { domainId: domain.id })
23
- .andWhere('ws.status in (:...status)', {
24
- status: [worksheet_base_1.WORKSHEET_STATUS.EXECUTING, worksheet_base_1.WORKSHEET_STATUS.PARTIAL_EXECUTING]
25
- })
26
- .andWhere('ws.type = :type', { type: worksheet_base_1.WORKSHEET_TYPE.ZONE_PICKING })
27
- .getOne();
28
- if (!worksheet)
29
- throw new Error('No worksheet found');
30
- let worksheetDetails = worksheet.worksheetDetails;
31
- let oiIds = worksheetDetails.map(wsd => wsd.targetInventory.id);
32
- const targetInventories = await tx
33
- .getRepository(sales_base_1.OrderInventory)
34
- .createQueryBuilder('oi')
35
- .innerJoinAndSelect('oi.inventory', 'i', 'i.id = oi.inventory_id')
36
- .where('oi.id IN(:...oiIds)', { oiIds: oiIds })
37
- .andWhere('i.carton_id = :cartonId', { cartonId: cartonId })
38
- .andWhere('oi.status = :status', { status: sales_base_1.ORDER_INVENTORY_STATUS.PROCESSING })
39
- .orderBy('oi.created_at')
40
- .getMany();
41
- if (!targetInventories || targetInventories.length === 0) {
42
- throw new Error(`No inventory found for carton ID: ${cartonId}. Please verify the carton ID and worksheet details.`);
43
- }
44
- //fetch product, product detail
45
- const productDetail = await tx
46
- .getRepository(product_base_1.ProductDetail)
47
- .createQueryBuilder('pd')
48
- .innerJoinAndSelect('pd.product', 'p')
49
- .innerJoin('pd.productBarcodes', 'pb')
50
- .where('pd.id IN (:...productDetailIds)', { productDetailIds: targetInventories.map(oi => oi.productDetailId) })
51
- .andWhere('p.id IN (:...productIds)', { productIds: targetInventories.map(oi => oi.productId) })
52
- .andWhere('pb.gtin = :productBarcode', { productBarcode: productBarcode })
53
- .getOne();
54
- if (!productDetail) {
55
- throw new Error(`Product not found with barcode: ${productBarcode}.`);
56
- }
57
- const product = productDetail.product;
58
- let pickedQty = pickingQty ? pickingQty : 1;
59
- // Add decimal quantity validation
60
- if (pickingQty % 1 !== 0 && !product.isInventoryDecimal) {
61
- throw new Error('Decimal quantities are not allowed for this product');
62
- }
63
- //calculate unit picked qty if user scan ctn barcode
64
- let matchingProduct;
65
- let wsController = new worksheet_base_1.WorksheetController(tx, domain, user);
66
- matchingProduct = await wsController.getDirectQty(Object.assign(Object.assign({}, productDetail), { product }), productBarcode, pickedQty);
67
- if (!matchingProduct)
68
- throw new Error(wsController.ERROR_MSG.FIND.NO_RESULT(productBarcode));
69
- pickedQty = matchingProduct.qty;
70
- const sumOfReleaseQty = targetInventories
71
- .filter((oi) => oi.productDetailId === productDetail.id)
72
- .map((oi) => oi.releaseQty)
73
- .reduce((a, b) => a + b, 0);
74
- // Calculate total picked quantity including the current picking
75
- const sumOfPickedQty = targetInventories
76
- .filter((oi) => oi.productDetailId === productDetail.id)
77
- .map((oi) => oi.pickedQty)
78
- .reduce((a, b) => a + b, 0);
79
- // Add the current picking quantity
80
- const totalPickedQty = sumOfPickedQty + pickedQty;
81
- if (totalPickedQty > sumOfReleaseQty)
82
- throw new Error(wsController.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `quantity can't exceed limitation`));
83
- let productOrderInventory = targetInventories.filter(oi => oi.productId === product.id && oi.productDetailId === productDetail.id);
84
- //update all oi
85
- for (const oi of productOrderInventory) {
86
- let targetInventory = oi;
87
- let inventory = targetInventory.inventory;
88
- const targetReleaseQty = targetInventory.releaseQty;
89
- const targetPickedQty = targetInventory.pickedQty;
90
- const releaseGood = targetInventory.releaseGood;
91
- if (pickedQty <= 0)
92
- break;
93
- // validation to prevent picking if the inventory is involved in cycle count
94
- let inventoryCheckItem = await tx.getRepository(sales_base_1.InventoryCheckItem).findOne({
95
- where: {
96
- domain: domain,
97
- inventory: inventory.id,
98
- status: (0, typeorm_1.In)([
99
- sales_base_1.INVENTORY_CHECK_ITEM_STATUS.PENDING,
100
- sales_base_1.INVENTORY_CHECK_ITEM_STATUS.INSPECTING,
101
- sales_base_1.INVENTORY_CHECK_ITEM_STATUS.INSPECTED,
102
- sales_base_1.INVENTORY_CHECK_ITEM_STATUS.NOT_TALLY,
103
- sales_base_1.INVENTORY_CHECK_ITEM_STATUS.MISSING,
104
- sales_base_1.INVENTORY_CHECK_ITEM_STATUS.ADDED
105
- ])
106
- }
107
- });
108
- if (inventoryCheckItem) {
109
- throw new Error(`Inventory currently involved in an ongoing cycle count. Please complete the cycle count to proceed with picking.`);
110
- }
111
- //logic for qty deduction
112
- if (targetInventory.status === sales_base_1.ORDER_INVENTORY_STATUS.PROCESSING &&
113
- targetReleaseQty > targetPickedQty &&
114
- pickedQty > 0) {
115
- let remainingAssignedQty = pickedQty - (targetReleaseQty - targetPickedQty); // -1, 0, 1
116
- const gapQtyRemaining = targetReleaseQty - targetPickedQty; // > 0
117
- if (binNo && !(targetInventory === null || targetInventory === void 0 ? void 0 : targetInventory.binLocation)) {
118
- const binLocation = await tx.getRepository(warehouse_base_1.Location).findOne({
119
- where: { domain: domain, name: binNo, type: warehouse_base_1.LOCATION_TYPE.BIN }
120
- });
121
- if (!binLocation)
122
- throw new Error(wsController.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `invalid bin location id`));
123
- targetInventory.binLocation = binLocation;
124
- }
125
- targetInventory.pickedQty += pickedQty > gapQtyRemaining ? gapQtyRemaining : pickedQty;
126
- remainingAssignedQty = remainingAssignedQty < 0 ? 0 : remainingAssignedQty;
127
- if (targetInventory.pickedQty == targetReleaseQty) {
128
- //update oi and wsd to done if pickedQty matches releaseQty
129
- const leftQty = inventory.qty - targetInventory.releaseQty;
130
- if (leftQty < 0) {
131
- throw new Error(wsController.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `quantity can't exceed limitation`));
132
- }
133
- let releaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
134
- where: { id: targetInventory.releaseGoodId }
135
- });
136
- //update oi
137
- targetInventory.status = sales_base_1.ORDER_INVENTORY_STATUS.PICKED;
138
- await updateOrderInventories(tx, targetInventory);
139
- //update loading wsd if exist
140
- let loadingWorksheetDetail = await tx.getRepository(worksheet_base_1.WorksheetDetail).findOne({
141
- where: { type: worksheet_base_1.WORKSHEET_TYPE.LOADING, targetInventory: targetInventory }
142
- });
143
- if (loadingWorksheetDetail && loadingWorksheetDetail.status == worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED) {
144
- await tx
145
- .getRepository(worksheet_base_1.WorksheetDetail)
146
- .update({ id: loadingWorksheetDetail.id }, { status: worksheet_base_1.WORKSHEET_STATUS.EXECUTING, updatedAt: new Date(), updater: user });
147
- }
148
- //update inventory with proper decimal handling
149
- let updateInvObj = {
150
- qty: () => `"qty" - ${targetInventory.releaseQty}::numeric`,
151
- lockedQty: () => `"locked_qty" - ${targetInventory.releaseQty}::numeric`,
152
- uomValue: () => `"uom_value" - ${targetInventory.releaseUomValue}::numeric`,
153
- lockedUomValue: () => `"locked_uom_value" - ${targetInventory.releaseUomValue}::numeric`,
154
- updater: user,
155
- updatedAt: new Date()
156
- };
157
- await tx
158
- .getRepository(warehouse_base_1.Inventory)
159
- .createQueryBuilder()
160
- .update(warehouse_base_1.Inventory)
161
- .set(updateInvObj)
162
- .where('id = :id', { id: targetInventory.inventory.id })
163
- .returning(['qty'])
164
- .execute();
165
- console.time('inv history');
166
- //slow
167
- await (0, warehouse_base_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.PICKING, -targetInventory.releaseQty, -targetInventory.releaseUomValue, user, tx);
168
- console.timeEnd('inv history');
169
- if (leftQty === 0) {
170
- inventory.status = warehouse_base_1.INVENTORY_STATUS.TERMINATED;
171
- }
172
- let worksheetDetail = worksheetDetails.find((wsd) => wsd.targetInventory.id === targetInventory.id);
173
- await tx.getRepository(worksheet_base_1.WorksheetDetail).update({
174
- id: worksheetDetail.id
175
- }, {
176
- status: worksheet_base_1.WORKSHEET_STATUS.DONE,
177
- updater: user,
178
- updatedAt: new Date()
179
- });
180
- }
181
- else {
182
- //updates oi if pickedQty != releaseQty
183
- await updateOrderInventories(tx, targetInventory);
184
- }
185
- //deduct pickedQty for the next oi
186
- pickedQty = pickedQty - (targetReleaseQty - targetPickedQty);
187
- }
188
- }
189
- console.timeEnd('ws');
190
- return true;
191
- }
192
- catch (e) {
193
- throw new Error(e);
194
- }
195
- },
196
- async completeZonePicking(_, { worksheetId }, context) {
197
- return completeZonePicking(worksheetId, context, false);
198
- },
199
- async completeZonePickingPartially(_, { worksheetId }, context) {
200
- return completeZonePicking(worksheetId, context, true);
201
- }
202
- };
203
- async function updateOrderInventories(tx, orderInventory) {
204
- //delete relations
205
- delete orderInventory.domainId;
206
- delete orderInventory.bizplaceId;
207
- delete orderInventory.creatorId;
208
- delete orderInventory.inventoryCheckId;
209
- delete orderInventory.inventoryId;
210
- delete orderInventory.orderProductId;
211
- delete orderInventory.productId;
212
- delete orderInventory.releaseGoodId;
213
- delete orderInventory.replenishmentId;
214
- delete orderInventory.arrivalNoticeId;
215
- delete orderInventory.binLocationId;
216
- delete orderInventory.deliveryOrderId;
217
- delete orderInventory.originLocationId;
218
- delete orderInventory.refWorksheetId;
219
- delete orderInventory.returnOrderId;
220
- delete orderInventory.transferOrderId;
221
- delete orderInventory.updaterId;
222
- delete orderInventory.inspectedLocationId;
223
- delete orderInventory.productDetailId;
224
- await tx.getRepository(sales_base_1.OrderInventory).update({ id: orderInventory.id }, orderInventory);
225
- }
226
- async function completeZonePicking(worksheetId, context, isPartial) {
227
- const { domain, tx, user } = context.state;
228
- //fetch zone picking worksheet
229
- const worksheet = await tx.getRepository(worksheet_base_1.Worksheet).findOne({
230
- where: { id: worksheetId },
231
- relations: ['worksheetDetails', 'worksheetDetails.targetInventory']
232
- });
233
- const worksheetDetails = worksheet.worksheetDetails;
234
- const targetInventories = worksheetDetails
235
- // .filter(wsd => wsd.status != 'MISSING' || wsd.status != 'CANCELLED')
236
- .map((wsd) => wsd.targetInventory);
237
- let roIds = [...new Set(targetInventories.map(oi => oi.releaseGoodId))];
238
- //update ro status to partial processing for partial complete
239
- if (isPartial) {
240
- await tx.getRepository(sales_base_1.ReleaseGood).update({ id: (0, typeorm_1.In)(roIds), status: sales_base_1.ORDER_STATUS.PROCESSING }, {
241
- status: sales_base_1.ORDER_STATUS.PARTIAL_PROCESSING,
242
- updater: user,
243
- updatedAt: new Date()
244
- });
245
- }
246
- else if (!isPartial) {
247
- await tx.getRepository(sales_base_1.ReleaseGood).update({ id: (0, typeorm_1.In)(roIds), status: sales_base_1.ORDER_STATUS.PARTIAL_PROCESSING }, {
248
- status: sales_base_1.ORDER_STATUS.PROCESSING,
249
- updater: user,
250
- updatedAt: new Date()
251
- });
252
- }
253
- //find exist loading worksheet
254
- const existLoadingWorksheet = await tx
255
- .getRepository(worksheet_base_1.Worksheet)
256
- .createQueryBuilder('ws')
257
- .innerJoinAndSelect('ws.releaseGood', 'rg', 'rg.id = ws.release_good_id')
258
- .where('ws.domain_id = :domainId', { domainId: domain.id })
259
- .andWhere('ws.type = :type', { type: worksheet_base_1.WORKSHEET_TYPE.LOADING })
260
- .andWhere('rg.id IN (:...roIds)', { roIds })
261
- .getMany();
262
- let roWithoutLoadingWorksheet = roIds.filter(roId => !existLoadingWorksheet.some(ws => ws.releaseGood.id === roId));
263
- let roWithLoadingWorksheet = roIds.filter(roId => existLoadingWorksheet.some(ws => ws.releaseGood.id === roId));
264
- if (roWithoutLoadingWorksheet.length > 0) {
265
- await generateLoadingWorksheets(tx, domain, user, roWithoutLoadingWorksheet);
266
- }
267
- if (roWithLoadingWorksheet.length > 0) {
268
- //update picked oi to loading
269
- await tx.getRepository(sales_base_1.OrderInventory).update({ releaseGood: (0, typeorm_1.In)(roWithLoadingWorksheet), status: sales_base_1.ORDER_INVENTORY_STATUS.PICKED }, {
270
- status: sales_base_1.ORDER_INVENTORY_STATUS.SORTING,
271
- updater: user,
272
- updatedAt: new Date()
273
- });
274
- const loadingOrderInventories = await tx.getRepository(sales_base_1.OrderInventory).find({
275
- where: { releaseGood: (0, typeorm_1.In)(roWithLoadingWorksheet), status: sales_base_1.ORDER_INVENTORY_STATUS.SORTING }
276
- });
277
- //update loading wsd deactivated to executing
278
- await tx.getRepository(worksheet_base_1.WorksheetDetail).update({
279
- targetInventory: (0, typeorm_1.In)(loadingOrderInventories.map(oi => oi.id)),
280
- type: worksheet_base_1.WORKSHEET_TYPE.LOADING,
281
- status: worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED
282
- }, { status: worksheet_base_1.WORKSHEET_STATUS.EXECUTING, updatedAt: new Date(), updater: user });
283
- }
284
- const wsStatus = isPartial ? worksheet_base_1.WORKSHEET_STATUS.PARTIAL_EXECUTING : worksheet_base_1.WORKSHEET_STATUS.DONE;
285
- await updateWorksheetsAndDetails(tx, worksheet, worksheetDetails, wsStatus, user);
286
- return true;
287
- }
288
- async function generateLoadingWorksheets(tx, domain, user, roWithoutLoadingWorksheet) {
289
- const releaseGoods = await tx.getRepository(sales_base_1.ReleaseGood).find({
290
- where: { id: (0, typeorm_1.In)(roWithoutLoadingWorksheet), status: (0, typeorm_1.Not)((0, typeorm_1.In)(sales_base_1.ORDER_STATUS.OBSOLETE)) },
291
- relations: ['orderInventories', 'sortedBy']
292
- });
293
- for (const ro of releaseGoods) {
294
- const loadingWorksheet = {
295
- name: `LOAD-` + (0, uuid_1.v4)(),
296
- type: worksheet_base_1.WORKSHEET_TYPE.LOADING,
297
- status: worksheet_base_1.WORKSHEET_STATUS.EXECUTING,
298
- startedAt: new Date(),
299
- createdAt: new Date(),
300
- domain: ro.domainId,
301
- bizplace: ro.bizplaceId,
302
- releaseGood: ro,
303
- creator: user,
304
- sorter: ro.sortedBy ? ro.sortedBy : null
305
- };
306
- await tx.getRepository(worksheet_base_1.Worksheet).insert(loadingWorksheet);
307
- const orderInventories = ro.orderInventories;
308
- const loadingWorksheetDetails = orderInventories.map(oi => {
309
- const status = oi.status === sales_base_1.ORDER_INVENTORY_STATUS.PICKED ? worksheet_base_1.WORKSHEET_STATUS.EXECUTING : worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED;
310
- return {
311
- name: `LOAD-DETAIL-` + (0, uuid_1.v4)(),
312
- type: worksheet_base_1.WORKSHEET_TYPE.LOADING,
313
- status: status,
314
- createdAt: new Date(),
315
- domain: domain,
316
- bizplace: ro.bizplaceId,
317
- worksheet: loadingWorksheet,
318
- targetInventory: oi,
319
- creator: user
320
- };
321
- });
322
- await tx.getRepository(worksheet_base_1.WorksheetDetail).insert(loadingWorksheetDetails);
323
- //update picked oi to loading
324
- await tx.getRepository(sales_base_1.OrderInventory).update({ id: (0, typeorm_1.In)(orderInventories.map(oi => oi.id)), status: sales_base_1.ORDER_INVENTORY_STATUS.PICKED }, {
325
- status: sales_base_1.ORDER_INVENTORY_STATUS.SORTING,
326
- updater: user,
327
- updatedAt: new Date()
328
- });
329
- }
330
- }
331
- async function updateWorksheetsAndDetails(tx, worksheet, worksheetDetails, status, updater) {
332
- worksheet.status = status;
333
- worksheet.endedAt = status === worksheet_base_1.WORKSHEET_STATUS.DONE ? new Date() : null;
334
- worksheet.updater = updater;
335
- worksheet.updatedAt = new Date();
336
- // Filter only the worksheet details that need to be updated
337
- const updateWorksheetDetails = worksheetDetails.filter(wsd => { var _a; return ((_a = wsd.targetInventory) === null || _a === void 0 ? void 0 : _a.status) === sales_base_1.ORDER_INVENTORY_STATUS.PICKED; });
338
- if (updateWorksheetDetails.length > 0) {
339
- await tx.getRepository(worksheet_base_1.WorksheetDetail).update({ id: (0, typeorm_1.In)(updateWorksheetDetails.map(wsd => wsd.id)) }, {
340
- status: worksheet_base_1.WORKSHEET_STATUS.DONE,
341
- updater: updater
342
- });
343
- }
344
- await tx.getRepository(worksheet_base_1.Worksheet).save(worksheet);
345
- }
346
- //# sourceMappingURL=zone-picking.js.map