@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,309 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addReleaseGoodProducts = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const product_base_1 = require("@things-factory/product-base");
6
+ const sales_base_1 = require("@things-factory/sales-base");
7
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
8
+ const worksheet_base_1 = require("@things-factory/worksheet-base");
9
+ const integration_lmd_1 = require("@things-factory/integration-lmd");
10
+ exports.addReleaseGoodProducts = {
11
+ async addReleaseGoodProducts(_, { name, orderInventories, existingOrderInventories }, context) {
12
+ var _a, _b, _c;
13
+ try {
14
+ const { tx, user, domain } = context.state;
15
+ let releaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
16
+ where: { domain, name: name },
17
+ relations: ['bizplace', 'orderProducts', 'lastMileDelivery']
18
+ });
19
+ const bizplace = releaseGood.bizplace;
20
+ let pickingWorksheet = await tx.getRepository(worksheet_base_1.Worksheet).findOne({
21
+ where: { releaseGood, type: worksheet_base_1.WORKSHEET_TYPE.PICKING }
22
+ });
23
+ let loadingWorksheet = await tx.getRepository(worksheet_base_1.Worksheet).findOne({
24
+ where: { releaseGood, type: worksheet_base_1.WORKSHEET_TYPE.LOADING }
25
+ });
26
+ if (existingOrderInventories) {
27
+ for (let oi of existingOrderInventories) {
28
+ // map input to OrderInventory Object
29
+ let curOrderInv = Object.assign({}, oi);
30
+ curOrderInv.domain = domain;
31
+ curOrderInv.bizplace = bizplace;
32
+ curOrderInv.releaseGood = releaseGood;
33
+ curOrderInv.productDetail = await tx.getRepository(product_base_1.ProductDetail).findOne(oi.productDetail.id);
34
+ let existingOrderInv;
35
+ if ((_a = curOrderInv === null || curOrderInv === void 0 ? void 0 : curOrderInv.inventory) === null || _a === void 0 ? void 0 : _a.id) {
36
+ const foundInv = await tx.getRepository(warehouse_base_1.Inventory).findOne(curOrderInv.inventory.id);
37
+ curOrderInv.inventory = foundInv;
38
+ existingOrderInv = await tx.getRepository(sales_base_1.OrderInventory).findOne({
39
+ where: {
40
+ releaseGood,
41
+ productDetail: curOrderInv.productDetail,
42
+ batchId: curOrderInv.batchId,
43
+ inventory: foundInv
44
+ }
45
+ });
46
+ if (foundInv && foundInv.lockedQty == 0) {
47
+ foundInv.qty += Number(existingOrderInv.releaseQty);
48
+ foundInv.uomValue += Number(existingOrderInv.releaseUomValue);
49
+ foundInv.lockedQty = Number(existingOrderInv.releaseQty);
50
+ foundInv.lockedUomValue = Number(existingOrderInv.releaseUomValue);
51
+ }
52
+ if (curOrderInv.releaseQty < existingOrderInv.pickedQty) {
53
+ throw new Error(`${curOrderInv.inventory.palletId} has already picked ${existingOrderInv.pickedQty}`);
54
+ }
55
+ if (curOrderInv.releaseQty === 0) {
56
+ foundInv.lockedQty = Number(foundInv.lockedQty) - Number(existingOrderInv.releaseQty);
57
+ foundInv.lockedUomValue = Number(foundInv.lockedUomValue) - Number(existingOrderInv.releaseUomValue);
58
+ await tx.getRepository(warehouse_base_1.Inventory).save(foundInv);
59
+ if (existingOrderInv) {
60
+ // if found existing OrderInventory and worksheetDetail then qty, uomValue, and status are updated
61
+ curOrderInv = Object.assign(Object.assign({}, existingOrderInv), { releaseQty: curOrderInv.releaseQty, releaseUomValue: curOrderInv.releaseUomValue, lockedUomValue: curOrderInv.lockedUomValue, status: sales_base_1.ORDER_INVENTORY_STATUS.CANCELLED });
62
+ let existingWorksheetDetail = await tx.getRepository(worksheet_base_1.WorksheetDetail).findOne({
63
+ where: {
64
+ worksheet: pickingWorksheet,
65
+ type: worksheet_base_1.WORKSHEET_TYPE.PICKING,
66
+ targetInventory: curOrderInv
67
+ }
68
+ });
69
+ if (existingWorksheetDetail) {
70
+ existingWorksheetDetail = Object.assign(Object.assign({}, existingWorksheetDetail), { status: worksheet_base_1.WORKSHEET_STATUS.CANCELLED });
71
+ await tx.getRepository(worksheet_base_1.WorksheetDetail).save(existingWorksheetDetail);
72
+ }
73
+ await tx.getRepository(sales_base_1.OrderInventory).save(curOrderInv);
74
+ }
75
+ }
76
+ else if (curOrderInv.releaseQty == existingOrderInv.pickedQty) {
77
+ curOrderInv = Object.assign(Object.assign({}, existingOrderInv), { releaseQty: curOrderInv.releaseQty, releaseUomValue: curOrderInv.releaseUomValue, lockedUomValue: curOrderInv.lockedUomValue, status: sales_base_1.ORDER_INVENTORY_STATUS.PICKED });
78
+ let existingWorksheetDetail = await tx.getRepository(worksheet_base_1.WorksheetDetail).findOne({
79
+ where: {
80
+ targetInventory: curOrderInv
81
+ }
82
+ });
83
+ existingWorksheetDetail = Object.assign(Object.assign({}, existingWorksheetDetail), { status: worksheet_base_1.WORKSHEET_STATUS.PICKED });
84
+ await tx.getRepository(worksheet_base_1.WorksheetDetail).save(existingWorksheetDetail);
85
+ await tx.getRepository(sales_base_1.OrderInventory).save(curOrderInv);
86
+ }
87
+ else {
88
+ foundInv.updater = user;
89
+ foundInv.lockedQty =
90
+ foundInv.lockedQty - Number(existingOrderInv.releaseQty) + Number(curOrderInv.releaseQty);
91
+ foundInv.lockedUomValue =
92
+ foundInv.lockedUomValue - Number(existingOrderInv.releaseUomValue) + Number(curOrderInv.releaseUomValue);
93
+ await tx.getRepository(warehouse_base_1.Inventory).save(foundInv);
94
+ if (existingOrderInv) {
95
+ // if found existing OrderInventory and worksheetDetail then qty, uomValue, and status are updated
96
+ curOrderInv = Object.assign(Object.assign({}, existingOrderInv), { releaseQty: curOrderInv.releaseQty, releaseUomValue: curOrderInv.releaseUomValue, status: pickingWorksheet ? sales_base_1.ORDER_INVENTORY_STATUS.PICKING : sales_base_1.ORDER_INVENTORY_STATUS.PENDING });
97
+ let existingWorksheetDetail = await tx.getRepository(worksheet_base_1.WorksheetDetail).findOne({
98
+ where: {
99
+ worksheet: pickingWorksheet,
100
+ type: worksheet_base_1.WORKSHEET_TYPE.PICKING,
101
+ targetInventory: existingOrderInv
102
+ }
103
+ });
104
+ if (existingWorksheetDetail) {
105
+ if (curOrderInv.releaseQty != existingOrderInv.releaseQty) {
106
+ existingWorksheetDetail = Object.assign(Object.assign({}, existingWorksheetDetail), { status: worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED });
107
+ await tx.getRepository(worksheet_base_1.WorksheetDetail).save(existingWorksheetDetail);
108
+ }
109
+ }
110
+ await tx.getRepository(sales_base_1.OrderInventory).save(curOrderInv);
111
+ }
112
+ }
113
+ if (pickingWorksheet) {
114
+ // if has picking worksheet, status will be deactivated to prevent any action from warehouse operator until office admin has confirmation
115
+ pickingWorksheet = Object.assign(Object.assign({}, pickingWorksheet), { status: worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED });
116
+ await tx.getRepository(worksheet_base_1.Worksheet).save(pickingWorksheet);
117
+ }
118
+ if (loadingWorksheet) {
119
+ // if has loading worksheet, status will be deactivated to prevent any action from warehouse operator until office admin has confirmation
120
+ loadingWorksheet = Object.assign(Object.assign({}, loadingWorksheet), { status: worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED });
121
+ await tx.getRepository(worksheet_base_1.Worksheet).save(loadingWorksheet);
122
+ }
123
+ }
124
+ }
125
+ }
126
+ if (orderInventories.length > 0) {
127
+ for (let oi of orderInventories) {
128
+ // map input to OrderInventory Object
129
+ let newOrderInv = Object.assign({}, oi);
130
+ newOrderInv.domain = domain;
131
+ newOrderInv.bizplace = bizplace;
132
+ newOrderInv.batchId = oi.batchId;
133
+ newOrderInv.packingType = oi.packingType;
134
+ newOrderInv.status = pickingWorksheet ? sales_base_1.ORDER_INVENTORY_STATUS.PICKING : sales_base_1.ORDER_INVENTORY_STATUS.PENDING;
135
+ newOrderInv.name = sales_base_1.OrderNoGenerator.orderInventory();
136
+ newOrderInv.releaseGood = releaseGood;
137
+ newOrderInv.creator = user;
138
+ newOrderInv.updater = user;
139
+ let existingOrderInv;
140
+ let existingOrderProduct = await tx.getRepository(sales_base_1.OrderProduct).findOne({
141
+ where: {
142
+ domain,
143
+ releaseGood,
144
+ batchId: oi.batchId,
145
+ productDetail: newOrderInv.productDetail
146
+ }
147
+ });
148
+ // check if it is release by inventory (has inventory value) or product
149
+ if ((_b = newOrderInv.inventory) === null || _b === void 0 ? void 0 : _b.id) {
150
+ // if release by inventory, then quantity and uomValue values are updated
151
+ const foundInv = await tx
152
+ .getRepository(warehouse_base_1.Inventory)
153
+ .findOne({ where: { id: newOrderInv.inventory.id }, relations: ['productDetail'] });
154
+ newOrderInv.inventory = foundInv;
155
+ newOrderInv.uom = (oi === null || oi === void 0 ? void 0 : oi.uom) || foundInv.uom;
156
+ newOrderInv.batchIdRef = (oi === null || oi === void 0 ? void 0 : oi.batchIdRef) || foundInv.batchIdRef;
157
+ if (foundInv.productDetail) {
158
+ newOrderInv.uomValue = foundInv.productDetail.uomValue;
159
+ delete foundInv.productDetail;
160
+ }
161
+ // check for existing released OrderInventory specifying product, batchId, packingType, and inventory
162
+ existingOrderInv = await tx.getRepository(sales_base_1.OrderInventory).findOne({
163
+ where: {
164
+ releaseGood,
165
+ productDetail: newOrderInv.productDetail,
166
+ batchId: newOrderInv.batchId,
167
+ inventory: foundInv
168
+ }
169
+ });
170
+ foundInv.lockedQty = Number(foundInv.lockedQty) + newOrderInv.releaseQty;
171
+ foundInv.lockedUomValue = Number(foundInv.lockedUomValue) + newOrderInv.releaseUomValue;
172
+ foundInv.updater = user;
173
+ let newOrderProduct = Object.assign(new sales_base_1.OrderProduct(), newOrderInv);
174
+ newOrderProduct = Object.assign(Object.assign({}, newOrderProduct), { packQty: 0, actualPackQty: 0, palletQty: 0, actualPalletQty: 0, status: sales_base_1.ORDER_PRODUCT_STATUS.ASSIGNED });
175
+ if (!existingOrderProduct)
176
+ newOrderProduct = await tx.getRepository(sales_base_1.OrderProduct).save(newOrderProduct);
177
+ newOrderInv.orderProduct = existingOrderProduct ? existingOrderProduct : newOrderProduct;
178
+ await tx.getRepository(warehouse_base_1.Inventory).save(foundInv);
179
+ }
180
+ else {
181
+ // check for existing released OrderInventory specifying product, batchId and packingType
182
+ existingOrderInv = await tx.getRepository(sales_base_1.OrderInventory).findOne({
183
+ where: {
184
+ releaseGood,
185
+ productDetail: newOrderInv.productDetail,
186
+ batchId: newOrderInv.batchId
187
+ }
188
+ });
189
+ }
190
+ if (existingOrderInv) {
191
+ // if found existing OrderInventory and worksheetDetail then qty, uomValue, and status are updated
192
+ newOrderInv = Object.assign(Object.assign({}, existingOrderInv), { releaseQty: existingOrderInv.status === sales_base_1.ORDER_INVENTORY_STATUS.REPLACED
193
+ ? newOrderInv.releaseQty
194
+ : existingOrderInv.releaseQty + newOrderInv.releaseQty, releaseUomValue: sales_base_1.ORDER_INVENTORY_STATUS.REPLACED
195
+ ? newOrderInv.releaseUomValue
196
+ : existingOrderInv.releaseUomValue + newOrderInv.releaseUomValue, status: existingOrderInv.status === sales_base_1.ORDER_INVENTORY_STATUS.CANCELLED
197
+ ? pickingWorksheet
198
+ ? sales_base_1.ORDER_INVENTORY_STATUS.PICKING
199
+ : sales_base_1.ORDER_INVENTORY_STATUS.PENDING
200
+ : existingOrderInv.status });
201
+ let existingWorksheetDetail = await tx.getRepository(worksheet_base_1.WorksheetDetail).findOne({
202
+ where: {
203
+ worksheet: pickingWorksheet,
204
+ type: worksheet_base_1.WORKSHEET_TYPE.PICKING,
205
+ targetInventory: existingOrderInv
206
+ }
207
+ });
208
+ if (existingWorksheetDetail) {
209
+ existingWorksheetDetail = Object.assign(Object.assign({}, existingWorksheetDetail), { targetProduct: newOrderInv.orderProduct, status: worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED });
210
+ await tx.getRepository(worksheet_base_1.WorksheetDetail).save(existingWorksheetDetail);
211
+ }
212
+ }
213
+ let mappedOrderInv = data => {
214
+ let mapOrdInv = Object.assign(new sales_base_1.OrderInventory(), {
215
+ name: data.name,
216
+ type: data.type,
217
+ releaseQty: data.releaseQty,
218
+ releaseUomValue: data.releaseUomValue,
219
+ batchId: data.batchId,
220
+ batchIdRef: data.batchIdRef,
221
+ packingType: data.packingType,
222
+ uom: data.uom,
223
+ product: data.product,
224
+ productDetail: data.productDetail,
225
+ inventory: data.inventory,
226
+ status: data.status,
227
+ releaseGood: data.releaseGood,
228
+ orderProduct: data.orderProduct,
229
+ bizplace: data.bizplace,
230
+ domain: domain,
231
+ creator: user,
232
+ updater: user
233
+ });
234
+ return mapOrdInv;
235
+ };
236
+ if (releaseGood.status === 'PENDING') {
237
+ let savedOrderInv = mappedOrderInv(newOrderInv);
238
+ savedOrderInv = await tx.getRepository(sales_base_1.OrderInventory).save(savedOrderInv);
239
+ }
240
+ if (pickingWorksheet) {
241
+ let savedOrderInv = mappedOrderInv(newOrderInv);
242
+ if (newOrderInv === null || newOrderInv === void 0 ? void 0 : newOrderInv.id) {
243
+ // newOrderInv will have id if it was updated from existingOrderInv
244
+ // this solution will remove ix_order-inventory_0 unique error
245
+ // ** please revise this resolver in future. looks like there's few
246
+ // things that can refactor
247
+ savedOrderInv.id = newOrderInv.id;
248
+ }
249
+ savedOrderInv = await tx.getRepository(sales_base_1.OrderInventory).save(savedOrderInv);
250
+ if (!existingOrderInv && pickingWorksheet) {
251
+ // if this is a new orderInventory and has existing worksheet then generate a new worksheet detail for it
252
+ await (0, worksheet_base_1.generatePickingWorksheetDetail)(tx, domain, user, pickingWorksheet, savedOrderInv);
253
+ }
254
+ // if has picking worksheet, status will be deactivated to prevent any action from warehouse operator until office admin has confirmation
255
+ await tx.getRepository(worksheet_base_1.Worksheet).update(pickingWorksheet.id, { status: worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED });
256
+ }
257
+ }
258
+ }
259
+ if (loadingWorksheet) {
260
+ // if has loading worksheet, status will be deactivated to prevent any action from warehouse operator until office admin has confirmation
261
+ loadingWorksheet = Object.assign(Object.assign({}, loadingWorksheet), { status: worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED });
262
+ await tx.getRepository(worksheet_base_1.Worksheet).save(loadingWorksheet);
263
+ }
264
+ // Update Order Product Release Qty
265
+ let rgOrderProducts = await tx
266
+ .getRepository(sales_base_1.OrderProduct)
267
+ .find({ where: { domain, releaseGood } });
268
+ await Promise.all(rgOrderProducts.map(async (op) => {
269
+ const orderInventories = await tx.getRepository(sales_base_1.OrderInventory).find({
270
+ where: {
271
+ domain,
272
+ releaseGood,
273
+ orderProduct: op,
274
+ status: (0, typeorm_1.Not)((0, typeorm_1.In)([
275
+ sales_base_1.ORDER_INVENTORY_STATUS.TERMINATED,
276
+ sales_base_1.ORDER_INVENTORY_STATUS.CANCELLED,
277
+ sales_base_1.ORDER_INVENTORY_STATUS.PENDING_CANCEL
278
+ ]))
279
+ }
280
+ });
281
+ let totalReleaseQty = orderInventories.reduce((total, currentValue) => {
282
+ total += currentValue.releaseQty;
283
+ return total;
284
+ }, 0);
285
+ let totalReleaseUomValue = orderInventories.reduce((total, currentValue) => {
286
+ total += currentValue.releaseUomValue;
287
+ return total;
288
+ }, 0);
289
+ let updateOPInfo = {
290
+ releaseQty: totalReleaseQty,
291
+ releaseUomValue: totalReleaseUomValue
292
+ };
293
+ if (totalReleaseQty <= 0) {
294
+ updateOPInfo.status = sales_base_1.ORDER_PRODUCT_STATUS.TERMINATED;
295
+ }
296
+ await tx.getRepository(sales_base_1.OrderProduct).update({ id: op.id }, updateOPInfo);
297
+ }));
298
+ if ((releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lastMileDelivery) && ((_c = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lastMileDelivery) === null || _c === void 0 ? void 0 : _c.isTms)) {
299
+ // if releaseGood has last mile delivery, then update the last mile delivery with new order inventories
300
+ const tmsService = (0, integration_lmd_1.getTmsService)(releaseGood.lastMileDelivery.platform);
301
+ tmsService.updateShipment(releaseGood);
302
+ }
303
+ }
304
+ catch (error) {
305
+ throw error;
306
+ }
307
+ }
308
+ };
309
+ //# sourceMappingURL=add-release-good-products.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-release-good-products.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/other/add-release-good-products.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Mutation = exports.Query = void 0;
4
+ const add_release_good_products_1 = require("./add-release-good-products");
5
+ const page_settings_1 = require("./page-settings");
6
+ exports.Query = Object.assign({}, page_settings_1.pageSettings);
7
+ exports.Mutation = Object.assign({}, add_release_good_products_1.addReleaseGoodProducts);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/other/index.ts"],"names":[],"mappings":";;;AAAA,2EAAoE;AACpE,mDAA8C;AAEjC,QAAA,KAAK,qBACX,4BAAY,EAClB;AAEY,QAAA,QAAQ,qBACd,kDAAsB,EAC5B"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pageSettings = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const shell_1 = require("@things-factory/shell");
6
+ const biz_base_1 = require("@things-factory/biz-base");
7
+ const setting_base_1 = require("@things-factory/setting-base");
8
+ const code_base_1 = require("@things-factory/code-base");
9
+ exports.pageSettings = {
10
+ async pageSettings(_, { codes, partners, settings, settingsDomain }, context) {
11
+ const { domain, user, tx } = context.state;
12
+ try {
13
+ let promiseTask = [];
14
+ if (codes) {
15
+ promiseTask.push(queryCommonCode(codes, domain, tx, context));
16
+ }
17
+ if (partners) {
18
+ promiseTask.push(queryPartners(partners, domain, tx, context));
19
+ }
20
+ if (settings) {
21
+ promiseTask.push(querySettings(settings, settingsDomain, domain, tx));
22
+ }
23
+ return await Promise.all(promiseTask);
24
+ }
25
+ catch (error) {
26
+ throw error;
27
+ }
28
+ }
29
+ };
30
+ async function queryCommonCode(codes, domain, tx, context) {
31
+ const codeQb = tx.getRepository(code_base_1.CommonCode).createQueryBuilder('cc');
32
+ (0, shell_1.buildQuery)(codeQb, { filters: codes }, context);
33
+ codes = (await codeQb
34
+ .leftJoinAndSelect('cc.details', 'ccdet')
35
+ .orderBy('cc.name')
36
+ .addOrderBy('ccdet.rank')
37
+ .addOrderBy('ccdet.name')
38
+ .getMany()).map((cc) => {
39
+ return {
40
+ id: cc.id,
41
+ name: cc.name,
42
+ description: cc.description,
43
+ value: null,
44
+ settingDetails: cc.details.map(det => {
45
+ return {
46
+ id: det.id,
47
+ name: det.name,
48
+ description: det.description,
49
+ rank: det.rank
50
+ };
51
+ })
52
+ };
53
+ });
54
+ return {
55
+ type: 'code',
56
+ details: codes
57
+ };
58
+ }
59
+ async function queryPartners(partners, domain, tx, context) {
60
+ var _a;
61
+ let partnersBizplaceIds = [];
62
+ let bizplaceIndex = (_a = partners.filters) === null || _a === void 0 ? void 0 : _a.findIndex(x => x.name === 'bizplace');
63
+ if (bizplaceIndex && bizplaceIndex > -1) {
64
+ partnersBizplaceIds = partners.filters
65
+ .filter(x => x.name === 'bizplace')
66
+ .map(item => {
67
+ return item.value;
68
+ });
69
+ partners.filters.splice(bizplaceIndex, 1);
70
+ }
71
+ const convertedParams = (0, shell_1.convertListParams)({ filters: partners });
72
+ if (!(partnersBizplaceIds.length > 0)) {
73
+ const partnersBizplaces = await (0, biz_base_1.getPartnersBizplaces)(context.state.domain, context.state.user);
74
+ partnersBizplaceIds = partnersBizplaces.map((bizplace) => bizplace.id || null);
75
+ convertedParams.where.id = (0, typeorm_1.In)(partnersBizplaceIds);
76
+ }
77
+ else {
78
+ convertedParams.where.id = (0, typeorm_1.In)(partnersBizplaceIds);
79
+ }
80
+ partners = (await tx.getRepository(biz_base_1.Bizplace).find(Object.assign(Object.assign({}, convertedParams), { relations: ['domain', 'company', 'users', 'creator', 'updater'] }))).map((biz) => {
81
+ return {
82
+ id: biz.id,
83
+ name: biz.name,
84
+ description: biz.description,
85
+ value: null
86
+ };
87
+ });
88
+ return {
89
+ type: 'partner',
90
+ details: partners
91
+ };
92
+ }
93
+ async function querySettings(settingsFilter, partnerDomainId, domain, tx) {
94
+ let settingsName = settingsFilter.map(setting => setting.value).flat();
95
+ let domainSettings = (await tx
96
+ .getRepository(setting_base_1.Setting)
97
+ .createQueryBuilder('setting')
98
+ .where('setting.name IN (:...names)', { names: settingsName })
99
+ .andWhere('setting.domain = :domainId', { domainId: domain.id })
100
+ .getMany()).map((setting) => {
101
+ return {
102
+ id: setting.id,
103
+ name: setting.name,
104
+ description: setting.description,
105
+ value: setting.value
106
+ };
107
+ });
108
+ let partnerSettings = [];
109
+ if (partnerDomainId) {
110
+ partnerSettings = (await tx
111
+ .getRepository(setting_base_1.PartnerSetting)
112
+ .createQueryBuilder('ps')
113
+ .leftJoinAndSelect('ps.setting', 'setting')
114
+ .where('ps.setting IN (:...settings)', { settings: domainSettings.map(setting => setting.id) })
115
+ .andWhere('ps.domain = :domainId', { domainId: domain.id })
116
+ .andWhere('ps.partnerDomain = :partnerDomainId', { partnerDomainId })
117
+ .getMany()).map((ps) => {
118
+ return {
119
+ id: ps.setting.id,
120
+ name: ps.setting.name,
121
+ description: ps.setting.description,
122
+ value: ps.value
123
+ };
124
+ });
125
+ }
126
+ //filter out domain settings that exist in partner settings
127
+ const partnerSettingIds = new Set(partnerSettings.map(ps => ps.id));
128
+ const filteredDomainSettings = domainSettings.filter(ds => !partnerSettingIds.has(ds.id));
129
+ let settings = [...filteredDomainSettings, ...partnerSettings];
130
+ return {
131
+ type: 'setting',
132
+ details: settings
133
+ };
134
+ }
135
+ //# sourceMappingURL=page-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-settings.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/other/page-settings.ts"],"names":[],"mappings":"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"}