@things-factory/operato-pms 6.2.176 → 6.2.178

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 (310) hide show
  1. package/dist-server/constants/block.d.ts +4 -0
  2. package/dist-server/constants/index.d.ts +8 -0
  3. package/dist-server/constants/inventory.d.ts +8 -0
  4. package/dist-server/constants/master.d.ts +8 -0
  5. package/dist-server/constants/organization.d.ts +14 -0
  6. package/dist-server/constants/ramp.d.ts +8 -0
  7. package/dist-server/constants/record.d.ts +4 -0
  8. package/dist-server/constants/template.d.ts +3 -0
  9. package/dist-server/constants/transaction.d.ts +9 -0
  10. package/dist-server/controllers/index.d.ts +1 -0
  11. package/dist-server/controllers/render-dispatchment.d.ts +4 -0
  12. package/dist-server/controllers/render-dispatchment.js +1 -2
  13. package/dist-server/controllers/render-dispatchment.js.map +1 -1
  14. package/dist-server/entities/block-detail.d.ts +20 -0
  15. package/dist-server/entities/block-detail.js +2 -2
  16. package/dist-server/entities/block-detail.js.map +1 -1
  17. package/dist-server/entities/block.d.ts +16 -0
  18. package/dist-server/entities/block.js +4 -5
  19. package/dist-server/entities/block.js.map +1 -1
  20. package/dist-server/entities/daily-block-detail.d.ts +17 -0
  21. package/dist-server/entities/daily-block-detail.js +2 -2
  22. package/dist-server/entities/daily-block-detail.js.map +1 -1
  23. package/dist-server/entities/daily-dispatch-detail.d.ts +21 -0
  24. package/dist-server/entities/daily-dispatch-detail.js +2 -2
  25. package/dist-server/entities/daily-dispatch-detail.js.map +1 -1
  26. package/dist-server/entities/daily-dispatch.d.ts +26 -0
  27. package/dist-server/entities/daily-dispatch.js +2 -2
  28. package/dist-server/entities/daily-dispatch.js.map +1 -1
  29. package/dist-server/entities/daily-harvest-detail.d.ts +19 -0
  30. package/dist-server/entities/daily-harvest-detail.js +2 -2
  31. package/dist-server/entities/daily-harvest-detail.js.map +1 -1
  32. package/dist-server/entities/daily-harvest.d.ts +27 -0
  33. package/dist-server/entities/daily-harvest.js +2 -2
  34. package/dist-server/entities/daily-harvest.js.map +1 -1
  35. package/dist-server/entities/daily-loading-detail.d.ts +21 -0
  36. package/dist-server/entities/daily-loading-detail.js +2 -2
  37. package/dist-server/entities/daily-loading-detail.js.map +1 -1
  38. package/dist-server/entities/daily-loading-ramp.d.ts +17 -0
  39. package/dist-server/entities/daily-loading-ramp.js +2 -2
  40. package/dist-server/entities/daily-loading-ramp.js.map +1 -1
  41. package/dist-server/entities/daily-loading.d.ts +20 -0
  42. package/dist-server/entities/daily-loading.js +2 -2
  43. package/dist-server/entities/daily-loading.js.map +1 -1
  44. package/dist-server/entities/index.d.ts +19 -0
  45. package/dist-server/entities/organization-staff.d.ts +19 -0
  46. package/dist-server/entities/organization-staff.js +2 -2
  47. package/dist-server/entities/organization-staff.js.map +1 -1
  48. package/dist-server/entities/organization.d.ts +14 -0
  49. package/dist-server/entities/organization.js +2 -2
  50. package/dist-server/entities/organization.js.map +1 -1
  51. package/dist-server/entities/plantation-inventory.d.ts +19 -0
  52. package/dist-server/entities/plantation-inventory.js +2 -2
  53. package/dist-server/entities/plantation-inventory.js.map +1 -1
  54. package/dist-server/entities/plantation-setting.d.ts +17 -0
  55. package/dist-server/entities/plantation-setting.js +2 -2
  56. package/dist-server/entities/plantation-setting.js.map +1 -1
  57. package/dist-server/entities/ramp.d.ts +16 -0
  58. package/dist-server/entities/ramp.js +2 -2
  59. package/dist-server/entities/ramp.js.map +1 -1
  60. package/dist-server/entities/record-transaction.d.ts +29 -0
  61. package/dist-server/entities/record-transaction.js +2 -2
  62. package/dist-server/entities/record-transaction.js.map +1 -1
  63. package/dist-server/entities/truck.d.ts +18 -0
  64. package/dist-server/entities/truck.js +2 -2
  65. package/dist-server/entities/truck.js.map +1 -1
  66. package/dist-server/graphql/index.d.ts +5 -0
  67. package/dist-server/graphql/resolvers/block/block-query.d.ts +11 -0
  68. package/dist-server/graphql/resolvers/block/delete-blocks.d.ts +5 -0
  69. package/dist-server/graphql/resolvers/block/delete-blocks.js.map +1 -1
  70. package/dist-server/graphql/resolvers/block/index.d.ts +17 -0
  71. package/dist-server/graphql/resolvers/block/update-multiple-block.d.ts +10 -0
  72. package/dist-server/graphql/resolvers/block/update-multiple-block.js +3 -3
  73. package/dist-server/graphql/resolvers/block/update-multiple-block.js.map +1 -1
  74. package/dist-server/graphql/resolvers/block-detail/block-detail-query.d.ts +14 -0
  75. package/dist-server/graphql/resolvers/block-detail/block-detail-query.js.map +1 -1
  76. package/dist-server/graphql/resolvers/block-detail/delete-block-details.d.ts +5 -0
  77. package/dist-server/graphql/resolvers/block-detail/index.d.ts +22 -0
  78. package/dist-server/graphql/resolvers/block-detail/update-multiple-block-detail.d.ts +5 -0
  79. package/dist-server/graphql/resolvers/block-detail/update-multiple-block-detail.js.map +1 -1
  80. package/dist-server/graphql/resolvers/daily-block-detail/create-daily-block-detail.d.ts +5 -0
  81. package/dist-server/graphql/resolvers/daily-block-detail/daily-block-detail-query.d.ts +11 -0
  82. package/dist-server/graphql/resolvers/daily-block-detail/delete-daily-block-detail.d.ts +5 -0
  83. package/dist-server/graphql/resolvers/daily-block-detail/delete-daily-block-details.d.ts +5 -0
  84. package/dist-server/graphql/resolvers/daily-block-detail/index.d.ts +29 -0
  85. package/dist-server/graphql/resolvers/daily-block-detail/update-daily-block-detail.d.ts +6 -0
  86. package/dist-server/graphql/resolvers/daily-block-detail/update-multiple-daily-block-detail.d.ts +5 -0
  87. package/dist-server/graphql/resolvers/daily-block-detail/update-multiple-daily-block-detail.js.map +1 -1
  88. package/dist-server/graphql/resolvers/daily-dispatch/daily-dispatch-query.d.ts +11 -0
  89. package/dist-server/graphql/resolvers/daily-dispatch/delete-daily-dispatch.d.ts +5 -0
  90. package/dist-server/graphql/resolvers/daily-dispatch/generate-daily-dispatch.d.ts +11 -0
  91. package/dist-server/graphql/resolvers/daily-dispatch/generate-daily-dispatch.js +3 -3
  92. package/dist-server/graphql/resolvers/daily-dispatch/generate-daily-dispatch.js.map +1 -1
  93. package/dist-server/graphql/resolvers/daily-dispatch/index.d.ts +47 -0
  94. package/dist-server/graphql/resolvers/daily-dispatch/update-daily-dispatch.d.ts +31 -0
  95. package/dist-server/graphql/resolvers/daily-dispatch-detail/daily-dispatch-detail-query.d.ts +11 -0
  96. package/dist-server/graphql/resolvers/daily-dispatch-detail/index.d.ts +12 -0
  97. package/dist-server/graphql/resolvers/daily-harvest/daily-harvest-query.d.ts +11 -0
  98. package/dist-server/graphql/resolvers/daily-harvest/delete-daily-harvest.d.ts +5 -0
  99. package/dist-server/graphql/resolvers/daily-harvest/delete-daily-harvest.js.map +1 -1
  100. package/dist-server/graphql/resolvers/daily-harvest/generate-daily-harvest.d.ts +11 -0
  101. package/dist-server/graphql/resolvers/daily-harvest/generate-daily-harvest.js +3 -3
  102. package/dist-server/graphql/resolvers/daily-harvest/generate-daily-harvest.js.map +1 -1
  103. package/dist-server/graphql/resolvers/daily-harvest/index.d.ts +23 -0
  104. package/dist-server/graphql/resolvers/daily-harvest/update-daily-harvest.d.ts +11 -0
  105. package/dist-server/graphql/resolvers/daily-harvest/update-daily-harvest.js +2 -2
  106. package/dist-server/graphql/resolvers/daily-harvest/update-daily-harvest.js.map +1 -1
  107. package/dist-server/graphql/resolvers/daily-harvest-detail/daily-harvest-detail-query.d.ts +11 -0
  108. package/dist-server/graphql/resolvers/daily-harvest-detail/index.d.ts +12 -0
  109. package/dist-server/graphql/resolvers/daily-loading/daily-loading-query.d.ts +11 -0
  110. package/dist-server/graphql/resolvers/daily-loading/delete-daily-loading.d.ts +5 -0
  111. package/dist-server/graphql/resolvers/daily-loading/delete-daily-loading.js.map +1 -1
  112. package/dist-server/graphql/resolvers/daily-loading/generate-daily-loading.d.ts +11 -0
  113. package/dist-server/graphql/resolvers/daily-loading/generate-daily-loading.js +3 -3
  114. package/dist-server/graphql/resolvers/daily-loading/generate-daily-loading.js.map +1 -1
  115. package/dist-server/graphql/resolvers/daily-loading/index.d.ts +23 -0
  116. package/dist-server/graphql/resolvers/daily-loading/update-daily-loading.d.ts +12 -0
  117. package/dist-server/graphql/resolvers/daily-loading/update-daily-loading.js +3 -3
  118. package/dist-server/graphql/resolvers/daily-loading/update-daily-loading.js.map +1 -1
  119. package/dist-server/graphql/resolvers/daily-loading-detail/daily-loading-detail-query.d.ts +11 -0
  120. package/dist-server/graphql/resolvers/daily-loading-detail/index.d.ts +12 -0
  121. package/dist-server/graphql/resolvers/daily-loading-ramp/daily-loading-ramp-query.d.ts +11 -0
  122. package/dist-server/graphql/resolvers/daily-loading-ramp/delete-daily-loading-ramp.d.ts +5 -0
  123. package/dist-server/graphql/resolvers/daily-loading-ramp/index.d.ts +20 -0
  124. package/dist-server/graphql/resolvers/daily-loading-ramp/update-daily-loading-ramp.d.ts +6 -0
  125. package/dist-server/graphql/resolvers/dashboard/dashboard-query.d.ts +33 -0
  126. package/dist-server/graphql/resolvers/dashboard/dashboard-query.js +2 -2
  127. package/dist-server/graphql/resolvers/dashboard/dashboard-query.js.map +1 -1
  128. package/dist-server/graphql/resolvers/dashboard/index.d.ts +28 -0
  129. package/dist-server/graphql/resolvers/index.d.ts +19 -0
  130. package/dist-server/graphql/resolvers/organization/delete-organizations.d.ts +5 -0
  131. package/dist-server/graphql/resolvers/organization/delete-organizations.js.map +1 -1
  132. package/dist-server/graphql/resolvers/organization/index.d.ts +17 -0
  133. package/dist-server/graphql/resolvers/organization/organization-query.d.ts +11 -0
  134. package/dist-server/graphql/resolvers/organization/update-multiple-organization.d.ts +6 -0
  135. package/dist-server/graphql/resolvers/organization/update-multiple-organization.js +2 -2
  136. package/dist-server/graphql/resolvers/organization/update-multiple-organization.js.map +1 -1
  137. package/dist-server/graphql/resolvers/organization-staff/delete-organization-staffs.d.ts +5 -0
  138. package/dist-server/graphql/resolvers/organization-staff/index.d.ts +17 -0
  139. package/dist-server/graphql/resolvers/organization-staff/organization-staff-query.d.ts +11 -0
  140. package/dist-server/graphql/resolvers/organization-staff/update-multiple-organization-staff.d.ts +6 -0
  141. package/dist-server/graphql/resolvers/organization-staff/update-multiple-organization-staff.js +2 -2
  142. package/dist-server/graphql/resolvers/organization-staff/update-multiple-organization-staff.js.map +1 -1
  143. package/dist-server/graphql/resolvers/plantation-inventory/index.d.ts +13 -0
  144. package/dist-server/graphql/resolvers/plantation-inventory/plantation-inventory-query.d.ts +12 -0
  145. package/dist-server/graphql/resolvers/plantation-setting/create-plantation-setting.d.ts +5 -0
  146. package/dist-server/graphql/resolvers/plantation-setting/delete-plantation-setting.d.ts +5 -0
  147. package/dist-server/graphql/resolvers/plantation-setting/delete-plantation-settings.d.ts +5 -0
  148. package/dist-server/graphql/resolvers/plantation-setting/index.d.ts +34 -0
  149. package/dist-server/graphql/resolvers/plantation-setting/plantation-setting-query.d.ts +17 -0
  150. package/dist-server/graphql/resolvers/plantation-setting/update-multiple-plantation-setting.d.ts +5 -0
  151. package/dist-server/graphql/resolvers/plantation-setting/update-multiple-plantation-setting.js.map +1 -1
  152. package/dist-server/graphql/resolvers/plantation-setting/update-plantation-setting.d.ts +6 -0
  153. package/dist-server/graphql/resolvers/ramp/delete-ramps.d.ts +5 -0
  154. package/dist-server/graphql/resolvers/ramp/delete-ramps.js.map +1 -1
  155. package/dist-server/graphql/resolvers/ramp/index.d.ts +17 -0
  156. package/dist-server/graphql/resolvers/ramp/ramp-query.d.ts +11 -0
  157. package/dist-server/graphql/resolvers/ramp/update-multiple-ramp.d.ts +6 -0
  158. package/dist-server/graphql/resolvers/ramp/update-multiple-ramp.js +2 -2
  159. package/dist-server/graphql/resolvers/ramp/update-multiple-ramp.js.map +1 -1
  160. package/dist-server/graphql/resolvers/record-transaction/index.d.ts +12 -0
  161. package/dist-server/graphql/resolvers/record-transaction/record-transaction-query.d.ts +11 -0
  162. package/dist-server/graphql/resolvers/report/daily-ffb-dispatch-production-reports.d.ts +7 -0
  163. package/dist-server/graphql/resolvers/report/daily-ffb-dispatch-production-reports.js.map +1 -1
  164. package/dist-server/graphql/resolvers/report/daily-production-reports.d.ts +7 -0
  165. package/dist-server/graphql/resolvers/report/daily-production-reports.js.map +1 -1
  166. package/dist-server/graphql/resolvers/report/daily-staff-harvest-reports.d.ts +7 -0
  167. package/dist-server/graphql/resolvers/report/daily-staff-harvest-reports.js.map +1 -1
  168. package/dist-server/graphql/resolvers/report/index.d.ts +37 -0
  169. package/dist-server/graphql/resolvers/report/monthly-block-dispatch-reports.d.ts +7 -0
  170. package/dist-server/graphql/resolvers/report/monthly-block-dispatch-reports.js.map +1 -1
  171. package/dist-server/graphql/resolvers/report/monthly-dispatch-summary-reports.d.ts +7 -0
  172. package/dist-server/graphql/resolvers/report/monthly-dispatch-summary-reports.js.map +1 -1
  173. package/dist-server/graphql/resolvers/report/monthly-ffb-sale-reports.d.ts +7 -0
  174. package/dist-server/graphql/resolvers/report/monthly-ffb-sale-reports.js.map +1 -1
  175. package/dist-server/graphql/resolvers/report/monthly-production-reports.d.ts +7 -0
  176. package/dist-server/graphql/resolvers/report/monthly-production-reports.js.map +1 -1
  177. package/dist-server/graphql/resolvers/report/yearly-production-reports.d.ts +7 -0
  178. package/dist-server/graphql/resolvers/report/yearly-production-reports.js.map +1 -1
  179. package/dist-server/graphql/resolvers/truck/delete-trucks.d.ts +5 -0
  180. package/dist-server/graphql/resolvers/truck/index.d.ts +24 -0
  181. package/dist-server/graphql/resolvers/truck/truck-query.d.ts +17 -0
  182. package/dist-server/graphql/resolvers/truck/update-multiple-truck.d.ts +5 -0
  183. package/dist-server/graphql/resolvers/truck/update-multiple-truck.js.map +1 -1
  184. package/dist-server/graphql/types/block/block-list.d.ts +1 -0
  185. package/dist-server/graphql/types/block/block-patch.d.ts +1 -0
  186. package/dist-server/graphql/types/block/block.d.ts +1 -0
  187. package/dist-server/graphql/types/block/index.d.ts +5 -0
  188. package/dist-server/graphql/types/block/new-block.d.ts +1 -0
  189. package/dist-server/graphql/types/block-detail/block-detail-list.d.ts +1 -0
  190. package/dist-server/graphql/types/block-detail/block-detail-patch.d.ts +1 -0
  191. package/dist-server/graphql/types/block-detail/block-detail.d.ts +1 -0
  192. package/dist-server/graphql/types/block-detail/index.d.ts +5 -0
  193. package/dist-server/graphql/types/block-detail/new-block-detail.d.ts +1 -0
  194. package/dist-server/graphql/types/daily-block-detail/daily-block-detail-list.d.ts +1 -0
  195. package/dist-server/graphql/types/daily-block-detail/daily-block-detail-patch.d.ts +1 -0
  196. package/dist-server/graphql/types/daily-block-detail/daily-block-detail.d.ts +1 -0
  197. package/dist-server/graphql/types/daily-block-detail/index.d.ts +5 -0
  198. package/dist-server/graphql/types/daily-block-detail/new-daily-block-detail.d.ts +1 -0
  199. package/dist-server/graphql/types/daily-dispatch/daily-dispatch-list.d.ts +1 -0
  200. package/dist-server/graphql/types/daily-dispatch/daily-dispatch-patch.d.ts +1 -0
  201. package/dist-server/graphql/types/daily-dispatch/daily-dispatch.d.ts +1 -0
  202. package/dist-server/graphql/types/daily-dispatch/index.d.ts +5 -0
  203. package/dist-server/graphql/types/daily-dispatch/new-daily-dispatch.d.ts +1 -0
  204. package/dist-server/graphql/types/daily-dispatch-detail/daily-dispatch-detail-list.d.ts +1 -0
  205. package/dist-server/graphql/types/daily-dispatch-detail/daily-dispatch-detail-patch.d.ts +1 -0
  206. package/dist-server/graphql/types/daily-dispatch-detail/daily-dispatch-detail.d.ts +1 -0
  207. package/dist-server/graphql/types/daily-dispatch-detail/index.d.ts +5 -0
  208. package/dist-server/graphql/types/daily-dispatch-detail/new-daily-dispatch-detail.d.ts +1 -0
  209. package/dist-server/graphql/types/daily-harvest/daily-harvest-list.d.ts +1 -0
  210. package/dist-server/graphql/types/daily-harvest/daily-harvest-patch.d.ts +1 -0
  211. package/dist-server/graphql/types/daily-harvest/daily-harvest.d.ts +1 -0
  212. package/dist-server/graphql/types/daily-harvest/index.d.ts +5 -0
  213. package/dist-server/graphql/types/daily-harvest/new-daily-harvest.d.ts +1 -0
  214. package/dist-server/graphql/types/daily-harvest-detail/daily-harvest-detail-list.d.ts +1 -0
  215. package/dist-server/graphql/types/daily-harvest-detail/daily-harvest-detail-patch.d.ts +1 -0
  216. package/dist-server/graphql/types/daily-harvest-detail/daily-harvest-detail.d.ts +1 -0
  217. package/dist-server/graphql/types/daily-harvest-detail/index.d.ts +5 -0
  218. package/dist-server/graphql/types/daily-harvest-detail/new-daily-harvest-detail.d.ts +1 -0
  219. package/dist-server/graphql/types/daily-loading/daily-loading-list.d.ts +1 -0
  220. package/dist-server/graphql/types/daily-loading/daily-loading-patch.d.ts +1 -0
  221. package/dist-server/graphql/types/daily-loading/daily-loading.d.ts +1 -0
  222. package/dist-server/graphql/types/daily-loading/index.d.ts +5 -0
  223. package/dist-server/graphql/types/daily-loading/new-daily-loading.d.ts +1 -0
  224. package/dist-server/graphql/types/daily-loading-detail/daily-loading-detail-list.d.ts +1 -0
  225. package/dist-server/graphql/types/daily-loading-detail/daily-loading-detail-patch.d.ts +1 -0
  226. package/dist-server/graphql/types/daily-loading-detail/daily-loading-detail.d.ts +1 -0
  227. package/dist-server/graphql/types/daily-loading-detail/index.d.ts +5 -0
  228. package/dist-server/graphql/types/daily-loading-detail/new-daily-loading-detail.d.ts +1 -0
  229. package/dist-server/graphql/types/daily-loading-ramp/daily-loading-ramp-list.d.ts +1 -0
  230. package/dist-server/graphql/types/daily-loading-ramp/daily-loading-ramp-patch.d.ts +1 -0
  231. package/dist-server/graphql/types/daily-loading-ramp/daily-loading-ramp.d.ts +1 -0
  232. package/dist-server/graphql/types/daily-loading-ramp/index.d.ts +5 -0
  233. package/dist-server/graphql/types/daily-loading-ramp/new-daily-loading-ramp.d.ts +1 -0
  234. package/dist-server/graphql/types/dashboard/bunches-count.d.ts +1 -0
  235. package/dist-server/graphql/types/dashboard/index.d.ts +6 -0
  236. package/dist-server/graphql/types/dashboard/productions-overview.d.ts +1 -0
  237. package/dist-server/graphql/types/dashboard/tonnage-bunches-inventories.d.ts +1 -0
  238. package/dist-server/graphql/types/dashboard/tonnage-production.d.ts +1 -0
  239. package/dist-server/graphql/types/dashboard/yield-production.d.ts +1 -0
  240. package/dist-server/graphql/types/index.d.ts +19 -0
  241. package/dist-server/graphql/types/organization/index.d.ts +5 -0
  242. package/dist-server/graphql/types/organization/new-organization.d.ts +1 -0
  243. package/dist-server/graphql/types/organization/organization-list.d.ts +1 -0
  244. package/dist-server/graphql/types/organization/organization-patch.d.ts +1 -0
  245. package/dist-server/graphql/types/organization/organization.d.ts +1 -0
  246. package/dist-server/graphql/types/organization-staff/index.d.ts +5 -0
  247. package/dist-server/graphql/types/organization-staff/new-organization-staff.d.ts +1 -0
  248. package/dist-server/graphql/types/organization-staff/organization-staff-list.d.ts +1 -0
  249. package/dist-server/graphql/types/organization-staff/organization-staff-patch.d.ts +1 -0
  250. package/dist-server/graphql/types/organization-staff/organization-staff.d.ts +1 -0
  251. package/dist-server/graphql/types/plantation-inventory/index.d.ts +5 -0
  252. package/dist-server/graphql/types/plantation-inventory/new-plantation-inventory.d.ts +1 -0
  253. package/dist-server/graphql/types/plantation-inventory/plantation-inventory-list.d.ts +1 -0
  254. package/dist-server/graphql/types/plantation-inventory/plantation-inventory-patch.d.ts +1 -0
  255. package/dist-server/graphql/types/plantation-inventory/plantation-inventory.d.ts +1 -0
  256. package/dist-server/graphql/types/plantation-setting/index.d.ts +5 -0
  257. package/dist-server/graphql/types/plantation-setting/new-plantation-setting.d.ts +1 -0
  258. package/dist-server/graphql/types/plantation-setting/plantation-setting-list.d.ts +1 -0
  259. package/dist-server/graphql/types/plantation-setting/plantation-setting-patch.d.ts +1 -0
  260. package/dist-server/graphql/types/plantation-setting/plantation-setting.d.ts +1 -0
  261. package/dist-server/graphql/types/ramp/index.d.ts +5 -0
  262. package/dist-server/graphql/types/ramp/new-ramp.d.ts +1 -0
  263. package/dist-server/graphql/types/ramp/ramp-list.d.ts +1 -0
  264. package/dist-server/graphql/types/ramp/ramp-patch.d.ts +1 -0
  265. package/dist-server/graphql/types/ramp/ramp.d.ts +1 -0
  266. package/dist-server/graphql/types/record-transaction/index.d.ts +5 -0
  267. package/dist-server/graphql/types/record-transaction/new-record-transaction.d.ts +1 -0
  268. package/dist-server/graphql/types/record-transaction/record-transaction-list.d.ts +1 -0
  269. package/dist-server/graphql/types/record-transaction/record-transaction-patch.d.ts +1 -0
  270. package/dist-server/graphql/types/record-transaction/record-transaction.d.ts +1 -0
  271. package/dist-server/graphql/types/report/daily-ffb-dispatch-production-report-list.d.ts +1 -0
  272. package/dist-server/graphql/types/report/daily-ffb-dispatch-production-report.d.ts +1 -0
  273. package/dist-server/graphql/types/report/daily-production-report-list.d.ts +1 -0
  274. package/dist-server/graphql/types/report/daily-production-report.d.ts +1 -0
  275. package/dist-server/graphql/types/report/daily-staff-harvest-report-list.d.ts +1 -0
  276. package/dist-server/graphql/types/report/daily-staff-harvest-report.d.ts +1 -0
  277. package/dist-server/graphql/types/report/index.d.ts +15 -0
  278. package/dist-server/graphql/types/report/monthly-block-dispatch-report-list.d.ts +1 -0
  279. package/dist-server/graphql/types/report/monthly-block-dispatch-report.d.ts +1 -0
  280. package/dist-server/graphql/types/report/monthly-dispatch-summary-report-list.d.ts +1 -0
  281. package/dist-server/graphql/types/report/monthly-dispatch-summary-report.d.ts +1 -0
  282. package/dist-server/graphql/types/report/monthly-ffb-sale-report-list.d.ts +1 -0
  283. package/dist-server/graphql/types/report/monthly-ffb-sale-report.d.ts +1 -0
  284. package/dist-server/graphql/types/report/monthly-production-report-list.d.ts +1 -0
  285. package/dist-server/graphql/types/report/monthly-production-report.d.ts +1 -0
  286. package/dist-server/graphql/types/report/yearly-production-report-list.d.ts +1 -0
  287. package/dist-server/graphql/types/report/yearly-production-report.d.ts +1 -0
  288. package/dist-server/graphql/types/truck/index.d.ts +5 -0
  289. package/dist-server/graphql/types/truck/new-truck.d.ts +1 -0
  290. package/dist-server/graphql/types/truck/truck-list.d.ts +1 -0
  291. package/dist-server/graphql/types/truck/truck-patch.d.ts +1 -0
  292. package/dist-server/graphql/types/truck/truck.d.ts +1 -0
  293. package/dist-server/index.d.ts +5 -0
  294. package/dist-server/middlewares/index.d.ts +1 -0
  295. package/dist-server/middlewares/index.js +1 -2
  296. package/dist-server/middlewares/index.js.map +1 -1
  297. package/dist-server/migrations/index.d.ts +1 -0
  298. package/dist-server/routes.d.ts +1 -0
  299. package/dist-server/tsconfig.tsbuildinfo +1 -1
  300. package/dist-server/utils/core-values.d.ts +12 -0
  301. package/dist-server/utils/core-values.js +1 -2
  302. package/dist-server/utils/core-values.js.map +1 -1
  303. package/dist-server/utils/datetime-util.d.ts +4 -0
  304. package/dist-server/utils/datetime-util.js.map +1 -1
  305. package/dist-server/utils/index.d.ts +4 -0
  306. package/dist-server/utils/no-generator.d.ts +15 -0
  307. package/dist-server/utils/transaction-util.d.ts +17 -0
  308. package/dist-server/utils/transaction-util.js +2 -3
  309. package/dist-server/utils/transaction-util.js.map +1 -1
  310. package/package.json +28 -28
