@things-factory/warehouse-base 4.0.21 → 4.0.22

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 (355) hide show
  1. package/dist-server/entities/index.js +36 -0
  2. package/dist-server/entities/index.js.map +1 -0
  3. package/dist-server/entities/inventory-change.js +143 -0
  4. package/dist-server/entities/inventory-change.js.map +1 -0
  5. package/dist-server/entities/inventory-history.js +188 -0
  6. package/dist-server/entities/inventory-history.js.map +1 -0
  7. package/dist-server/entities/inventory.js +201 -0
  8. package/dist-server/entities/inventory.js.map +1 -0
  9. package/dist-server/entities/location.js +96 -0
  10. package/dist-server/entities/location.js.map +1 -0
  11. package/dist-server/entities/movement.js +76 -0
  12. package/dist-server/entities/movement.js.map +1 -0
  13. package/dist-server/entities/pallet-count.js +66 -0
  14. package/dist-server/entities/pallet-count.js.map +1 -0
  15. package/dist-server/entities/pallet-history.js +84 -0
  16. package/dist-server/entities/pallet-history.js.map +1 -0
  17. package/dist-server/entities/pallet.js +85 -0
  18. package/dist-server/entities/pallet.js.map +1 -0
  19. package/dist-server/entities/reduced-inventory-history.js +141 -0
  20. package/dist-server/entities/reduced-inventory-history.js.map +1 -0
  21. package/dist-server/entities/warehouse.js +77 -0
  22. package/dist-server/entities/warehouse.js.map +1 -0
  23. package/dist-server/graphql/index.js +29 -0
  24. package/dist-server/graphql/index.js.map +1 -0
  25. package/dist-server/graphql/resolvers/index.js +54 -0
  26. package/dist-server/graphql/resolvers/index.js.map +1 -0
  27. package/dist-server/graphql/resolvers/inventory/check-carton-identicality.js +32 -0
  28. package/dist-server/graphql/resolvers/inventory/check-carton-identicality.js.map +1 -0
  29. package/dist-server/graphql/resolvers/inventory/check-inventory-owner.js +25 -0
  30. package/dist-server/graphql/resolvers/inventory/check-inventory-owner.js.map +1 -0
  31. package/dist-server/graphql/resolvers/inventory/check-product-identicality.js +24 -0
  32. package/dist-server/graphql/resolvers/inventory/check-product-identicality.js.map +1 -0
  33. package/dist-server/graphql/resolvers/inventory/create-inventory.js +11 -0
  34. package/dist-server/graphql/resolvers/inventory/create-inventory.js.map +1 -0
  35. package/dist-server/graphql/resolvers/inventory/delete-inventories.js +15 -0
  36. package/dist-server/graphql/resolvers/inventory/delete-inventories.js.map +1 -0
  37. package/dist-server/graphql/resolvers/inventory/delete-inventory.js +11 -0
  38. package/dist-server/graphql/resolvers/inventory/delete-inventory.js.map +1 -0
  39. package/dist-server/graphql/resolvers/inventory/index.js +22 -0
  40. package/dist-server/graphql/resolvers/inventory/index.js.map +1 -0
  41. package/dist-server/graphql/resolvers/inventory/inventories-by-bundle.js +131 -0
  42. package/dist-server/graphql/resolvers/inventory/inventories-by-bundle.js.map +1 -0
  43. package/dist-server/graphql/resolvers/inventory/inventories-by-product.js +146 -0
  44. package/dist-server/graphql/resolvers/inventory/inventories-by-product.js.map +1 -0
  45. package/dist-server/graphql/resolvers/inventory/inventories-by-strategy.js +117 -0
  46. package/dist-server/graphql/resolvers/inventory/inventories-by-strategy.js.map +1 -0
  47. package/dist-server/graphql/resolvers/inventory/inventories.js +93 -0
  48. package/dist-server/graphql/resolvers/inventory/inventories.js.map +1 -0
  49. package/dist-server/graphql/resolvers/inventory/inventory-by-pallet.js +16 -0
  50. package/dist-server/graphql/resolvers/inventory/inventory-by-pallet.js.map +1 -0
  51. package/dist-server/graphql/resolvers/inventory/inventory-product-group.js +239 -0
  52. package/dist-server/graphql/resolvers/inventory/inventory-product-group.js.map +1 -0
  53. package/dist-server/graphql/resolvers/inventory/inventory-transfer.js +46 -0
  54. package/dist-server/graphql/resolvers/inventory/inventory-transfer.js.map +1 -0
  55. package/dist-server/graphql/resolvers/inventory/inventory.js +15 -0
  56. package/dist-server/graphql/resolvers/inventory/inventory.js.map +1 -0
  57. package/dist-server/graphql/resolvers/inventory/update-inventory-remark.js +13 -0
  58. package/dist-server/graphql/resolvers/inventory/update-inventory-remark.js.map +1 -0
  59. package/dist-server/graphql/resolvers/inventory/update-inventory.js +25 -0
  60. package/dist-server/graphql/resolvers/inventory/update-inventory.js.map +1 -0
  61. package/dist-server/graphql/resolvers/inventory/update-multiple-inventory.js +152 -0
  62. package/dist-server/graphql/resolvers/inventory/update-multiple-inventory.js.map +1 -0
  63. package/dist-server/graphql/resolvers/inventory-change/approve-inventory-changes.js +291 -0
  64. package/dist-server/graphql/resolvers/inventory-change/approve-inventory-changes.js.map +1 -0
  65. package/dist-server/graphql/resolvers/inventory-change/create-inventory-change.js +11 -0
  66. package/dist-server/graphql/resolvers/inventory-change/create-inventory-change.js.map +1 -0
  67. package/dist-server/graphql/resolvers/inventory-change/delete-inventory-change.js +12 -0
  68. package/dist-server/graphql/resolvers/inventory-change/delete-inventory-change.js.map +1 -0
  69. package/dist-server/graphql/resolvers/inventory-change/delete-inventory-changes.js +16 -0
  70. package/dist-server/graphql/resolvers/inventory-change/delete-inventory-changes.js.map +1 -0
  71. package/dist-server/graphql/resolvers/inventory-change/index.js +16 -0
  72. package/dist-server/graphql/resolvers/inventory-change/index.js.map +1 -0
  73. package/dist-server/graphql/resolvers/inventory-change/inventory-change.js +15 -0
  74. package/dist-server/graphql/resolvers/inventory-change/inventory-change.js.map +1 -0
  75. package/dist-server/graphql/resolvers/inventory-change/inventory-changes.js +48 -0
  76. package/dist-server/graphql/resolvers/inventory-change/inventory-changes.js.map +1 -0
  77. package/dist-server/graphql/resolvers/inventory-change/reject-inventory-changes.js +41 -0
  78. package/dist-server/graphql/resolvers/inventory-change/reject-inventory-changes.js.map +1 -0
  79. package/dist-server/graphql/resolvers/inventory-change/submit-inventory-changes.js +69 -0
  80. package/dist-server/graphql/resolvers/inventory-change/submit-inventory-changes.js.map +1 -0
  81. package/dist-server/graphql/resolvers/inventory-change/update-inventory-change.js +15 -0
  82. package/dist-server/graphql/resolvers/inventory-change/update-inventory-change.js.map +1 -0
  83. package/dist-server/graphql/resolvers/inventory-change/update-multiple-inventory-change.js +30 -0
  84. package/dist-server/graphql/resolvers/inventory-change/update-multiple-inventory-change.js.map +1 -0
  85. package/dist-server/graphql/resolvers/inventory-history/bizplace-inventory-histories.js +58 -0
  86. package/dist-server/graphql/resolvers/inventory-history/bizplace-inventory-histories.js.map +1 -0
  87. package/dist-server/graphql/resolvers/inventory-history/create-inventory-history.js +11 -0
  88. package/dist-server/graphql/resolvers/inventory-history/create-inventory-history.js.map +1 -0
  89. package/dist-server/graphql/resolvers/inventory-history/delete-inventory-histories.js +16 -0
  90. package/dist-server/graphql/resolvers/inventory-history/delete-inventory-histories.js.map +1 -0
  91. package/dist-server/graphql/resolvers/inventory-history/delete-inventory-history.js +12 -0
  92. package/dist-server/graphql/resolvers/inventory-history/delete-inventory-history.js.map +1 -0
  93. package/dist-server/graphql/resolvers/inventory-history/index.js +20 -0
  94. package/dist-server/graphql/resolvers/inventory-history/index.js.map +1 -0
  95. package/dist-server/graphql/resolvers/inventory-history/inventory-histories.js +48 -0
  96. package/dist-server/graphql/resolvers/inventory-history/inventory-histories.js.map +1 -0
  97. package/dist-server/graphql/resolvers/inventory-history/inventory-history-pallet-detail-report.js +158 -0
  98. package/dist-server/graphql/resolvers/inventory-history/inventory-history-pallet-detail-report.js.map +1 -0
  99. package/dist-server/graphql/resolvers/inventory-history/inventory-history-pallet-report.js +125 -0
  100. package/dist-server/graphql/resolvers/inventory-history/inventory-history-pallet-report.js.map +1 -0
  101. package/dist-server/graphql/resolvers/inventory-history/inventory-history-pallet-storage-report.js +113 -0
  102. package/dist-server/graphql/resolvers/inventory-history/inventory-history-pallet-storage-report.js.map +1 -0
  103. package/dist-server/graphql/resolvers/inventory-history/inventory-history-report.js +207 -0
  104. package/dist-server/graphql/resolvers/inventory-history/inventory-history-report.js.map +1 -0
  105. package/dist-server/graphql/resolvers/inventory-history/inventory-history-summary-report.js +260 -0
  106. package/dist-server/graphql/resolvers/inventory-history/inventory-history-summary-report.js.map +1 -0
  107. package/dist-server/graphql/resolvers/inventory-history/inventory-history.js +14 -0
  108. package/dist-server/graphql/resolvers/inventory-history/inventory-history.js.map +1 -0
  109. package/dist-server/graphql/resolvers/inventory-history/onhand-inventories.js +198 -0
  110. package/dist-server/graphql/resolvers/inventory-history/onhand-inventories.js.map +1 -0
  111. package/dist-server/graphql/resolvers/inventory-history/update-inventory-history.js +15 -0
  112. package/dist-server/graphql/resolvers/inventory-history/update-inventory-history.js.map +1 -0
  113. package/dist-server/graphql/resolvers/inventory-history/update-multiple-inventory-history.js +31 -0
  114. package/dist-server/graphql/resolvers/inventory-history/update-multiple-inventory-history.js.map +1 -0
  115. package/dist-server/graphql/resolvers/inventory-history/warehouse-inventory-histories.js +22 -0
  116. package/dist-server/graphql/resolvers/inventory-history/warehouse-inventory-histories.js.map +1 -0
  117. package/dist-server/graphql/resolvers/location/create-location.js +17 -0
  118. package/dist-server/graphql/resolvers/location/create-location.js.map +1 -0
  119. package/dist-server/graphql/resolvers/location/delete-all-locations.js +13 -0
  120. package/dist-server/graphql/resolvers/location/delete-all-locations.js.map +1 -0
  121. package/dist-server/graphql/resolvers/location/delete-location.js +17 -0
  122. package/dist-server/graphql/resolvers/location/delete-location.js.map +1 -0
  123. package/dist-server/graphql/resolvers/location/delete-locations.js +17 -0
  124. package/dist-server/graphql/resolvers/location/delete-locations.js.map +1 -0
  125. package/dist-server/graphql/resolvers/location/index.js +22 -0
  126. package/dist-server/graphql/resolvers/location/index.js.map +1 -0
  127. package/dist-server/graphql/resolvers/location/location-by-name.js +18 -0
  128. package/dist-server/graphql/resolvers/location/location-by-name.js.map +1 -0
  129. package/dist-server/graphql/resolvers/location/location-occupancies.js +29 -0
  130. package/dist-server/graphql/resolvers/location/location-occupancies.js.map +1 -0
  131. package/dist-server/graphql/resolvers/location/location-with-inventories.js +75 -0
  132. package/dist-server/graphql/resolvers/location/location-with-inventories.js.map +1 -0
  133. package/dist-server/graphql/resolvers/location/location.js +14 -0
  134. package/dist-server/graphql/resolvers/location/location.js.map +1 -0
  135. package/dist-server/graphql/resolvers/location/locations-by-group.js +27 -0
  136. package/dist-server/graphql/resolvers/location/locations-by-group.js.map +1 -0
  137. package/dist-server/graphql/resolvers/location/locations.js +20 -0
  138. package/dist-server/graphql/resolvers/location/locations.js.map +1 -0
  139. package/dist-server/graphql/resolvers/location/update-location.js +21 -0
  140. package/dist-server/graphql/resolvers/location/update-location.js.map +1 -0
  141. package/dist-server/graphql/resolvers/location/update-multiple-location.js +28 -0
  142. package/dist-server/graphql/resolvers/location/update-multiple-location.js.map +1 -0
  143. package/dist-server/graphql/resolvers/movement/create-movement.js +11 -0
  144. package/dist-server/graphql/resolvers/movement/create-movement.js.map +1 -0
  145. package/dist-server/graphql/resolvers/movement/delete-movement.js +12 -0
  146. package/dist-server/graphql/resolvers/movement/delete-movement.js.map +1 -0
  147. package/dist-server/graphql/resolvers/movement/inbound-movements-counter.js +59 -0
  148. package/dist-server/graphql/resolvers/movement/inbound-movements-counter.js.map +1 -0
  149. package/dist-server/graphql/resolvers/movement/index.js +14 -0
  150. package/dist-server/graphql/resolvers/movement/index.js.map +1 -0
  151. package/dist-server/graphql/resolvers/movement/movement.js +19 -0
  152. package/dist-server/graphql/resolvers/movement/movement.js.map +1 -0
  153. package/dist-server/graphql/resolvers/movement/movements.js +16 -0
  154. package/dist-server/graphql/resolvers/movement/movements.js.map +1 -0
  155. package/dist-server/graphql/resolvers/movement/outbound-movements-counter.js +61 -0
  156. package/dist-server/graphql/resolvers/movement/outbound-movements-counter.js.map +1 -0
  157. package/dist-server/graphql/resolvers/movement/update-movement.js +22 -0
  158. package/dist-server/graphql/resolvers/movement/update-movement.js.map +1 -0
  159. package/dist-server/graphql/resolvers/movement/weekly-movements-counter.js +73 -0
  160. package/dist-server/graphql/resolvers/movement/weekly-movements-counter.js.map +1 -0
  161. package/dist-server/graphql/resolvers/pallet/create-pallet.js +11 -0
  162. package/dist-server/graphql/resolvers/pallet/create-pallet.js.map +1 -0
  163. package/dist-server/graphql/resolvers/pallet/delete-pallet.js +12 -0
  164. package/dist-server/graphql/resolvers/pallet/delete-pallet.js.map +1 -0
  165. package/dist-server/graphql/resolvers/pallet/delete-pallets.js +35 -0
  166. package/dist-server/graphql/resolvers/pallet/delete-pallets.js.map +1 -0
  167. package/dist-server/graphql/resolvers/pallet/index.js +17 -0
  168. package/dist-server/graphql/resolvers/pallet/index.js.map +1 -0
  169. package/dist-server/graphql/resolvers/pallet/pallet-by-status.js +16 -0
  170. package/dist-server/graphql/resolvers/pallet/pallet-by-status.js.map +1 -0
  171. package/dist-server/graphql/resolvers/pallet/pallet-inbound-validate.js +26 -0
  172. package/dist-server/graphql/resolvers/pallet/pallet-inbound-validate.js.map +1 -0
  173. package/dist-server/graphql/resolvers/pallet/pallet-outbound-validate.js +26 -0
  174. package/dist-server/graphql/resolvers/pallet/pallet-outbound-validate.js.map +1 -0
  175. package/dist-server/graphql/resolvers/pallet/pallet-return.js +31 -0
  176. package/dist-server/graphql/resolvers/pallet/pallet-return.js.map +1 -0
  177. package/dist-server/graphql/resolvers/pallet/pallet.js +16 -0
  178. package/dist-server/graphql/resolvers/pallet/pallet.js.map +1 -0
  179. package/dist-server/graphql/resolvers/pallet/pallets.js +21 -0
  180. package/dist-server/graphql/resolvers/pallet/pallets.js.map +1 -0
  181. package/dist-server/graphql/resolvers/pallet/update-multiple-pallet.js +50 -0
  182. package/dist-server/graphql/resolvers/pallet/update-multiple-pallet.js.map +1 -0
  183. package/dist-server/graphql/resolvers/pallet/update-pallet.js +15 -0
  184. package/dist-server/graphql/resolvers/pallet/update-pallet.js.map +1 -0
  185. package/dist-server/graphql/resolvers/pallet-count/create-pallet-count.js +11 -0
  186. package/dist-server/graphql/resolvers/pallet-count/create-pallet-count.js.map +1 -0
  187. package/dist-server/graphql/resolvers/pallet-count/delete-pallet-count.js +12 -0
  188. package/dist-server/graphql/resolvers/pallet-count/delete-pallet-count.js.map +1 -0
  189. package/dist-server/graphql/resolvers/pallet-count/delete-pallet-counts.js +16 -0
  190. package/dist-server/graphql/resolvers/pallet-count/delete-pallet-counts.js.map +1 -0
  191. package/dist-server/graphql/resolvers/pallet-count/index.js +14 -0
  192. package/dist-server/graphql/resolvers/pallet-count/index.js.map +1 -0
  193. package/dist-server/graphql/resolvers/pallet-count/pallet-count.js +15 -0
  194. package/dist-server/graphql/resolvers/pallet-count/pallet-count.js.map +1 -0
  195. package/dist-server/graphql/resolvers/pallet-count/pallet-counts.js +14 -0
  196. package/dist-server/graphql/resolvers/pallet-count/pallet-counts.js.map +1 -0
  197. package/dist-server/graphql/resolvers/pallet-count/update-multiple-pallet-count.js +30 -0
  198. package/dist-server/graphql/resolvers/pallet-count/update-multiple-pallet-count.js.map +1 -0
  199. package/dist-server/graphql/resolvers/pallet-count/update-pallet-count-seq.js +38 -0
  200. package/dist-server/graphql/resolvers/pallet-count/update-pallet-count-seq.js.map +1 -0
  201. package/dist-server/graphql/resolvers/pallet-count/update-pallet-count.js +15 -0
  202. package/dist-server/graphql/resolvers/pallet-count/update-pallet-count.js.map +1 -0
  203. package/dist-server/graphql/resolvers/pallet-history/create-pallet-history.js +11 -0
  204. package/dist-server/graphql/resolvers/pallet-history/create-pallet-history.js.map +1 -0
  205. package/dist-server/graphql/resolvers/pallet-history/delete-pallet-histories.js +16 -0
  206. package/dist-server/graphql/resolvers/pallet-history/delete-pallet-histories.js.map +1 -0
  207. package/dist-server/graphql/resolvers/pallet-history/delete-pallet-history.js +12 -0
  208. package/dist-server/graphql/resolvers/pallet-history/delete-pallet-history.js.map +1 -0
  209. package/dist-server/graphql/resolvers/pallet-history/index.js +13 -0
  210. package/dist-server/graphql/resolvers/pallet-history/index.js.map +1 -0
  211. package/dist-server/graphql/resolvers/pallet-history/pallet-histories.js +14 -0
  212. package/dist-server/graphql/resolvers/pallet-history/pallet-histories.js.map +1 -0
  213. package/dist-server/graphql/resolvers/pallet-history/pallet-history.js +15 -0
  214. package/dist-server/graphql/resolvers/pallet-history/pallet-history.js.map +1 -0
  215. package/dist-server/graphql/resolvers/pallet-history/update-multiple-pallet-history.js +30 -0
  216. package/dist-server/graphql/resolvers/pallet-history/update-multiple-pallet-history.js.map +1 -0
  217. package/dist-server/graphql/resolvers/pallet-history/update-pallet-history.js +15 -0
  218. package/dist-server/graphql/resolvers/pallet-history/update-pallet-history.js.map +1 -0
  219. package/dist-server/graphql/resolvers/warehouse/create-warehouse.js +16 -0
  220. package/dist-server/graphql/resolvers/warehouse/create-warehouse.js.map +1 -0
  221. package/dist-server/graphql/resolvers/warehouse/delete-warehouse.js +17 -0
  222. package/dist-server/graphql/resolvers/warehouse/delete-warehouse.js.map +1 -0
  223. package/dist-server/graphql/resolvers/warehouse/delete-warehouses.js +17 -0
  224. package/dist-server/graphql/resolvers/warehouse/delete-warehouses.js.map +1 -0
  225. package/dist-server/graphql/resolvers/warehouse/index.js +17 -0
  226. package/dist-server/graphql/resolvers/warehouse/index.js.map +1 -0
  227. package/dist-server/graphql/resolvers/warehouse/update-multiple-warehouse.js +28 -0
  228. package/dist-server/graphql/resolvers/warehouse/update-multiple-warehouse.js.map +1 -0
  229. package/dist-server/graphql/resolvers/warehouse/update-warehouse.js +17 -0
  230. package/dist-server/graphql/resolvers/warehouse/update-warehouse.js.map +1 -0
  231. package/dist-server/graphql/resolvers/warehouse/warehouse.js +18 -0
  232. package/dist-server/graphql/resolvers/warehouse/warehouse.js.map +1 -0
  233. package/dist-server/graphql/resolvers/warehouse/warehouses.js +15 -0
  234. package/dist-server/graphql/resolvers/warehouse/warehouses.js.map +1 -0
  235. package/dist-server/graphql/types/index.js +65 -0
  236. package/dist-server/graphql/types/index.js.map +1 -0
  237. package/dist-server/graphql/types/inventory/index.js +62 -0
  238. package/dist-server/graphql/types/inventory/index.js.map +1 -0
  239. package/dist-server/graphql/types/inventory/inventory-bundle-group-detail.js +14 -0
  240. package/dist-server/graphql/types/inventory/inventory-bundle-group-detail.js.map +1 -0
  241. package/dist-server/graphql/types/inventory/inventory-bundle-group.js +39 -0
  242. package/dist-server/graphql/types/inventory/inventory-bundle-group.js.map +1 -0
  243. package/dist-server/graphql/types/inventory/inventory-list.js +14 -0
  244. package/dist-server/graphql/types/inventory/inventory-list.js.map +1 -0
  245. package/dist-server/graphql/types/inventory/inventory-patch.js +48 -0
  246. package/dist-server/graphql/types/inventory/inventory-patch.js.map +1 -0
  247. package/dist-server/graphql/types/inventory/inventory-product-group-list.js +14 -0
  248. package/dist-server/graphql/types/inventory/inventory-product-group-list.js.map +1 -0
  249. package/dist-server/graphql/types/inventory/inventory-product-group.js +24 -0
  250. package/dist-server/graphql/types/inventory/inventory-product-group.js.map +1 -0
  251. package/dist-server/graphql/types/inventory/inventory.js +56 -0
  252. package/dist-server/graphql/types/inventory/inventory.js.map +1 -0
  253. package/dist-server/graphql/types/inventory/new-inventory.js +35 -0
  254. package/dist-server/graphql/types/inventory/new-inventory.js.map +1 -0
  255. package/dist-server/graphql/types/inventory-change/index.js +48 -0
  256. package/dist-server/graphql/types/inventory-change/index.js.map +1 -0
  257. package/dist-server/graphql/types/inventory-change/inventory-change-list.js +14 -0
  258. package/dist-server/graphql/types/inventory-change/inventory-change-list.js.map +1 -0
  259. package/dist-server/graphql/types/inventory-change/inventory-change-patch.js +16 -0
  260. package/dist-server/graphql/types/inventory-change/inventory-change-patch.js.map +1 -0
  261. package/dist-server/graphql/types/inventory-change/inventory-change.js +39 -0
  262. package/dist-server/graphql/types/inventory-change/inventory-change.js.map +1 -0
  263. package/dist-server/graphql/types/inventory-change/new-inventory-change.js +14 -0
  264. package/dist-server/graphql/types/inventory-change/new-inventory-change.js.map +1 -0
  265. package/dist-server/graphql/types/inventory-history/index.js +55 -0
  266. package/dist-server/graphql/types/inventory-history/index.js.map +1 -0
  267. package/dist-server/graphql/types/inventory-history/inventory-history-list.js +14 -0
  268. package/dist-server/graphql/types/inventory-history/inventory-history-list.js.map +1 -0
  269. package/dist-server/graphql/types/inventory-history/inventory-history-pallet-report-list.js +15 -0
  270. package/dist-server/graphql/types/inventory-history/inventory-history-pallet-report-list.js.map +1 -0
  271. package/dist-server/graphql/types/inventory-history/inventory-history-pallet-report.js +19 -0
  272. package/dist-server/graphql/types/inventory-history/inventory-history-pallet-report.js.map +1 -0
  273. package/dist-server/graphql/types/inventory-history/inventory-history-patch.js +43 -0
  274. package/dist-server/graphql/types/inventory-history/inventory-history-patch.js.map +1 -0
  275. package/dist-server/graphql/types/inventory-history/inventory-history-summary-list.js +16 -0
  276. package/dist-server/graphql/types/inventory-history/inventory-history-summary-list.js.map +1 -0
  277. package/dist-server/graphql/types/inventory-history/inventory-history-summary.js +23 -0
  278. package/dist-server/graphql/types/inventory-history/inventory-history-summary.js.map +1 -0
  279. package/dist-server/graphql/types/inventory-history/inventory-history.js +62 -0
  280. package/dist-server/graphql/types/inventory-history/inventory-history.js.map +1 -0
  281. package/dist-server/graphql/types/inventory-history/new-inventory-history.js +35 -0
  282. package/dist-server/graphql/types/inventory-history/new-inventory-history.js.map +1 -0
  283. package/dist-server/graphql/types/location/index.js +54 -0
  284. package/dist-server/graphql/types/location/index.js.map +1 -0
  285. package/dist-server/graphql/types/location/location-inventories.js +14 -0
  286. package/dist-server/graphql/types/location/location-inventories.js.map +1 -0
  287. package/dist-server/graphql/types/location/location-inventory.js +27 -0
  288. package/dist-server/graphql/types/location/location-inventory.js.map +1 -0
  289. package/dist-server/graphql/types/location/location-list.js +14 -0
  290. package/dist-server/graphql/types/location/location-list.js.map +1 -0
  291. package/dist-server/graphql/types/location/location-occupancy.js +16 -0
  292. package/dist-server/graphql/types/location/location-occupancy.js.map +1 -0
  293. package/dist-server/graphql/types/location/location-patch.js +23 -0
  294. package/dist-server/graphql/types/location/location-patch.js.map +1 -0
  295. package/dist-server/graphql/types/location/location.js +27 -0
  296. package/dist-server/graphql/types/location/location.js.map +1 -0
  297. package/dist-server/graphql/types/location/new-location.js +21 -0
  298. package/dist-server/graphql/types/location/new-location.js.map +1 -0
  299. package/dist-server/graphql/types/movement/index.js +31 -0
  300. package/dist-server/graphql/types/movement/index.js.map +1 -0
  301. package/dist-server/graphql/types/movement/movement-count.js +17 -0
  302. package/dist-server/graphql/types/movement/movement-count.js.map +1 -0
  303. package/dist-server/graphql/types/movement/movement-list.js +14 -0
  304. package/dist-server/graphql/types/movement/movement-list.js.map +1 -0
  305. package/dist-server/graphql/types/movement/movement-patch.js +18 -0
  306. package/dist-server/graphql/types/movement/movement-patch.js.map +1 -0
  307. package/dist-server/graphql/types/movement/movement.js +23 -0
  308. package/dist-server/graphql/types/movement/movement.js.map +1 -0
  309. package/dist-server/graphql/types/movement/new-movement.js +18 -0
  310. package/dist-server/graphql/types/movement/new-movement.js.map +1 -0
  311. package/dist-server/graphql/types/pallet/index.js +49 -0
  312. package/dist-server/graphql/types/pallet/index.js.map +1 -0
  313. package/dist-server/graphql/types/pallet/new-pallet.js +17 -0
  314. package/dist-server/graphql/types/pallet/new-pallet.js.map +1 -0
  315. package/dist-server/graphql/types/pallet/pallet-list.js +14 -0
  316. package/dist-server/graphql/types/pallet/pallet-list.js.map +1 -0
  317. package/dist-server/graphql/types/pallet/pallet-patch.js +20 -0
  318. package/dist-server/graphql/types/pallet/pallet-patch.js.map +1 -0
  319. package/dist-server/graphql/types/pallet/pallet-validate.js +14 -0
  320. package/dist-server/graphql/types/pallet/pallet-validate.js.map +1 -0
  321. package/dist-server/graphql/types/pallet/pallet.js +24 -0
  322. package/dist-server/graphql/types/pallet/pallet.js.map +1 -0
  323. package/dist-server/graphql/types/pallet-count/index.js +39 -0
  324. package/dist-server/graphql/types/pallet-count/index.js.map +1 -0
  325. package/dist-server/graphql/types/pallet-count/new-pallet-count.js +14 -0
  326. package/dist-server/graphql/types/pallet-count/new-pallet-count.js.map +1 -0
  327. package/dist-server/graphql/types/pallet-count/pallet-count-list.js +14 -0
  328. package/dist-server/graphql/types/pallet-count/pallet-count-list.js.map +1 -0
  329. package/dist-server/graphql/types/pallet-count/pallet-count-patch.js +16 -0
  330. package/dist-server/graphql/types/pallet-count/pallet-count-patch.js.map +1 -0
  331. package/dist-server/graphql/types/pallet-count/pallet-count.js +20 -0
  332. package/dist-server/graphql/types/pallet-count/pallet-count.js.map +1 -0
  333. package/dist-server/graphql/types/pallet-history/index.js +35 -0
  334. package/dist-server/graphql/types/pallet-history/index.js.map +1 -0
  335. package/dist-server/graphql/types/pallet-history/new-pallet-history.js +14 -0
  336. package/dist-server/graphql/types/pallet-history/new-pallet-history.js.map +1 -0
  337. package/dist-server/graphql/types/pallet-history/pallet-history-list.js +14 -0
  338. package/dist-server/graphql/types/pallet-history/pallet-history-list.js.map +1 -0
  339. package/dist-server/graphql/types/pallet-history/pallet-history-patch.js +16 -0
  340. package/dist-server/graphql/types/pallet-history/pallet-history-patch.js.map +1 -0
  341. package/dist-server/graphql/types/pallet-history/pallet-history.js +20 -0
  342. package/dist-server/graphql/types/pallet-history/pallet-history.js.map +1 -0
  343. package/dist-server/graphql/types/warehouse/index.js +35 -0
  344. package/dist-server/graphql/types/warehouse/index.js.map +1 -0
  345. package/dist-server/graphql/types/warehouse/new-warehouse.js +16 -0
  346. package/dist-server/graphql/types/warehouse/new-warehouse.js.map +1 -0
  347. package/dist-server/graphql/types/warehouse/warehouse-list.js +14 -0
  348. package/dist-server/graphql/types/warehouse/warehouse-list.js.map +1 -0
  349. package/dist-server/graphql/types/warehouse/warehouse-patch.js +18 -0
  350. package/dist-server/graphql/types/warehouse/warehouse-patch.js.map +1 -0
  351. package/dist-server/graphql/types/warehouse/warehouse.js +23 -0
  352. package/dist-server/graphql/types/warehouse/warehouse.js.map +1 -0
  353. package/dist-server/migrations/1566887250165-SeedPrivilege.js +61 -0
  354. package/dist-server/migrations/1566887250165-SeedPrivilege.js.map +1 -0
  355. package/package.json +8 -8
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inventoryHistoryPalletReport = void 0;
4
+ const auth_base_1 = require("@things-factory/auth-base");
5
+ const biz_base_1 = require("@things-factory/biz-base");
6
+ const shell_1 = require("@things-factory/shell");
7
+ const entities_1 = require("../../../entities");
8
+ exports.inventoryHistoryPalletReport = {
9
+ async inventoryHistoryPalletReport(_, params, context) {
10
+ try {
11
+ const { domain, tx } = context.state;
12
+ const convertedParams = (0, shell_1.convertListParams)(params);
13
+ let userFilter = params.filters.find(data => data.name === 'user');
14
+ let bizplaceFilter = { name: '', operator: '', value: '' };
15
+ if (userFilter) {
16
+ const user = await tx.getRepository(auth_base_1.User).findOne({
17
+ where: { id: userFilter.value },
18
+ relations: ['bizplaces']
19
+ });
20
+ const bizplace = user.bizplaces[0];
21
+ if (!bizplace)
22
+ throw 'Invalid input';
23
+ bizplaceFilter = { name: 'bizplace', operator: 'eq', value: bizplace.id };
24
+ }
25
+ else {
26
+ bizplaceFilter = params.filters.find(data => data.name === 'bizplace');
27
+ }
28
+ let fromDate = params.filters.find(data => data.name === 'fromDate');
29
+ let toDate = params.filters.find(data => data.name === 'toDate');
30
+ let product = params.filters.find(data => data.name === 'product');
31
+ if (!bizplaceFilter || !fromDate || !toDate)
32
+ throw 'Invalid input';
33
+ const bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
34
+ id: bizplaceFilter.value
35
+ });
36
+ let productQuery = '';
37
+ if (product) {
38
+ let productValue = product.value
39
+ .toLowerCase()
40
+ .split(',')
41
+ .map(prod => {
42
+ return "'%" + prod.trim().replace(/'/g, "''") + "%'";
43
+ })
44
+ .join(',') + ']) ';
45
+ productQuery =
46
+ 'AND prd.name ILIKE ANY(ARRAY[' +
47
+ productValue +
48
+ 'OR prd.sku ILIKE ANY(ARRAY[' +
49
+ productValue +
50
+ 'OR prd.description ILIKE ANY(ARRAY[' +
51
+ productValue;
52
+ }
53
+ const result = await tx.getRepository(entities_1.InventoryHistory).query(`
54
+ with invHistory as (
55
+ select i2.pallet_id, ih.seq, ih.status, ih.transaction_type, i2.product_id, prd.name as product_name,
56
+ prd.description as product_description, ih.id as inventory_history_id, ih.packing_type, ih.qty, ih.opening_qty,
57
+ ih.weight, ih.opening_weight, ih.created_at
58
+ from inventories i2
59
+ inner join reduced_inventory_histories ih on ih.pallet_id = i2.pallet_id and ih.domain_id = i2.domain_id
60
+ inner join products prd on prd.id = i2.product_id
61
+ where
62
+ i2.domain_id = '${domain.id}'
63
+ AND i2.bizplace_id = '${bizplace.id}'
64
+ and (
65
+ (ih.status = 'STORED' and ih.transaction_type = 'NEW')
66
+ or (ih.status = 'STORED' and ih.transaction_type = 'CANCEL_ORDER')
67
+ or (ih.status = 'STORED' and ih.transaction_type = 'RETURN')
68
+ or (ih.status = 'STORED' and ih.transaction_type = 'PUTAWAY')
69
+ or (ih.status = 'TERMINATED' and ih.transaction_type = 'TERMINATED')
70
+ )
71
+ ${productQuery}
72
+ order by ih.pallet_id, ih.seq
73
+ ), inventoryHistoriesByPallet as (
74
+ select invHistory.product_name, invHistory.product_description,
75
+ SUM(case when invHistory.created_at <= '${new Date(fromDate.value).toLocaleDateString()} 00:00:00' then
76
+ case when invHistory.status = 'STORED' then 1 else -1 end
77
+ else 0 end) as opening_balance,
78
+ SUM(case when invHistory.created_at >= '${new Date(fromDate.value).toLocaleDateString()} 00:00:00'
79
+ and invHistory.created_at <= '${new Date(toDate.value).toLocaleDateString()} 23:59:59' then
80
+ case when invHistory.status = 'STORED' then 1 else 0 end
81
+ else 0 end) as in_balance,
82
+ SUM(case when invHistory.created_at >= '${new Date(fromDate.value).toLocaleDateString()} 00:00:00'
83
+ and invHistory.created_at <= '${new Date(toDate.value).toLocaleDateString()} 23:59:59' then
84
+ case when invHistory.status = 'TERMINATED' then 1 else 0 end
85
+ else 0 end) as out_balance
86
+ from(
87
+ select pallet_id, seq, status, transaction_type, product_id, product_name, product_description,
88
+ inventory_history_id, packing_type, qty, opening_qty, weight, opening_weight, created_at from (
89
+ select row_number() over(partition by pallet_id order by created_at asc) as rn, * from invHistory where status = 'STORED'
90
+ )as invIn where rn = 1
91
+ union all
92
+ select pallet_id, seq, status, transaction_type, product_id, product_name, product_description,
93
+ inventory_history_id, packing_type, qty, opening_qty, weight, opening_weight, created_at from (
94
+ select row_number() over(partition by pallet_id order by created_at desc) as rn, * from invHistory
95
+ )as invOut where rn = 1 and status = 'TERMINATED'
96
+ ) as invHistory group by product_name, product_description
97
+ )
98
+ select invh.*, invh.opening_balance + invh.in_balance - invh.out_balance as closing_balance from inventoryHistoriesByPallet invh
99
+ where invh.opening_balance >= 0
100
+ and invh.in_balance >= 0
101
+ and invh.out_balance >= 0
102
+ and (invh.opening_balance > 0 or invh.in_balance > 0)
103
+ order by invh.product_name;
104
+ `);
105
+ let items = result;
106
+ items = items.map(item => {
107
+ return {
108
+ bizplace: bizplace,
109
+ product: {
110
+ name: item.product_name.trim() + ' ( ' + item.product_description.trim() + ' )'
111
+ },
112
+ openingBalance: item.opening_balance,
113
+ inBalance: item.in_balance,
114
+ outBalance: item.out_balance,
115
+ closingBalance: item.closing_balance
116
+ };
117
+ });
118
+ return items;
119
+ }
120
+ catch (error) {
121
+ throw error;
122
+ }
123
+ }
124
+ };
125
+ //# sourceMappingURL=inventory-history-pallet-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory-history-pallet-report.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory-history/inventory-history-pallet-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inventoryHistoryPalletStorageReport = void 0;
4
+ const auth_base_1 = require("@things-factory/auth-base");
5
+ const biz_base_1 = require("@things-factory/biz-base");
6
+ exports.inventoryHistoryPalletStorageReport = {
7
+ async inventoryHistoryPalletStorageReport(_, params, context) {
8
+ try {
9
+ const { domain, tx } = context.state;
10
+ let userFilter = params.filters.find(data => data.name === 'user');
11
+ let bizplaceFilter = { name: '', operator: '', value: '' };
12
+ if (userFilter) {
13
+ const user = await tx.getRepository(auth_base_1.User).findOne({
14
+ where: { id: userFilter.value },
15
+ relations: ['bizplaces']
16
+ });
17
+ const bizplace = user.bizplaces[0];
18
+ if (!bizplace)
19
+ throw 'Invalid input';
20
+ bizplaceFilter = { name: 'bizplace', operator: 'eq', value: bizplace.id };
21
+ }
22
+ else {
23
+ bizplaceFilter = params.filters.find(data => data.name === 'bizplace');
24
+ }
25
+ let fromDate = params.filters.find(data => data.name === 'fromDate');
26
+ let toDate = params.filters.find(data => data.name === 'toDate');
27
+ if (!bizplaceFilter || !fromDate || !toDate)
28
+ throw 'Invalid input';
29
+ const bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
30
+ id: bizplaceFilter.value
31
+ });
32
+ let queryFilter = ``;
33
+ let queryParams = [fromDate.value, toDate.value];
34
+ let locationType = params.filters.find(data => data.name === 'locationType');
35
+ if (locationType) {
36
+ queryFilter = queryFilter + `AND location_type = $` + (queryParams.length + 1);
37
+ queryParams.push(locationType.value);
38
+ }
39
+ let zone = params.filters.find(data => data.name === 'zone');
40
+ if (zone) {
41
+ queryFilter = queryFilter + `AND LOWER(location_zone) like $` + (queryParams.length + 1);
42
+ queryParams.push(zone.value.toLowerCase());
43
+ }
44
+ await tx.query(`
45
+ create temp table temp_history as (
46
+ select distinct on (ih.pallet_id)
47
+ ih.pallet_id, ih.created_at as in_at, loc.name as location_name, loc."type" as location_type, loc."zone" as location_zone,
48
+ bz.name as bizplace_name
49
+ from reduced_inventory_histories ih
50
+ inner join inventories inv on inv.pallet_id = ih.pallet_id and inv.domain_id = ih.domain_id
51
+ inner join locations loc on loc.id = inv.location_id
52
+ inner join bizplaces bz on bz.id = inv.bizplace_id
53
+ where ih.domain_id = $1
54
+ and inv.bizplace_id = $2
55
+ and not exists(
56
+ SELECT domain_id, pallet_id
57
+ FROM reduced_inventory_histories ih2
58
+ where ih2.domain_id = $1
59
+ and ih2.created_at < $3
60
+ and ih2.transaction_type = 'TERMINATED' and ih2.status ='TERMINATED'
61
+ and ih2.pallet_id = ih.pallet_id
62
+ group by ih2.domain_id , ih2.pallet_id
63
+ )
64
+ and ih.created_at <= $4
65
+ order by ih.pallet_id , ih.seq
66
+ )
67
+ `, [domain.id, bizplace.id, fromDate.value, toDate.value]);
68
+ await tx.query(`
69
+ create temp table temp_pallet_storage_history as (
70
+ select * from (
71
+ select bizplace_name, location_type, location_zone, location_name,
72
+ COUNT(pallet_id) filter (where in_at between $1 and $2) as inbound_qty,
73
+ COUNT(*) as total_qty,
74
+ string_agg(case when in_at between $1 and $2 then pallet_id end, ', ') as inbound_pallet_id,
75
+ string_agg(case when in_at not between $1 and $2 then pallet_id end, ', ') as pallet_id
76
+ from temp_history where location_type = 'SHELF'
77
+ group by bizplace_name, location_name, location_type, location_zone
78
+ union
79
+ select bizplace_name, location_type, location_zone, location_name,
80
+ case when in_at between $1 and $2 then 1 else 0 end as inbound_qty,
81
+ 1 as total_qty,
82
+ case when in_at between $1 and $2 then pallet_id end as inbound_pallet_id,
83
+ case when in_at not between $1 and $2 then pallet_id end pallet_id
84
+ from temp_history where location_type = 'FLOOR'
85
+ ) as src where 1 = 1
86
+ ${queryFilter}
87
+ )
88
+ `, queryParams);
89
+ const total = await tx.query(`select count(*) from temp_pallet_storage_history`);
90
+ const totalWithOpeningBalance = await tx.query(`select count(*) from temp_pallet_storage_history where pallet_id notnull`);
91
+ const result = await tx.query(`
92
+ select * from temp_pallet_storage_history order by location_type OFFSET $1 LIMIT $2
93
+ `, [(params.pagination.page - 1) * params.pagination.limit, params.pagination.limit]);
94
+ tx.query(`
95
+ drop table temp_history, temp_pallet_storage_history
96
+ `);
97
+ let items = result.map(itm => {
98
+ return Object.assign(Object.assign({}, itm), { bizplace: {
99
+ name: itm.bizplace_name
100
+ }, location: {
101
+ name: itm.location_name,
102
+ type: itm.location_type,
103
+ zone: itm.location_zone
104
+ }, palletId: itm.pallet_id, inboundPalletId: itm.inbound_pallet_id, inboundQty: itm.inbound_qty, totalQty: itm.total_qty });
105
+ });
106
+ return { items, total: total[0].count, totalWithOpeningBalance: totalWithOpeningBalance[0].count };
107
+ }
108
+ catch (ex) {
109
+ throw ex;
110
+ }
111
+ }
112
+ };
113
+ //# sourceMappingURL=inventory-history-pallet-storage-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory-history-pallet-storage-report.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory-history/inventory-history-pallet-storage-report.ts"],"names":[],"mappings":";;;AAAA,yDAAgD;AAChD,uDAAmD;AAItC,QAAA,mCAAmC,GAAG;IACjD,KAAK,CAAC,mCAAmC,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QAC/E,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAA0C,OAAO,CAAC,KAAK,CAAA;YAE3E,IAAI,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;YAElE,IAAI,cAAc,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;YAE1D,IAAI,UAAU,EAAE;gBACd,MAAM,IAAI,GAAS,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,OAAO,CAAC;oBACtD,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE;oBAC/B,SAAS,EAAE,CAAC,WAAW,CAAC;iBACzB,CAAC,CAAA;gBAEF,MAAM,QAAQ,GAAa,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBAE5C,IAAI,CAAC,QAAQ;oBAAE,MAAM,eAAe,CAAA;gBAEpC,cAAc,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAA;aAC1E;iBAAM;gBACL,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;aACvE;YAED,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;YACpE,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;YAEhE,IAAI,CAAC,cAAc,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;gBAAE,MAAM,eAAe,CAAA;YAElE,MAAM,QAAQ,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;gBAClE,EAAE,EAAE,cAAc,CAAC,KAAK;aACzB,CAAC,CAAA;YAEF,IAAI,WAAW,GAAG,EAAE,CAAA;YACpB,IAAI,WAAW,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;YAChD,IAAI,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAA;YAC5E,IAAI,YAAY,EAAE;gBAChB,WAAW,GAAG,WAAW,GAAG,uBAAuB,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC9E,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;aACrC;YAED,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;YAC5D,IAAI,IAAI,EAAE;gBACR,WAAW,GAAG,WAAW,GAAG,iCAAiC,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBACxF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;aAC3C;YAED,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;;;;;;;;;OAuBD,EACC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CACvD,CAAA;YAED,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;;;;YAkBI,WAAW;;OAEhB,EACC,WAAW,CACZ,CAAA;YAED,MAAM,KAAK,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;YAErF,MAAM,uBAAuB,GAAQ,MAAM,EAAE,CAAC,KAAK,CACjD,0EAA0E,CAC3E,CAAA;YAED,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAChC;;OAED,EACC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAClF,CAAA;YAED,EAAE,CAAC,KAAK,CAAC;;OAER,CAAC,CAAA;YAEF,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC3B,uCACK,GAAG,KACN,QAAQ,EAAE;wBACR,IAAI,EAAE,GAAG,CAAC,aAAa;qBACxB,EACD,QAAQ,EAAE;wBACR,IAAI,EAAE,GAAG,CAAC,aAAa;wBACvB,IAAI,EAAE,GAAG,CAAC,aAAa;wBACvB,IAAI,EAAE,GAAG,CAAC,aAAa;qBACxB,EACD,QAAQ,EAAE,GAAG,CAAC,SAAS,EACvB,eAAe,EAAE,GAAG,CAAC,iBAAiB,EACtC,UAAU,EAAE,GAAG,CAAC,WAAW,EAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS,IACxB;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;SACnG;QAAC,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,CAAA;SACT;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inventoryHistoryReport = void 0;
4
+ const auth_base_1 = require("@things-factory/auth-base");
5
+ const biz_base_1 = require("@things-factory/biz-base");
6
+ exports.inventoryHistoryReport = {
7
+ async inventoryHistoryReport(_, params, context) {
8
+ try {
9
+ const { domain, tx } = context.state;
10
+ let bizplaceFilter = { name: '', operator: '', value: '' };
11
+ let userFilter = params.filters.find(data => data.name === 'user');
12
+ let fromDate = params.filters.find(data => data.name === 'fromDate');
13
+ let toDate = params.filters.find(data => data.name === 'toDate');
14
+ let batchNo = params.filters.find(data => data.name === 'batchNo');
15
+ let product = params.filters.find(data => data.name === 'product');
16
+ let productDesc = params.filters.find(data => data.name === 'productDescription');
17
+ let hasTransactionOrBalanceFilter = params.filters.find(data => data.name === 'hasTransactionOrBalance');
18
+ let tzoffset = params.filters.find(data => data.name === 'tzoffset').value + ' seconds';
19
+ if (userFilter) {
20
+ const user = await tx.getRepository(auth_base_1.User).findOne({
21
+ where: { id: userFilter.value },
22
+ relations: ['bizplaces']
23
+ });
24
+ const bizplace = user.bizplaces[0];
25
+ if (!bizplace)
26
+ throw 'Invalid input';
27
+ bizplaceFilter = { name: 'bizplace', operator: 'eq', value: bizplace.id };
28
+ }
29
+ else {
30
+ bizplaceFilter = params.filters.find(data => data.name === 'bizplace');
31
+ }
32
+ if (!bizplaceFilter || !fromDate || !toDate)
33
+ throw 'Invalid input';
34
+ const bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
35
+ id: bizplaceFilter.value
36
+ });
37
+ let batchNoQuery = '';
38
+ if (batchNo) {
39
+ batchNoQuery =
40
+ 'AND Lower(invh.batch_id) LIKE ANY(ARRAY[' +
41
+ batchNo.value
42
+ .toLowerCase()
43
+ .split(',')
44
+ .map(prod => {
45
+ return "'%" + prod.trim().replace(/'/g, "''") + "%'";
46
+ })
47
+ .join(',') +
48
+ '])';
49
+ }
50
+ let productQuery = '';
51
+ if (product) {
52
+ let productValue = product.value
53
+ .toLowerCase()
54
+ .split(',')
55
+ .map(prod => {
56
+ return "'%" + prod.trim().replace(/'/g, "''") + "%'";
57
+ })
58
+ .join(',');
59
+ productQuery = `AND (
60
+ Lower(prd.name) LIKE ANY(ARRAY[${productValue}])
61
+ OR Lower(prd.sku) LIKE ANY(ARRAY[${productValue}])
62
+ OR Lower(prd.description) LIKE ANY(ARRAY[${productValue}])
63
+ )`;
64
+ }
65
+ let productDescQuery = '';
66
+ if (productDesc) {
67
+ productDescQuery = "AND Lower(description) LIKE '%" + productDesc.value.toLowerCase() + "%'";
68
+ }
69
+ let hasTransactionOrBalanceQuery = '';
70
+ if (hasTransactionOrBalanceFilter && hasTransactionOrBalanceFilter.value) {
71
+ hasTransactionOrBalanceQuery = 'and (src.totalRow > 1 or src.totalQty <> 0)';
72
+ }
73
+ await tx.query(`
74
+ create temp table temp_products AS
75
+ (
76
+ select prd.*, prd.id::varchar as product_id from products prd
77
+ inner join bizplaces b on b.id = prd.bizplace_id
78
+ inner join companies c on c.domain_id = b.domain_id
79
+ inner join bizplaces b2 on b2.company_id = c.id
80
+ where b2.id = $1
81
+ ${productQuery}
82
+ )`, [bizplace.id]);
83
+ await tx.query(`
84
+ create temp table temp_data_src AS
85
+ (
86
+ SELECT prd.name AS product_name, prd.description AS product_description, prd.type as product_type, prd.aux_value_1 AS product_aux_value_1, trim(invh.batch_id) as batch_id, invh.product_id,
87
+ invh.packing_type, invh.bizplace_id, invh.domain_id,
88
+ invh.ref_order_id, invh.order_no, invh.order_ref_no, invh.transaction_type, invh.created_at,
89
+ invh.qty, invh.opening_qty,
90
+ invh.uom, COALESCE(invh.uom_value, 0) as uom_value, COALESCE(invh.opening_uom_value, 0) as opening_uom_value
91
+ FROM reduced_inventory_histories invh
92
+ INNER JOIN temp_products prd ON prd.id = invh.product_id::uuid
93
+ WHERE
94
+ invh.domain_id = $1
95
+ AND invh.bizplace_id = $2
96
+ AND invh.created_at <= $3::timestamp
97
+ ${batchNoQuery}
98
+ )
99
+ `, [domain.id, bizplace.id, toDate.value]);
100
+ await tx.query(`
101
+ create temp table temp_inv_history as (
102
+ SELECT src.product_name, src.product_description, src.product_type, src.product_aux_value_1, src.batch_id, src.product_id, src.packing_type, src.uom,
103
+ src.bizplace_id, src.domain_id,
104
+ SUM(COALESCE(src.qty,0)) AS qty,
105
+ SUM(COALESCE(src.opening_qty,0)) AS opening_qty,
106
+ SUM(COALESCE(src.uom_value,0)) AS uom_value,
107
+ SUM(COALESCE(src.opening_uom_value,0)) AS opening_uom_value,
108
+ 'Opening Balance' AS order_name,
109
+ '-' AS ref_no,
110
+ 0 AS rn,
111
+ $1::timestamp AS created_at,
112
+ $1::date AS created_date
113
+ FROM temp_data_src src
114
+ WHERE src.created_at < $1::timestamp
115
+ GROUP BY src.product_name, src.product_description, src.product_type, src.product_aux_value_1, src.batch_id, src.product_id, src.packing_type, src.uom,
116
+ src.bizplace_id, src.domain_id
117
+ UNION ALL
118
+ SELECT product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
119
+ domain_id, sum(qty) as qty, sum(opening_qty) as opening_qty, sum(uom_value) as uom_value, sum(opening_uom_value) as opening_uom_value,
120
+ order_name, ref_no, 1 AS rn, MIN(created_at) - $2::interval as created_at, (MIN(created_at) - $2::interval)::DATE as created_date
121
+ FROM (
122
+ SELECT invh.product_name, invh.product_description, invh.product_type, invh.product_aux_value_1, invh.batch_id, invh.product_id, invh.packing_type, invh.bizplace_id,
123
+ invh.domain_id,
124
+ invh.qty, invh.opening_qty, invh.uom_value, invh.uom, invh.opening_uom_value,
125
+ COALESCE(order_no, '-') AS order_name,
126
+ COALESCE(order_ref_no, '-') AS ref_no,
127
+ invh.created_at,
128
+ invh.created_at::date as created_date
129
+ FROM temp_data_src invh
130
+ WHERE (invh.qty <> 0 OR invh.uom_value <> 0) AND
131
+ invh.transaction_type <> 'ADJUSTMENT' AND
132
+ invh.transaction_type <>'NEW'
133
+ AND invh.created_at >= $1::timestamp
134
+ ) AS inv_movement
135
+ GROUP BY product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
136
+ domain_id, order_name, ref_no, rn
137
+ UNION ALL
138
+ SELECT product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
139
+ domain_id, sum(qty) as qty, sum(opening_qty) as opening_qty, sum(uom_value) as uom_value, sum(opening_uom_value) as opening_uom_value,
140
+ order_name, ref_no, 1 AS rn, created_at - $2::interval as created_at, created_at::date as created_date
141
+ FROM (
142
+ SELECT invh.product_name, invh.product_description, invh.product_type, invh.product_aux_value_1, invh.batch_id, invh.product_id, invh.packing_type, invh.uom, invh.bizplace_id,
143
+ invh.domain_id,
144
+ invh.qty, invh.opening_qty, invh.uom_value, invh.opening_uom_value,
145
+ invh.transaction_type AS order_name,
146
+ invh.transaction_type AS ref_no,
147
+ invh.created_at,
148
+ invh.created_at:: date as created_date
149
+ FROM temp_data_src invh
150
+ WHERE (invh.qty <> 0 OR invh.uom_value <> 0) AND
151
+ (invh.transaction_type = 'ADJUSTMENT' OR
152
+ invh.transaction_type = 'NEW')
153
+ AND invh.created_at >= $1::timestamp
154
+ ) AS inv_movement
155
+ GROUP BY product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
156
+ domain_id, order_name, ref_no, rn, created_at
157
+ )`, [fromDate.value, tzoffset]);
158
+ const result = await tx.query(`
159
+ select product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
160
+ domain_id, qty, opening_qty, round(uom_value::decimal,2) as uom_value, opening_uom_value, order_name, ref_no, created_at::date
161
+ from temp_inv_history invh where
162
+ exists (
163
+ select * from (
164
+ select batch_id, product_name, packing_type, sum(qty) as totalQty, count(*) as totalRow from temp_inv_history ih2
165
+ group by batch_id, product_name, packing_type
166
+ ) src
167
+ where src.batch_id = invh.batch_id and src.product_name = invh.product_name and src.packing_type = invh.packing_type
168
+ ${hasTransactionOrBalanceQuery}
169
+ )
170
+ ORDER BY invh.product_name asc, invh.product_description asc, invh.packing_type asc, invh.batch_id asc, invh.uom asc, invh.rn asc, invh.created_at asc
171
+ `);
172
+ tx.query(`
173
+ drop table temp_products, temp_data_src, temp_inv_history
174
+ `);
175
+ let items = result;
176
+ items = items.map(item => {
177
+ return {
178
+ batchId: item.batch_id,
179
+ bizplace: bizplace,
180
+ packingType: item.packing_type,
181
+ product: {
182
+ id: item.product_id,
183
+ name: item.product_name +
184
+ ' ( ' +
185
+ item.product_description +
186
+ ' ) ' +
187
+ (item.product_aux_value_1 === null ? '' : ' [ ' + item.product_aux_value_1 + ' ] '),
188
+ type: item.product_type
189
+ },
190
+ qty: item.qty,
191
+ uom: item.uom,
192
+ uomValue: item.uom_value,
193
+ openingQty: item.opening_qty,
194
+ openingUomValue: item.opening_uom_value,
195
+ orderName: item.order_name,
196
+ orderRefNo: item.ref_no,
197
+ createdAt: item.created_at
198
+ };
199
+ });
200
+ return items;
201
+ }
202
+ catch (error) {
203
+ throw error;
204
+ }
205
+ }
206
+ };
207
+ //# sourceMappingURL=inventory-history-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory-history-report.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory-history/inventory-history-report.ts"],"names":[],"mappings":"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"}