@things-factory/operato-wms 4.3.671 → 4.3.673

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 (295) hide show
  1. package/dist-server/graphql/index.js +33 -0
  2. package/dist-server/graphql/index.js.map +1 -0
  3. package/dist-server/graphql/resolvers/board-setting/board-settings.js +78 -0
  4. package/dist-server/graphql/resolvers/board-setting/board-settings.js.map +1 -0
  5. package/dist-server/graphql/resolvers/board-setting/index.js +6 -0
  6. package/dist-server/graphql/resolvers/board-setting/index.js.map +1 -0
  7. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js +87 -0
  8. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js.map +1 -0
  9. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js +138 -0
  10. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js.map +1 -0
  11. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js +124 -0
  12. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js.map +1 -0
  13. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js +159 -0
  14. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js.map +1 -0
  15. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js +90 -0
  16. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js.map +1 -0
  17. package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js +34 -0
  18. package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js.map +1 -0
  19. package/dist-server/graphql/resolvers/custom/elccl/index.js +11 -0
  20. package/dist-server/graphql/resolvers/custom/elccl/index.js.map +1 -0
  21. package/dist-server/graphql/resolvers/custom/kimeda/index.js +6 -0
  22. package/dist-server/graphql/resolvers/custom/kimeda/index.js.map +1 -0
  23. package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js +40 -0
  24. package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js.map +1 -0
  25. package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js +36 -0
  26. package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js.map +1 -0
  27. package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js +24 -0
  28. package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js.map +1 -0
  29. package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js +24 -0
  30. package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js.map +1 -0
  31. package/dist-server/graphql/resolvers/dashboard/index.js +12 -0
  32. package/dist-server/graphql/resolvers/dashboard/index.js.map +1 -0
  33. package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js +65 -0
  34. package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js.map +1 -0
  35. package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js +22 -0
  36. package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js.map +1 -0
  37. package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js +36 -0
  38. package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js.map +1 -0
  39. package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js +56 -0
  40. package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js.map +1 -0
  41. package/dist-server/graphql/resolvers/index.js +58 -0
  42. package/dist-server/graphql/resolvers/index.js.map +1 -0
  43. package/dist-server/graphql/resolvers/inventory-comparison/index.js +6 -0
  44. package/dist-server/graphql/resolvers/inventory-comparison/index.js.map +1 -0
  45. package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js +78 -0
  46. package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js.map +1 -0
  47. package/dist-server/graphql/resolvers/opa-menu/index.js +6 -0
  48. package/dist-server/graphql/resolvers/opa-menu/index.js.map +1 -0
  49. package/dist-server/graphql/resolvers/opa-menu/opa-menus.js +73 -0
  50. package/dist-server/graphql/resolvers/opa-menu/opa-menus.js.map +1 -0
  51. package/dist-server/graphql/resolvers/other/add-release-good-products.js +309 -0
  52. package/dist-server/graphql/resolvers/other/add-release-good-products.js.map +1 -0
  53. package/dist-server/graphql/resolvers/other/index.js +8 -0
  54. package/dist-server/graphql/resolvers/other/index.js.map +1 -0
  55. package/dist-server/graphql/resolvers/other/page-settings.js +135 -0
  56. package/dist-server/graphql/resolvers/other/page-settings.js.map +1 -0
  57. package/dist-server/graphql/resolvers/outbound/complete-load.js +162 -0
  58. package/dist-server/graphql/resolvers/outbound/complete-load.js.map +1 -0
  59. package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js +148 -0
  60. package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js.map +1 -0
  61. package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js +114 -0
  62. package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js.map +1 -0
  63. package/dist-server/graphql/resolvers/outbound/get-delivery-orders.js +46 -0
  64. package/dist-server/graphql/resolvers/outbound/get-delivery-orders.js.map +1 -0
  65. package/dist-server/graphql/resolvers/outbound/get-loading-task.js +100 -0
  66. package/dist-server/graphql/resolvers/outbound/get-loading-task.js.map +1 -0
  67. package/dist-server/graphql/resolvers/outbound/index.js +17 -0
  68. package/dist-server/graphql/resolvers/outbound/index.js.map +1 -0
  69. package/dist-server/graphql/resolvers/outbound/load-by-qty.js +121 -0
  70. package/dist-server/graphql/resolvers/outbound/load-by-qty.js.map +1 -0
  71. package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js +158 -0
  72. package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js.map +1 -0
  73. package/dist-server/graphql/resolvers/outbound/my-loading-assignment-status.js +32 -0
  74. package/dist-server/graphql/resolvers/outbound/my-loading-assignment-status.js.map +1 -0
  75. package/dist-server/graphql/resolvers/outbound/sort-item.js +66 -0
  76. package/dist-server/graphql/resolvers/outbound/sort-item.js.map +1 -0
  77. package/dist-server/graphql/resolvers/outbound/undo-load.js +72 -0
  78. package/dist-server/graphql/resolvers/outbound/undo-load.js.map +1 -0
  79. package/dist-server/graphql/resolvers/outbound/warehouse-return.js +101 -0
  80. package/dist-server/graphql/resolvers/outbound/warehouse-return.js.map +1 -0
  81. package/dist-server/graphql/resolvers/reports/analysis-picking-packing-report.js +128 -0
  82. package/dist-server/graphql/resolvers/reports/analysis-picking-packing-report.js.map +1 -0
  83. package/dist-server/graphql/resolvers/reports/billing-module-report.js +355 -0
  84. package/dist-server/graphql/resolvers/reports/billing-module-report.js.map +1 -0
  85. package/dist-server/graphql/resolvers/reports/costing-report.js +166 -0
  86. package/dist-server/graphql/resolvers/reports/costing-report.js.map +1 -0
  87. package/dist-server/graphql/resolvers/reports/cycle-count-report.js +311 -0
  88. package/dist-server/graphql/resolvers/reports/cycle-count-report.js.map +1 -0
  89. package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js +218 -0
  90. package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +1 -0
  91. package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js +140 -0
  92. package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js.map +1 -0
  93. package/dist-server/graphql/resolvers/reports/index.js +21 -0
  94. package/dist-server/graphql/resolvers/reports/index.js.map +1 -0
  95. package/dist-server/graphql/resolvers/reports/manifest-report.js +98 -0
  96. package/dist-server/graphql/resolvers/reports/manifest-report.js.map +1 -0
  97. package/dist-server/graphql/resolvers/reports/non-loaded-inventory-report.js +143 -0
  98. package/dist-server/graphql/resolvers/reports/non-loaded-inventory-report.js.map +1 -0
  99. package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js +290 -0
  100. package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js.map +1 -0
  101. package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js +143 -0
  102. package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js.map +1 -0
  103. package/dist-server/graphql/resolvers/reports/pg-udf-query.js +70 -0
  104. package/dist-server/graphql/resolvers/reports/pg-udf-query.js.map +1 -0
  105. package/dist-server/graphql/resolvers/reports/product-label-report.js +57 -0
  106. package/dist-server/graphql/resolvers/reports/product-label-report.js.map +1 -0
  107. package/dist-server/graphql/resolvers/reports/release-inventory-report.js +180 -0
  108. package/dist-server/graphql/resolvers/reports/release-inventory-report.js.map +1 -0
  109. package/dist-server/graphql/resolvers/reports/shortage-report.js +165 -0
  110. package/dist-server/graphql/resolvers/reports/shortage-report.js.map +1 -0
  111. package/dist-server/graphql/resolvers/reports/tote-loading-qc-report.js +129 -0
  112. package/dist-server/graphql/resolvers/reports/tote-loading-qc-report.js.map +1 -0
  113. package/dist-server/graphql/resolvers/reports/vas-report.js +386 -0
  114. package/dist-server/graphql/resolvers/reports/vas-report.js.map +1 -0
  115. package/dist-server/graphql/resolvers/shipping-provider/index.js +6 -0
  116. package/dist-server/graphql/resolvers/shipping-provider/index.js.map +1 -0
  117. package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js +24 -0
  118. package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +1 -0
  119. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/index.js +6 -0
  120. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/index.js.map +1 -0
  121. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js +97 -0
  122. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js.map +1 -0
  123. package/dist-server/graphql/resolvers/zone-worksheet/activate-zone-worksheet.js +91 -0
  124. package/dist-server/graphql/resolvers/zone-worksheet/activate-zone-worksheet.js.map +1 -0
  125. package/dist-server/graphql/resolvers/zone-worksheet/assign-sorter.js +36 -0
  126. package/dist-server/graphql/resolvers/zone-worksheet/assign-sorter.js.map +1 -0
  127. package/dist-server/graphql/resolvers/zone-worksheet/generate-zone-worksheet.js +106 -0
  128. package/dist-server/graphql/resolvers/zone-worksheet/generate-zone-worksheet.js.map +1 -0
  129. package/dist-server/graphql/resolvers/zone-worksheet/get-zone-picking-task.js +108 -0
  130. package/dist-server/graphql/resolvers/zone-worksheet/get-zone-picking-task.js.map +1 -0
  131. package/dist-server/graphql/resolvers/zone-worksheet/index.js +12 -0
  132. package/dist-server/graphql/resolvers/zone-worksheet/index.js.map +1 -0
  133. package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js +346 -0
  134. package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js.map +1 -0
  135. package/dist-server/graphql/resolvers/zone-worksheet/zone-worksheet.js +146 -0
  136. package/dist-server/graphql/resolvers/zone-worksheet/zone-worksheet.js.map +1 -0
  137. package/dist-server/graphql/types/board-setting/board-setting.js +16 -0
  138. package/dist-server/graphql/types/board-setting/board-setting.js.map +1 -0
  139. package/dist-server/graphql/types/board-setting/index.js +9 -0
  140. package/dist-server/graphql/types/board-setting/index.js.map +1 -0
  141. package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report-list.js +14 -0
  142. package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report-list.js.map +1 -0
  143. package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report.js +30 -0
  144. package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report.js.map +1 -0
  145. package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report-list.js +14 -0
  146. package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report-list.js.map +1 -0
  147. package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report.js +25 -0
  148. package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report.js.map +1 -0
  149. package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.js +22 -0
  150. package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.js.map +1 -0
  151. package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report-list.js +14 -0
  152. package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report-list.js.map +1 -0
  153. package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report.js +23 -0
  154. package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report.js.map +1 -0
  155. package/dist-server/graphql/types/custom/elccl/elccl-pallet-detail-report.js +22 -0
  156. package/dist-server/graphql/types/custom/elccl/elccl-pallet-detail-report.js.map +1 -0
  157. package/dist-server/graphql/types/custom/elccl/index.js +30 -0
  158. package/dist-server/graphql/types/custom/elccl/index.js.map +1 -0
  159. package/dist-server/graphql/types/custom/kimeda/index.js +7 -0
  160. package/dist-server/graphql/types/custom/kimeda/index.js.map +1 -0
  161. package/dist-server/graphql/types/dashboard/index.js +17 -0
  162. package/dist-server/graphql/types/dashboard/index.js.map +1 -0
  163. package/dist-server/graphql/types/dashboard/inventory-expiry-counter.js +16 -0
  164. package/dist-server/graphql/types/dashboard/inventory-expiry-counter.js.map +1 -0
  165. package/dist-server/graphql/types/dashboard/inventory-expiry-status.js +14 -0
  166. package/dist-server/graphql/types/dashboard/inventory-expiry-status.js.map +1 -0
  167. package/dist-server/graphql/types/dashboard/order-status-counter.js +14 -0
  168. package/dist-server/graphql/types/dashboard/order-status-counter.js.map +1 -0
  169. package/dist-server/graphql/types/index.js +70 -0
  170. package/dist-server/graphql/types/index.js.map +1 -0
  171. package/dist-server/graphql/types/inventory-comparison/index.js +13 -0
  172. package/dist-server/graphql/types/inventory-comparison/index.js.map +1 -0
  173. package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.js +14 -0
  174. package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.js.map +1 -0
  175. package/dist-server/graphql/types/inventory-comparison/inventory-comparison.js +18 -0
  176. package/dist-server/graphql/types/inventory-comparison/inventory-comparison.js.map +1 -0
  177. package/dist-server/graphql/types/opa-menu/index.js +9 -0
  178. package/dist-server/graphql/types/opa-menu/index.js.map +1 -0
  179. package/dist-server/graphql/types/opa-menu/opa-menu.js +45 -0
  180. package/dist-server/graphql/types/opa-menu/opa-menu.js.map +1 -0
  181. package/dist-server/graphql/types/other/index.js +21 -0
  182. package/dist-server/graphql/types/other/index.js.map +1 -0
  183. package/dist-server/graphql/types/other/page-setting.js +37 -0
  184. package/dist-server/graphql/types/other/page-setting.js.map +1 -0
  185. package/dist-server/graphql/types/outbound/delivery-order-info-list.js +14 -0
  186. package/dist-server/graphql/types/outbound/delivery-order-info-list.js.map +1 -0
  187. package/dist-server/graphql/types/outbound/index.js +24 -0
  188. package/dist-server/graphql/types/outbound/index.js.map +1 -0
  189. package/dist-server/graphql/types/outbound/loading-assignment.js +15 -0
  190. package/dist-server/graphql/types/outbound/loading-assignment.js.map +1 -0
  191. package/dist-server/graphql/types/outbound/loading-worksheet-type.js +25 -0
  192. package/dist-server/graphql/types/outbound/loading-worksheet-type.js.map +1 -0
  193. package/dist-server/graphql/types/reports/analysis-picking-packing-report-list.js +14 -0
  194. package/dist-server/graphql/types/reports/analysis-picking-packing-report-list.js.map +1 -0
  195. package/dist-server/graphql/types/reports/analysis-picking-packing-report.js +18 -0
  196. package/dist-server/graphql/types/reports/analysis-picking-packing-report.js.map +1 -0
  197. package/dist-server/graphql/types/reports/billing-module-report-list.js +14 -0
  198. package/dist-server/graphql/types/reports/billing-module-report-list.js.map +1 -0
  199. package/dist-server/graphql/types/reports/billing-module-report.js +15 -0
  200. package/dist-server/graphql/types/reports/billing-module-report.js.map +1 -0
  201. package/dist-server/graphql/types/reports/costing-report-list.js +14 -0
  202. package/dist-server/graphql/types/reports/costing-report-list.js.map +1 -0
  203. package/dist-server/graphql/types/reports/costing-report.js +19 -0
  204. package/dist-server/graphql/types/reports/costing-report.js.map +1 -0
  205. package/dist-server/graphql/types/reports/cycle-count-report-list.js +14 -0
  206. package/dist-server/graphql/types/reports/cycle-count-report-list.js.map +1 -0
  207. package/dist-server/graphql/types/reports/cycle-count-report.js +35 -0
  208. package/dist-server/graphql/types/reports/cycle-count-report.js.map +1 -0
  209. package/dist-server/graphql/types/reports/inbound-order-details-report-list.js +14 -0
  210. package/dist-server/graphql/types/reports/inbound-order-details-report-list.js.map +1 -0
  211. package/dist-server/graphql/types/reports/inbound-order-details-report.js +60 -0
  212. package/dist-server/graphql/types/reports/inbound-order-details-report.js.map +1 -0
  213. package/dist-server/graphql/types/reports/inbound-serial-number-report-list.js +14 -0
  214. package/dist-server/graphql/types/reports/inbound-serial-number-report-list.js.map +1 -0
  215. package/dist-server/graphql/types/reports/inbound-serial-number-report.js +23 -0
  216. package/dist-server/graphql/types/reports/inbound-serial-number-report.js.map +1 -0
  217. package/dist-server/graphql/types/reports/index.js +89 -0
  218. package/dist-server/graphql/types/reports/index.js.map +1 -0
  219. package/dist-server/graphql/types/reports/loading-qc-report-list.js +14 -0
  220. package/dist-server/graphql/types/reports/loading-qc-report-list.js.map +1 -0
  221. package/dist-server/graphql/types/reports/loading-qc-report.js +24 -0
  222. package/dist-server/graphql/types/reports/loading-qc-report.js.map +1 -0
  223. package/dist-server/graphql/types/reports/manifest-report-list.js +14 -0
  224. package/dist-server/graphql/types/reports/manifest-report-list.js.map +1 -0
  225. package/dist-server/graphql/types/reports/manifest-report-type.js +23 -0
  226. package/dist-server/graphql/types/reports/manifest-report-type.js.map +1 -0
  227. package/dist-server/graphql/types/reports/non-loaded-inventory-report-list.js +14 -0
  228. package/dist-server/graphql/types/reports/non-loaded-inventory-report-list.js.map +1 -0
  229. package/dist-server/graphql/types/reports/non-loaded-inventory-report.js +23 -0
  230. package/dist-server/graphql/types/reports/non-loaded-inventory-report.js.map +1 -0
  231. package/dist-server/graphql/types/reports/outbound-order-details-report-list.js +14 -0
  232. package/dist-server/graphql/types/reports/outbound-order-details-report-list.js.map +1 -0
  233. package/dist-server/graphql/types/reports/outbound-order-details-report.js +79 -0
  234. package/dist-server/graphql/types/reports/outbound-order-details-report.js.map +1 -0
  235. package/dist-server/graphql/types/reports/outbound-serial-number-report-list.js +14 -0
  236. package/dist-server/graphql/types/reports/outbound-serial-number-report-list.js.map +1 -0
  237. package/dist-server/graphql/types/reports/outbound-serial-number-report.js +25 -0
  238. package/dist-server/graphql/types/reports/outbound-serial-number-report.js.map +1 -0
  239. package/dist-server/graphql/types/reports/pg-udf-query-list.js +13 -0
  240. package/dist-server/graphql/types/reports/pg-udf-query-list.js.map +1 -0
  241. package/dist-server/graphql/types/reports/product-label-report-list.js +14 -0
  242. package/dist-server/graphql/types/reports/product-label-report-list.js.map +1 -0
  243. package/dist-server/graphql/types/reports/product-label-report.js +16 -0
  244. package/dist-server/graphql/types/reports/product-label-report.js.map +1 -0
  245. package/dist-server/graphql/types/reports/release-inventory-report-list.js +14 -0
  246. package/dist-server/graphql/types/reports/release-inventory-report-list.js.map +1 -0
  247. package/dist-server/graphql/types/reports/release-inventory-report.js +29 -0
  248. package/dist-server/graphql/types/reports/release-inventory-report.js.map +1 -0
  249. package/dist-server/graphql/types/reports/shortage-report-list.js +14 -0
  250. package/dist-server/graphql/types/reports/shortage-report-list.js.map +1 -0
  251. package/dist-server/graphql/types/reports/shortage-report-type.js +26 -0
  252. package/dist-server/graphql/types/reports/shortage-report-type.js.map +1 -0
  253. package/dist-server/graphql/types/reports/vas-report-list.js +20 -0
  254. package/dist-server/graphql/types/reports/vas-report-list.js.map +1 -0
  255. package/dist-server/graphql/types/reports/vas-report.js +29 -0
  256. package/dist-server/graphql/types/reports/vas-report.js.map +1 -0
  257. package/dist-server/graphql/types/shipping-provider/index.js +10 -0
  258. package/dist-server/graphql/types/shipping-provider/index.js.map +1 -0
  259. package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js +13 -0
  260. package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js.map +1 -0
  261. package/dist-server/graphql/types/shipping-provider/shipping-provider.js +13 -0
  262. package/dist-server/graphql/types/shipping-provider/shipping-provider.js.map +1 -0
  263. package/dist-server/graphql/types/warehouse-inventory-adjustment/index.js +9 -0
  264. package/dist-server/graphql/types/warehouse-inventory-adjustment/index.js.map +1 -0
  265. package/dist-server/graphql/types/zone-worksheet/index.js +22 -0
  266. package/dist-server/graphql/types/zone-worksheet/index.js.map +1 -0
  267. package/dist-server/graphql/types/zone-worksheet/zone-picking-worksheet.js +18 -0
  268. package/dist-server/graphql/types/zone-worksheet/zone-picking-worksheet.js.map +1 -0
  269. package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview-list.js +13 -0
  270. package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview-list.js.map +1 -0
  271. package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview.js +16 -0
  272. package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview.js.map +1 -0
  273. package/dist-server/index.js +20 -0
  274. package/dist-server/index.js.map +1 -0
  275. package/dist-server/migrations/1568858861188-SeedSetting.js +51 -0
  276. package/dist-server/migrations/1568858861188-SeedSetting.js.map +1 -0
  277. package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js +35 -0
  278. package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js.map +1 -0
  279. package/dist-server/migrations/1623381200659-SeedStoringRule.js +33 -0
  280. package/dist-server/migrations/1623381200659-SeedStoringRule.js.map +1 -0
  281. package/dist-server/migrations/1687413760311-UpdateProductDetailStockQty.js +36 -0
  282. package/dist-server/migrations/1687413760311-UpdateProductDetailStockQty.js.map +1 -0
  283. package/dist-server/migrations/1687415141200-InsertNewProductDetailStock.js +32 -0
  284. package/dist-server/migrations/1687415141200-InsertNewProductDetailStock.js.map +1 -0
  285. package/dist-server/migrations/index.js +12 -0
  286. package/dist-server/migrations/index.js.map +1 -0
  287. package/dist-server/opa-app-setting-constants.js +15 -0
  288. package/dist-server/opa-app-setting-constants.js.map +1 -0
  289. package/dist-server/routes.js +3 -0
  290. package/dist-server/routes.js.map +1 -0
  291. package/dist-server/utils/index.js +18 -0
  292. package/dist-server/utils/index.js.map +1 -0
  293. package/dist-server/utils/report-query-util.js +42 -0
  294. package/dist-server/utils/report-query-util.js.map +1 -0
  295. package/package.json +38 -38
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.releaseInventoryReport = void 0;
4
+ const biz_base_1 = require("@things-factory/biz-base");
5
+ const utils_1 = require("../../../utils");
6
+ exports.releaseInventoryReport = {
7
+ async releaseInventoryReport(_, params, context) {
8
+ try {
9
+ const { tx } = context.state;
10
+ // let bizplaceFilter = { name: '', operator: '', value: '' }
11
+ // let userFilter = params.filters.find(data => data.name === 'user')
12
+ let order = params.filters.find(data => data.name === 'order');
13
+ let orderDate = params.filters.find(data => data.name === 'orderDate');
14
+ let product = params.filters.find(data => data.name === 'product');
15
+ let bizplace = params.filters.find(data => data.name === 'bizplace');
16
+ let palletId = params.filters.find(data => data.name === 'palletId');
17
+ let cartonId = params.filters.find(data => data.name === 'cartonId');
18
+ // if (userFilter) {
19
+ // const user: User = await tx.getRepository(User).findOne({
20
+ // where: { id: userFilter.value },
21
+ // relations: ['bizplaces']
22
+ // })
23
+ // const bizplace: Bizplace = user.bizplaces[0]
24
+ if (!bizplace)
25
+ throw 'Invalid input';
26
+ // bizplaceFilter = { name: 'bizplace', operator: 'eq', value: bizplace.id }
27
+ // } else {
28
+ // bizplaceFilter = params.filters.find(data => data.name === 'bizplace')
29
+ // }
30
+ // if (!bizplaceFilter) throw 'Invalid input'
31
+ let roFilter = '', ccFilter = '', queryFilter = '';
32
+ if (order) {
33
+ let orderValue = order.value
34
+ .toLowerCase()
35
+ .split(',')
36
+ .map(prod => {
37
+ return "'%" + prod.trim().replace(/'/g, "''") + "%'";
38
+ })
39
+ .join(',');
40
+ roFilter += `AND (
41
+ Lower(od.name) LIKE ANY(ARRAY[${orderValue}])
42
+ OR Lower(od.ref_no) LIKE ANY(ARRAY[${orderValue}])
43
+ OR Lower(od.ref_no_2) LIKE ANY(ARRAY[${orderValue}])
44
+ OR Lower(od.ref_no_3) LIKE ANY(ARRAY[${orderValue}])
45
+ )`;
46
+ ccFilter += `AND (
47
+ Lower(od.name) LIKE ANY(ARRAY[${orderValue}])
48
+ )`;
49
+ }
50
+ if (orderDate) {
51
+ queryFilter += ` AND od.created_at between '${orderDate.value}'::timestamp and '${orderDate.value}'::timestamp + INTERVAL '1 day'`;
52
+ }
53
+ if (palletId) {
54
+ queryFilter += ` AND lower(i.pallet_id) like '%${palletId.value.toLowerCase()}%'`;
55
+ }
56
+ if (cartonId) {
57
+ queryFilter += ` AND lower(i.carton_id) like '%${cartonId.value.toLowerCase()}%'`;
58
+ }
59
+ if (bizplace) {
60
+ queryFilter += ` AND od.bizplace_id = '${bizplace.value}'`;
61
+ }
62
+ const bizplaceObj = await tx.getRepository(biz_base_1.Bizplace).findOne({
63
+ id: bizplace.value
64
+ });
65
+ await (0, utils_1.rawProductsQuery)(tx, params, bizplaceObj);
66
+ // let productQuery = ''
67
+ // if (product) {
68
+ // let productValue = product.value
69
+ // .toLowerCase()
70
+ // .split(',')
71
+ // .map(prod => {
72
+ // return "'%" + prod.trim().replace(/'/g, "''") + "%'"
73
+ // })
74
+ // .join(',')
75
+ // queryFilter = `AND (
76
+ // Lower(p.name) LIKE ANY(ARRAY[${productValue}])
77
+ // OR Lower(p.sku) LIKE ANY(ARRAY[${productValue}])
78
+ // OR Lower(p.description) LIKE ANY(ARRAY[${productValue}])
79
+ // OR Lower(p.brand_sku) LIKE ANY(ARRAY[${productValue}])
80
+ // OR Lower(p.brand) LIKE ANY(ARRAY[${productValue}])
81
+ // )`
82
+ // }
83
+ await tx.query(`
84
+ create temp table data_src on commit drop as (
85
+ select * from (
86
+ select p.sku as product_sku, p.name as product_name, p.description as product_description, p.brand as product_brand,
87
+ b.id as bizplace_id, b.name as bizplace_name, b.description as bizplace_description, i.packing_type,
88
+ oi.release_qty as assigned_qty, oi.release_uom_value as uom_value, i.uom,
89
+ od.name as order_no, od.type::varchar as "type", od.status, od.created_at as order_at, od.release_date,
90
+ i.pallet_id, i.carton_id, i.batch_id, i.batch_id_ref, i.expiration_date, i.manufacture_date, l.name as location_name
91
+ from (
92
+ select inventory_id, release_good_id, sum(release_qty) as release_qty, sum(release_uom_value) as release_uom_value from order_inventories oi
93
+ inner join release_goods od on od.id = oi.release_good_id
94
+ where release_good_id is not null
95
+ and od.status in ('PENDING', 'PENDING_RECEIVE', 'PENDING_CANCEL', 'PENDING_WORKSHEET', 'READY_TO_PICK', 'PICKING')
96
+ and od.domain_id = $1
97
+ and oi.status not in ('REPLACED', 'MISSING')
98
+ group by inventory_id, release_good_id
99
+ ) oi
100
+ inner join release_goods od on od.id = oi.release_good_id
101
+ inner join bizplaces b on b.id = od.bizplace_id
102
+ inner join inventories i on i.id = oi.inventory_id
103
+ inner join locations l on l.id = i.location_id
104
+ inner join temp_products p on p.id = i.product_id
105
+ where 1 = 1
106
+ ${roFilter}
107
+ ${queryFilter}
108
+ union all
109
+ select p.sku as product_sku, p.name as product_name, p.description as product_description, p.brand as product_brand,
110
+ b.id as bizplace_id, b.name as bizplace_name, b.description as bizplace_description, i.packing_type,
111
+ oi.release_qty as assigned_qty, oi.release_uom_value as uom_value, i.uom,
112
+ od.name as order_no, 'cc' as "type", od.status, od.created_at as order_at, od.execution_date,
113
+ i.pallet_id, i.carton_id, i.batch_id, i.batch_id_ref, i.expiration_date, i.manufacture_date, l.name as location_name
114
+ from order_inventories oi
115
+ inner join bizplaces b on b.id = oi.bizplace_id
116
+ inner join inventory_checks od on od.id = oi.inventory_check_id
117
+ inner join inventories i on i.id = oi.inventory_id
118
+ inner join locations l on l.id = i.location_id
119
+ inner join temp_products p on p.id = i.product_id
120
+ where od.status <> 'DONE'
121
+ and od.domain_id = $1
122
+ ${ccFilter}
123
+ ${queryFilter}
124
+ ) src
125
+ order by product_sku, packing_type, order_no
126
+ );
127
+ `, [context.state.domain.id]);
128
+ const total = await tx.query(`
129
+ select count(*) from data_src
130
+ `);
131
+ const result = await tx.query(`
132
+ select * from data_src
133
+ offset $1 limit $2
134
+ `, [(params.pagination.page - 1) * params.pagination.limit, params.pagination.limit]);
135
+ let items = result.map(itm => {
136
+ let data = {
137
+ bizplace: {
138
+ id: itm.bizplace_id,
139
+ name: itm.bizplace_name,
140
+ description: itm.bizplace_description
141
+ },
142
+ product: {
143
+ id: itm.product_id,
144
+ sku: itm.product_sku,
145
+ name: itm.product_name,
146
+ description: itm.product_description,
147
+ brand: itm.product_brand
148
+ },
149
+ location: {
150
+ name: itm.location_name
151
+ },
152
+ packingType: itm.packing_type,
153
+ assignedQty: itm.assigned_qty,
154
+ assignedUomValue: itm.uom_value,
155
+ assignedUom: itm.uom,
156
+ orderNo: itm.order_no,
157
+ type: itm.type,
158
+ status: itm.status,
159
+ orderAt: itm.order_at,
160
+ releaseDate: itm.release_date,
161
+ palletId: itm.pallet_id,
162
+ cartonId: itm.carton_id,
163
+ batchId: itm.batch_id,
164
+ batchIdRef: itm.batch_id_ref,
165
+ expirationDate: itm.expiration_date,
166
+ manufactureDate: itm.manufacture_date
167
+ };
168
+ return data;
169
+ });
170
+ return {
171
+ items,
172
+ total: total[0].count
173
+ };
174
+ }
175
+ catch (error) {
176
+ throw error;
177
+ }
178
+ }
179
+ };
180
+ //# sourceMappingURL=release-inventory-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-inventory-report.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/reports/release-inventory-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shortageReport = void 0;
4
+ exports.shortageReport = {
5
+ async shortageReport(_, params, context) {
6
+ try {
7
+ const { tx } = context.state;
8
+ let bizplaceFilter = { name: '', operator: '', value: '' };
9
+ let order = params.filters.find(items => items.name === 'order');
10
+ let fromDate = params.filters.find(items => items.name === 'fromDate');
11
+ let toDate = params.filters.find(items => items.name === 'toDate');
12
+ let orderNo = params.filters.find(items => items.name === 'orderNo');
13
+ let product = params.filters.find(items => items.name === 'product');
14
+ let bizplace = params.filters.find(items => items.name === 'bizplace');
15
+ if (!bizplace)
16
+ throw 'Invalid input';
17
+ let roFilter = '', queryFilter = '';
18
+ if (product) {
19
+ let productInfoValue = product.value
20
+ .toLowerCase()
21
+ .split(',')
22
+ .map(prod => {
23
+ return "'%" + prod.trim().replace(/'/g, "''") + "%'";
24
+ })
25
+ .join(',');
26
+ roFilter += `AND (
27
+ Lower(drg.name) LIKE ANY(ARRAY[${productInfoValue}])
28
+ OR Lower(p.sku) LIKE ANY(ARRAY[${productInfoValue}])
29
+ OR Lower(p.sku) LIKE ANY(ARRAY[${productInfoValue}])
30
+ OR Lower(p.sku) LIKE ANY(ARRAY[${productInfoValue}])
31
+ OR Lower(p."name") LIKE ANY(ARRAY[${productInfoValue}])
32
+ OR Lower(p."name") LIKE ANY(ARRAY[${productInfoValue}])
33
+ OR Lower(p."name") LIKE ANY(ARRAY[${productInfoValue}])
34
+
35
+ )`;
36
+ }
37
+ if (orderNo) {
38
+ let orderValue = orderNo.value
39
+ .toLowerCase()
40
+ .split(',')
41
+ .map(prod => {
42
+ return "'%" + prod.trim().replace(/'/g, "''") + "%'";
43
+ })
44
+ .join(',');
45
+ roFilter += `AND (
46
+ Lower(drg.name) LIKE ANY(ARRAY[${orderValue}])
47
+ OR Lower(drg.ref_no) LIKE ANY(ARRAY[${orderValue}])
48
+ OR Lower(drg.ref_no_2) LIKE ANY(ARRAY[${orderValue}])
49
+ OR Lower(drg.ref_no_3) LIKE ANY(ARRAY[${orderValue}])
50
+ )`;
51
+ }
52
+ if (bizplace) {
53
+ queryFilter += ` AND drg.bizplace_id = '${bizplace.value}'`;
54
+ }
55
+ if (!bizplaceFilter || !fromDate || !toDate)
56
+ throw 'Invalid input';
57
+ await tx.query(`
58
+ CREATE TEMP TABLE shortage_report ON COMMIT DROP AS (
59
+ SELECT
60
+ b."name" AS "company",
61
+ drg.name AS "order_no",
62
+ drg.ref_no,
63
+ p.sku AS "product_sku",
64
+ p."name" AS "product_name",
65
+ p."description" AS "product_description",
66
+ op.release_qty AS "order_quantity",
67
+ COALESCE(src.av_qty, 0) AS available_qty,
68
+ COALESCE(src.av_qty, 0) - op.release_qty AS "Nett_Stock",
69
+ CONCAT(
70
+ drg.delivery_address_1, ' ',
71
+ drg.delivery_address_2, ' ',
72
+ drg.delivery_address_3, ' ',
73
+ drg.delivery_address_4, ' ',
74
+ drg.delivery_address_5
75
+ ) AS "delivery_address",
76
+ drg.state,
77
+ drg.city,
78
+ drg.country,
79
+ drg.created_at
80
+ FROM
81
+ draft_release_goods drg
82
+ INNER JOIN
83
+ bizplaces b ON b.id = drg.bizplace_id
84
+ INNER JOIN
85
+ order_products op ON op.draft_release_good_id = drg.id
86
+ INNER JOIN
87
+ products p ON p.id = op.product_id
88
+ INNER JOIN
89
+ product_details pd ON pd.id = op.product_detail_id
90
+ LEFT JOIN (
91
+ SELECT
92
+ i.domain_id AS "domain_id",
93
+ i.bizplace_id AS "bizplace_id",
94
+ i.product_id AS "product_id",
95
+ i.product_detail_id AS "product_detail_id",
96
+ COALESCE(SUM(COALESCE(i.qty, 0)) - SUM(COALESCE(i.locked_qty, 0))) AS "av_qty"
97
+ FROM
98
+ inventories i
99
+ INNER JOIN
100
+ locations l2 ON i.location_id = l2.id AND i.domain_id = l2.domain_id AND l2.type NOT IN ('QUARANTINE', 'RESERVE', 'DAMAGE')
101
+ INNER JOIN
102
+ products p ON p.id = i.product_id
103
+ INNER JOIN
104
+ product_details pd ON pd.id = i.product_detail_id
105
+ WHERE
106
+ i.status = 'STORED'
107
+ AND i.obsolete IS FALSE
108
+ AND i.domain_id = $1
109
+ AND i.bizplace_id = '${bizplace.value}'
110
+ GROUP BY
111
+ i.domain_id,
112
+ i.bizplace_id,
113
+ i.product_id,
114
+ i.product_detail_id
115
+ ) src ON op.product_id = src.product_id AND op.product_detail_id = src.product_detail_id
116
+ WHERE
117
+ drg.domain_id = $1
118
+ AND (drg.status = 'DRAFT' OR drg.status = 'PARTIAL RELEASED')
119
+ AND op.status = 'DRAFT'
120
+ AND COALESCE(src.av_qty - op.release_qty, 0) <= 0
121
+ AND op.release_qty != COALESCE(src.av_qty, 0)
122
+ AND drg.created_at >= $2
123
+ AND drg.created_at <= $3
124
+ ${roFilter}
125
+ ${queryFilter}
126
+ ORDER BY
127
+ drg.created_at DESC
128
+ )
129
+ `, [context.state.domain.id, fromDate.value, toDate.value]);
130
+ const total = await tx.query(`
131
+ select count(*) from shortage_report
132
+ `);
133
+ const result = await tx.query(`
134
+ select * from shortage_report
135
+ offset $1 limit $2
136
+ `, [(params.pagination.page - 1) * params.pagination.limit, params.pagination.limit]);
137
+ let items = result.map(itm => {
138
+ return {
139
+ bizplaceName: itm.company,
140
+ orderNo: itm.order_no,
141
+ refNo: itm.ref_no,
142
+ productSku: itm.product_sku,
143
+ productName: itm.product_name,
144
+ productDescription: itm.product_description,
145
+ orderQty: itm.order_quantity,
146
+ avQty: itm.available_qty,
147
+ nettStock: itm.Nett_Stock,
148
+ deliveryAddress: itm.delivery_address,
149
+ state: itm.state,
150
+ city: itm.city,
151
+ country: itm.country,
152
+ createdAt: itm.created_at
153
+ };
154
+ });
155
+ return {
156
+ items,
157
+ total: total[0].count
158
+ };
159
+ }
160
+ catch (error) {
161
+ throw error;
162
+ }
163
+ }
164
+ };
165
+ //# sourceMappingURL=shortage-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shortage-report.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/reports/shortage-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadingQcReport = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const sales_base_1 = require("@things-factory/sales-base");
6
+ exports.loadingQcReport = {
7
+ async loadingQcReport(_, params, context) {
8
+ try {
9
+ const { domain } = context.state;
10
+ let bizplaceFilter = params.filters.find(filter => filter.name === 'bizplace');
11
+ let fromDateFilter = params.filters.find(filter => filter.name === 'fromDate');
12
+ let toDateFilter = params.filters.find(filter => filter.name === 'toDate');
13
+ let routeIdFilter = params.filters.find(filter => filter.name === 'routeId');
14
+ let stopIdFilter = params.filters.find(filter => filter.name === 'stopId');
15
+ let toteIdFilter = params.filters.find(filter => filter.name === 'toteId');
16
+ let orderInfoFilter;
17
+ const orderInfoParamIdx = params.filters.findIndex(param => param.name === 'orderInfo');
18
+ if (orderInfoParamIdx >= 0) {
19
+ orderInfoFilter = params.filters[orderInfoParamIdx].value.toLowerCase().split(',').join('|');
20
+ params.filters.splice(orderInfoParamIdx, 1);
21
+ }
22
+ let toteBoxFilter;
23
+ const toteBoxParamIdx = params.filters.findIndex(param => param.name === 'toteBox');
24
+ if (toteBoxParamIdx >= 0) {
25
+ toteBoxFilter = params.filters[toteBoxParamIdx].value;
26
+ params.filters.splice(toteBoxParamIdx, 1);
27
+ }
28
+ const qb = (0, typeorm_1.getRepository)(sales_base_1.ReleaseGood).createQueryBuilder('rg');
29
+ qb.select('bizplace.name', 'bizplaceName')
30
+ .addSelect('rg.name', 'releaseGoodNo')
31
+ .addSelect('rg.attention_to', 'attentionTo')
32
+ .addSelect('rg.route_id', 'routeId')
33
+ .addSelect('rg.stop_id', 'stopId')
34
+ .addSelect('rg.release_date', 'releaseDate')
35
+ .addSelect(`CASE WHEN EXISTS( SELECT 1 FROM order_tote_items oti WHERE oi.id = oti.order_inventory_id)
36
+ THEN
37
+ CASE WHEN EXISTS (SELECT 1 FROM product_details pd2 WHERE pd2.packing_type = 'Carton' AND pd2.product_id = pd.product_id)
38
+ THEN
39
+ CASE WHEN FLOOR(oti.qty / (SELECT pd2.packing_size FROM product_details pd2 WHERE pd2.packing_type = 'Carton' AND pd2.product_id = pd.product_id)) = 0
40
+ THEN NULL
41
+ ELSE FLOOR("oti"."qty" / (SELECT pd2.packing_size FROM product_details pd2 WHERE pd2.packing_type = 'Carton' AND pd2.product_id = "pd"."product_id"))
42
+ END
43
+ ELSE NULL
44
+ END
45
+ ELSE
46
+ CASE WHEN EXISTS (SELECT 1 FROM product_details pd2 WHERE pd2.packing_type = 'Carton' AND pd2.product_id = pd.product_id)
47
+ THEN
48
+ CASE WHEN FLOOR(oi.release_qty / (SELECT pd2.packing_size FROM product_details pd2 WHERE pd2.packing_type = 'Carton' AND pd2.product_id = pd.product_id)) = 0
49
+ THEN NULL
50
+ ELSE FLOOR(oi.release_qty / (SELECT pd2.packing_size FROM product_details pd2 WHERE pd2.packing_type = 'Carton' AND pd2.product_id = pd.product_id))
51
+ END
52
+ ELSE NULL
53
+ END
54
+ END`, 'totalCarton')
55
+ .addSelect('case when oti.qty is null then oi.release_qty else oti.qty end', 'orderQuantity')
56
+ .addSelect('ot.name', 'tote')
57
+ .addSelect('case when ot.tote_id is null then false else true end', 'toteBox')
58
+ .addSelect('ots.name', 'sealId')
59
+ .innerJoin('worksheets', 'w', 'w.release_good_id = rg.id')
60
+ .innerJoin('order_inventories', 'oi', 'oi.release_good_id = rg.id')
61
+ .innerJoin('bizplaces', 'bizplace', 'bizplace.id = rg.bizplace_id')
62
+ .leftJoin('order_tote_items', 'oti', 'oti.order_inventory_id = oi.id')
63
+ .leftJoin('order_totes', 'ot', 'ot.id = oti.order_tote_id')
64
+ .leftJoin('order_tote_seals', 'ots', 'ots.order_tote_id = ot.id')
65
+ .innerJoin('product_details', 'pd', 'oi.product_detail_id = pd.id')
66
+ .where('rg.status = :status', { status: 'LOADING' })
67
+ .andWhere('bizplace.id = :bizplaceId', { bizplaceId: bizplaceFilter.value })
68
+ .andWhere('rg.release_date <= :toDate', { toDate: toDateFilter.value })
69
+ .andWhere('rg.release_date >= :fromDate', { fromDate: fromDateFilter.value })
70
+ .andWhere('w.type = :type', { type: 'LOADING' })
71
+ .andWhere('rg.domain_id = :domainId', { domainId: domain.id })
72
+ .groupBy('bizplace.name')
73
+ .addGroupBy('rg.name ')
74
+ .addGroupBy('rg.route_id')
75
+ .addGroupBy('rg.stop_id')
76
+ .addGroupBy('rg.release_date')
77
+ .addGroupBy('case when oti.qty is null then oi.release_qty else oti.qty end')
78
+ .addGroupBy('ot.name')
79
+ .addGroupBy('case when ot.tote_id is null then false else true end')
80
+ .addGroupBy('ots.name')
81
+ .addGroupBy('rg.attention_to')
82
+ .addGroupBy('oi.inventory_id')
83
+ .addGroupBy('w.created_at')
84
+ .addGroupBy('pd.product_id')
85
+ .addGroupBy('oi.release_qty')
86
+ .addGroupBy('oi.id')
87
+ .addGroupBy('oti.qty');
88
+ orderInfoFilter
89
+ ? qb.andWhere('(rg.name ~* :orderInfoFilter or rg.ref_no ~* :orderInfoFilter or rg.ref_no_2 ~* :orderInfoFilter or rg.ref_no_3 ~* :orderInfoFilter)', { orderInfoFilter })
90
+ : '';
91
+ toteBoxFilter ? qb.andWhere('ot.tote_id is not null') : '';
92
+ routeIdFilter ? qb.andWhere(`rg.route_id ilike :routeId`, { routeId: routeIdFilter.value }) : '';
93
+ stopIdFilter ? qb.andWhere(`rg.stop_id ilike :stopId`, { stopId: stopIdFilter.value }) : '';
94
+ toteIdFilter ? qb.andWhere(`ot.name ilike :toteId`, { toteId: toteIdFilter.value }) : '';
95
+ qb.orderBy('w.created_at', 'DESC');
96
+ qb.addOrderBy('ots.name', 'ASC');
97
+ console.time('loadingQcReport');
98
+ let items = await qb.getRawMany();
99
+ console.timeEnd('loadingQcReport');
100
+ items = items.reduce((prev, curr, idx) => {
101
+ if (curr.tote) {
102
+ let reducedItemIndex = prev.findIndex(itm => itm.releaseGoodNo == curr.releaseGoodNo && itm.tote == curr.tote);
103
+ if (reducedItemIndex == -1) {
104
+ prev.push(curr);
105
+ prev[prev.length - 1].totalSeal = 1;
106
+ }
107
+ else {
108
+ prev[reducedItemIndex].orderQuantity += curr.orderQuantity;
109
+ prev[reducedItemIndex].totalCarton += curr.totalCarton;
110
+ if (!prev[reducedItemIndex].sealId.includes(curr.sealId)) {
111
+ prev[reducedItemIndex].sealId = prev[reducedItemIndex].sealId.concat(', ', curr.sealId);
112
+ prev[reducedItemIndex].totalSeal++;
113
+ }
114
+ }
115
+ return prev;
116
+ }
117
+ else {
118
+ prev.push(curr);
119
+ return prev;
120
+ }
121
+ }, []);
122
+ return items;
123
+ }
124
+ catch (error) {
125
+ throw error;
126
+ }
127
+ }
128
+ };
129
+ //# sourceMappingURL=tote-loading-qc-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tote-loading-qc-report.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/reports/tote-loading-qc-report.ts"],"names":[],"mappings":"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"}