@@ -1 +1 @@
1
- {"version":3,"file":"daily-staff-harvest-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/daily-staff-harvest-reports.ts"],"names":[],"mappings":";;;AAEA,gDAAyC;AAE5B,QAAA,wBAAwB,GAAG;IACtC,KAAK,CAAC,wBAAwB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAChF,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAE5B,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzF,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAE1F,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;YAEpC,IAAI,cAAc,GAAG;gBACnB,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAChD,IAAI;aACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,IAAI,YAAY,GAAG;gBACjB,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;aAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,MAAM,KAAK,GAAG,MAAM,EAAE;iBACnB,aAAa,CAAC,gBAAK,CAAC;iBACpB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAE3F,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;OAaD,EACC,CAAC,KAAK,CAAC,EAAE,CAAC,CACX,CAAA;YAED,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;WAeG,EACH,CAAC,cAAc,EAAE,YAAY,CAAC,CAC/B,CAAA;YAED,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAElC,CAAC,CAAA;YAEF,MAAM,KAAK,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAEjC,CAAC,CAAA;YAEF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;SAChD;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA","sourcesContent":["import { ListParam } from '@things-factory/shell'\n\nimport { Block } from '../../../entities'\n\nexport const dailyStaffHarvestReports = {\n async dailyStaffHarvestReports(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { tx } = context.state\n\n let year = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[0])\n let month = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[1])\n\n let fromDate = new Date(year, month - 1, 1)\n let toDate = new Date(year, month, 1)\n toDate.setDate(toDate.getDate() - 1)\n\n let fromDateString = [\n fromDate.getFullYear().toString(),\n String(fromDate.getMonth() + 1).padStart(2, '0'),\n '01'\n ].join('-')\n\n let toDateString = [\n toDate.getFullYear().toString(),\n String(toDate.getMonth() + 1).padStart(2, '0'),\n String(toDate.getDate()).padStart(2, '0')\n ].join('-')\n\n const block = await tx\n .getRepository(Block)\n .findOneOrFail({ where: { id: params.filters.filter(x => x.name == 'block')[0].value } })\n\n await tx.query(\n `\n CREATE TEMP TABLE temp_blocks on commit drop AS (\n WITH RECURSIVE b AS ( \n SELECT $1::uuid as block_id, * FROM blocks b \n WHERE id = $1::uuid \n AND b.deleted_at IS null\n UNION ALL\n SELECT $1::uuid as block_id, cb.* FROM blocks cb\n INNER JOIN b ON b.id = cb.parent_block_id\n WHERE cb.deleted_at IS null\n )\n SELECT * FROM b\n );\n `,\n [block.id]\n )\n\n await tx.query(\n `\n create temp table temp_daily_staff_harvest_data on commit drop as (\n select \"harvestDate\"::varchar as \"harvestDate\", \"blockName\"::varchar, \"staffName\"::varchar, sum(\"totalBunchHarvested\")::varchar as \"totalBunchHarvested\" from (\n select dh.harvest_date::date as \"harvestDate\", b2.\"name\" as \"blockName\", os.\"name\" as \"staffName\",\n dhd.total_bunch_harvested as \"totalBunchHarvested\"\n from daily_harvest_details dhd \n inner join daily_harvests dh on dh.id = dhd.daily_harvest_id\n inner join temp_blocks blk on blk.id = dh.block_id\n inner join organization_staffs os on os.id = dhd.organization_staff_id \n inner join blocks b2 on b2.id = blk.block_id\n where dh.harvest_date::date between $1 and $2\n ) as dt\n group by \"harvestDate\", \"blockName\", \"staffName\"\n order by \"staffName\", \"harvestDate\"\n )\n `,\n [fromDateString, toDateString]\n )\n\n const result: any = await tx.query(`\n select * from temp_daily_staff_harvest_data dt\n `)\n\n const total: any = await tx.query(`\n select count(*) from temp_daily_staff_harvest_data\n `)\n\n return { items: result, total: total[0].count }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
1
+ {"version":3,"file":"daily-staff-harvest-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/daily-staff-harvest-reports.ts"],"names":[],"mappings":";;;AAEA,gDAAyC;AAE5B,QAAA,wBAAwB,GAAG;IACtC,KAAK,CAAC,wBAAwB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAChF,IAAI,CAAC;YACH,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAE5B,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzF,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAE1F,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;YAEpC,IAAI,cAAc,GAAG;gBACnB,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAChD,IAAI;aACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,IAAI,YAAY,GAAG;gBACjB,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;aAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,MAAM,KAAK,GAAG,MAAM,EAAE;iBACnB,aAAa,CAAC,gBAAK,CAAC;iBACpB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAE3F,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;OAaD,EACC,CAAC,KAAK,CAAC,EAAE,CAAC,CACX,CAAA;YAED,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;WAeG,EACH,CAAC,cAAc,EAAE,YAAY,CAAC,CAC/B,CAAA;YAED,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAElC,CAAC,CAAA;YAEF,MAAM,KAAK,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAEjC,CAAC,CAAA;YAEF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF,CAAA","sourcesContent":["import { ListParam } from '@things-factory/shell'\n\nimport { Block } from '../../../entities'\n\nexport const dailyStaffHarvestReports = {\n async dailyStaffHarvestReports(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { tx } = context.state\n\n let year = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[0])\n let month = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[1])\n\n let fromDate = new Date(year, month - 1, 1)\n let toDate = new Date(year, month, 1)\n toDate.setDate(toDate.getDate() - 1)\n\n let fromDateString = [\n fromDate.getFullYear().toString(),\n String(fromDate.getMonth() + 1).padStart(2, '0'),\n '01'\n ].join('-')\n\n let toDateString = [\n toDate.getFullYear().toString(),\n String(toDate.getMonth() + 1).padStart(2, '0'),\n String(toDate.getDate()).padStart(2, '0')\n ].join('-')\n\n const block = await tx\n .getRepository(Block)\n .findOneOrFail({ where: { id: params.filters.filter(x => x.name == 'block')[0].value } })\n\n await tx.query(\n `\n CREATE TEMP TABLE temp_blocks on commit drop AS (\n WITH RECURSIVE b AS ( \n SELECT $1::uuid as block_id, * FROM blocks b \n WHERE id = $1::uuid \n AND b.deleted_at IS null\n UNION ALL\n SELECT $1::uuid as block_id, cb.* FROM blocks cb\n INNER JOIN b ON b.id = cb.parent_block_id\n WHERE cb.deleted_at IS null\n )\n SELECT * FROM b\n );\n `,\n [block.id]\n )\n\n await tx.query(\n `\n create temp table temp_daily_staff_harvest_data on commit drop as (\n select \"harvestDate\"::varchar as \"harvestDate\", \"blockName\"::varchar, \"staffName\"::varchar, sum(\"totalBunchHarvested\")::varchar as \"totalBunchHarvested\" from (\n select dh.harvest_date::date as \"harvestDate\", b2.\"name\" as \"blockName\", os.\"name\" as \"staffName\",\n dhd.total_bunch_harvested as \"totalBunchHarvested\"\n from daily_harvest_details dhd \n inner join daily_harvests dh on dh.id = dhd.daily_harvest_id\n inner join temp_blocks blk on blk.id = dh.block_id\n inner join organization_staffs os on os.id = dhd.organization_staff_id \n inner join blocks b2 on b2.id = blk.block_id\n where dh.harvest_date::date between $1 and $2\n ) as dt\n group by \"harvestDate\", \"blockName\", \"staffName\"\n order by \"staffName\", \"harvestDate\"\n )\n `,\n [fromDateString, toDateString]\n )\n\n const result: any = await tx.query(`\n select * from temp_daily_staff_harvest_data dt\n `)\n\n const total: any = await tx.query(`\n select count(*) from temp_daily_staff_harvest_data\n `)\n\n return { items: result, total: total[0].count }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
@@ -0,0 +1,37 @@
1
+ export declare const ReportResolver: {
2
+ Query: {
3
+ dailyFfbDispatchProductionReports(_: any, params: import("@things-factory/shell").ListParam, context: ResolverContext): Promise<{
4
+ items: any;
5
+ total: any;
6
+ }>;
7
+ monthlyFfbSaleReports(_: any, params: import("@things-factory/shell").ListParam, context: ResolverContext): Promise<{
8
+ items: any;
9
+ total: any;
10
+ }>;
11
+ monthlyBlockDispatchReports(_: any, params: import("@things-factory/shell").ListParam, context: ResolverContext): Promise<{
12
+ items: any;
13
+ total: any;
14
+ }>;
15
+ dailyStaffHarvestReports(_: any, params: import("@things-factory/shell").ListParam, context: ResolverContext): Promise<{
16
+ items: any;
17
+ total: any;
18
+ }>;
19
+ yearlyProductionReports(_: any, params: import("@things-factory/shell").ListParam, context: ResolverContext): Promise<{
20
+ items: any;
21
+ total: any;
22
+ }>;
23
+ monthlyDispatchSummaryReports(_: any, params: import("@things-factory/shell").ListParam, context: ResolverContext): Promise<{
24
+ items: any;
25
+ total: any;
26
+ }>;
27
+ monthlyProductionReports(_: any, params: import("@things-factory/shell").ListParam, context: ResolverContext): Promise<{
28
+ items: any;
29
+ total: any;
30
+ }>;
31
+ dailyProductionReports(_: any, params: import("@things-factory/shell").ListParam, context: ResolverContext): Promise<{
32
+ items: any;
33
+ total: any;
34
+ }>;
35
+ };
36
+ Mutation: {};
37
+ };
@@ -0,0 +1,7 @@
1
+ import { ListParam } from '@things-factory/shell';
2
+ export declare const monthlyBlockDispatchReports: {
3
+ monthlyBlockDispatchReports(_: any, params: ListParam, context: ResolverContext): Promise<{
4
+ items: any;
5
+ total: any;
6
+ }>;
7
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"monthly-block-dispatch-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/monthly-block-dispatch-reports.ts"],"names":[],"mappings":"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","sourcesContent":["import { ListParam } from '@things-factory/shell'\n\nimport { Block } from '../../../entities'\n\nexport const monthlyBlockDispatchReports = {\n async monthlyBlockDispatchReports(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { domain, tx } = context.state\n\n let year = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[0])\n let month = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[1])\n\n let fromDate = new Date(year, month - 1, 1)\n let toDate = new Date(year, month, 1)\n toDate.setDate(toDate.getDate() - 1)\n\n let fromDateString = [\n fromDate.getFullYear().toString(),\n String(fromDate.getMonth() + 1).padStart(2, '0'),\n '01'\n ].join('-')\n\n let toDateString = [\n toDate.getFullYear().toString(),\n String(toDate.getMonth() + 1).padStart(2, '0'),\n String(toDate.getDate()).padStart(2, '0')\n ].join('-')\n\n let blocks = await tx.getRepository(Block).query(\n `\n SELECT b.id, b.name FROM ramps r\n INNER JOIN blocks b ON b.id = r.block_id \n WHERE b.deleted_at IS NULL\n AND r.domain_id = $1\n GROUP BY b.id, b.name\n `,\n [domain.id]\n )\n\n // -- WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp\n // [fromDateString, toDateString]\n await tx.query(`create extension if not exists tablefunc`)\n\n await tx.query(\n `\n CREATE TEMP TABLE raw_block_dispatch ON COMMIT DROP AS (\n SELECT dd.id, b.name AS block_name,\n COALESCE(ddd.adjusted_weight, ddd.collected_ramp_weight, 0) AS weight\n FROM daily_dispatches dd \n INNER JOIN daily_dispatch_details ddd ON ddd.daily_dispatch_id = dd.id\n INNER JOIN ramps r ON r.id = ddd.ramp_id \n INNER JOIN blocks b ON b.id = r.block_id\n WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp\n )\n `,\n [fromDateString, toDateString]\n )\n\n await tx.query(\n `\n CREATE TEMP TABLE pivot_block_dispatch ON COMMIT DROP AS (\n SELECT * FROM crosstab(\n $$SELECT rbd.id, rbd.block_name, round(rbd.weight, 2 )::varchar FROM raw_block_dispatch rbd$$,\n $$SELECT b.name FROM ramps r INNER JOIN blocks b ON b.id = r.block_id WHERE r.deleted_at IS NULL AND r.domain_id = '${\n domain.id\n }' GROUP BY b.id, b.name$$\n ) AS (\"id\" uuid, ${blocks.map(block => `\"${block.name}\" varchar`).join(',')})\n );\n `\n )\n\n await tx.query(\n `\n CREATE TEMP TABLE temp_monthly_production_data ON COMMIT DROP AS (\n SELECT \n ROW_NUMBER() OVER(\n PARTITION BY dd.dispatch_at::date\n ORDER BY dd.dispatch_at\n ) as rn\n , dd.id, COALESCE(c.name, 'UNKNOWN') AS \"dispatchTo\"\n , dd.transport_no as \"lorryNo\"\n , dd.driver_identification as \"driverIdentification\"\n , TO_CHAR(dd.dispatch_at:: DATE, 'dd/mm/yyyy') as \"date\"\n , row_to_json((SELECT d FROM (SELECT ${blocks\n .map(block => `pbd.\"${block.name}\"`)\n .join(',')}) d))::varchar as \"blockData\"\n , (SELECT sum(weight) FROM raw_block_dispatch rbd WHERE rbd.id = dd.id) AS \"today\"\n FROM daily_dispatches dd \n INNER JOIN pivot_block_dispatch pbd ON pbd.id = dd.id\n LEFT JOIN organizations c ON c.id = dd.dispatch_to_id \n );\n `\n )\n\n const result: any = await tx.query(\n `\n select \"id\", \"dispatchTo\", \"lorryNo\", \"driverIdentification\", \n CASE WHEN \"rn\" = 1 THEN \"date\" ELSE '' END AS \"date\", \"blockData\", \"today\",\n coalesce(sum(today) over (order by date asc rows between unbounded preceding and current row), 0) as \"todate\"\n from temp_monthly_production_data dt\n `\n )\n\n const total: any = await tx.query(\n `\n select count(*) from temp_monthly_production_data\n `\n )\n\n return {\n items: result.map(itm => {\n return {\n ...itm\n }\n }),\n total: total[0].count\n }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
1
+ {"version":3,"file":"monthly-block-dispatch-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/monthly-block-dispatch-reports.ts"],"names":[],"mappings":"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","sourcesContent":["import { ListParam } from '@things-factory/shell'\n\nimport { Block } from '../../../entities'\n\nexport const monthlyBlockDispatchReports = {\n async monthlyBlockDispatchReports(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { domain, tx } = context.state\n\n let year = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[0])\n let month = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[1])\n\n let fromDate = new Date(year, month - 1, 1)\n let toDate = new Date(year, month, 1)\n toDate.setDate(toDate.getDate() - 1)\n\n let fromDateString = [\n fromDate.getFullYear().toString(),\n String(fromDate.getMonth() + 1).padStart(2, '0'),\n '01'\n ].join('-')\n\n let toDateString = [\n toDate.getFullYear().toString(),\n String(toDate.getMonth() + 1).padStart(2, '0'),\n String(toDate.getDate()).padStart(2, '0')\n ].join('-')\n\n let blocks = await tx.getRepository(Block).query(\n `\n SELECT b.id, b.name FROM ramps r\n INNER JOIN blocks b ON b.id = r.block_id \n WHERE b.deleted_at IS NULL\n AND r.domain_id = $1\n GROUP BY b.id, b.name\n `,\n [domain.id]\n )\n\n // -- WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp\n // [fromDateString, toDateString]\n await tx.query(`create extension if not exists tablefunc`)\n\n await tx.query(\n `\n CREATE TEMP TABLE raw_block_dispatch ON COMMIT DROP AS (\n SELECT dd.id, b.name AS block_name,\n COALESCE(ddd.adjusted_weight, ddd.collected_ramp_weight, 0) AS weight\n FROM daily_dispatches dd \n INNER JOIN daily_dispatch_details ddd ON ddd.daily_dispatch_id = dd.id\n INNER JOIN ramps r ON r.id = ddd.ramp_id \n INNER JOIN blocks b ON b.id = r.block_id\n WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp\n )\n `,\n [fromDateString, toDateString]\n )\n\n await tx.query(\n `\n CREATE TEMP TABLE pivot_block_dispatch ON COMMIT DROP AS (\n SELECT * FROM crosstab(\n $$SELECT rbd.id, rbd.block_name, round(rbd.weight, 2 )::varchar FROM raw_block_dispatch rbd$$,\n $$SELECT b.name FROM ramps r INNER JOIN blocks b ON b.id = r.block_id WHERE r.deleted_at IS NULL AND r.domain_id = '${\n domain.id\n }' GROUP BY b.id, b.name$$\n ) AS (\"id\" uuid, ${blocks.map(block => `\"${block.name}\" varchar`).join(',')})\n );\n `\n )\n\n await tx.query(\n `\n CREATE TEMP TABLE temp_monthly_production_data ON COMMIT DROP AS (\n SELECT \n ROW_NUMBER() OVER(\n PARTITION BY dd.dispatch_at::date\n ORDER BY dd.dispatch_at\n ) as rn\n , dd.id, COALESCE(c.name, 'UNKNOWN') AS \"dispatchTo\"\n , dd.transport_no as \"lorryNo\"\n , dd.driver_identification as \"driverIdentification\"\n , TO_CHAR(dd.dispatch_at:: DATE, 'dd/mm/yyyy') as \"date\"\n , row_to_json((SELECT d FROM (SELECT ${blocks\n .map(block => `pbd.\"${block.name}\"`)\n .join(',')}) d))::varchar as \"blockData\"\n , (SELECT sum(weight) FROM raw_block_dispatch rbd WHERE rbd.id = dd.id) AS \"today\"\n FROM daily_dispatches dd \n INNER JOIN pivot_block_dispatch pbd ON pbd.id = dd.id\n LEFT JOIN organizations c ON c.id = dd.dispatch_to_id \n );\n `\n )\n\n const result: any = await tx.query(\n `\n select \"id\", \"dispatchTo\", \"lorryNo\", \"driverIdentification\", \n CASE WHEN \"rn\" = 1 THEN \"date\" ELSE '' END AS \"date\", \"blockData\", \"today\",\n coalesce(sum(today) over (order by date asc rows between unbounded preceding and current row), 0) as \"todate\"\n from temp_monthly_production_data dt\n `\n )\n\n const total: any = await tx.query(\n `\n select count(*) from temp_monthly_production_data\n `\n )\n\n return {\n items: result.map(itm => {\n return {\n ...itm\n }\n }),\n total: total[0].count\n }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { ListParam } from '@things-factory/shell';
2
+ export declare const monthlyDispatchSummaryReports: {
3
+ monthlyDispatchSummaryReports(_: any, params: ListParam, context: ResolverContext): Promise<{
4
+ items: any;
5
+ total: any;
6
+ }>;
7
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"monthly-dispatch-summary-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/monthly-dispatch-summary-reports.ts"],"names":[],"mappings":"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","sourcesContent":["import { IsNull } from 'typeorm'\n\nimport { ListParam } from '@things-factory/shell'\n\nimport { Organization } from '../../../entities'\n\nexport const monthlyDispatchSummaryReports = {\n async monthlyDispatchSummaryReports(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { domain, tx } = context.state\n\n let year = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[0])\n let month = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[1])\n\n let fromDate = new Date(year, month - 1, 1)\n let toDate = new Date(year, month, 1)\n toDate.setDate(toDate.getDate() - 1)\n\n let fromDateString = [\n fromDate.getFullYear().toString(),\n String(fromDate.getMonth() + 1).padStart(2, '0'),\n '01'\n ].join('-')\n\n let toDateString = [\n toDate.getFullYear().toString(),\n String(toDate.getMonth() + 1).padStart(2, '0'),\n String(toDate.getDate()).padStart(2, '0')\n ].join('-')\n\n const org = await tx.getRepository(Organization).findOneOrFail({\n where: {\n domain: { id: domain.id },\n deletedAt: IsNull(),\n id: params.filters.filter(x => x.name == 'organization')[0].value\n }\n })\n\n await tx.query(\n `\n CREATE TEMP TABLE raw_dispatch ON COMMIT DROP AS (\n SELECT dd.*,\n COALESCE((SELECT SUM(COALESCE(ddd.adjusted_weight, ddd.collected_ramp_weight, 0)) FROM daily_dispatch_details ddd WHERE ddd.daily_dispatch_id = dd.id),0) AS tonnage\n FROM daily_dispatches dd \n WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp\n AND dd.dispatch_to_id = $3\n );\n `,\n [fromDateString, toDateString, org.id]\n )\n\n await tx.query(\n `\n CREATE TEMP TABLE temp_monthly_dispatch_to_mill_data ON COMMIT DROP AS (\n SELECT \"id\", dispatch_at AS \"dispatchAt\", transport_no AS \"lorryNo\", \n driver_identification AS \"driverIdentification\", chit_no AS \"chitNo\",\tround(COALESCE(percentage,0)::numeric, 2)::varchar AS \"percentage\",\n COALESCE(diapatch_to_name, 'UNKNOWN') AS \"dispatchTo\", \"tonnage\",\n CASE WHEN reverse_rn = 1 THEN round((coalesce(sum(percentage) over (PARTITION BY dispatch_to_id, dispatch_at::date ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0)/forward_rn)::numeric,2)::varchar ELSE '' END AS \"todayAvg\",\n CASE WHEN reverse_rn = 1 THEN round((coalesce(sum(percentage) over (PARTITION BY dispatch_to_id ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0)/forward_rn)::numeric,2)::varchar ELSE '' END AS \"todateAvg\",\n CASE WHEN reverse_rn = 1 THEN round(coalesce(sum(tonnage) over (PARTITION BY dispatch_to_id, dispatch_at::date ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0),2)::varchar ELSE '' END AS \"today\",\n CASE WHEN reverse_rn = 1 THEN round(coalesce(sum(tonnage) over (PARTITION BY dispatch_to_id ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0),2)::varchar ELSE '' END AS \"todate\"\n FROM (\n SELECT \n ROW_NUMBER() OVER(\n PARTITION BY rbd.dispatch_to_id, rbd.dispatch_at::date\n ORDER BY rbd.dispatch_at ASC\n ) as forward_rn\n , ROW_NUMBER() OVER(\n PARTITION BY rbd.dispatch_to_id, rbd.dispatch_at::date\n ORDER BY rbd.dispatch_at DESC\n ) as reverse_rn\n , rbd.id\n , rbd.dispatch_at\n , rbd.transport_no\n , rbd.driver_identification\n , rbd.external_driver\n , rbd.chit_no\n , rbd.percentage\n , rbd.dispatch_to_id\n , c.name AS diapatch_to_name\n , rbd.tonnage \n FROM raw_dispatch rbd\n LEFT JOIN organizations c ON c.id = rbd.dispatch_to_id\n ORDER BY rbd.dispatch_to_id, rbd.dispatch_at\n ) src\n );\n `\n )\n\n const result: any = await tx.query(\n `\n select * from temp_monthly_dispatch_to_mill_data dt\n `\n )\n\n const total: any = await tx.query(\n `\n select count(*) from temp_monthly_dispatch_to_mill_data\n `\n )\n\n return {\n items: result.map(itm => {\n return {\n ...itm\n }\n }),\n total: total[0].count\n }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
1
+ {"version":3,"file":"monthly-dispatch-summary-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/monthly-dispatch-summary-reports.ts"],"names":[],"mappings":"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","sourcesContent":["import { IsNull } from 'typeorm'\n\nimport { ListParam } from '@things-factory/shell'\n\nimport { Organization } from '../../../entities'\n\nexport const monthlyDispatchSummaryReports = {\n async monthlyDispatchSummaryReports(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { domain, tx } = context.state\n\n let year = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[0])\n let month = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[1])\n\n let fromDate = new Date(year, month - 1, 1)\n let toDate = new Date(year, month, 1)\n toDate.setDate(toDate.getDate() - 1)\n\n let fromDateString = [\n fromDate.getFullYear().toString(),\n String(fromDate.getMonth() + 1).padStart(2, '0'),\n '01'\n ].join('-')\n\n let toDateString = [\n toDate.getFullYear().toString(),\n String(toDate.getMonth() + 1).padStart(2, '0'),\n String(toDate.getDate()).padStart(2, '0')\n ].join('-')\n\n const org = await tx.getRepository(Organization).findOneOrFail({\n where: {\n domain: { id: domain.id },\n deletedAt: IsNull(),\n id: params.filters.filter(x => x.name == 'organization')[0].value\n }\n })\n\n await tx.query(\n `\n CREATE TEMP TABLE raw_dispatch ON COMMIT DROP AS (\n SELECT dd.*,\n COALESCE((SELECT SUM(COALESCE(ddd.adjusted_weight, ddd.collected_ramp_weight, 0)) FROM daily_dispatch_details ddd WHERE ddd.daily_dispatch_id = dd.id),0) AS tonnage\n FROM daily_dispatches dd \n WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp\n AND dd.dispatch_to_id = $3\n );\n `,\n [fromDateString, toDateString, org.id]\n )\n\n await tx.query(\n `\n CREATE TEMP TABLE temp_monthly_dispatch_to_mill_data ON COMMIT DROP AS (\n SELECT \"id\", dispatch_at AS \"dispatchAt\", transport_no AS \"lorryNo\", \n driver_identification AS \"driverIdentification\", chit_no AS \"chitNo\",\tround(COALESCE(percentage,0)::numeric, 2)::varchar AS \"percentage\",\n COALESCE(diapatch_to_name, 'UNKNOWN') AS \"dispatchTo\", \"tonnage\",\n CASE WHEN reverse_rn = 1 THEN round((coalesce(sum(percentage) over (PARTITION BY dispatch_to_id, dispatch_at::date ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0)/forward_rn)::numeric,2)::varchar ELSE '' END AS \"todayAvg\",\n CASE WHEN reverse_rn = 1 THEN round((coalesce(sum(percentage) over (PARTITION BY dispatch_to_id ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0)/forward_rn)::numeric,2)::varchar ELSE '' END AS \"todateAvg\",\n CASE WHEN reverse_rn = 1 THEN round(coalesce(sum(tonnage) over (PARTITION BY dispatch_to_id, dispatch_at::date ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0),2)::varchar ELSE '' END AS \"today\",\n CASE WHEN reverse_rn = 1 THEN round(coalesce(sum(tonnage) over (PARTITION BY dispatch_to_id ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0),2)::varchar ELSE '' END AS \"todate\"\n FROM (\n SELECT \n ROW_NUMBER() OVER(\n PARTITION BY rbd.dispatch_to_id, rbd.dispatch_at::date\n ORDER BY rbd.dispatch_at ASC\n ) as forward_rn\n , ROW_NUMBER() OVER(\n PARTITION BY rbd.dispatch_to_id, rbd.dispatch_at::date\n ORDER BY rbd.dispatch_at DESC\n ) as reverse_rn\n , rbd.id\n , rbd.dispatch_at\n , rbd.transport_no\n , rbd.driver_identification\n , rbd.external_driver\n , rbd.chit_no\n , rbd.percentage\n , rbd.dispatch_to_id\n , c.name AS diapatch_to_name\n , rbd.tonnage \n FROM raw_dispatch rbd\n LEFT JOIN organizations c ON c.id = rbd.dispatch_to_id\n ORDER BY rbd.dispatch_to_id, rbd.dispatch_at\n ) src\n );\n `\n )\n\n const result: any = await tx.query(\n `\n select * from temp_monthly_dispatch_to_mill_data dt\n `\n )\n\n const total: any = await tx.query(\n `\n select count(*) from temp_monthly_dispatch_to_mill_data\n `\n )\n\n return {\n items: result.map(itm => {\n return {\n ...itm\n }\n }),\n total: total[0].count\n }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { ListParam } from '@things-factory/shell';
2
+ export declare const monthlyFfbSaleReports: {
3
+ monthlyFfbSaleReports(_: any, params: ListParam, context: ResolverContext): Promise<{
4
+ items: any;
5
+ total: any;
6
+ }>;
7
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"monthly-ffb-sale-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/monthly-ffb-sale-reports.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAG;IACnC,KAAK,CAAC,qBAAqB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAC7E,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAEpC,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzF,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1F,IAAI,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,CAAA;YAErE,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;YAEpC,IAAI,cAAc,GAAG;gBACnB,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAChD,IAAI;aACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,IAAI,YAAY,GAAG;gBACjB,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;aAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;YAOI,YAAY;gBACV,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,MAAM;oBAC5B,CAAC,CAAC,+BAA+B;oBACjC,CAAC,CAAC,4BAA4B,YAAY,CAAC,KAAK,GAAG;gBACrD,CAAC,CAAC,EACN;;SAED,EACD,CAAC,cAAc,EAAE,YAAY,CAAC,CAC/B,CAAA;YAED,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAmCC,CACF,CAAA;YAED,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAChC;;;SAGC,CACF,CAAA;YAED,MAAM,KAAK,GAAQ,MAAM,EAAE,CAAC,KAAK,CAC/B;;SAEC,CACF,CAAA;YAED,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACtB,yBACK,GAAG,EACP;gBACH,CAAC,CAAC;gBACF,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;aACtB,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA","sourcesContent":["import { ListParam } from '@things-factory/shell'\n\nexport const monthlyFfbSaleReports = {\n async monthlyFfbSaleReports(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { domain, tx } = context.state\n\n let year = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[0])\n let month = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[1])\n let organization = params.filters.find(x => x.name == 'organization')\n\n let fromDate = new Date(year, month - 1, 1)\n let toDate = new Date(year, month, 1)\n toDate.setDate(toDate.getDate() - 1)\n\n let fromDateString = [\n fromDate.getFullYear().toString(),\n String(fromDate.getMonth() + 1).padStart(2, '0'),\n '01'\n ].join('-')\n\n let toDateString = [\n toDate.getFullYear().toString(),\n String(toDate.getMonth() + 1).padStart(2, '0'),\n String(toDate.getDate()).padStart(2, '0')\n ].join('-')\n\n await tx.query(\n `\n CREATE TEMP TABLE raw_block_dispatch ON COMMIT DROP AS (\n SELECT dd.*,\n COALESCE((SELECT SUM(COALESCE(ddd.adjusted_weight, ddd.collected_ramp_weight, 0)) FROM daily_dispatch_details ddd WHERE ddd.daily_dispatch_id = dd.id),0) AS tonnage\n FROM daily_dispatches dd \n WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp\n ${\n organization\n ? organization.value == 'null'\n ? `AND dd.dispatch_to_id IS NULL`\n : `AND dd.dispatch_to_id = '${organization.value}'`\n : ''\n }\n );\n `,\n [fromDateString, toDateString]\n )\n\n await tx.query(\n `\n CREATE TEMP TABLE temp_monthly_dispatch_to_mill_data ON COMMIT DROP AS (\n SELECT \"id\", dispatch_at, transport_no AS \"lorryNo\", \n driver_identification AS \"driverIdentification\", chit_no AS \"chitNo\",\tround(COALESCE(percentage,0)::numeric, 2)::varchar AS \"percentage\", \n COALESCE(diapatch_to_name, 'UNKNOWN') AS \"dispatchTo\", round(COALESCE(tonnage,0), 2)::varchar AS \"tonnage\",\n CASE WHEN forward_rn = 1 THEN TO_CHAR(dispatch_at:: DATE, 'dd/mm/yyyy') ELSE '' END AS \"dispatchAt\", \n CASE WHEN reverse_rn = 1 THEN round((coalesce(sum(percentage) over (PARTITION BY dispatch_to_id, dispatch_at::date ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0)/forward_rn)::numeric,2)::varchar ELSE '' END AS \"todayAvg\",\n CASE WHEN reverse_rn = 1 THEN round((coalesce(sum(percentage) over (PARTITION BY dispatch_to_id ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0)/forward_rn)::numeric,2)::varchar ELSE '' END AS \"todateAvg\",\n CASE WHEN reverse_rn = 1 THEN round(coalesce(sum(tonnage) over (PARTITION BY dispatch_to_id, dispatch_at::date ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0),2)::varchar ELSE '' END AS \"today\",\n CASE WHEN reverse_rn = 1 THEN round(coalesce(sum(tonnage) over (PARTITION BY dispatch_to_id ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0),2)::varchar ELSE '' END AS \"todate\"\n FROM (\n SELECT \n ROW_NUMBER() OVER(\n PARTITION BY rbd.dispatch_at::date\n ORDER BY rbd.dispatch_at ASC\n ) as forward_rn\n , ROW_NUMBER() OVER(\n PARTITION BY rbd.dispatch_at::date\n ORDER BY rbd.dispatch_at DESC\n ) as reverse_rn\n , rbd.id\n , rbd.dispatch_at\n , rbd.transport_no\n , rbd.driver_identification\n , rbd.external_driver\n , rbd.chit_no\n , rbd.percentage\n , rbd.dispatch_to_id\n , c.name AS diapatch_to_name\n , rbd.tonnage \n FROM raw_block_dispatch rbd\n LEFT JOIN organizations c ON c.id = rbd.dispatch_to_id\n ORDER BY rbd.dispatch_to_id, rbd.dispatch_at\n ) src\n );\n `\n )\n\n const result: any = await tx.query(\n `\n SELECT * FROM temp_monthly_dispatch_to_mill_data\n ORDER BY \"dispatch_at\";\n `\n )\n\n const total: any = await tx.query(\n `\n select count(*) from temp_monthly_dispatch_to_mill_data;\n `\n )\n\n return {\n items: result.map(itm => {\n return {\n ...itm\n }\n }),\n total: total[0].count\n }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
1
+ {"version":3,"file":"monthly-ffb-sale-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/monthly-ffb-sale-reports.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAG;IACnC,KAAK,CAAC,qBAAqB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAC7E,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAEpC,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzF,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1F,IAAI,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,CAAA;YAErE,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;YAEpC,IAAI,cAAc,GAAG;gBACnB,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAChD,IAAI;aACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,IAAI,YAAY,GAAG;gBACjB,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;aAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;YAOI,YAAY;gBACV,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,MAAM;oBAC5B,CAAC,CAAC,+BAA+B;oBACjC,CAAC,CAAC,4BAA4B,YAAY,CAAC,KAAK,GAAG;gBACrD,CAAC,CAAC,EACN;;SAED,EACD,CAAC,cAAc,EAAE,YAAY,CAAC,CAC/B,CAAA;YAED,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAmCC,CACF,CAAA;YAED,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAChC;;;SAGC,CACF,CAAA;YAED,MAAM,KAAK,GAAQ,MAAM,EAAE,CAAC,KAAK,CAC/B;;SAEC,CACF,CAAA;YAED,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACtB,yBACK,GAAG,EACP;gBACH,CAAC,CAAC;gBACF,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;aACtB,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF,CAAA","sourcesContent":["import { ListParam } from '@things-factory/shell'\n\nexport const monthlyFfbSaleReports = {\n async monthlyFfbSaleReports(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { domain, tx } = context.state\n\n let year = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[0])\n let month = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[1])\n let organization = params.filters.find(x => x.name == 'organization')\n\n let fromDate = new Date(year, month - 1, 1)\n let toDate = new Date(year, month, 1)\n toDate.setDate(toDate.getDate() - 1)\n\n let fromDateString = [\n fromDate.getFullYear().toString(),\n String(fromDate.getMonth() + 1).padStart(2, '0'),\n '01'\n ].join('-')\n\n let toDateString = [\n toDate.getFullYear().toString(),\n String(toDate.getMonth() + 1).padStart(2, '0'),\n String(toDate.getDate()).padStart(2, '0')\n ].join('-')\n\n await tx.query(\n `\n CREATE TEMP TABLE raw_block_dispatch ON COMMIT DROP AS (\n SELECT dd.*,\n COALESCE((SELECT SUM(COALESCE(ddd.adjusted_weight, ddd.collected_ramp_weight, 0)) FROM daily_dispatch_details ddd WHERE ddd.daily_dispatch_id = dd.id),0) AS tonnage\n FROM daily_dispatches dd \n WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp\n ${\n organization\n ? organization.value == 'null'\n ? `AND dd.dispatch_to_id IS NULL`\n : `AND dd.dispatch_to_id = '${organization.value}'`\n : ''\n }\n );\n `,\n [fromDateString, toDateString]\n )\n\n await tx.query(\n `\n CREATE TEMP TABLE temp_monthly_dispatch_to_mill_data ON COMMIT DROP AS (\n SELECT \"id\", dispatch_at, transport_no AS \"lorryNo\", \n driver_identification AS \"driverIdentification\", chit_no AS \"chitNo\",\tround(COALESCE(percentage,0)::numeric, 2)::varchar AS \"percentage\", \n COALESCE(diapatch_to_name, 'UNKNOWN') AS \"dispatchTo\", round(COALESCE(tonnage,0), 2)::varchar AS \"tonnage\",\n CASE WHEN forward_rn = 1 THEN TO_CHAR(dispatch_at:: DATE, 'dd/mm/yyyy') ELSE '' END AS \"dispatchAt\", \n CASE WHEN reverse_rn = 1 THEN round((coalesce(sum(percentage) over (PARTITION BY dispatch_to_id, dispatch_at::date ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0)/forward_rn)::numeric,2)::varchar ELSE '' END AS \"todayAvg\",\n CASE WHEN reverse_rn = 1 THEN round((coalesce(sum(percentage) over (PARTITION BY dispatch_to_id ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0)/forward_rn)::numeric,2)::varchar ELSE '' END AS \"todateAvg\",\n CASE WHEN reverse_rn = 1 THEN round(coalesce(sum(tonnage) over (PARTITION BY dispatch_to_id, dispatch_at::date ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0),2)::varchar ELSE '' END AS \"today\",\n CASE WHEN reverse_rn = 1 THEN round(coalesce(sum(tonnage) over (PARTITION BY dispatch_to_id ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0),2)::varchar ELSE '' END AS \"todate\"\n FROM (\n SELECT \n ROW_NUMBER() OVER(\n PARTITION BY rbd.dispatch_at::date\n ORDER BY rbd.dispatch_at ASC\n ) as forward_rn\n , ROW_NUMBER() OVER(\n PARTITION BY rbd.dispatch_at::date\n ORDER BY rbd.dispatch_at DESC\n ) as reverse_rn\n , rbd.id\n , rbd.dispatch_at\n , rbd.transport_no\n , rbd.driver_identification\n , rbd.external_driver\n , rbd.chit_no\n , rbd.percentage\n , rbd.dispatch_to_id\n , c.name AS diapatch_to_name\n , rbd.tonnage \n FROM raw_block_dispatch rbd\n LEFT JOIN organizations c ON c.id = rbd.dispatch_to_id\n ORDER BY rbd.dispatch_to_id, rbd.dispatch_at\n ) src\n );\n `\n )\n\n const result: any = await tx.query(\n `\n SELECT * FROM temp_monthly_dispatch_to_mill_data\n ORDER BY \"dispatch_at\";\n `\n )\n\n const total: any = await tx.query(\n `\n select count(*) from temp_monthly_dispatch_to_mill_data;\n `\n )\n\n return {\n items: result.map(itm => {\n return {\n ...itm\n }\n }),\n total: total[0].count\n }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { ListParam } from '@things-factory/shell';
2
+ export declare const monthlyProductionReports: {
3
+ monthlyProductionReports(_: any, params: ListParam, context: ResolverContext): Promise<{
4
+ items: any;
5
+ total: any;
6
+ }>;
7
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"monthly-production-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/monthly-production-reports.ts"],"names":[],"mappings":";;;AAEa,QAAA,wBAAwB,GAAG;IACtC,KAAK,CAAC,wBAAwB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAChF,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAE5B,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzF,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAE1F,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;YAEpC,IAAI,cAAc,GAAG;gBACnB,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAChD,IAAI;aACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,IAAI,YAAY,GAAG;gBACjB,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;aAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;OAYd,CAAC,CAAA;YAEF,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAkDI,EACJ,CAAC,cAAc,EAAE,YAAY,CAAC,CAC/B,CAAA;YAED,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAElC,CAAC,CAAA;YAEF,MAAM,KAAK,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAEjC,CAAC,CAAA;YAEF,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACtB,uCACK,GAAG,KACN,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IACxF;gBACH,CAAC,CAAC;gBACF,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;aACtB,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA","sourcesContent":["import { ListParam } from '@things-factory/shell'\n\nexport const monthlyProductionReports = {\n async monthlyProductionReports(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { tx } = context.state\n\n let year = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[0])\n let month = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[1])\n\n let fromDate = new Date(year, month - 1, 1)\n let toDate = new Date(year, month, 1)\n toDate.setDate(toDate.getDate() - 1)\n\n let fromDateString = [\n fromDate.getFullYear().toString(),\n String(fromDate.getMonth() + 1).padStart(2, '0'),\n '01'\n ].join('-')\n\n let toDateString = [\n toDate.getFullYear().toString(),\n String(toDate.getMonth() + 1).padStart(2, '0'),\n String(toDate.getDate()).padStart(2, '0')\n ].join('-')\n\n await tx.query(`\n CREATE TEMP TABLE temp_blocks on commit drop AS (\n WITH RECURSIVE b AS ( \n SELECT b.id AS block_id, * FROM blocks b \n WHERE b.deleted_at IS null\n UNION ALL\n SELECT b.id AS block_id, cb.* FROM blocks cb\n INNER JOIN b ON b.id = cb.parent_block_id\n WHERE cb.deleted_at IS null\n )\n SELECT block_id, id, name FROM b GROUP BY block_id, id, name ORDER BY block_id, id, name \n );\n `)\n\n await tx.query(\n `\n create temp table temp_monthly_production_data on commit drop as (\n select b.id, b.name as \"block\", \n coalesce(harvest.total_harvester, 0) as \"totalHarvester\", \n coalesce(harvest.out_turn,0) as \"totalOutTurn\", \n coalesce(harvest.days_worked,0) as \"daysWorked\", \n round(coalesce((harvest.total_bunch_harvested),0)::DECIMAL, 1)::text as \"totalBunchHarvested\", \n round(coalesce((loading.total_weight_loaded),0)::DECIMAL, 4)::TEXT as \"production\", \n round(case when loading.total_weight_loaded <> 0 then (loading.total_bunch_loaded / loading.total_weight_loaded) else '0' end::DECIMAL, 4)::TEXT as \"bunchesPerTon\",\n round(case when loading.total_bunch_loaded <> 0 then (loading.total_weight_loaded / loading.total_bunch_loaded) else '0' end::DECIMAL, 4)::TEXT as \"bunchesWt\",\n round(coalesce((harvest.total_bunch_harvested / harvest.total_harvest_coverage),0)::DECIMAL, 4)::TEXT as \"bunchesPerHectar\",\n round(coalesce((harvest.total_harvest_coverage / block_details.total_hectarage),0)::DECIMAL, 4)::TEXT as \"harvestingRd\",\n round(coalesce((loading.total_weight_loaded / harvest.out_turn),0)::DECIMAL, 4)::TEXT as \"productivities\",\n coalesce(block_details.total_hectarage::text, '') as \"hectarage\",\n round(coalesce((loading.total_bunch_loaded / block_details.total_hectarage),0)::DECIMAL, 4)::TEXT as \"yieldPerHectar\",\n round(coalesce((harvest.total_harvest_coverage / harvest.days_worked),0)::DECIMAL, 4)::TEXT as \"coveragePerDay\",\n round(coalesce((harvest.total_bunch_harvested / block_details.total_stand),0)::DECIMAL, 4)::TEXT as \"bunchesPerPalm\",\n coalesce(block_details.year_planted::text, '') as \"yearPlanted\",\n coalesce(block_details.total_stand::text, '') as \"totalStand\",\n '' as \"rainfall\"\n from blocks b\n left join(\n select blk.block_id,\n count(distinct dhd.organization_staff_id) as total_harvester,\n count(dhd.id) as out_turn,\n count(distinct concat(dh.block_id, dh.harvest_date)) as days_worked,\n sum(dhd.total_bunch_harvested) as total_bunch_harvested,\n sum(dh.coverage) as total_harvest_coverage\n from daily_harvests dh \n inner join temp_blocks blk on blk.id = dh.block_id\n inner join daily_harvest_details dhd on dhd.daily_harvest_id = dh.id\n where dh.harvest_date::timestamp between $1::timestamp and $2::timestamp\n group by blk.block_id\n ) as harvest on harvest.block_id = b.id\n left join(\n select blk.block_id, sum(total_weight) as total_weight_loaded, sum(total_bunch) as total_bunch_loaded\n from daily_loadings dl \n inner join daily_loading_details dld on dld.daily_loading_id = dl.id\n inner join temp_blocks blk on blk.id = dld.block_id\n where dl.loading_date::timestamp between $1::timestamp and $2::timestamp\n group by blk.block_id\n ) as loading on loading.block_id = b.id\n left join(\n SELECT DISTINCT ON (blk.block_id) bd.*\n FROM block_details bd \n inner join temp_blocks blk on blk.id = bd.block_id\n where valid_from::timestamp <= $1::timestamp\n ORDER BY blk.block_id, valid_from desc\n ) block_details on block_details.block_id = b.id\n order by b.name\n )`,\n [fromDateString, toDateString]\n )\n\n const result: any = await tx.query(`\n select * from temp_monthly_production_data dt\n `)\n\n const total: any = await tx.query(`\n select count(*) from temp_monthly_production_data\n `)\n\n return {\n items: result.map(itm => {\n return {\n ...itm,\n avgOutTurn: (parseFloat(itm.totalOutTurn) / parseFloat(itm.daysWorked) || 0).toFixed(4)\n }\n }),\n total: total[0].count\n }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
1
+ {"version":3,"file":"monthly-production-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/monthly-production-reports.ts"],"names":[],"mappings":";;;AAEa,QAAA,wBAAwB,GAAG;IACtC,KAAK,CAAC,wBAAwB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAChF,IAAI,CAAC;YACH,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAE5B,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzF,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAE1F,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;YAEpC,IAAI,cAAc,GAAG;gBACnB,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAChD,IAAI;aACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,IAAI,YAAY,GAAG;gBACjB,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;aAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;OAYd,CAAC,CAAA;YAEF,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAkDI,EACJ,CAAC,cAAc,EAAE,YAAY,CAAC,CAC/B,CAAA;YAED,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAElC,CAAC,CAAA;YAEF,MAAM,KAAK,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAEjC,CAAC,CAAA;YAEF,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACtB,uCACK,GAAG,KACN,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IACxF;gBACH,CAAC,CAAC;gBACF,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;aACtB,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF,CAAA","sourcesContent":["import { ListParam } from '@things-factory/shell'\n\nexport const monthlyProductionReports = {\n async monthlyProductionReports(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { tx } = context.state\n\n let year = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[0])\n let month = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[1])\n\n let fromDate = new Date(year, month - 1, 1)\n let toDate = new Date(year, month, 1)\n toDate.setDate(toDate.getDate() - 1)\n\n let fromDateString = [\n fromDate.getFullYear().toString(),\n String(fromDate.getMonth() + 1).padStart(2, '0'),\n '01'\n ].join('-')\n\n let toDateString = [\n toDate.getFullYear().toString(),\n String(toDate.getMonth() + 1).padStart(2, '0'),\n String(toDate.getDate()).padStart(2, '0')\n ].join('-')\n\n await tx.query(`\n CREATE TEMP TABLE temp_blocks on commit drop AS (\n WITH RECURSIVE b AS ( \n SELECT b.id AS block_id, * FROM blocks b \n WHERE b.deleted_at IS null\n UNION ALL\n SELECT b.id AS block_id, cb.* FROM blocks cb\n INNER JOIN b ON b.id = cb.parent_block_id\n WHERE cb.deleted_at IS null\n )\n SELECT block_id, id, name FROM b GROUP BY block_id, id, name ORDER BY block_id, id, name \n );\n `)\n\n await tx.query(\n `\n create temp table temp_monthly_production_data on commit drop as (\n select b.id, b.name as \"block\", \n coalesce(harvest.total_harvester, 0) as \"totalHarvester\", \n coalesce(harvest.out_turn,0) as \"totalOutTurn\", \n coalesce(harvest.days_worked,0) as \"daysWorked\", \n round(coalesce((harvest.total_bunch_harvested),0)::DECIMAL, 1)::text as \"totalBunchHarvested\", \n round(coalesce((loading.total_weight_loaded),0)::DECIMAL, 4)::TEXT as \"production\", \n round(case when loading.total_weight_loaded <> 0 then (loading.total_bunch_loaded / loading.total_weight_loaded) else '0' end::DECIMAL, 4)::TEXT as \"bunchesPerTon\",\n round(case when loading.total_bunch_loaded <> 0 then (loading.total_weight_loaded / loading.total_bunch_loaded) else '0' end::DECIMAL, 4)::TEXT as \"bunchesWt\",\n round(coalesce((harvest.total_bunch_harvested / harvest.total_harvest_coverage),0)::DECIMAL, 4)::TEXT as \"bunchesPerHectar\",\n round(coalesce((harvest.total_harvest_coverage / block_details.total_hectarage),0)::DECIMAL, 4)::TEXT as \"harvestingRd\",\n round(coalesce((loading.total_weight_loaded / harvest.out_turn),0)::DECIMAL, 4)::TEXT as \"productivities\",\n coalesce(block_details.total_hectarage::text, '') as \"hectarage\",\n round(coalesce((loading.total_bunch_loaded / block_details.total_hectarage),0)::DECIMAL, 4)::TEXT as \"yieldPerHectar\",\n round(coalesce((harvest.total_harvest_coverage / harvest.days_worked),0)::DECIMAL, 4)::TEXT as \"coveragePerDay\",\n round(coalesce((harvest.total_bunch_harvested / block_details.total_stand),0)::DECIMAL, 4)::TEXT as \"bunchesPerPalm\",\n coalesce(block_details.year_planted::text, '') as \"yearPlanted\",\n coalesce(block_details.total_stand::text, '') as \"totalStand\",\n '' as \"rainfall\"\n from blocks b\n left join(\n select blk.block_id,\n count(distinct dhd.organization_staff_id) as total_harvester,\n count(dhd.id) as out_turn,\n count(distinct concat(dh.block_id, dh.harvest_date)) as days_worked,\n sum(dhd.total_bunch_harvested) as total_bunch_harvested,\n sum(dh.coverage) as total_harvest_coverage\n from daily_harvests dh \n inner join temp_blocks blk on blk.id = dh.block_id\n inner join daily_harvest_details dhd on dhd.daily_harvest_id = dh.id\n where dh.harvest_date::timestamp between $1::timestamp and $2::timestamp\n group by blk.block_id\n ) as harvest on harvest.block_id = b.id\n left join(\n select blk.block_id, sum(total_weight) as total_weight_loaded, sum(total_bunch) as total_bunch_loaded\n from daily_loadings dl \n inner join daily_loading_details dld on dld.daily_loading_id = dl.id\n inner join temp_blocks blk on blk.id = dld.block_id\n where dl.loading_date::timestamp between $1::timestamp and $2::timestamp\n group by blk.block_id\n ) as loading on loading.block_id = b.id\n left join(\n SELECT DISTINCT ON (blk.block_id) bd.*\n FROM block_details bd \n inner join temp_blocks blk on blk.id = bd.block_id\n where valid_from::timestamp <= $1::timestamp\n ORDER BY blk.block_id, valid_from desc\n ) block_details on block_details.block_id = b.id\n order by b.name\n )`,\n [fromDateString, toDateString]\n )\n\n const result: any = await tx.query(`\n select * from temp_monthly_production_data dt\n `)\n\n const total: any = await tx.query(`\n select count(*) from temp_monthly_production_data\n `)\n\n return {\n items: result.map(itm => {\n return {\n ...itm,\n avgOutTurn: (parseFloat(itm.totalOutTurn) / parseFloat(itm.daysWorked) || 0).toFixed(4)\n }\n }),\n total: total[0].count\n }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { ListParam } from '@things-factory/shell';
2
+ export declare const yearlyProductionReports: {
3
+ yearlyProductionReports(_: any, params: ListParam, context: ResolverContext): Promise<{
4
+ items: any;
5
+ total: any;
6
+ }>;
7
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"yearly-production-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/yearly-production-reports.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAC/E,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAE5B,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAC1E,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAEnC,IAAI,kBAAkB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAE9F,IAAI,kBAAkB,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAElF,IAAI,kBAAkB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAE9F,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;OAYd,CAAC,CAAA;YAEF,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAoDI,EACJ,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAC7D,CAAA;YAED,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAElC,CAAC,CAAA;YAEF,MAAM,KAAK,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAEjC,CAAC,CAAA;YAEF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;SAChD;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA","sourcesContent":["import { ListParam } from '@things-factory/shell'\n\nexport const yearlyProductionReports = {\n async yearlyProductionReports(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { tx } = context.state\n\n let year = parseInt(params.filters.filter(x => x.name == 'year')[0].value)\n let fromDate = new Date(year, 0, 1)\n\n let pastYearDateString = [String(fromDate.getFullYear() - 1).toString(), '01', '01'].join('-')\n\n let thisYearDateString = [fromDate.getFullYear().toString(), '01', '01'].join('-')\n\n let nextYearDateString = [String(fromDate.getFullYear() + 1).toString(), '01', '01'].join('-')\n\n await tx.query(`\n CREATE TEMP TABLE temp_blocks on commit drop AS (\n WITH RECURSIVE b AS ( \n SELECT b.id AS block_id, * FROM blocks b \n WHERE b.deleted_at IS null\n UNION ALL\n SELECT b.id AS block_id, cb.* FROM blocks cb\n INNER JOIN b ON b.id = cb.parent_block_id\n WHERE cb.deleted_at IS null\n )\n SELECT block_id, id, name FROM b GROUP BY block_id, id, name ORDER BY block_id, id, name \n );\n `)\n\n await tx.query(\n `\n create temp table temp_yearly_production_data on commit drop as (\n select \n b.name as \"block\",\n coalesce(bd.year_planted::varchar, '-') as \"yearPlanted\",\n '' as \"estimatedLastFfb\",\n round(coalesce(last_trans.total_ffb, 0)::DECIMAL, 4)::TEXT as \"totalLastFfb\",\n '' as \"estimatedFfb\",\n round(coalesce(trans.total_ffb, 0)::DECIMAL, 4)::TEXT as \"totalFfb\",\n round((case when last_bd.matured_hectarage is not null AND last_bd.matured_hectarage <> 0 then coalesce(last_trans.total_ffb, 0) / last_bd.matured_hectarage else 0 end)::DECIMAL, 4)::TEXT as \"lastYieldPerHectarage\",\n round((case when bd.matured_hectarage is not null AND bd.matured_hectarage <> 0 then coalesce(trans.total_ffb, 0) / bd.matured_hectarage else 0 end)::DECIMAL, 4)::TEXT as \"yieldPerHectarage\",\n coalesce(bd.matured_hectarage, 0) as \"maturedHectarage\",\n coalesce(harvest.total_coverage, 0) as \"totalCoverage\",\n round((case when bd.matured_hectarage is not null AND bd.matured_hectarage <> 0 then coalesce(harvest.total_coverage, 0)/ bd.matured_hectarage else 0 end)::DECIMAL, 4)::TEXT as \"totalHarvestingRd\",\n round(((1 - abs(case when last_trans.total_ffb is not null AND last_trans.total_ffb <> 0 then coalesce(trans.total_ffb, 0)/last_trans.total_ffb else 1 end)) * 100)::DECIMAL, 4)::TEXT as \"actualAgainstLast\"\n from blocks b \n left join (\n SELECT DISTINCT ON (block_id) *\n FROM block_details bd \n where valid_from < $3::timestamp\n ORDER BY block_id, valid_from desc\n ) bd on bd.block_id = b.id\n left join (\n SELECT DISTINCT ON (block_id) *\n FROM block_details bd \n where valid_from < $2::timestamp\n ORDER BY block_id, valid_from desc\n ) last_bd on last_bd.block_id = b.id\n left join (\n select blk.block_id, sum(ramp_weight) as total_ffb \n from record_transactions t \n inner join temp_blocks blk on blk.id = t.block_id\n where transaction_type = 'LOADING' \n and transaction_date::timestamp between $2::timestamp and $3::timestamp\n group by blk.block_id\n ) trans on trans.block_id = b.id\n left join (\n select blk.block_id, sum(ramp_weight) as total_ffb \n from record_transactions t \n inner join temp_blocks blk on blk.id = t.block_id\n where transaction_type = 'LOADING' \n and transaction_date::timestamp between $1::timestamp and $2::timestamp\n group by blk.block_id\n ) last_trans on last_trans.block_id = b.id\n left join (\n select blk.block_id, sum(coverage) as total_coverage \n from daily_harvests dh\n inner join temp_blocks blk on blk.id = dh.block_id\n where harvest_date::timestamp between $2::timestamp and $3::timestamp\n group by blk.block_id\n ) harvest on harvest.block_id = b.id\n order by b.name \n )`,\n [pastYearDateString, thisYearDateString, nextYearDateString]\n )\n\n const result: any = await tx.query(`\n select * from temp_yearly_production_data dt\n `)\n\n const total: any = await tx.query(`\n select count(*) from temp_yearly_production_data\n `)\n\n return { items: result, total: total[0].count }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
1
+ {"version":3,"file":"yearly-production-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/yearly-production-reports.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAC/E,IAAI,CAAC;YACH,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAE5B,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAC1E,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAEnC,IAAI,kBAAkB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAE9F,IAAI,kBAAkB,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAElF,IAAI,kBAAkB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAE9F,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;OAYd,CAAC,CAAA;YAEF,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAoDI,EACJ,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAC7D,CAAA;YAED,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAElC,CAAC,CAAA;YAEF,MAAM,KAAK,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAEjC,CAAC,CAAA;YAEF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF,CAAA","sourcesContent":["import { ListParam } from '@things-factory/shell'\n\nexport const yearlyProductionReports = {\n async yearlyProductionReports(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { tx } = context.state\n\n let year = parseInt(params.filters.filter(x => x.name == 'year')[0].value)\n let fromDate = new Date(year, 0, 1)\n\n let pastYearDateString = [String(fromDate.getFullYear() - 1).toString(), '01', '01'].join('-')\n\n let thisYearDateString = [fromDate.getFullYear().toString(), '01', '01'].join('-')\n\n let nextYearDateString = [String(fromDate.getFullYear() + 1).toString(), '01', '01'].join('-')\n\n await tx.query(`\n CREATE TEMP TABLE temp_blocks on commit drop AS (\n WITH RECURSIVE b AS ( \n SELECT b.id AS block_id, * FROM blocks b \n WHERE b.deleted_at IS null\n UNION ALL\n SELECT b.id AS block_id, cb.* FROM blocks cb\n INNER JOIN b ON b.id = cb.parent_block_id\n WHERE cb.deleted_at IS null\n )\n SELECT block_id, id, name FROM b GROUP BY block_id, id, name ORDER BY block_id, id, name \n );\n `)\n\n await tx.query(\n `\n create temp table temp_yearly_production_data on commit drop as (\n select \n b.name as \"block\",\n coalesce(bd.year_planted::varchar, '-') as \"yearPlanted\",\n '' as \"estimatedLastFfb\",\n round(coalesce(last_trans.total_ffb, 0)::DECIMAL, 4)::TEXT as \"totalLastFfb\",\n '' as \"estimatedFfb\",\n round(coalesce(trans.total_ffb, 0)::DECIMAL, 4)::TEXT as \"totalFfb\",\n round((case when last_bd.matured_hectarage is not null AND last_bd.matured_hectarage <> 0 then coalesce(last_trans.total_ffb, 0) / last_bd.matured_hectarage else 0 end)::DECIMAL, 4)::TEXT as \"lastYieldPerHectarage\",\n round((case when bd.matured_hectarage is not null AND bd.matured_hectarage <> 0 then coalesce(trans.total_ffb, 0) / bd.matured_hectarage else 0 end)::DECIMAL, 4)::TEXT as \"yieldPerHectarage\",\n coalesce(bd.matured_hectarage, 0) as \"maturedHectarage\",\n coalesce(harvest.total_coverage, 0) as \"totalCoverage\",\n round((case when bd.matured_hectarage is not null AND bd.matured_hectarage <> 0 then coalesce(harvest.total_coverage, 0)/ bd.matured_hectarage else 0 end)::DECIMAL, 4)::TEXT as \"totalHarvestingRd\",\n round(((1 - abs(case when last_trans.total_ffb is not null AND last_trans.total_ffb <> 0 then coalesce(trans.total_ffb, 0)/last_trans.total_ffb else 1 end)) * 100)::DECIMAL, 4)::TEXT as \"actualAgainstLast\"\n from blocks b \n left join (\n SELECT DISTINCT ON (block_id) *\n FROM block_details bd \n where valid_from < $3::timestamp\n ORDER BY block_id, valid_from desc\n ) bd on bd.block_id = b.id\n left join (\n SELECT DISTINCT ON (block_id) *\n FROM block_details bd \n where valid_from < $2::timestamp\n ORDER BY block_id, valid_from desc\n ) last_bd on last_bd.block_id = b.id\n left join (\n select blk.block_id, sum(ramp_weight) as total_ffb \n from record_transactions t \n inner join temp_blocks blk on blk.id = t.block_id\n where transaction_type = 'LOADING' \n and transaction_date::timestamp between $2::timestamp and $3::timestamp\n group by blk.block_id\n ) trans on trans.block_id = b.id\n left join (\n select blk.block_id, sum(ramp_weight) as total_ffb \n from record_transactions t \n inner join temp_blocks blk on blk.id = t.block_id\n where transaction_type = 'LOADING' \n and transaction_date::timestamp between $1::timestamp and $2::timestamp\n group by blk.block_id\n ) last_trans on last_trans.block_id = b.id\n left join (\n select blk.block_id, sum(coverage) as total_coverage \n from daily_harvests dh\n inner join temp_blocks blk on blk.id = dh.block_id\n where harvest_date::timestamp between $2::timestamp and $3::timestamp\n group by blk.block_id\n ) harvest on harvest.block_id = b.id\n order by b.name \n )`,\n [pastYearDateString, thisYearDateString, nextYearDateString]\n )\n\n const result: any = await tx.query(`\n select * from temp_yearly_production_data dt\n `)\n\n const total: any = await tx.query(`\n select count(*) from temp_yearly_production_data\n `)\n\n return { items: result, total: total[0].count }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ export declare const deleteTrucks: {
2
+ deleteTrucks(_: any, { ids }: {
3
+ ids: any;
4
+ }, context: ResolverContext): Promise<boolean>;
5
+ };
@@ -0,0 +1,24 @@
1
+ export declare const TruckResolver: {
2
+ Truck: {
3
+ domain(truck: any): Promise<import("@things-factory/shell").Domain>;
4
+ creator(truck: any): Promise<import("@things-factory/auth-base").User>;
5
+ updater(truck: any): Promise<import("@things-factory/auth-base").User>;
6
+ };
7
+ Query: {
8
+ truck(_: any, { name }: {
9
+ name: any;
10
+ }, context: ResolverContext): Promise<import("../../..").Truck>;
11
+ trucks(_: any, params: import("@things-factory/shell").ListParam, context: ResolverContext): Promise<{
12
+ items: import("../../..").Truck[];
13
+ total: number;
14
+ }>;
15
+ };
16
+ Mutation: {
17
+ deleteTrucks(_: any, { ids }: {
18
+ ids: any;
19
+ }, context: ResolverContext): Promise<boolean>;
20
+ updateMultipleTruck(_: any, { patches }: {
21
+ patches: any;
22
+ }, context: ResolverContext): Promise<any[]>;
23
+ };
24
+ };
@@ -0,0 +1,17 @@
1
+ import { User } from '@things-factory/auth-base';
2
+ import { Domain, ListParam } from '@things-factory/shell';
3
+ import { Truck as TruckEntity } from '../../../entities';
4
+ export declare const Query: {
5
+ truck(_: any, { name }: {
6
+ name: any;
7
+ }, context: ResolverContext): Promise<TruckEntity>;
8
+ trucks(_: any, params: ListParam, context: ResolverContext): Promise<{
9
+ items: TruckEntity[];
10
+ total: number;
11
+ }>;
12
+ };
13
+ export declare const Truck: {
14
+ domain(truck: any): Promise<Domain>;
15
+ creator(truck: any): Promise<User>;
16
+ updater(truck: any): Promise<User>;
17
+ };
@@ -0,0 +1,5 @@
1
+ export declare const updateMultipleTruck: {
2
+ updateMultipleTruck(_: any, { patches }: {
3
+ patches: any;
4
+ }, context: ResolverContext): Promise<any[]>;
5
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"update-multiple-truck.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/truck/update-multiple-truck.ts"],"names":[],"mappings":";;;AAAA,gDAAuD;AAE1C,QAAA,mBAAmB,GAAG;IACjC,KAAK,CAAC,mBAAmB,CAAC,CAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAwB;;QACrE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAK,CAAC,CAAA;QAEzC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBAEnC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,aAAa,CAAC;oBACtE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,0CAAE,EAAE,EAAE;iBAC3C,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,iCAC9B,SAAS,KACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;aACzC;SACF;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBACjC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;gBAExF,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,0CAAE,EAAE,EAAE;oBAC/B,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,aAAa,CAAC;wBACtE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,0CAAE,EAAE,EAAE;qBAC3C,CAAC,CAAA;oBACF,SAAS,mCAAQ,SAAS,KAAE,YAAY,GAAE,CAAA;iBAC3C;gBAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,+CAC9B,KAAK,GACL,SAAS,KACZ,OAAO,EAAE,IAAI,IACb,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;aACzC;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAA","sourcesContent":["import { Organization, Truck } from '../../../entities'\n\nexport const updateMultipleTruck = {\n async updateMultipleTruck(_: any, { patches }, context: ResolverContext) {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const truckRepo = tx.getRepository(Truck)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const organization = await tx.getRepository(Organization).findOneOrFail({\n where: { id: newRecord?.organization?.id }\n })\n\n const result = await truckRepo.save({\n ...newRecord,\n domain: domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n let newRecord = _updateRecords[i]\n const truck = await truckRepo.findOneBy({ domain: { id: domain.id }, id: newRecord.id })\n\n if (newRecord?.organization?.id) {\n const organization = await tx.getRepository(Organization).findOneOrFail({\n where: { id: newRecord?.organization?.id }\n })\n newRecord = { ...newRecord, organization }\n }\n\n const result = await truckRepo.save({\n ...truck,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n}\n"]}
1
+ {"version":3,"file":"update-multiple-truck.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/truck/update-multiple-truck.ts"],"names":[],"mappings":";;;AAAA,gDAAuD;AAE1C,QAAA,mBAAmB,GAAG;IACjC,KAAK,CAAC,mBAAmB,CAAC,CAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAwB;;QACrE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAK,CAAC,CAAA;QAEzC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBAEnC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,aAAa,CAAC;oBACtE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,0CAAE,EAAE,EAAE;iBAC3C,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,iCAC9B,SAAS,KACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,IAAI,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBACjC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;gBAExF,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,0CAAE,EAAE,EAAE,CAAC;oBAChC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,aAAa,CAAC;wBACtE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,0CAAE,EAAE,EAAE;qBAC3C,CAAC,CAAA;oBACF,SAAS,mCAAQ,SAAS,KAAE,YAAY,GAAE,CAAA;gBAC5C,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,+CAC9B,KAAK,GACL,SAAS,KACZ,OAAO,EAAE,IAAI,IACb,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAA","sourcesContent":["import { Organization, Truck } from '../../../entities'\n\nexport const updateMultipleTruck = {\n async updateMultipleTruck(_: any, { patches }, context: ResolverContext) {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const truckRepo = tx.getRepository(Truck)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const organization = await tx.getRepository(Organization).findOneOrFail({\n where: { id: newRecord?.organization?.id }\n })\n\n const result = await truckRepo.save({\n ...newRecord,\n domain: domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n let newRecord = _updateRecords[i]\n const truck = await truckRepo.findOneBy({ domain: { id: domain.id }, id: newRecord.id })\n\n if (newRecord?.organization?.id) {\n const organization = await tx.getRepository(Organization).findOneOrFail({\n where: { id: newRecord?.organization?.id }\n })\n newRecord = { ...newRecord, organization }\n }\n\n const result = await truckRepo.save({\n ...truck,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare const BlockList: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const BlockPatch: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const Block: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1,5 @@
1
+ export * from './block';
2
+ export * from './block-list';
3
+ export * from './block-patch';
4
+ export * from './new-block';
5
+ export declare const BlockResolver: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const NewBlock: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const BlockDetailList: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const BlockDetailPatch: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const BlockDetail: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1,5 @@
1
+ export * from './block-detail';
2
+ export * from './block-detail-list';
3
+ export * from './block-detail-patch';
4
+ export * from './new-block-detail';
5
+ export declare const BlockDetailResolver: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const NewBlockDetail: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyBlockDetailList: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyBlockDetailPatch: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyBlockDetail: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1,5 @@
1
+ export * from './daily-block-detail';
2
+ export * from './daily-block-detail-list';
3
+ export * from './daily-block-detail-patch';
4
+ export * from './new-daily-block-detail';
5
+ export declare const DailyBlockDetailResolver: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const NewDailyBlockDetail: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyDispatchList: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyDispatchPatch: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyDispatch: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1,5 @@
1
+ export * from './daily-dispatch';
2
+ export * from './daily-dispatch-list';
3
+ export * from './daily-dispatch-patch';
4
+ export * from './new-daily-dispatch';
5
+ export declare const DailyDispatchResolver: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const NewDailyDispatch: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyDispatchDetailList: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyDispatchDetailPatch: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyDispatchDetail: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1,5 @@
1
+ export * from './daily-dispatch-detail';
2
+ export * from './daily-dispatch-detail-list';
3
+ export * from './daily-dispatch-detail-patch';
4
+ export * from './new-daily-dispatch-detail';
5
+ export declare const DailyDispatchDetailResolver: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const NewDailyDispatchDetail: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyHarvestList: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyHarvestPatch: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyHarvest: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1,5 @@
1
+ export * from './daily-harvest';
2
+ export * from './daily-harvest-list';
3
+ export * from './daily-harvest-patch';
4
+ export * from './new-daily-harvest';
5
+ export declare const DailyHarvestResolver: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const NewDailyHarvest: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyHarvestDetailList: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyHarvestDetailPatch: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyHarvestDetail: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1,5 @@
1
+ export * from './daily-harvest-detail';
2
+ export * from './daily-harvest-detail-list';
3
+ export * from './daily-harvest-detail-patch';
4
+ export * from './new-daily-harvest-detail';
5
+ export declare const DailyHarvestDetailResolver: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const NewDailyHarvestDetail: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyLoadingList: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyLoadingPatch: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyLoading: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1,5 @@
1
+ export * from './daily-loading';
2
+ export * from './daily-loading-list';
3
+ export * from './daily-loading-patch';
4
+ export * from './new-daily-loading';
5
+ export declare const DailyLoadingResolver: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const NewDailyLoading: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyLoadingDetailList: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyLoadingDetailPatch: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyLoadingDetail: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1,5 @@
1
+ export * from './daily-loading-detail';
2
+ export * from './daily-loading-detail-list';
3
+ export * from './daily-loading-detail-patch';
4
+ export * from './new-daily-loading-detail';
5
+ export declare const DailyLoadingDetailResolver: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const NewDailyLoadingDetail: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyLoadingRampList: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyLoadingRampPatch: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1 @@
1
+ export declare const DailyLoadingRamp: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1,5 @@
1
+ export * from './daily-loading-ramp';
2
+ export * from './daily-loading-ramp-list';
3
+ export * from './daily-loading-ramp-patch';
4
+ export * from './new-daily-loading-ramp';
5
+ export declare const DailyLoadingRampResolver: import("graphql/language/ast").DocumentNode;