@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,290 @@
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
+ let extraQueryFilters = '';
41
+ if (roNo) {
42
+ extraQueryFilters = `${extraQueryFilters} and ro_no like '%${roNo.value}%' `;
43
+ }
44
+ if (doNo) {
45
+ extraQueryFilters = `${extraQueryFilters} and delivery_order_no like '%${doNo.value}%' `;
46
+ }
47
+ console.time('temp');
48
+ await tx.query(`
49
+ create temp table temp_outbound_order_report on commit drop as (
50
+ select * from (
51
+ select oi.id,
52
+ oi.release_qty AS "release_qty", oi.picked_at, oi.picked_by, oi.packed_at, oi.packed_by, oi.loaded_at, oi.loaded_by,
53
+ 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,
54
+ l2.name as "picking_location",
55
+ coalesce(do2.other_driver, td.name) as driver_name,
56
+ coalesce(do2.truck_no, tv.name, rg.truck_no) as vehicle_no,
57
+ 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,
58
+ coalesce(do2.delivery_date_time, do2.delivery_date::timestamp, ms.dispatched_at, null) as "dispatched_at",
59
+ rg.bizplace_id, $5 AS "bizplace_name", $6 AS "bizplace_description", rg.priority_delivery as "priority_delivery",
60
+ 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,
61
+ so.container_no, so.container_size,
62
+ 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",
63
+ u1.name as "order_created_by", rg.created_at AS "order_created_at",
64
+ 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,
65
+ 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",
66
+ i.uom, i.unit_cost,
67
+ i.id as inventory_id, i.pallet_id, i.carton_id, i.batch_id, i.batch_id_ref, i.expiration_date, i.manufacture_date,
68
+ 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
69
+ from release_goods rg
70
+ left join users u1 on u1.id = rg.creator_id
71
+ inner join order_inventories oi on rg.id = oi.release_good_id
72
+ left join locations l on l.id = oi.bin_location_id
73
+ left join shipping_orders so on so.id = rg.shipping_order_id
74
+ left join users u4 on u4.id = rg.accepted_by_id
75
+ left join manifests ms on ms.id = rg.manifest_id
76
+ left join users u5 on u5.id = ms.creator_id
77
+ left join users u6 on u6.id = rg.manifested_by_id
78
+ inner join inventories i on i.id = oi.inventory_id
79
+ inner join temp_products p on p.id = oi.product_id
80
+ left join delivery_orders do2 on do2.id = oi.delivery_order_id
81
+ left join transport_drivers td ON td.id = do2.transport_driver_id
82
+ left join transport_vehicles tv on tv.id = do2.transport_vehicle_id
83
+ left join locations l2 on l2.id = i.location_id
84
+ where rg.bizplace_id = $2 and rg.domain_id = $1
85
+ and rg.created_at >= $3 and rg.created_at <= $4
86
+ and oi.status <> 'REPLACED'
87
+ and oi.release_qty > 0
88
+ ${status ? `and rg.status = '${status.value}' ` : ``}
89
+ ${binLocation ? `and l.name ilike '${binLocation.value}' ` : ``}
90
+ ${priorityDelivery ? `and rg.priority_delivery = ${priorityDelivery.value} ` : ``}
91
+ and oi.release_qty > 0
92
+ ) src
93
+ where 1=1
94
+ ${extraQueryFilters}
95
+ union all
96
+ select * from (
97
+ select op.id,
98
+ op.release_qty AS "release_qty", NULL::timestamp, NULL, NULL::timestamp, NULL, NULL::timestamp, NULL,
99
+ op.release_qty as "qty", op.release_uom_value as "uom_value", NULL:: double precision, null:: double precision, op.product_detail_id,
100
+ NULL,
101
+ NULL, NULL,
102
+ NULL, NULL::timestamp, NULL, null::uuid, null,
103
+ null::timestamp,
104
+ rg.bizplace_id, $5 AS "bizplace_name", $6 AS "bizplace_description", rg.priority_delivery as "priority_delivery",
105
+ NULL, so.container_no, so.container_size,
106
+ 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",
107
+ u1.name as "order_created_by", rg.created_at AS "order_created_at",
108
+ rg.accepted_at, u4.name as accepted_by, rg.checked_remark_by, rg.checked_remark_at, rg.own_transport AS own_transport,
109
+ 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",
110
+ op.uom, null::double precision,
111
+ null::uuid, NULL, NULL, op.batch_id, op.batch_id_ref, null::date, null::date,
112
+ 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
113
+ from release_goods rg
114
+ left join users u1 on u1.id = rg.creator_id
115
+ inner join order_products op on rg.id = op.release_good_id
116
+ left join shipping_orders so on so.id = rg.shipping_order_id
117
+ left join users u4 on u4.id = rg.accepted_by_id
118
+ left join manifests ms on ms.id = rg.manifest_id
119
+ left join users u5 on u5.id = ms.creator_id
120
+ left join users u6 on u6.id = rg.manifested_by_id
121
+ inner join temp_products p on p.id = op.product_id
122
+ where rg.bizplace_id = $2 and rg.domain_id = $1
123
+ and rg.created_at >= $3 and rg.created_at <= $4
124
+ and rg.assigned_inventory = false
125
+ ${status ? `and rg.status = '${status.value}' ` : ``}
126
+ and rg.assigned_inventory = false
127
+ and op.release_qty > 0
128
+ ) src2
129
+ where 1=1
130
+ ${extraQueryFilters}
131
+ )
132
+ `, [context.state.domain.id, bizplace.id, fromDate.value, toDate.value, bizplace.name, bizplace.description]);
133
+ console.timeEnd('temp');
134
+ await tx.query(`
135
+ create temp table temp_outbound_order_worksheet on commit drop as (
136
+ select oi.id, w.started_at, w.ended_at, w.type, w.status from temp_outbound_order_report oi
137
+ inner join worksheet_details wd on wd.target_inventory_id = oi.id
138
+ inner join worksheets w on w.id = wd.worksheet_id
139
+ where oi.id is not null
140
+ )
141
+ `);
142
+ const total = await tx.query(`
143
+ select count(*) from temp_outbound_order_report oi
144
+ left join temp_outbound_order_worksheet wpack on wpack.id = oi.id and wpack.type= 'PACKING'
145
+ WHERE 1=1
146
+ ${byPackingComplete.value
147
+ ? `and wpack.ended_at BETWEEN '${fromDate.value}' and '${toDate.value}' and wpack.status = 'DONE'`
148
+ : ''}
149
+ `);
150
+ console.time('result');
151
+ const result = await tx.query(`
152
+ select *,
153
+ round((qty * unit_volume)::numeric ,4) as total_volume,
154
+ round((qty * unit_nett_weight)::numeric ,4) as total_unit_nett_weight,
155
+ round((qty * unit_gross_weight)::numeric ,4) as total_unit_gross_weight
156
+ from (
157
+ select oi.*,
158
+ wpick.started_at as picking_start, wpick.ended_at as picking_complete,
159
+ wpack.started_at as packing_start, wpack.ended_at as packing_complete,
160
+ wsort.started_at as sorting_start, wsort.ended_at as sorting_complete,
161
+ wload.started_at as loading_start, wload.ended_at as loading_complete,
162
+ coalesce(delivery_address, concat(cp.address, cp.address_2)) as "delivery_address",
163
+ coalesce((select volume from product_details pd where pd.id = oi.product_detail_id
164
+ order by created_at desc
165
+ fetch first 1 rows only),0) as unit_volume,
166
+ coalesce((select nett_weight from product_details pd where pd.id = oi.product_detail_id
167
+ order by created_at desc
168
+ fetch first 1 rows only),0) as unit_nett_weight,
169
+ coalesce((select gross_weight from product_details pd where pd.id = oi.product_detail_id
170
+ order by created_at desc
171
+ fetch first 1 rows only),0) as unit_gross_weight,
172
+ coalesce((select weight_unit from product_details pd where pd.id = oi.product_detail_id
173
+ order by created_at desc
174
+ fetch first 1 rows only),'') as weight_unit,
175
+ coalesce((select unit_cost from reduced_inventory_histories rih where
176
+ rih.ref_order_id::uuid = oi.id and
177
+ rih.inventory_id::uuid = oi.inventory_id and
178
+ rih.transaction_type = 'PICKING'
179
+ order by created_at desc
180
+ fetch first 1 rows only), oi.unit_cost, 0) as unit_cost
181
+ from temp_outbound_order_report oi
182
+ left join contact_points cp on cp.id = oi.contact_point_ref_id
183
+ left join temp_outbound_order_worksheet wpick on wpick.id = oi.id
184
+ and (wpick.type= 'PICKING' OR wpick.type = 'BATCH_PICKING')
185
+ left join temp_outbound_order_worksheet wpack on wpack.id = oi.id
186
+ and wpack.type= 'PACKING'
187
+ left join temp_outbound_order_worksheet wsort on wsort.id = oi.id
188
+ and wsort.type= 'SORTING'
189
+ left join temp_outbound_order_worksheet wload on wload.id = oi.id
190
+ and wload.type= 'LOADING'
191
+ WHERE 1=1
192
+ ${byPackingComplete.value
193
+ ? `and wpack.ended_at BETWEEN '${fromDate.value}' and '${toDate.value}' and wpack.status = 'DONE'`
194
+ : ''}
195
+ ${byPackingComplete.value ? `ORDER BY wpack.ended_at DESC` : `ORDER BY order_created_at DESC`}
196
+ offset $1 limit $2
197
+ ) src
198
+ `, [(params.pagination.page - 1) * params.pagination.limit, params.pagination.limit]);
199
+ console.timeEnd('result');
200
+ let items = result.map(itm => {
201
+ return {
202
+ bizplace: {
203
+ id: itm.bizplace_id,
204
+ name: itm.bizplace_name,
205
+ description: itm.bizplace_description
206
+ },
207
+ doNo: itm.delivery_order_no,
208
+ doDeliveryDate: itm.delivery_order_delivery_date,
209
+ dispatchedAt: itm.dispatched_at,
210
+ deliveryAddress: itm.delivery_address,
211
+ manifestNo: itm.manifest_no,
212
+ roNo: itm.ro_no,
213
+ roType: itm.ro_type,
214
+ status: itm.ro_status,
215
+ refNo1: itm.ref_no_1,
216
+ refNo3: itm.ref_no_3,
217
+ refNo2: itm.ref_no_2,
218
+ acceptedBy: itm.accepted_by,
219
+ acceptedAt: itm.accepted_at,
220
+ orderCreatedBy: itm.order_created_by,
221
+ orderCreatedAt: itm.order_created_at,
222
+ pickingStart: itm.picking_start,
223
+ pickingComplete: itm.picking_complete,
224
+ packingStart: itm.packing_start,
225
+ packingComplete: itm.packing_complete,
226
+ sortingStart: itm.sorting_start,
227
+ sortingComplete: itm.sorting_complete,
228
+ loadingStart: itm.loading_start,
229
+ loadingComplete: itm.loading_complete,
230
+ product: {
231
+ id: itm.product_id,
232
+ sku: itm.product_sku,
233
+ name: itm.product_name,
234
+ description: itm.product_description,
235
+ type: itm.product_type
236
+ },
237
+ packType: itm.packing_type,
238
+ packSize: itm.packing_size,
239
+ qty: Math.abs(itm.qty),
240
+ uomValue: Math.abs(itm.uom_value),
241
+ uom: itm.uom,
242
+ unitCost: itm.unit_cost,
243
+ returnToLocationQty: itm.return_to_location_qty,
244
+ returnToLocationUomValue: itm.return_to_location_uom_value,
245
+ unitVolume: itm.unit_volume,
246
+ totalVolume: itm.total_volume,
247
+ unitNettWeight: itm.unit_nett_weight,
248
+ totalUnitNettWeight: itm.total_unit_nett_weight,
249
+ unitGrossWeight: itm.unit_gross_weight,
250
+ totalUnitGrossWeight: itm.total_unit_gross_weight,
251
+ weightUnit: itm.weight_unit,
252
+ palletId: itm.pallet_id,
253
+ cartonId: itm.carton_id,
254
+ batchId: itm.batch_id,
255
+ batchIdRef: itm.batch_id_ref,
256
+ expirationDate: itm.expiration_date,
257
+ manufactureDate: itm.manufacture_date,
258
+ pickingLocation: itm.picking_location,
259
+ pickedAt: itm.picked_at,
260
+ pickedBy: itm.picked_by,
261
+ packedAt: itm.packed_at,
262
+ packedBy: itm.packed_by,
263
+ checkedRemarkBy: itm.checked_remark_by,
264
+ checkedRemarkAt: itm.checked_remark_at,
265
+ loadedAt: itm.loaded_at,
266
+ loadedBy: itm.loaded_by,
267
+ manifestedAt: itm.manifested_at,
268
+ manifestedBy: itm.manifested_by,
269
+ binLocation: itm.picking_bin,
270
+ exportOption: itm.export_option,
271
+ containerNo: itm.container_no,
272
+ containerSize: itm.container_size,
273
+ palletQty: itm.pallet_qty,
274
+ transportOption: itm.own_transport ? 'Own Transport' : 'Warehouse Transport',
275
+ vehicleNo: itm.vehicle_no,
276
+ driverName: itm.driver_name,
277
+ priorityDelivery: itm.priority_delivery
278
+ };
279
+ });
280
+ return {
281
+ items,
282
+ total: total[0].count
283
+ };
284
+ }
285
+ catch (error) {
286
+ throw error;
287
+ }
288
+ }
289
+ };
290
+ //# 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":"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"}
@@ -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"}