@things-factory/operato-wms 4.3.671 → 4.3.675

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 (301) hide show
  1. package/client/pages/outbound/loading-v2/loading-execution-base.js +22 -4
  2. package/client/pages/outbound/loading-v2/loading.js +11 -4
  3. package/client/pages/outbound/loading-v2/release-good-info.js +10 -1
  4. package/dist-server/graphql/index.js +33 -0
  5. package/dist-server/graphql/index.js.map +1 -0
  6. package/dist-server/graphql/resolvers/board-setting/board-settings.js +78 -0
  7. package/dist-server/graphql/resolvers/board-setting/board-settings.js.map +1 -0
  8. package/dist-server/graphql/resolvers/board-setting/index.js +6 -0
  9. package/dist-server/graphql/resolvers/board-setting/index.js.map +1 -0
  10. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js +87 -0
  11. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js.map +1 -0
  12. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js +138 -0
  13. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js.map +1 -0
  14. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js +124 -0
  15. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js.map +1 -0
  16. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js +159 -0
  17. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js.map +1 -0
  18. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js +90 -0
  19. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js.map +1 -0
  20. package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js +34 -0
  21. package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js.map +1 -0
  22. package/dist-server/graphql/resolvers/custom/elccl/index.js +11 -0
  23. package/dist-server/graphql/resolvers/custom/elccl/index.js.map +1 -0
  24. package/dist-server/graphql/resolvers/custom/kimeda/index.js +6 -0
  25. package/dist-server/graphql/resolvers/custom/kimeda/index.js.map +1 -0
  26. package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js +40 -0
  27. package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js.map +1 -0
  28. package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js +36 -0
  29. package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js.map +1 -0
  30. package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js +24 -0
  31. package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js.map +1 -0
  32. package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js +24 -0
  33. package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js.map +1 -0
  34. package/dist-server/graphql/resolvers/dashboard/index.js +12 -0
  35. package/dist-server/graphql/resolvers/dashboard/index.js.map +1 -0
  36. package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js +65 -0
  37. package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js.map +1 -0
  38. package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js +22 -0
  39. package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js.map +1 -0
  40. package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js +36 -0
  41. package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js.map +1 -0
  42. package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js +56 -0
  43. package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js.map +1 -0
  44. package/dist-server/graphql/resolvers/index.js +58 -0
  45. package/dist-server/graphql/resolvers/index.js.map +1 -0
  46. package/dist-server/graphql/resolvers/inventory-comparison/index.js +6 -0
  47. package/dist-server/graphql/resolvers/inventory-comparison/index.js.map +1 -0
  48. package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js +78 -0
  49. package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js.map +1 -0
  50. package/dist-server/graphql/resolvers/opa-menu/index.js +6 -0
  51. package/dist-server/graphql/resolvers/opa-menu/index.js.map +1 -0
  52. package/dist-server/graphql/resolvers/opa-menu/opa-menus.js +73 -0
  53. package/dist-server/graphql/resolvers/opa-menu/opa-menus.js.map +1 -0
  54. package/dist-server/graphql/resolvers/other/add-release-good-products.js +309 -0
  55. package/dist-server/graphql/resolvers/other/add-release-good-products.js.map +1 -0
  56. package/dist-server/graphql/resolvers/other/index.js +8 -0
  57. package/dist-server/graphql/resolvers/other/index.js.map +1 -0
  58. package/dist-server/graphql/resolvers/other/page-settings.js +135 -0
  59. package/dist-server/graphql/resolvers/other/page-settings.js.map +1 -0
  60. package/dist-server/graphql/resolvers/outbound/complete-load.js +162 -0
  61. package/dist-server/graphql/resolvers/outbound/complete-load.js.map +1 -0
  62. package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js +149 -0
  63. package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js.map +1 -0
  64. package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js +114 -0
  65. package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js.map +1 -0
  66. package/dist-server/graphql/resolvers/outbound/get-delivery-orders.js +46 -0
  67. package/dist-server/graphql/resolvers/outbound/get-delivery-orders.js.map +1 -0
  68. package/dist-server/graphql/resolvers/outbound/get-loading-task.js +100 -0
  69. package/dist-server/graphql/resolvers/outbound/get-loading-task.js.map +1 -0
  70. package/dist-server/graphql/resolvers/outbound/index.js +17 -0
  71. package/dist-server/graphql/resolvers/outbound/index.js.map +1 -0
  72. package/dist-server/graphql/resolvers/outbound/load-by-qty.js +121 -0
  73. package/dist-server/graphql/resolvers/outbound/load-by-qty.js.map +1 -0
  74. package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js +161 -0
  75. package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js.map +1 -0
  76. package/dist-server/graphql/resolvers/outbound/my-loading-assignment-status.js +32 -0
  77. package/dist-server/graphql/resolvers/outbound/my-loading-assignment-status.js.map +1 -0
  78. package/dist-server/graphql/resolvers/outbound/sort-item.js +66 -0
  79. package/dist-server/graphql/resolvers/outbound/sort-item.js.map +1 -0
  80. package/dist-server/graphql/resolvers/outbound/undo-load.js +72 -0
  81. package/dist-server/graphql/resolvers/outbound/undo-load.js.map +1 -0
  82. package/dist-server/graphql/resolvers/outbound/warehouse-return.js +101 -0
  83. package/dist-server/graphql/resolvers/outbound/warehouse-return.js.map +1 -0
  84. package/dist-server/graphql/resolvers/reports/analysis-picking-packing-report.js +128 -0
  85. package/dist-server/graphql/resolvers/reports/analysis-picking-packing-report.js.map +1 -0
  86. package/dist-server/graphql/resolvers/reports/billing-module-report.js +355 -0
  87. package/dist-server/graphql/resolvers/reports/billing-module-report.js.map +1 -0
  88. package/dist-server/graphql/resolvers/reports/costing-report.js +166 -0
  89. package/dist-server/graphql/resolvers/reports/costing-report.js.map +1 -0
  90. package/dist-server/graphql/resolvers/reports/cycle-count-report.js +311 -0
  91. package/dist-server/graphql/resolvers/reports/cycle-count-report.js.map +1 -0
  92. package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js +218 -0
  93. package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +1 -0
  94. package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js +140 -0
  95. package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js.map +1 -0
  96. package/dist-server/graphql/resolvers/reports/index.js +21 -0
  97. package/dist-server/graphql/resolvers/reports/index.js.map +1 -0
  98. package/dist-server/graphql/resolvers/reports/manifest-report.js +98 -0
  99. package/dist-server/graphql/resolvers/reports/manifest-report.js.map +1 -0
  100. package/dist-server/graphql/resolvers/reports/non-loaded-inventory-report.js +143 -0
  101. package/dist-server/graphql/resolvers/reports/non-loaded-inventory-report.js.map +1 -0
  102. package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js +298 -0
  103. package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js.map +1 -0
  104. package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js +143 -0
  105. package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js.map +1 -0
  106. package/dist-server/graphql/resolvers/reports/pg-udf-query.js +70 -0
  107. package/dist-server/graphql/resolvers/reports/pg-udf-query.js.map +1 -0
  108. package/dist-server/graphql/resolvers/reports/product-label-report.js +57 -0
  109. package/dist-server/graphql/resolvers/reports/product-label-report.js.map +1 -0
  110. package/dist-server/graphql/resolvers/reports/release-inventory-report.js +180 -0
  111. package/dist-server/graphql/resolvers/reports/release-inventory-report.js.map +1 -0
  112. package/dist-server/graphql/resolvers/reports/shortage-report.js +165 -0
  113. package/dist-server/graphql/resolvers/reports/shortage-report.js.map +1 -0
  114. package/dist-server/graphql/resolvers/reports/tote-loading-qc-report.js +129 -0
  115. package/dist-server/graphql/resolvers/reports/tote-loading-qc-report.js.map +1 -0
  116. package/dist-server/graphql/resolvers/reports/vas-report.js +386 -0
  117. package/dist-server/graphql/resolvers/reports/vas-report.js.map +1 -0
  118. package/dist-server/graphql/resolvers/shipping-provider/index.js +6 -0
  119. package/dist-server/graphql/resolvers/shipping-provider/index.js.map +1 -0
  120. package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js +24 -0
  121. package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +1 -0
  122. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/index.js +6 -0
  123. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/index.js.map +1 -0
  124. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js +97 -0
  125. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js.map +1 -0
  126. package/dist-server/graphql/resolvers/zone-worksheet/activate-zone-worksheet.js +91 -0
  127. package/dist-server/graphql/resolvers/zone-worksheet/activate-zone-worksheet.js.map +1 -0
  128. package/dist-server/graphql/resolvers/zone-worksheet/assign-sorter.js +36 -0
  129. package/dist-server/graphql/resolvers/zone-worksheet/assign-sorter.js.map +1 -0
  130. package/dist-server/graphql/resolvers/zone-worksheet/generate-zone-worksheet.js +106 -0
  131. package/dist-server/graphql/resolvers/zone-worksheet/generate-zone-worksheet.js.map +1 -0
  132. package/dist-server/graphql/resolvers/zone-worksheet/get-zone-picking-task.js +108 -0
  133. package/dist-server/graphql/resolvers/zone-worksheet/get-zone-picking-task.js.map +1 -0
  134. package/dist-server/graphql/resolvers/zone-worksheet/index.js +12 -0
  135. package/dist-server/graphql/resolvers/zone-worksheet/index.js.map +1 -0
  136. package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js +346 -0
  137. package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js.map +1 -0
  138. package/dist-server/graphql/resolvers/zone-worksheet/zone-worksheet.js +146 -0
  139. package/dist-server/graphql/resolvers/zone-worksheet/zone-worksheet.js.map +1 -0
  140. package/dist-server/graphql/types/board-setting/board-setting.js +16 -0
  141. package/dist-server/graphql/types/board-setting/board-setting.js.map +1 -0
  142. package/dist-server/graphql/types/board-setting/index.js +9 -0
  143. package/dist-server/graphql/types/board-setting/index.js.map +1 -0
  144. package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report-list.js +14 -0
  145. package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report-list.js.map +1 -0
  146. package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report.js +30 -0
  147. package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report.js.map +1 -0
  148. package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report-list.js +14 -0
  149. package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report-list.js.map +1 -0
  150. package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report.js +25 -0
  151. package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report.js.map +1 -0
  152. package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.js +22 -0
  153. package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.js.map +1 -0
  154. package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report-list.js +14 -0
  155. package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report-list.js.map +1 -0
  156. package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report.js +23 -0
  157. package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report.js.map +1 -0
  158. package/dist-server/graphql/types/custom/elccl/elccl-pallet-detail-report.js +22 -0
  159. package/dist-server/graphql/types/custom/elccl/elccl-pallet-detail-report.js.map +1 -0
  160. package/dist-server/graphql/types/custom/elccl/index.js +30 -0
  161. package/dist-server/graphql/types/custom/elccl/index.js.map +1 -0
  162. package/dist-server/graphql/types/custom/kimeda/index.js +7 -0
  163. package/dist-server/graphql/types/custom/kimeda/index.js.map +1 -0
  164. package/dist-server/graphql/types/dashboard/index.js +17 -0
  165. package/dist-server/graphql/types/dashboard/index.js.map +1 -0
  166. package/dist-server/graphql/types/dashboard/inventory-expiry-counter.js +16 -0
  167. package/dist-server/graphql/types/dashboard/inventory-expiry-counter.js.map +1 -0
  168. package/dist-server/graphql/types/dashboard/inventory-expiry-status.js +14 -0
  169. package/dist-server/graphql/types/dashboard/inventory-expiry-status.js.map +1 -0
  170. package/dist-server/graphql/types/dashboard/order-status-counter.js +14 -0
  171. package/dist-server/graphql/types/dashboard/order-status-counter.js.map +1 -0
  172. package/dist-server/graphql/types/index.js +70 -0
  173. package/dist-server/graphql/types/index.js.map +1 -0
  174. package/dist-server/graphql/types/inventory-comparison/index.js +13 -0
  175. package/dist-server/graphql/types/inventory-comparison/index.js.map +1 -0
  176. package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.js +14 -0
  177. package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.js.map +1 -0
  178. package/dist-server/graphql/types/inventory-comparison/inventory-comparison.js +18 -0
  179. package/dist-server/graphql/types/inventory-comparison/inventory-comparison.js.map +1 -0
  180. package/dist-server/graphql/types/opa-menu/index.js +9 -0
  181. package/dist-server/graphql/types/opa-menu/index.js.map +1 -0
  182. package/dist-server/graphql/types/opa-menu/opa-menu.js +45 -0
  183. package/dist-server/graphql/types/opa-menu/opa-menu.js.map +1 -0
  184. package/dist-server/graphql/types/other/index.js +21 -0
  185. package/dist-server/graphql/types/other/index.js.map +1 -0
  186. package/dist-server/graphql/types/other/page-setting.js +37 -0
  187. package/dist-server/graphql/types/other/page-setting.js.map +1 -0
  188. package/dist-server/graphql/types/outbound/delivery-order-info-list.js +14 -0
  189. package/dist-server/graphql/types/outbound/delivery-order-info-list.js.map +1 -0
  190. package/dist-server/graphql/types/outbound/index.js +24 -0
  191. package/dist-server/graphql/types/outbound/index.js.map +1 -0
  192. package/dist-server/graphql/types/outbound/loading-assignment.js +15 -0
  193. package/dist-server/graphql/types/outbound/loading-assignment.js.map +1 -0
  194. package/dist-server/graphql/types/outbound/loading-worksheet-type.js +25 -0
  195. package/dist-server/graphql/types/outbound/loading-worksheet-type.js.map +1 -0
  196. package/dist-server/graphql/types/reports/analysis-picking-packing-report-list.js +14 -0
  197. package/dist-server/graphql/types/reports/analysis-picking-packing-report-list.js.map +1 -0
  198. package/dist-server/graphql/types/reports/analysis-picking-packing-report.js +18 -0
  199. package/dist-server/graphql/types/reports/analysis-picking-packing-report.js.map +1 -0
  200. package/dist-server/graphql/types/reports/billing-module-report-list.js +14 -0
  201. package/dist-server/graphql/types/reports/billing-module-report-list.js.map +1 -0
  202. package/dist-server/graphql/types/reports/billing-module-report.js +15 -0
  203. package/dist-server/graphql/types/reports/billing-module-report.js.map +1 -0
  204. package/dist-server/graphql/types/reports/costing-report-list.js +14 -0
  205. package/dist-server/graphql/types/reports/costing-report-list.js.map +1 -0
  206. package/dist-server/graphql/types/reports/costing-report.js +19 -0
  207. package/dist-server/graphql/types/reports/costing-report.js.map +1 -0
  208. package/dist-server/graphql/types/reports/cycle-count-report-list.js +14 -0
  209. package/dist-server/graphql/types/reports/cycle-count-report-list.js.map +1 -0
  210. package/dist-server/graphql/types/reports/cycle-count-report.js +35 -0
  211. package/dist-server/graphql/types/reports/cycle-count-report.js.map +1 -0
  212. package/dist-server/graphql/types/reports/inbound-order-details-report-list.js +14 -0
  213. package/dist-server/graphql/types/reports/inbound-order-details-report-list.js.map +1 -0
  214. package/dist-server/graphql/types/reports/inbound-order-details-report.js +60 -0
  215. package/dist-server/graphql/types/reports/inbound-order-details-report.js.map +1 -0
  216. package/dist-server/graphql/types/reports/inbound-serial-number-report-list.js +14 -0
  217. package/dist-server/graphql/types/reports/inbound-serial-number-report-list.js.map +1 -0
  218. package/dist-server/graphql/types/reports/inbound-serial-number-report.js +23 -0
  219. package/dist-server/graphql/types/reports/inbound-serial-number-report.js.map +1 -0
  220. package/dist-server/graphql/types/reports/index.js +89 -0
  221. package/dist-server/graphql/types/reports/index.js.map +1 -0
  222. package/dist-server/graphql/types/reports/loading-qc-report-list.js +14 -0
  223. package/dist-server/graphql/types/reports/loading-qc-report-list.js.map +1 -0
  224. package/dist-server/graphql/types/reports/loading-qc-report.js +24 -0
  225. package/dist-server/graphql/types/reports/loading-qc-report.js.map +1 -0
  226. package/dist-server/graphql/types/reports/manifest-report-list.js +14 -0
  227. package/dist-server/graphql/types/reports/manifest-report-list.js.map +1 -0
  228. package/dist-server/graphql/types/reports/manifest-report-type.js +23 -0
  229. package/dist-server/graphql/types/reports/manifest-report-type.js.map +1 -0
  230. package/dist-server/graphql/types/reports/non-loaded-inventory-report-list.js +14 -0
  231. package/dist-server/graphql/types/reports/non-loaded-inventory-report-list.js.map +1 -0
  232. package/dist-server/graphql/types/reports/non-loaded-inventory-report.js +23 -0
  233. package/dist-server/graphql/types/reports/non-loaded-inventory-report.js.map +1 -0
  234. package/dist-server/graphql/types/reports/outbound-order-details-report-list.js +14 -0
  235. package/dist-server/graphql/types/reports/outbound-order-details-report-list.js.map +1 -0
  236. package/dist-server/graphql/types/reports/outbound-order-details-report.js +79 -0
  237. package/dist-server/graphql/types/reports/outbound-order-details-report.js.map +1 -0
  238. package/dist-server/graphql/types/reports/outbound-serial-number-report-list.js +14 -0
  239. package/dist-server/graphql/types/reports/outbound-serial-number-report-list.js.map +1 -0
  240. package/dist-server/graphql/types/reports/outbound-serial-number-report.js +25 -0
  241. package/dist-server/graphql/types/reports/outbound-serial-number-report.js.map +1 -0
  242. package/dist-server/graphql/types/reports/pg-udf-query-list.js +13 -0
  243. package/dist-server/graphql/types/reports/pg-udf-query-list.js.map +1 -0
  244. package/dist-server/graphql/types/reports/product-label-report-list.js +14 -0
  245. package/dist-server/graphql/types/reports/product-label-report-list.js.map +1 -0
  246. package/dist-server/graphql/types/reports/product-label-report.js +16 -0
  247. package/dist-server/graphql/types/reports/product-label-report.js.map +1 -0
  248. package/dist-server/graphql/types/reports/release-inventory-report-list.js +14 -0
  249. package/dist-server/graphql/types/reports/release-inventory-report-list.js.map +1 -0
  250. package/dist-server/graphql/types/reports/release-inventory-report.js +29 -0
  251. package/dist-server/graphql/types/reports/release-inventory-report.js.map +1 -0
  252. package/dist-server/graphql/types/reports/shortage-report-list.js +14 -0
  253. package/dist-server/graphql/types/reports/shortage-report-list.js.map +1 -0
  254. package/dist-server/graphql/types/reports/shortage-report-type.js +26 -0
  255. package/dist-server/graphql/types/reports/shortage-report-type.js.map +1 -0
  256. package/dist-server/graphql/types/reports/vas-report-list.js +20 -0
  257. package/dist-server/graphql/types/reports/vas-report-list.js.map +1 -0
  258. package/dist-server/graphql/types/reports/vas-report.js +29 -0
  259. package/dist-server/graphql/types/reports/vas-report.js.map +1 -0
  260. package/dist-server/graphql/types/shipping-provider/index.js +10 -0
  261. package/dist-server/graphql/types/shipping-provider/index.js.map +1 -0
  262. package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js +13 -0
  263. package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js.map +1 -0
  264. package/dist-server/graphql/types/shipping-provider/shipping-provider.js +13 -0
  265. package/dist-server/graphql/types/shipping-provider/shipping-provider.js.map +1 -0
  266. package/dist-server/graphql/types/warehouse-inventory-adjustment/index.js +9 -0
  267. package/dist-server/graphql/types/warehouse-inventory-adjustment/index.js.map +1 -0
  268. package/dist-server/graphql/types/zone-worksheet/index.js +22 -0
  269. package/dist-server/graphql/types/zone-worksheet/index.js.map +1 -0
  270. package/dist-server/graphql/types/zone-worksheet/zone-picking-worksheet.js +18 -0
  271. package/dist-server/graphql/types/zone-worksheet/zone-picking-worksheet.js.map +1 -0
  272. package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview-list.js +13 -0
  273. package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview-list.js.map +1 -0
  274. package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview.js +16 -0
  275. package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview.js.map +1 -0
  276. package/dist-server/index.js +20 -0
  277. package/dist-server/index.js.map +1 -0
  278. package/dist-server/migrations/1568858861188-SeedSetting.js +51 -0
  279. package/dist-server/migrations/1568858861188-SeedSetting.js.map +1 -0
  280. package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js +35 -0
  281. package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js.map +1 -0
  282. package/dist-server/migrations/1623381200659-SeedStoringRule.js +33 -0
  283. package/dist-server/migrations/1623381200659-SeedStoringRule.js.map +1 -0
  284. package/dist-server/migrations/1687413760311-UpdateProductDetailStockQty.js +36 -0
  285. package/dist-server/migrations/1687413760311-UpdateProductDetailStockQty.js.map +1 -0
  286. package/dist-server/migrations/1687415141200-InsertNewProductDetailStock.js +32 -0
  287. package/dist-server/migrations/1687415141200-InsertNewProductDetailStock.js.map +1 -0
  288. package/dist-server/migrations/index.js +12 -0
  289. package/dist-server/migrations/index.js.map +1 -0
  290. package/dist-server/opa-app-setting-constants.js +15 -0
  291. package/dist-server/opa-app-setting-constants.js.map +1 -0
  292. package/dist-server/routes.js +3 -0
  293. package/dist-server/routes.js.map +1 -0
  294. package/dist-server/utils/index.js +18 -0
  295. package/dist-server/utils/index.js.map +1 -0
  296. package/dist-server/utils/report-query-util.js +42 -0
  297. package/dist-server/utils/report-query-util.js.map +1 -0
  298. package/package.json +38 -38
  299. package/server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.ts +1 -0
  300. package/server/graphql/resolvers/outbound/loading-worksheet-v2.ts +6 -0
  301. package/server/graphql/resolvers/reports/outbound-order-details-report.ts +17 -7
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.outboundOrderDetailsReport = void 0;
4
+ const auth_base_1 = require("@things-factory/auth-base");
5
+ const biz_base_1 = require("@things-factory/biz-base");
6
+ const utils_1 = require("../../../utils");
7
+ exports.outboundOrderDetailsReport = {
8
+ async outboundOrderDetailsReport(_, params, context) {
9
+ try {
10
+ const { domain, user, tx } = context.state;
11
+ let bizplaceFilter = { name: '', operator: '', value: '' };
12
+ let userFilter = params.filters.find(data => data.name === 'user');
13
+ let fromDate = params.filters.find(data => data.name === 'fromDate');
14
+ let toDate = params.filters.find(data => data.name === 'toDate');
15
+ let roNo = params.filters.find(data => data.name === 'roNo');
16
+ let doNo = params.filters.find(data => data.name === 'doNo');
17
+ let status = params.filters.find(data => data.name === 'status');
18
+ let binLocation = params.filters.find(data => data.name === 'binLocation');
19
+ let priorityDelivery = params.filters.find(data => data.name === 'priorityDelivery');
20
+ let byPackingComplete = params.filters.find(data => data.name === 'byPackingComplete');
21
+ if (userFilter) {
22
+ const user = await tx.getRepository(auth_base_1.User).findOne({
23
+ where: { id: userFilter.value },
24
+ relations: ['bizplaces']
25
+ });
26
+ const bizplace = user.bizplaces[0];
27
+ if (!bizplace)
28
+ throw 'Invalid input';
29
+ bizplaceFilter = { name: 'bizplace', operator: 'eq', value: bizplace.id };
30
+ }
31
+ else {
32
+ bizplaceFilter = params.filters.find(data => data.name === 'bizplace');
33
+ }
34
+ if (!bizplaceFilter || !fromDate || !toDate)
35
+ throw 'Invalid input';
36
+ const bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
37
+ id: bizplaceFilter.value
38
+ });
39
+ await (0, utils_1.rawProductsQuery)(tx, params, bizplace);
40
+ // Apply filters using base table columns within the inner SELECT to avoid alias scoping issues
41
+ // The first subquery joins delivery_orders as do2; the second does not. Split filters accordingly.
42
+ let innerQueryFilters1 = '';
43
+ let innerQueryFilters2 = '';
44
+ const hasDoFilter = !!doNo;
45
+ if (roNo) {
46
+ innerQueryFilters1 = `${innerQueryFilters1} and rg.name like '%${roNo.value}%' `;
47
+ innerQueryFilters2 = `${innerQueryFilters2} and rg.name like '%${roNo.value}%' `;
48
+ }
49
+ if (doNo) {
50
+ innerQueryFilters1 = `${innerQueryFilters1} and do2.name like '%${doNo.value}%' `;
51
+ }
52
+ console.time('temp');
53
+ await tx.query(`
54
+ create temp table temp_outbound_order_report on commit drop as (
55
+ select * from (
56
+ select oi.id,
57
+ oi.release_qty AS "release_qty", oi.picked_at, oi.picked_by, oi.packed_at, oi.packed_by, oi.loaded_at, oi.loaded_by,
58
+ oi.release_qty as "qty", oi.release_uom_value as "uom_value", oi.return_to_location_qty, oi.return_to_location_uom_value, oi.product_detail_id,
59
+ l2.name as "picking_location",
60
+ coalesce(do2.other_driver, td.name) as driver_name,
61
+ coalesce(do2.truck_no, tv.name, rg.truck_no) as vehicle_no,
62
+ do2.name AS "delivery_order_no", do2.delivery_date::timestamp AS "delivery_order_delivery_date", do2."to", do2.contact_point_ref_id, do2.pallet_qty,
63
+ coalesce(do2.delivery_date_time, do2.delivery_date::timestamp, ms.dispatched_at, null) as "dispatched_at",
64
+ rg.bizplace_id, $5 AS "bizplace_name", $6 AS "bizplace_description", rg.priority_delivery as "priority_delivery",
65
+ coalesce( concat(do2.delivery_address_1, do2.delivery_address_2, do2.delivery_address_3, do2.delivery_address_4, do2.delivery_address_5, do2.postal_code, do2.country), concat(rg.delivery_address_1, rg.delivery_address_2, rg.delivery_address_3, rg.delivery_address_4, rg.delivery_address_5, rg.postal_code, rg.country)) as delivery_address,
66
+ so.container_no, so.container_size,
67
+ rg.export_option, rg.name AS "ro_no", rg."type" as "ro_type", rg.ref_no AS "ref_no_1", rg.ref_no_2 AS "ref_no_2", rg.ref_no_3 AS "ref_no_3", rg.status as "ro_status",
68
+ u1.name as "order_created_by", rg.created_at AS "order_created_at",
69
+ rg.accepted_at, u4.name as accepted_by, rg.checked_remark_by, rg.checked_remark_at, coalesce(do2.own_collection, rg.own_transport) AS own_transport,
70
+ p.id as "product_id", p.sku as "product_sku", p.name AS "product_name", p.description AS "product_description", p.type as "product_type", oi.packing_type as "packing_type", oi.packing_size as "packing_size",
71
+ i.uom, i.unit_cost,
72
+ i.id as inventory_id, i.pallet_id, i.carton_id, i.batch_id, i.batch_id_ref, i.expiration_date, i.manufacture_date,
73
+ coalesce(ms.name,'') as manifest_no, coalesce(rg.manifested_at, ms.created_at) as manifested_at, coalesce(u6.name, u5.name) as manifested_by, l.name as picking_bin
74
+ from release_goods rg
75
+ left join users u1 on u1.id = rg.creator_id
76
+ inner join order_inventories oi on rg.id = oi.release_good_id
77
+ left join locations l on l.id = oi.bin_location_id
78
+ left join shipping_orders so on so.id = rg.shipping_order_id
79
+ left join users u4 on u4.id = rg.accepted_by_id
80
+ left join manifests ms on ms.id = rg.manifest_id
81
+ left join users u5 on u5.id = ms.creator_id
82
+ left join users u6 on u6.id = rg.manifested_by_id
83
+ inner join inventories i on i.id = oi.inventory_id
84
+ inner join temp_products p on p.id = oi.product_id
85
+ left join delivery_orders do2 on do2.id = oi.delivery_order_id
86
+ left join transport_drivers td ON td.id = do2.transport_driver_id
87
+ left join transport_vehicles tv on tv.id = do2.transport_vehicle_id
88
+ left join locations l2 on l2.id = i.location_id
89
+ where rg.bizplace_id = $2 and rg.domain_id = $1
90
+ and rg.created_at >= $3 and rg.created_at <= $4
91
+ and oi.status <> 'REPLACED'
92
+ and oi.release_qty > 0
93
+ ${status ? `and rg.status = '${status.value}' ` : ``}
94
+ ${binLocation ? `and l.name ilike '${binLocation.value}' ` : ``}
95
+ ${priorityDelivery ? `and rg.priority_delivery = ${priorityDelivery.value} ` : ``}
96
+ ${innerQueryFilters1}
97
+ and oi.release_qty > 0
98
+ ) src
99
+ where 1=1
100
+ ${hasDoFilter
101
+ ? ''
102
+ : `union all
103
+ select * from (
104
+ select op.id,
105
+ op.release_qty AS "release_qty", NULL::timestamp, NULL, NULL::timestamp, NULL, NULL::timestamp, NULL,
106
+ op.release_qty as "qty", op.release_uom_value as "uom_value", NULL:: double precision, null:: double precision, op.product_detail_id,
107
+ NULL,
108
+ NULL, NULL,
109
+ NULL, NULL::timestamp, NULL, null::uuid, null,
110
+ null::timestamp,
111
+ rg.bizplace_id, $5 AS "bizplace_name", $6 AS "bizplace_description", rg.priority_delivery as "priority_delivery",
112
+ NULL, so.container_no, so.container_size,
113
+ rg.export_option, rg.name AS "ro_no", rg."type" as "ro_type", rg.ref_no AS "ref_no_1", rg.ref_no_2 AS "ref_no_2", rg.ref_no_3 AS "ref_no_3", rg.status as "ro_status",
114
+ u1.name as "order_created_by", rg.created_at AS "order_created_at",
115
+ rg.accepted_at, u4.name as accepted_by, rg.checked_remark_by, rg.checked_remark_at, rg.own_transport AS own_transport,
116
+ p.id as "product_id", p.sku as "product_sku", p.name AS "product_name", p.description AS "product_description", p.type as "product_type", op.packing_type as "packing_type", op.packing_size as "packing_size",
117
+ op.uom, null::double precision,
118
+ null::uuid, NULL, NULL, op.batch_id, op.batch_id_ref, null::date, null::date,
119
+ coalesce(ms.name,'') as manifest_no, coalesce(rg.manifested_at, ms.created_at) as manifested_at, coalesce(u6.name, u5.name) as manifested_by, NULL
120
+ from release_goods rg
121
+ left join users u1 on u1.id = rg.creator_id
122
+ inner join order_products op on rg.id = op.release_good_id
123
+ left join shipping_orders so on so.id = rg.shipping_order_id
124
+ left join users u4 on u4.id = rg.accepted_by_id
125
+ left join manifests ms on ms.id = rg.manifest_id
126
+ left join users u5 on u5.id = ms.creator_id
127
+ left join users u6 on u6.id = rg.manifested_by_id
128
+ inner join temp_products p on p.id = op.product_id
129
+ where rg.bizplace_id = $2 and rg.domain_id = $1
130
+ and rg.created_at >= $3 and rg.created_at <= $4
131
+ and rg.assigned_inventory = false
132
+ ${status ? `and rg.status = '${status.value}' ` : ``}
133
+ ${priorityDelivery ? `and rg.priority_delivery = ${priorityDelivery.value} ` : ``}
134
+ ${innerQueryFilters2}
135
+ and rg.assigned_inventory = false
136
+ and op.release_qty > 0
137
+ ) src2
138
+ where 1=1`}
139
+ )
140
+ `, [context.state.domain.id, bizplace.id, fromDate.value, toDate.value, bizplace.name, bizplace.description]);
141
+ console.timeEnd('temp');
142
+ await tx.query(`
143
+ create temp table temp_outbound_order_worksheet on commit drop as (
144
+ select oi.id, w.started_at, w.ended_at, w.type, w.status from temp_outbound_order_report oi
145
+ inner join worksheet_details wd on wd.target_inventory_id = oi.id
146
+ inner join worksheets w on w.id = wd.worksheet_id
147
+ where oi.id is not null
148
+ )
149
+ `);
150
+ const total = await tx.query(`
151
+ select count(*) from temp_outbound_order_report oi
152
+ left join temp_outbound_order_worksheet wpack on wpack.id = oi.id and wpack.type= 'PACKING'
153
+ WHERE 1=1
154
+ ${byPackingComplete.value
155
+ ? `and wpack.ended_at BETWEEN '${fromDate.value}' and '${toDate.value}' and wpack.status = 'DONE'`
156
+ : ''}
157
+ `);
158
+ console.time('result');
159
+ const result = await tx.query(`
160
+ select *,
161
+ round((qty * unit_volume)::numeric ,4) as total_volume,
162
+ round((qty * unit_nett_weight)::numeric ,4) as total_unit_nett_weight,
163
+ round((qty * unit_gross_weight)::numeric ,4) as total_unit_gross_weight
164
+ from (
165
+ select oi.*,
166
+ wpick.started_at as picking_start, wpick.ended_at as picking_complete,
167
+ wpack.started_at as packing_start, wpack.ended_at as packing_complete,
168
+ wsort.started_at as sorting_start, wsort.ended_at as sorting_complete,
169
+ wload.started_at as loading_start, wload.ended_at as loading_complete,
170
+ coalesce(delivery_address, concat(cp.address, cp.address_2)) as "delivery_address",
171
+ coalesce((select volume from product_details pd where pd.id = oi.product_detail_id
172
+ order by created_at desc
173
+ fetch first 1 rows only),0) as unit_volume,
174
+ coalesce((select nett_weight from product_details pd where pd.id = oi.product_detail_id
175
+ order by created_at desc
176
+ fetch first 1 rows only),0) as unit_nett_weight,
177
+ coalesce((select gross_weight from product_details pd where pd.id = oi.product_detail_id
178
+ order by created_at desc
179
+ fetch first 1 rows only),0) as unit_gross_weight,
180
+ coalesce((select weight_unit from product_details pd where pd.id = oi.product_detail_id
181
+ order by created_at desc
182
+ fetch first 1 rows only),'') as weight_unit,
183
+ coalesce((select unit_cost from reduced_inventory_histories rih where
184
+ rih.ref_order_id::uuid = oi.id and
185
+ rih.inventory_id::uuid = oi.inventory_id and
186
+ rih.transaction_type = 'PICKING'
187
+ order by created_at desc
188
+ fetch first 1 rows only), oi.unit_cost, 0) as unit_cost
189
+ from temp_outbound_order_report oi
190
+ left join contact_points cp on cp.id = oi.contact_point_ref_id
191
+ left join temp_outbound_order_worksheet wpick on wpick.id = oi.id
192
+ and (wpick.type= 'PICKING' OR wpick.type = 'BATCH_PICKING')
193
+ left join temp_outbound_order_worksheet wpack on wpack.id = oi.id
194
+ and wpack.type= 'PACKING'
195
+ left join temp_outbound_order_worksheet wsort on wsort.id = oi.id
196
+ and wsort.type= 'SORTING'
197
+ left join temp_outbound_order_worksheet wload on wload.id = oi.id
198
+ and wload.type= 'LOADING'
199
+ WHERE 1=1
200
+ ${byPackingComplete.value
201
+ ? `and wpack.ended_at BETWEEN '${fromDate.value}' and '${toDate.value}' and wpack.status = 'DONE'`
202
+ : ''}
203
+ ${byPackingComplete.value ? `ORDER BY wpack.ended_at DESC` : `ORDER BY order_created_at DESC`}
204
+ offset $1 limit $2
205
+ ) src
206
+ `, [(params.pagination.page - 1) * params.pagination.limit, params.pagination.limit]);
207
+ console.timeEnd('result');
208
+ let items = result.map(itm => {
209
+ return {
210
+ bizplace: {
211
+ id: itm.bizplace_id,
212
+ name: itm.bizplace_name,
213
+ description: itm.bizplace_description
214
+ },
215
+ doNo: itm.delivery_order_no,
216
+ doDeliveryDate: itm.delivery_order_delivery_date,
217
+ dispatchedAt: itm.dispatched_at,
218
+ deliveryAddress: itm.delivery_address,
219
+ manifestNo: itm.manifest_no,
220
+ roNo: itm.ro_no,
221
+ roType: itm.ro_type,
222
+ status: itm.ro_status,
223
+ refNo1: itm.ref_no_1,
224
+ refNo3: itm.ref_no_3,
225
+ refNo2: itm.ref_no_2,
226
+ acceptedBy: itm.accepted_by,
227
+ acceptedAt: itm.accepted_at,
228
+ orderCreatedBy: itm.order_created_by,
229
+ orderCreatedAt: itm.order_created_at,
230
+ pickingStart: itm.picking_start,
231
+ pickingComplete: itm.picking_complete,
232
+ packingStart: itm.packing_start,
233
+ packingComplete: itm.packing_complete,
234
+ sortingStart: itm.sorting_start,
235
+ sortingComplete: itm.sorting_complete,
236
+ loadingStart: itm.loading_start,
237
+ loadingComplete: itm.loading_complete,
238
+ product: {
239
+ id: itm.product_id,
240
+ sku: itm.product_sku,
241
+ name: itm.product_name,
242
+ description: itm.product_description,
243
+ type: itm.product_type
244
+ },
245
+ packType: itm.packing_type,
246
+ packSize: itm.packing_size,
247
+ qty: Math.abs(itm.qty),
248
+ uomValue: Math.abs(itm.uom_value),
249
+ uom: itm.uom,
250
+ unitCost: itm.unit_cost,
251
+ returnToLocationQty: itm.return_to_location_qty,
252
+ returnToLocationUomValue: itm.return_to_location_uom_value,
253
+ unitVolume: itm.unit_volume,
254
+ totalVolume: itm.total_volume,
255
+ unitNettWeight: itm.unit_nett_weight,
256
+ totalUnitNettWeight: itm.total_unit_nett_weight,
257
+ unitGrossWeight: itm.unit_gross_weight,
258
+ totalUnitGrossWeight: itm.total_unit_gross_weight,
259
+ weightUnit: itm.weight_unit,
260
+ palletId: itm.pallet_id,
261
+ cartonId: itm.carton_id,
262
+ batchId: itm.batch_id,
263
+ batchIdRef: itm.batch_id_ref,
264
+ expirationDate: itm.expiration_date,
265
+ manufactureDate: itm.manufacture_date,
266
+ pickingLocation: itm.picking_location,
267
+ pickedAt: itm.picked_at,
268
+ pickedBy: itm.picked_by,
269
+ packedAt: itm.packed_at,
270
+ packedBy: itm.packed_by,
271
+ checkedRemarkBy: itm.checked_remark_by,
272
+ checkedRemarkAt: itm.checked_remark_at,
273
+ loadedAt: itm.loaded_at,
274
+ loadedBy: itm.loaded_by,
275
+ manifestedAt: itm.manifested_at,
276
+ manifestedBy: itm.manifested_by,
277
+ binLocation: itm.picking_bin,
278
+ exportOption: itm.export_option,
279
+ containerNo: itm.container_no,
280
+ containerSize: itm.container_size,
281
+ palletQty: itm.pallet_qty,
282
+ transportOption: itm.own_transport ? 'Own Transport' : 'Warehouse Transport',
283
+ vehicleNo: itm.vehicle_no,
284
+ driverName: itm.driver_name,
285
+ priorityDelivery: itm.priority_delivery
286
+ };
287
+ });
288
+ return {
289
+ items,
290
+ total: total[0].count
291
+ };
292
+ }
293
+ catch (error) {
294
+ throw error;
295
+ }
296
+ }
297
+ };
298
+ //# sourceMappingURL=outbound-order-details-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbound-order-details-report.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/reports/outbound-order-details-report.ts"],"names":[],"mappings":";;;AACA,yDAAgD;AAChD,uDAAmD;AAEnD,0CAAiD;AAEpC,QAAA,0BAA0B,GAAG;IACxC,KAAK,CAAC,0BAA0B,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QACtE,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAC7F,IAAI,cAAc,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;YAC1D,IAAI,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;YAClE,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;YACpE,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;YAChE,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;YAC5D,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;YAC5D,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;YAChE,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;YAC1E,IAAI,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAA;YACpF,IAAI,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAA;YAEtF,IAAI,UAAU,EAAE;gBACd,MAAM,IAAI,GAAS,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,OAAO,CAAC;oBACtD,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE;oBAC/B,SAAS,EAAE,CAAC,WAAW,CAAC;iBACzB,CAAC,CAAA;gBAEF,MAAM,QAAQ,GAAa,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBAE5C,IAAI,CAAC,QAAQ;oBAAE,MAAM,eAAe,CAAA;gBAEpC,cAAc,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAA;aAC1E;iBAAM;gBACL,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;aACvE;YAED,IAAI,CAAC,cAAc,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;gBAAE,MAAM,eAAe,CAAA;YAElE,MAAM,QAAQ,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;gBAClE,EAAE,EAAE,cAAc,CAAC,KAAK;aACzB,CAAC,CAAA;YAEF,MAAM,IAAA,wBAAgB,EAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;YAE5C,+FAA+F;YAC/F,mGAAmG;YACnG,IAAI,kBAAkB,GAAG,EAAE,CAAA;YAC3B,IAAI,kBAAkB,GAAG,EAAE,CAAA;YAC3B,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAA;YAC1B,IAAI,IAAI,EAAE;gBACR,kBAAkB,GAAG,GAAG,kBAAkB,uBAAuB,IAAI,CAAC,KAAK,KAAK,CAAA;gBAChF,kBAAkB,GAAG,GAAG,kBAAkB,uBAAuB,IAAI,CAAC,KAAK,KAAK,CAAA;aACjF;YACD,IAAI,IAAI,EAAE;gBACR,kBAAkB,GAAG,GAAG,kBAAkB,wBAAwB,IAAI,CAAC,KAAK,KAAK,CAAA;aAClF;YAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACpB,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwCM,MAAM,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;cAClD,WAAW,CAAC,CAAC,CAAC,qBAAqB,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;cAC7D,gBAAgB,CAAC,CAAC,CAAC,8BAA8B,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;cAC/E,kBAAkB;;;;YAKpB,WAAW;gBACT,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8BF,MAAM,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;cAClD,gBAAgB,CAAC,CAAC,CAAC,8BAA8B,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;cAC/E,kBAAkB;;;;oBAKtB;;OAEH,EACC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,CAC1G,CAAA;YAED,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACvB,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;SAOC,CACF,CAAA;YAED,MAAM,KAAK,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;;;UAK9B,iBAAiB,CAAC,KAAK;gBACrB,CAAC,CAAC,+BAA+B,QAAQ,CAAC,KAAK,UAAU,MAAM,CAAC,KAAK,6BAA6B;gBAClG,CAAC,CAAC,EACN;OACD,CAAC,CAAA;YAEF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtB,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA0CI,iBAAiB,CAAC,KAAK;gBACrB,CAAC,CAAC,+BAA+B,QAAQ,CAAC,KAAK,UAAU,MAAM,CAAC,KAAK,6BAA6B;gBAClG,CAAC,CAAC,EACN;YACE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,gCAAgC;;;OAGhG,EACC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAClF,CAAA;YAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAEzB,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC3B,OAAO;oBACL,QAAQ,EAAE;wBACR,EAAE,EAAE,GAAG,CAAC,WAAW;wBACnB,IAAI,EAAE,GAAG,CAAC,aAAa;wBACvB,WAAW,EAAE,GAAG,CAAC,oBAAoB;qBACtC;oBACD,IAAI,EAAE,GAAG,CAAC,iBAAiB;oBAC3B,cAAc,EAAE,GAAG,CAAC,4BAA4B;oBAChD,YAAY,EAAE,GAAG,CAAC,aAAa;oBAC/B,eAAe,EAAE,GAAG,CAAC,gBAAgB;oBACrC,UAAU,EAAE,GAAG,CAAC,WAAW;oBAC3B,IAAI,EAAE,GAAG,CAAC,KAAK;oBACf,MAAM,EAAE,GAAG,CAAC,OAAO;oBACnB,MAAM,EAAE,GAAG,CAAC,SAAS;oBACrB,MAAM,EAAE,GAAG,CAAC,QAAQ;oBACpB,MAAM,EAAE,GAAG,CAAC,QAAQ;oBACpB,MAAM,EAAE,GAAG,CAAC,QAAQ;oBACpB,UAAU,EAAE,GAAG,CAAC,WAAW;oBAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;oBAC3B,cAAc,EAAE,GAAG,CAAC,gBAAgB;oBACpC,cAAc,EAAE,GAAG,CAAC,gBAAgB;oBACpC,YAAY,EAAE,GAAG,CAAC,aAAa;oBAC/B,eAAe,EAAE,GAAG,CAAC,gBAAgB;oBACrC,YAAY,EAAE,GAAG,CAAC,aAAa;oBAC/B,eAAe,EAAE,GAAG,CAAC,gBAAgB;oBACrC,YAAY,EAAE,GAAG,CAAC,aAAa;oBAC/B,eAAe,EAAE,GAAG,CAAC,gBAAgB;oBACrC,YAAY,EAAE,GAAG,CAAC,aAAa;oBAC/B,eAAe,EAAE,GAAG,CAAC,gBAAgB;oBACrC,OAAO,EAAE;wBACP,EAAE,EAAE,GAAG,CAAC,UAAU;wBAClB,GAAG,EAAE,GAAG,CAAC,WAAW;wBACpB,IAAI,EAAE,GAAG,CAAC,YAAY;wBACtB,WAAW,EAAE,GAAG,CAAC,mBAAmB;wBACpC,IAAI,EAAE,GAAG,CAAC,YAAY;qBACvB;oBACD,QAAQ,EAAE,GAAG,CAAC,YAAY;oBAC1B,QAAQ,EAAE,GAAG,CAAC,YAAY;oBAC1B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;oBACtB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;oBACjC,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,mBAAmB,EAAE,GAAG,CAAC,sBAAsB;oBAC/C,wBAAwB,EAAE,GAAG,CAAC,4BAA4B;oBAC1D,UAAU,EAAE,GAAG,CAAC,WAAW;oBAC3B,WAAW,EAAE,GAAG,CAAC,YAAY;oBAC7B,cAAc,EAAE,GAAG,CAAC,gBAAgB;oBACpC,mBAAmB,EAAE,GAAG,CAAC,sBAAsB;oBAC/C,eAAe,EAAE,GAAG,CAAC,iBAAiB;oBACtC,oBAAoB,EAAE,GAAG,CAAC,uBAAuB;oBACjD,UAAU,EAAE,GAAG,CAAC,WAAW;oBAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,OAAO,EAAE,GAAG,CAAC,QAAQ;oBACrB,UAAU,EAAE,GAAG,CAAC,YAAY;oBAC5B,cAAc,EAAE,GAAG,CAAC,eAAe;oBACnC,eAAe,EAAE,GAAG,CAAC,gBAAgB;oBACrC,eAAe,EAAE,GAAG,CAAC,gBAAgB;oBACrC,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,eAAe,EAAE,GAAG,CAAC,iBAAiB;oBACtC,eAAe,EAAE,GAAG,CAAC,iBAAiB;oBACtC,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,YAAY,EAAE,GAAG,CAAC,aAAa;oBAC/B,YAAY,EAAE,GAAG,CAAC,aAAa;oBAC/B,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,YAAY,EAAE,GAAG,CAAC,aAAa;oBAC/B,WAAW,EAAE,GAAG,CAAC,YAAY;oBAC7B,aAAa,EAAE,GAAG,CAAC,cAAc;oBACjC,SAAS,EAAE,GAAG,CAAC,UAAU;oBACzB,eAAe,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB;oBAC5E,SAAS,EAAE,GAAG,CAAC,UAAU;oBACzB,UAAU,EAAE,GAAG,CAAC,WAAW;oBAC3B,gBAAgB,EAAE,GAAG,CAAC,iBAAiB;iBACxC,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO;gBACL,KAAK;gBACL,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;aACtB,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.outboundSerialNumberReport = void 0;
4
+ const auth_base_1 = require("@things-factory/auth-base");
5
+ const biz_base_1 = require("@things-factory/biz-base");
6
+ const utils_1 = require("../../../utils");
7
+ exports.outboundSerialNumberReport = {
8
+ async outboundSerialNumberReport(_, params, context) {
9
+ try {
10
+ const { tx } = context.state;
11
+ let bizplaceFilter = { name: '', operator: '', value: '' };
12
+ let userFilter = params.filters.find(data => data.name === 'user');
13
+ let fromDate = params.filters.find(data => data.name === 'fromDate');
14
+ let toDate = params.filters.find(data => data.name === 'toDate');
15
+ let orderNo = params.filters.find(data => data.name === 'orderNo');
16
+ let ref = params.filters.find(data => data.name === 'ref');
17
+ let palletId = params.filters.find(data => data.name === 'palletId');
18
+ let cartonId = params.filters.find(data => data.name === 'cartonId');
19
+ let serialNumber = params.filters.find(data => data.name === 'serialNumber');
20
+ if (userFilter) {
21
+ const user = await tx.getRepository(auth_base_1.User).findOne({
22
+ where: { id: userFilter.value },
23
+ relations: ['bizplaces']
24
+ });
25
+ const bizplace = user.bizplaces[0];
26
+ if (!bizplace)
27
+ throw 'Invalid input';
28
+ bizplaceFilter = { name: 'bizplace', operator: 'eq', value: bizplace.id };
29
+ }
30
+ else {
31
+ bizplaceFilter = params.filters.find(data => data.name === 'bizplace');
32
+ }
33
+ if (!bizplaceFilter || !fromDate || !toDate)
34
+ throw 'Invalid input';
35
+ const bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
36
+ id: bizplaceFilter.value
37
+ });
38
+ await (0, utils_1.rawProductsQuery)(tx, params, bizplace);
39
+ let extraQueryFilters = '';
40
+ if (orderNo) {
41
+ extraQueryFilters = `${extraQueryFilters} and order_no like '%${orderNo.value}%' `;
42
+ }
43
+ if (palletId) {
44
+ extraQueryFilters = `${extraQueryFilters} and pallet_id like '%${palletId.value}%' `;
45
+ }
46
+ if (cartonId) {
47
+ extraQueryFilters = `${extraQueryFilters} and carton_id like '%${cartonId.value}%' `;
48
+ }
49
+ if (serialNumber) {
50
+ extraQueryFilters = `${extraQueryFilters} and serial_number like '%${serialNumber.value}%' `;
51
+ }
52
+ let refNoQueryFilter = '';
53
+ if (ref) {
54
+ let refValue = ref.value
55
+ .toLowerCase()
56
+ .split(',')
57
+ .map(ref => {
58
+ return "'%" + ref.trim().replace(/'/g, "''") + "%'";
59
+ })
60
+ .join(',');
61
+ refNoQueryFilter = `AND (
62
+ Lower(rg.ref_no) LIKE ANY(ARRAY[${refValue}])
63
+ OR Lower(rg.ref_no_2) LIKE ANY(ARRAY[${refValue}])
64
+ OR Lower(rg.ref_no_3) LIKE ANY(ARRAY[${refValue}])
65
+ )`;
66
+ }
67
+ await tx.query(`
68
+ create temp table temp_outbound_serial_number_report on commit drop as (
69
+ select * from (
70
+ select
71
+ row_number() over(partition by rg."name" order by coalesce(w.started_at, ii.created_at), p.sku ) as "no",
72
+ rg."name" as "order_no", concat_ws(', ',rg.delivery_address_1,rg.delivery_address_2,rg.delivery_address_3,rg.delivery_address_4,rg.delivery_address_5,rg.postal_code,rg.city,rg.state) as "full_delivery_address",
73
+ rg."attention_to" as "attention_to",
74
+ i.pallet_id, i.carton_id, rg.ref_no, rg.ref_no_2, rg.ref_no_3,
75
+ p.id as "product_id", p.sku as "product_sku", p.brand_sku as "product_brand_sku",
76
+ p.name as "product_name", p.description as "product_description", p."type" as "product_type",
77
+ coalesce(pd.volume, '0') as "product_volume",
78
+ ii.serial_number,
79
+ coalesce(w.started_at,ii.created_at) as "etd"
80
+ from inventory_items ii
81
+ inner join inventories i on i.id = ii.inventory_id
82
+ inner join temp_products p on p.id = i.product_id
83
+ left join product_details pd on pd.product_id = p.id and pd.packing_type = i.packing_type and pd.packing_size = i.packing_size
84
+ inner join release_goods rg on rg.id = ii.outbound_order_id::uuid
85
+ left join worksheets w on w.release_good_id = rg.id and w.type = 'PICKING'
86
+ where
87
+ i.domain_id = $1 and i.bizplace_id = $2
88
+ and coalesce(w.started_at, ii.created_at) between $3 and $4
89
+ ${refNoQueryFilter}
90
+ order by coalesce(w.started_at, ii.created_at), p.sku
91
+ ) src
92
+ where 1=1
93
+ ${extraQueryFilters}
94
+ )
95
+ `, [context.state.domain.id, bizplace.id, fromDate.value, toDate.value]);
96
+ const total = await tx.query(`
97
+ select count(*) from temp_outbound_serial_number_report
98
+ `);
99
+ const result = await tx.query(`
100
+ select *
101
+ from temp_outbound_serial_number_report
102
+ offset $1 limit $2
103
+ `, [(params.pagination.page - 1) * params.pagination.limit, params.pagination.limit]);
104
+ let items = result.map(itm => {
105
+ let data = {
106
+ no: itm.no,
107
+ bizplace: {
108
+ description: bizplace.description,
109
+ name: bizplace.name
110
+ },
111
+ fullDeliveryAddress: itm.full_delivery_address,
112
+ attentionTo: itm.attention_to,
113
+ palletId: itm.pallet_id,
114
+ cartonId: itm.carton_id,
115
+ orderNo: itm.order_no,
116
+ refNo1: itm.ref_no,
117
+ refNo2: itm.ref_no_2,
118
+ refNo3: itm.ref_no_3,
119
+ product: {
120
+ id: itm.product_id,
121
+ sku: itm.product_sku,
122
+ brandSku: itm.product_brand_sku,
123
+ name: itm.product_name,
124
+ description: itm.product_description,
125
+ type: itm.product_type,
126
+ volume: itm.product_volume
127
+ },
128
+ serialNumber: itm.serial_number,
129
+ etd: itm.etd
130
+ };
131
+ return data;
132
+ });
133
+ return {
134
+ items,
135
+ total: total[0].count
136
+ };
137
+ }
138
+ catch (error) {
139
+ throw error;
140
+ }
141
+ }
142
+ };
143
+ //# sourceMappingURL=outbound-serial-number-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbound-serial-number-report.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/reports/outbound-serial-number-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pgUdfQuery = void 0;
4
+ exports.pgUdfQuery = {
5
+ async pgUdfQuery(_, params, context) {
6
+ const { domain, tx } = context.state;
7
+ let udfName = params.filters.find(param => param.name === 'udf');
8
+ let domainParam = params.filters.find(param => param.name === 'domain_id');
9
+ try {
10
+ if (!(udfName === null || udfName === void 0 ? void 0 : udfName.value)) {
11
+ throw new Error('UDF name is required');
12
+ }
13
+ if (!(domainParam === null || domainParam === void 0 ? void 0 : domainParam.value)) {
14
+ params.filters.push({ name: 'domain_id', operator: 'eq', value: domain.id });
15
+ }
16
+ // Remove the udf filter and convert remaining filters to an object
17
+ const parameters = params.filters
18
+ .filter(f => f.name !== 'udf')
19
+ .map(filter => ({
20
+ [filter.name]: filter.value
21
+ }));
22
+ return { items: JSON.stringify(await callPostgresFunction(udfName.value, tx, parameters)) };
23
+ }
24
+ catch (error) {
25
+ throw error;
26
+ }
27
+ }
28
+ };
29
+ /**
30
+ * Calls a PostgreSQL user-defined function through TypeORM
31
+ *
32
+ * @param functionName - Name of the PostgreSQL UDF to call
33
+ * @param entityManager - EntityManager instance
34
+ * @param parameters - Array of parameters or string to pass to the function
35
+ * @returns Promise with the function result
36
+ */
37
+ async function callPostgresFunction(functionName, entityManager, parameters) {
38
+ try {
39
+ const exists = await entityManager.query(`
40
+ SELECT EXISTS (
41
+ SELECT 1 FROM pg_proc p
42
+ JOIN pg_namespace n ON p.pronamespace = n.oid
43
+ WHERE p.proname = $1
44
+ AND n.nspname = 'public'
45
+ )`, [functionName]);
46
+ if (!exists[0].exists) {
47
+ throw new Error(`PostgreSQL function '${functionName}' does not exist in the database.`);
48
+ }
49
+ let query, params;
50
+ if (typeof parameters === 'string') {
51
+ // Pass string parameter directly
52
+ query = `SELECT * FROM ${functionName}($1)`;
53
+ params = [parameters];
54
+ }
55
+ else {
56
+ // Handle array of parameters
57
+ const paramPlaceholders = parameters.map((_, index) => `$${index + 1}`).join(', ');
58
+ query = `SELECT * FROM ${functionName}(${paramPlaceholders})`;
59
+ params = parameters.map(param => Object.values(param)).flat();
60
+ }
61
+ // Execute the query with the provided parameters
62
+ const result = await entityManager.query(query, params);
63
+ // PostgreSQL functions typically return rows, so we handle both single and multiple results
64
+ return Array.isArray(result) && result.length === 1 ? result[0] : result;
65
+ }
66
+ catch (error) {
67
+ throw new Error(`Error calling PostgreSQL function '${functionName}': ${error.message}`);
68
+ }
69
+ }
70
+ //# sourceMappingURL=pg-udf-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-udf-query.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/reports/pg-udf-query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.productLabelReport = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const id_rule_base_1 = require("@things-factory/id-rule-base");
6
+ exports.productLabelReport = {
7
+ async productLabelReport(_, params, context) {
8
+ var _a;
9
+ try {
10
+ const { domain } = context.state;
11
+ // const { domain }: { domain: Domain } = context.state
12
+ const bizplaceId = params.filters.find(data => data.name === 'bizplace').value;
13
+ const type = (_a = params.filters.find(data => data.name === 'type')) === null || _a === void 0 ? void 0 : _a.value;
14
+ const fromDate = params.filters.find(data => data.name === 'fromDate').value;
15
+ const toDate = params.filters.find(data => data.name === 'toDate').value;
16
+ if (!bizplaceId || !fromDate || !toDate)
17
+ throw new Error('Invalid input');
18
+ const items = await (0, typeorm_1.getRepository)(id_rule_base_1.Sequence).query(`
19
+ SELECT "date", "type", "count", "bizplace_id" FROM (
20
+ SELECT
21
+ "sq"."pattern"::JSONB ->> 'type' AS "type",
22
+ "sq"."pattern"::JSONB ->> 'date' AS "date",
23
+ "sq"."pattern"::JSONB ->> 'bizplaceId' AS "bizplace_id",
24
+ "sq"."seq" AS "count"
25
+ FROM "sequences" "sq" WHERE "sq"."type" = '${id_rule_base_1.SEQUENCE_TYPE.PRODUCT_LABEL_COUNTER}'
26
+ AND "sq"."domain_id" = '${domain.id}'
27
+ ) AS foo
28
+ WHERE "bizplace_id" = '${bizplaceId}'
29
+ ${type ? `AND "type" ilike '%${type}%'` : ''}
30
+ AND "date"::date BETWEEN '${fromDate}' AND '${toDate}'
31
+ ORDER BY type ASC, date ASC
32
+ `);
33
+ // @farishelmi any usage for this function? If no please remove.
34
+ /*
35
+ need to transform into queryBuilder form
36
+ const qb: SelectQueryBuilder<Sequence> = tx
37
+ .getRepository(Sequence)
38
+ .createQueryBuilder('sq')
39
+ .select(`"sq"."pattern"::JSONB ->> 'type'`, 'type')
40
+ .addSelect(`"sq"."pattern"::JSONB ->> 'date'`, 'date')
41
+ .addSelect(`"sq"."pattern"::JSONB ->> 'bizplaceId'`, 'bizplace_id')
42
+ .addSelect(`"sq"."seq"`, 'count')
43
+ .where('"sq"."type" = :sequenceType', { sequenceType: SEQUENCE_TYPE.PRODUCT_LABEL_COUNTER })
44
+ .andWhere(`"sq"."pattern"::JSONB ->> 'bizplaceId' = :bizplaceId`, { bizplaceId })
45
+ .andWhere(`"sq"."domain_id" = :domainId`, { domainId: domain.id })
46
+ */
47
+ return {
48
+ items,
49
+ total: 0
50
+ };
51
+ }
52
+ catch (error) {
53
+ throw error;
54
+ }
55
+ }
56
+ };
57
+ //# sourceMappingURL=product-label-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-label-report.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/reports/product-label-report.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,+DAAsE;AAGzD,QAAA,kBAAkB,GAAG;IAChC,KAAK,CAAC,kBAAkB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;;QAC9D,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAuB,OAAO,CAAC,KAAK,CAAA;YACpD,uDAAuD;YACvD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,KAAK,CAAA;YAC9E,MAAM,IAAI,GAAG,MAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,0CAAE,KAAK,CAAA;YACrE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,KAAK,CAAA;YAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,KAAK,CAAA;YAExE,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;YAEzE,MAAM,KAAK,GAAG,MAAM,IAAA,uBAAa,EAAC,uBAAQ,CAAC,CAAC,KAAK,CAAC;;;;;;;uDAOD,4BAAa,CAAC,qBAAqB;oCACtD,MAAM,CAAC,EAAE;;iCAEZ,UAAU;UACjC,IAAI,CAAC,CAAC,CAAC,sBAAsB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;oCAChB,QAAQ,UAAU,MAAM;;OAErD,CAAC,CAAA;YAEF,gEAAgE;YAChE;;;;;;;;;;;;cAYE;YAEF,OAAO;gBACL,KAAK;gBACL,KAAK,EAAE,CAAC;aACT,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA"}