@things-factory/warehouse-base 4.0.0-y.0 → 4.0.4

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 (358) hide show
  1. package/dist-server/constants/inventory.js +4 -1
  2. package/dist-server/constants/inventory.js.map +1 -1
  3. package/dist-server/controllers/ecommerce/ecommerce-controller.js +3 -3
  4. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
  5. package/dist-server/controllers/ecommerce/index.js +1 -0
  6. package/dist-server/controllers/ecommerce/index.js.map +1 -1
  7. package/dist-server/controllers/ecommerce/sellercraft-controller.js +48 -0
  8. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -0
  9. package/dist-server/controllers/warehouse-controller.js +40 -1
  10. package/dist-server/controllers/warehouse-controller.js.map +1 -1
  11. package/dist-server/entities/reduced-inventory-history.js +8 -7
  12. package/dist-server/entities/reduced-inventory-history.js.map +1 -1
  13. package/dist-server/graphql/resolvers/inventory/check-product-identicality.js +2 -2
  14. package/dist-server/graphql/resolvers/inventory/check-product-identicality.js.map +1 -1
  15. package/dist-server/graphql/resolvers/inventory/inventories-by-strategy.js +4 -2
  16. package/dist-server/graphql/resolvers/inventory/inventories-by-strategy.js.map +1 -1
  17. package/dist-server/graphql/resolvers/inventory-change/approve-inventory-changes.js +25 -5
  18. package/dist-server/graphql/resolvers/inventory-change/approve-inventory-changes.js.map +1 -1
  19. package/dist-server/graphql/resolvers/inventory-history/inventory-history-summary-report.js +12 -11
  20. package/dist-server/graphql/resolvers/inventory-history/inventory-history-summary-report.js.map +1 -1
  21. package/dist-server/graphql/resolvers/inventory-history/onhand-inventories.js +6 -3
  22. package/dist-server/graphql/resolvers/inventory-history/onhand-inventories.js.map +1 -1
  23. package/dist-server/graphql/resolvers/location/location-occupancies.js +15 -28
  24. package/dist-server/graphql/resolvers/location/location-occupancies.js.map +1 -1
  25. package/dist-server/graphql/resolvers/location/location.js +3 -2
  26. package/dist-server/graphql/resolvers/location/location.js.map +1 -1
  27. package/dist-server/graphql/resolvers/movement/inbound-movements-counter.js +5 -7
  28. package/dist-server/graphql/resolvers/movement/inbound-movements-counter.js.map +1 -1
  29. package/dist-server/graphql/resolvers/movement/outbound-movements-counter.js +5 -7
  30. package/dist-server/graphql/resolvers/movement/outbound-movements-counter.js.map +1 -1
  31. package/dist-server/graphql/resolvers/movement/weekly-movements-counter.js +14 -32
  32. package/dist-server/graphql/resolvers/movement/weekly-movements-counter.js.map +1 -1
  33. package/dist-server/graphql/types/inventory/index.js +1 -1
  34. package/dist-server/graphql/types/inventory/inventory-patch.js +1 -0
  35. package/dist-server/graphql/types/inventory/inventory-patch.js.map +1 -1
  36. package/dist-server/graphql/types/location/index.js +4 -4
  37. package/dist-server/graphql/types/location/index.js.map +1 -1
  38. package/dist-server/graphql/types/warehouse/index.js.map +1 -1
  39. package/dist-server/index.js +11 -12
  40. package/dist-server/index.js.map +1 -1
  41. package/dist-server/service/index.js +71 -0
  42. package/dist-server/service/index.js.map +1 -0
  43. package/dist-server/service/inventory/index.js +9 -0
  44. package/dist-server/service/inventory/index.js.map +1 -0
  45. package/dist-server/service/inventory/inventory-mutation.js +324 -0
  46. package/dist-server/service/inventory/inventory-mutation.js.map +1 -0
  47. package/dist-server/service/inventory/inventory-query.js +678 -0
  48. package/dist-server/service/inventory/inventory-query.js.map +1 -0
  49. package/dist-server/service/inventory/inventory-types.js +405 -0
  50. package/dist-server/service/inventory/inventory-types.js.map +1 -0
  51. package/dist-server/service/inventory/inventory.js +292 -0
  52. package/dist-server/service/inventory/inventory.js.map +1 -0
  53. package/dist-server/service/inventory-change/index.js +9 -0
  54. package/dist-server/service/inventory-change/index.js.map +1 -0
  55. package/dist-server/service/inventory-change/inventory-change-mutation.js +530 -0
  56. package/dist-server/service/inventory-change/inventory-change-mutation.js.map +1 -0
  57. package/dist-server/service/inventory-change/inventory-change-query.js +121 -0
  58. package/dist-server/service/inventory-change/inventory-change-query.js.map +1 -0
  59. package/dist-server/service/inventory-change/inventory-change-types.js +65 -0
  60. package/dist-server/service/inventory-change/inventory-change-types.js.map +1 -0
  61. package/dist-server/service/inventory-change/inventory-change.js +185 -0
  62. package/dist-server/service/inventory-change/inventory-change.js.map +1 -0
  63. package/dist-server/service/inventory-history/index.js +9 -0
  64. package/dist-server/service/inventory-history/index.js.map +1 -0
  65. package/dist-server/service/inventory-history/inventory-history-mutation.js +121 -0
  66. package/dist-server/service/inventory-history/inventory-history-mutation.js.map +1 -0
  67. package/dist-server/service/inventory-history/inventory-history-query.js +1283 -0
  68. package/dist-server/service/inventory-history/inventory-history-query.js.map +1 -0
  69. package/dist-server/service/inventory-history/inventory-history-types.js +382 -0
  70. package/dist-server/service/inventory-history/inventory-history-types.js.map +1 -0
  71. package/dist-server/service/inventory-history/inventory-history.js +233 -0
  72. package/dist-server/service/inventory-history/inventory-history.js.map +1 -0
  73. package/dist-server/service/location/index.js +9 -0
  74. package/dist-server/service/location/index.js.map +1 -0
  75. package/dist-server/service/location/location-mutation.js +157 -0
  76. package/dist-server/service/location/location-mutation.js.map +1 -0
  77. package/dist-server/service/location/location-query.js +251 -0
  78. package/dist-server/service/location/location-query.js.map +1 -0
  79. package/dist-server/service/location/location-types.js +223 -0
  80. package/dist-server/service/location/location-types.js.map +1 -0
  81. package/dist-server/service/location/location.js +125 -0
  82. package/dist-server/service/location/location.js.map +1 -0
  83. package/dist-server/service/movement/index.js +9 -0
  84. package/dist-server/service/movement/index.js.map +1 -0
  85. package/dist-server/service/movement/movement-mutation.js +80 -0
  86. package/dist-server/service/movement/movement-mutation.js.map +1 -0
  87. package/dist-server/service/movement/movement-query.js +286 -0
  88. package/dist-server/service/movement/movement-query.js.map +1 -0
  89. package/dist-server/service/movement/movement-types.js +117 -0
  90. package/dist-server/service/movement/movement-types.js.map +1 -0
  91. package/dist-server/service/movement/movement.js +101 -0
  92. package/dist-server/service/movement/movement.js.map +1 -0
  93. package/dist-server/service/pallet/index.js +9 -0
  94. package/dist-server/service/pallet/index.js.map +1 -0
  95. package/dist-server/service/pallet/pallet-mutation.js +192 -0
  96. package/dist-server/service/pallet/pallet-mutation.js.map +1 -0
  97. package/dist-server/service/pallet/pallet-query.js +164 -0
  98. package/dist-server/service/pallet/pallet-query.js.map +1 -0
  99. package/dist-server/service/pallet/pallet-types.js +109 -0
  100. package/dist-server/service/pallet/pallet-types.js.map +1 -0
  101. package/dist-server/service/pallet/pallet.js +112 -0
  102. package/dist-server/service/pallet/pallet.js.map +1 -0
  103. package/dist-server/service/pallet-count/index.js +9 -0
  104. package/dist-server/service/pallet-count/index.js.map +1 -0
  105. package/dist-server/service/pallet-count/pallet-count-mutation.js +156 -0
  106. package/dist-server/service/pallet-count/pallet-count-mutation.js.map +1 -0
  107. package/dist-server/service/pallet-count/pallet-count-query.js +86 -0
  108. package/dist-server/service/pallet-count/pallet-count-query.js.map +1 -0
  109. package/dist-server/service/pallet-count/pallet-count-types.js +65 -0
  110. package/dist-server/service/pallet-count/pallet-count-types.js.map +1 -0
  111. package/dist-server/service/pallet-count/pallet-count.js +89 -0
  112. package/dist-server/service/pallet-count/pallet-count.js.map +1 -0
  113. package/dist-server/service/pallet-history/index.js +9 -0
  114. package/dist-server/service/pallet-history/index.js.map +1 -0
  115. package/dist-server/service/pallet-history/pallet-history-mutation.js +120 -0
  116. package/dist-server/service/pallet-history/pallet-history-mutation.js.map +1 -0
  117. package/dist-server/service/pallet-history/pallet-history-query.js +87 -0
  118. package/dist-server/service/pallet-history/pallet-history-query.js.map +1 -0
  119. package/dist-server/service/pallet-history/pallet-history-types.js +65 -0
  120. package/dist-server/service/pallet-history/pallet-history-types.js.map +1 -0
  121. package/dist-server/service/pallet-history/pallet-history.js +107 -0
  122. package/dist-server/service/pallet-history/pallet-history.js.map +1 -0
  123. package/dist-server/service/reduced-inventory-history/index.js +6 -0
  124. package/dist-server/service/reduced-inventory-history/index.js.map +1 -0
  125. package/dist-server/service/reduced-inventory-history/reduced-inventory-history.js +133 -0
  126. package/dist-server/service/reduced-inventory-history/reduced-inventory-history.js.map +1 -0
  127. package/dist-server/service/warehouse/index.js +9 -0
  128. package/dist-server/service/warehouse/index.js.map +1 -0
  129. package/dist-server/service/warehouse/warehouse-mutation.js +135 -0
  130. package/dist-server/service/warehouse/warehouse-mutation.js.map +1 -0
  131. package/dist-server/service/warehouse/warehouse-query.js +91 -0
  132. package/dist-server/service/warehouse/warehouse-query.js.map +1 -0
  133. package/dist-server/service/warehouse/warehouse-types.js +82 -0
  134. package/dist-server/service/warehouse/warehouse-types.js.map +1 -0
  135. package/dist-server/service/warehouse/warehouse.js +102 -0
  136. package/dist-server/service/warehouse/warehouse.js.map +1 -0
  137. package/dist-server/utils/inventory-util.js +46 -12
  138. package/dist-server/utils/inventory-util.js.map +1 -1
  139. package/package.json +8 -7
  140. package/server/constants/inventory.ts +4 -1
  141. package/server/controllers/ecommerce/ecommerce-controller.ts +4 -3
  142. package/server/controllers/ecommerce/index.ts +1 -0
  143. package/server/controllers/ecommerce/sellercraft-controller.ts +58 -0
  144. package/server/controllers/warehouse-controller.ts +54 -2
  145. package/server/index.ts +8 -4
  146. package/server/service/index.ts +61 -0
  147. package/server/service/inventory/index.ts +6 -0
  148. package/server/{graphql/resolvers/inventory/update-multiple-inventory.ts → service/inventory/inventory-mutation.ts} +158 -7
  149. package/server/service/inventory/inventory-query.ts +745 -0
  150. package/server/service/inventory/inventory-types.ts +289 -0
  151. package/server/{entities → service/inventory}/inventory.ts +92 -8
  152. package/server/service/inventory-change/index.ts +6 -0
  153. package/server/{graphql/resolvers/inventory-change/approve-inventory-changes.ts → service/inventory-change/inventory-change-mutation.ts} +299 -11
  154. package/server/{graphql/resolvers/inventory-change/inventory-changes.ts → service/inventory-change/inventory-change-query.ts} +35 -4
  155. package/server/service/inventory-change/inventory-change-types.ts +36 -0
  156. package/server/{entities → service/inventory-change}/inventory-change.ts +55 -5
  157. package/server/service/inventory-history/index.ts +6 -0
  158. package/server/service/inventory-history/inventory-history-mutation.ts +119 -0
  159. package/server/service/inventory-history/inventory-history-query.ts +1435 -0
  160. package/server/service/inventory-history/inventory-history-types.ts +269 -0
  161. package/server/{entities → service/inventory-history}/inventory-history.ts +65 -10
  162. package/server/service/location/index.ts +6 -0
  163. package/server/service/location/location-mutation.ts +134 -0
  164. package/server/service/location/location-query.ts +209 -0
  165. package/server/service/location/location-types.ts +151 -0
  166. package/server/{entities → service/location}/location.ts +40 -3
  167. package/server/service/movement/index.ts +6 -0
  168. package/server/service/movement/movement-mutation.ts +61 -0
  169. package/server/service/movement/movement-query.ts +258 -0
  170. package/server/service/movement/movement-types.ts +74 -0
  171. package/server/{entities → service/movement}/movement.ts +35 -2
  172. package/server/service/pallet/index.ts +6 -0
  173. package/server/service/pallet/pallet-mutation.ts +244 -0
  174. package/server/service/pallet/pallet-query.ts +105 -0
  175. package/server/service/pallet/pallet-types.ts +68 -0
  176. package/server/{entities → service/pallet}/pallet.ts +31 -4
  177. package/server/service/pallet-count/index.ts +6 -0
  178. package/server/service/pallet-count/pallet-count-mutation.ts +148 -0
  179. package/server/service/pallet-count/pallet-count-query.ts +46 -0
  180. package/server/service/pallet-count/pallet-count-types.ts +36 -0
  181. package/server/service/pallet-count/pallet-count.ts +70 -0
  182. package/server/service/pallet-history/index.ts +6 -0
  183. package/server/service/pallet-history/pallet-history-mutation.ts +114 -0
  184. package/server/service/pallet-history/pallet-history-query.ts +46 -0
  185. package/server/service/pallet-history/pallet-history-types.ts +36 -0
  186. package/server/{entities → service/pallet-history}/pallet-history.ts +34 -12
  187. package/server/service/reduced-inventory-history/index.ts +3 -0
  188. package/server/{entities → service/reduced-inventory-history}/reduced-inventory-history.ts +7 -12
  189. package/server/service/warehouse/index.ts +6 -0
  190. package/server/service/warehouse/warehouse-mutation.ts +114 -0
  191. package/server/service/warehouse/warehouse-query.ts +51 -0
  192. package/server/service/warehouse/warehouse-types.ts +50 -0
  193. package/server/{entities → service/warehouse}/warehouse.ts +29 -4
  194. package/server/utils/inventory-util.ts +58 -4
  195. package/translations/en.json +2 -1
  196. package/translations/ko.json +2 -1
  197. package/translations/ms.json +2 -1
  198. package/translations/zh.json +2 -1
  199. package/server/entities/index.ts +0 -36
  200. package/server/entities/pallet-count.ts +0 -40
  201. package/server/graphql/index.ts +0 -7
  202. package/server/graphql/resolvers/index.ts +0 -33
  203. package/server/graphql/resolvers/inventory/check-carton-identicality.ts +0 -32
  204. package/server/graphql/resolvers/inventory/check-inventory-owner.ts +0 -26
  205. package/server/graphql/resolvers/inventory/check-product-identicality.ts +0 -24
  206. package/server/graphql/resolvers/inventory/create-inventory.ts +0 -15
  207. package/server/graphql/resolvers/inventory/delete-inventories.ts +0 -14
  208. package/server/graphql/resolvers/inventory/delete-inventory.ts +0 -10
  209. package/server/graphql/resolvers/inventory/index.ts +0 -38
  210. package/server/graphql/resolvers/inventory/inventories-by-bundle.ts +0 -168
  211. package/server/graphql/resolvers/inventory/inventories-by-product.ts +0 -164
  212. package/server/graphql/resolvers/inventory/inventories-by-strategy.ts +0 -143
  213. package/server/graphql/resolvers/inventory/inventories.ts +0 -129
  214. package/server/graphql/resolvers/inventory/inventory-by-pallet.ts +0 -15
  215. package/server/graphql/resolvers/inventory/inventory-transfer.ts +0 -50
  216. package/server/graphql/resolvers/inventory/inventory.ts +0 -14
  217. package/server/graphql/resolvers/inventory/update-inventory-remark.ts +0 -19
  218. package/server/graphql/resolvers/inventory/update-inventory.ts +0 -31
  219. package/server/graphql/resolvers/inventory-change/create-inventory-change.ts +0 -17
  220. package/server/graphql/resolvers/inventory-change/delete-inventory-change.ts +0 -12
  221. package/server/graphql/resolvers/inventory-change/delete-inventory-changes.ts +0 -15
  222. package/server/graphql/resolvers/inventory-change/index.ts +0 -27
  223. package/server/graphql/resolvers/inventory-change/inventory-change.ts +0 -14
  224. package/server/graphql/resolvers/inventory-change/reject-inventory-changes.ts +0 -42
  225. package/server/graphql/resolvers/inventory-change/submit-inventory-changes.ts +0 -101
  226. package/server/graphql/resolvers/inventory-change/update-inventory-change.ts +0 -21
  227. package/server/graphql/resolvers/inventory-change/update-multiple-inventory-change.ts +0 -47
  228. package/server/graphql/resolvers/inventory-history/bizplace-inventory-histories.ts +0 -81
  229. package/server/graphql/resolvers/inventory-history/create-inventory-history.ts +0 -17
  230. package/server/graphql/resolvers/inventory-history/delete-inventory-histories.ts +0 -15
  231. package/server/graphql/resolvers/inventory-history/delete-inventory-history.ts +0 -12
  232. package/server/graphql/resolvers/inventory-history/index.ts +0 -34
  233. package/server/graphql/resolvers/inventory-history/inventory-histories.ts +0 -62
  234. package/server/graphql/resolvers/inventory-history/inventory-history-pallet-detail-report.ts +0 -166
  235. package/server/graphql/resolvers/inventory-history/inventory-history-pallet-report.ts +0 -133
  236. package/server/graphql/resolvers/inventory-history/inventory-history-pallet-storage-report.ts +0 -146
  237. package/server/graphql/resolvers/inventory-history/inventory-history-report.ts +0 -233
  238. package/server/graphql/resolvers/inventory-history/inventory-history-summary-report.ts +0 -317
  239. package/server/graphql/resolvers/inventory-history/inventory-history.ts +0 -13
  240. package/server/graphql/resolvers/inventory-history/onhand-inventories.ts +0 -233
  241. package/server/graphql/resolvers/inventory-history/update-inventory-history.ts +0 -21
  242. package/server/graphql/resolvers/inventory-history/update-multiple-inventory-history.ts +0 -48
  243. package/server/graphql/resolvers/location/create-location.ts +0 -25
  244. package/server/graphql/resolvers/location/delete-all-locations.ts +0 -12
  245. package/server/graphql/resolvers/location/delete-location.ts +0 -16
  246. package/server/graphql/resolvers/location/delete-locations.ts +0 -16
  247. package/server/graphql/resolvers/location/index.ts +0 -32
  248. package/server/graphql/resolvers/location/location-by-name.ts +0 -17
  249. package/server/graphql/resolvers/location/location-occupancies.ts +0 -45
  250. package/server/graphql/resolvers/location/location-with-inventories.ts +0 -87
  251. package/server/graphql/resolvers/location/location.ts +0 -10
  252. package/server/graphql/resolvers/location/locations-by-group.ts +0 -29
  253. package/server/graphql/resolvers/location/locations.ts +0 -18
  254. package/server/graphql/resolvers/location/update-location.ts +0 -27
  255. package/server/graphql/resolvers/location/update-multiple-location.ts +0 -29
  256. package/server/graphql/resolvers/movement/create-movement.ts +0 -13
  257. package/server/graphql/resolvers/movement/delete-movement.ts +0 -9
  258. package/server/graphql/resolvers/movement/inbound-movements-counter.ts +0 -68
  259. package/server/graphql/resolvers/movement/index.ts +0 -23
  260. package/server/graphql/resolvers/movement/movement.ts +0 -16
  261. package/server/graphql/resolvers/movement/movements.ts +0 -17
  262. package/server/graphql/resolvers/movement/outbound-movements-counter.ts +0 -70
  263. package/server/graphql/resolvers/movement/update-movement.ts +0 -25
  264. package/server/graphql/resolvers/movement/weekly-movements-counter.ts +0 -94
  265. package/server/graphql/resolvers/pallet/create-pallet.ts +0 -18
  266. package/server/graphql/resolvers/pallet/delete-pallet.ts +0 -13
  267. package/server/graphql/resolvers/pallet/delete-pallets.ts +0 -44
  268. package/server/graphql/resolvers/pallet/index.ts +0 -29
  269. package/server/graphql/resolvers/pallet/pallet-by-status.ts +0 -16
  270. package/server/graphql/resolvers/pallet/pallet-inbound-validate.ts +0 -21
  271. package/server/graphql/resolvers/pallet/pallet-outbound-validate.ts +0 -21
  272. package/server/graphql/resolvers/pallet/pallet-return.ts +0 -57
  273. package/server/graphql/resolvers/pallet/pallet.ts +0 -15
  274. package/server/graphql/resolvers/pallet/pallets.ts +0 -22
  275. package/server/graphql/resolvers/pallet/update-multiple-pallet.ts +0 -95
  276. package/server/graphql/resolvers/pallet/update-pallet.ts +0 -21
  277. package/server/graphql/resolvers/pallet-count/create-pallet-count.ts +0 -17
  278. package/server/graphql/resolvers/pallet-count/delete-pallet-count.ts +0 -12
  279. package/server/graphql/resolvers/pallet-count/delete-pallet-counts.ts +0 -15
  280. package/server/graphql/resolvers/pallet-count/index.ts +0 -23
  281. package/server/graphql/resolvers/pallet-count/pallet-count.ts +0 -14
  282. package/server/graphql/resolvers/pallet-count/pallet-counts.ts +0 -14
  283. package/server/graphql/resolvers/pallet-count/update-multiple-pallet-count.ts +0 -47
  284. package/server/graphql/resolvers/pallet-count/update-pallet-count-seq.ts +0 -44
  285. package/server/graphql/resolvers/pallet-count/update-pallet-count.ts +0 -21
  286. package/server/graphql/resolvers/pallet-history/create-pallet-history.ts +0 -17
  287. package/server/graphql/resolvers/pallet-history/delete-pallet-histories.ts +0 -16
  288. package/server/graphql/resolvers/pallet-history/delete-pallet-history.ts +0 -13
  289. package/server/graphql/resolvers/pallet-history/index.ts +0 -21
  290. package/server/graphql/resolvers/pallet-history/pallet-histories.ts +0 -14
  291. package/server/graphql/resolvers/pallet-history/pallet-history.ts +0 -14
  292. package/server/graphql/resolvers/pallet-history/update-multiple-pallet-history.ts +0 -46
  293. package/server/graphql/resolvers/pallet-history/update-pallet-history.ts +0 -21
  294. package/server/graphql/resolvers/warehouse/create-warehouse.ts +0 -22
  295. package/server/graphql/resolvers/warehouse/delete-warehouse.ts +0 -16
  296. package/server/graphql/resolvers/warehouse/delete-warehouses.ts +0 -16
  297. package/server/graphql/resolvers/warehouse/index.ts +0 -22
  298. package/server/graphql/resolvers/warehouse/update-multiple-warehouse.ts +0 -29
  299. package/server/graphql/resolvers/warehouse/update-warehouse.ts +0 -23
  300. package/server/graphql/resolvers/warehouse/warehouse.ts +0 -17
  301. package/server/graphql/resolvers/warehouse/warehouses.ts +0 -16
  302. package/server/graphql/types/index.ts +0 -45
  303. package/server/graphql/types/inventory/index.ts +0 -61
  304. package/server/graphql/types/inventory/inventory-bundle-group-detail.ts +0 -8
  305. package/server/graphql/types/inventory/inventory-bundle-group.ts +0 -33
  306. package/server/graphql/types/inventory/inventory-list.ts +0 -8
  307. package/server/graphql/types/inventory/inventory-patch.ts +0 -41
  308. package/server/graphql/types/inventory/inventory.ts +0 -50
  309. package/server/graphql/types/inventory/new-inventory.ts +0 -29
  310. package/server/graphql/types/inventory-change/index.ts +0 -47
  311. package/server/graphql/types/inventory-change/inventory-change-list.ts +0 -8
  312. package/server/graphql/types/inventory-change/inventory-change-patch.ts +0 -10
  313. package/server/graphql/types/inventory-change/inventory-change.ts +0 -33
  314. package/server/graphql/types/inventory-change/new-inventory-change.ts +0 -8
  315. package/server/graphql/types/inventory-history/index.ts +0 -54
  316. package/server/graphql/types/inventory-history/inventory-history-list.ts +0 -8
  317. package/server/graphql/types/inventory-history/inventory-history-pallet-report-list.ts +0 -9
  318. package/server/graphql/types/inventory-history/inventory-history-pallet-report.ts +0 -13
  319. package/server/graphql/types/inventory-history/inventory-history-patch.ts +0 -37
  320. package/server/graphql/types/inventory-history/inventory-history-summary-list.ts +0 -10
  321. package/server/graphql/types/inventory-history/inventory-history-summary.ts +0 -17
  322. package/server/graphql/types/inventory-history/inventory-history.ts +0 -56
  323. package/server/graphql/types/inventory-history/new-inventory-history.ts +0 -29
  324. package/server/graphql/types/location/index.ts +0 -53
  325. package/server/graphql/types/location/location-inventories.ts +0 -8
  326. package/server/graphql/types/location/location-inventory.ts +0 -21
  327. package/server/graphql/types/location/location-list.ts +0 -8
  328. package/server/graphql/types/location/location-occupancy.ts +0 -10
  329. package/server/graphql/types/location/location-patch.ts +0 -17
  330. package/server/graphql/types/location/location.ts +0 -21
  331. package/server/graphql/types/location/new-location.ts +0 -15
  332. package/server/graphql/types/movement/index.ts +0 -31
  333. package/server/graphql/types/movement/movement-count.ts +0 -11
  334. package/server/graphql/types/movement/movement-list.ts +0 -8
  335. package/server/graphql/types/movement/movement-patch.ts +0 -12
  336. package/server/graphql/types/movement/movement.ts +0 -17
  337. package/server/graphql/types/movement/new-movement.ts +0 -12
  338. package/server/graphql/types/pallet/index.ts +0 -48
  339. package/server/graphql/types/pallet/new-pallet.ts +0 -11
  340. package/server/graphql/types/pallet/pallet-list.ts +0 -8
  341. package/server/graphql/types/pallet/pallet-patch.ts +0 -14
  342. package/server/graphql/types/pallet/pallet-validate.ts +0 -8
  343. package/server/graphql/types/pallet/pallet.ts +0 -18
  344. package/server/graphql/types/pallet-count/index.ts +0 -38
  345. package/server/graphql/types/pallet-count/new-pallet-count.ts +0 -8
  346. package/server/graphql/types/pallet-count/pallet-count-list.ts +0 -8
  347. package/server/graphql/types/pallet-count/pallet-count-patch.ts +0 -10
  348. package/server/graphql/types/pallet-count/pallet-count.ts +0 -14
  349. package/server/graphql/types/pallet-history/index.ts +0 -34
  350. package/server/graphql/types/pallet-history/new-pallet-history.ts +0 -8
  351. package/server/graphql/types/pallet-history/pallet-history-list.ts +0 -8
  352. package/server/graphql/types/pallet-history/pallet-history-patch.ts +0 -10
  353. package/server/graphql/types/pallet-history/pallet-history.ts +0 -14
  354. package/server/graphql/types/warehouse/index.ts +0 -35
  355. package/server/graphql/types/warehouse/new-warehouse.ts +0 -10
  356. package/server/graphql/types/warehouse/warehouse-list.ts +0 -8
  357. package/server/graphql/types/warehouse/warehouse-patch.ts +0 -12
  358. package/server/graphql/types/warehouse/warehouse.ts +0 -17
@@ -1,47 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { Domain } from '@things-factory/shell'
3
- import { EntityManager } from 'typeorm'
4
- import { InventoryChange } from '../../../entities'
5
-
6
- export const updateMultipleInventoryChange = {
7
- async updateMultipleInventoryChange(_: any, { patches }, context: any) {
8
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
9
-
10
- let results = []
11
- const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
12
- const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
13
- const inventoryChangeRepo = tx.getRepository(InventoryChange)
14
-
15
- if (_createRecords.length > 0) {
16
- for (let i = 0; i < _createRecords.length; i++) {
17
- const newRecord = _createRecords[i]
18
-
19
- const result = await inventoryChangeRepo.save({
20
- ...newRecord,
21
- domain: domain,
22
- creator: user,
23
- updater: user
24
- })
25
-
26
- results.push({ ...result, cuFlag: '+' })
27
- }
28
- }
29
-
30
- if (_updateRecords.length > 0) {
31
- for (let i = 0; i < _updateRecords.length; i++) {
32
- const newRecord = _updateRecords[i]
33
- const inventoryChange = await inventoryChangeRepo.findOne(newRecord.id)
34
-
35
- const result = await inventoryChangeRepo.save({
36
- ...inventoryChange,
37
- ...newRecord,
38
- updater: user
39
- })
40
-
41
- results.push({ ...result, cuFlag: 'M' })
42
- }
43
- }
44
-
45
- return results
46
- }
47
- }
@@ -1,81 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { Bizplace, getMyBizplace } from '@things-factory/biz-base'
3
- import { Product } from '@things-factory/product-base'
4
- import { convertListParams, Domain } from '@things-factory/shell'
5
- import { getRepository, SelectQueryBuilder, Brackets, Between, EntityManager, In, Raw } from 'typeorm'
6
- import { InventoryHistory, Location, Warehouse } from '../../../entities'
7
-
8
- export const bizplaceInventoryHistories = {
9
- async bizplaceInventoryHistories(_: any, { inventoryHistory, filters, pagination, sortings }, context: any) {
10
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
11
-
12
- const ownerBizplace: Bizplace = await getMyBizplace(domain, user)
13
- const customerBizplace: Bizplace = await tx.getRepository(Bizplace).findOne(inventoryHistory.bizplace.id)
14
-
15
- const productFilters = filters.find(x => x.name == 'product_info')
16
- filters = filters.filter(x => x.name != 'product_info')
17
-
18
- const fromDate: Date = new Date(inventoryHistory.fromDate)
19
- const toDate: Date = new Date(inventoryHistory.toDate)
20
-
21
- const convertedParams = convertListParams({ filters, pagination, sortings })
22
- let where = { domain: domain }
23
-
24
- if (productFilters) {
25
- let productFilterValue = `%${productFilters.value.toLowerCase()}%`
26
- const productQb: SelectQueryBuilder<Product> = getRepository(Product).createQueryBuilder('prd')
27
-
28
- productQb.where(
29
- new Brackets(qb => {
30
- qb.where('Lower(prd.sku) LIKE :productInfo', { productInfo: productFilterValue })
31
- .orWhere('Lower(prd.name) LIKE :productInfo', { productInfo: productFilterValue })
32
- .orWhere('Lower(prd.description) LIKE :productInfo', { productInfo: productFilterValue })
33
- })
34
- )
35
-
36
- const _products = await productQb.getMany()
37
-
38
- where['product'] = In(_products.map((product: Product) => product.id))
39
- }
40
-
41
- if (inventoryHistory && inventoryHistory.warehouseName) {
42
- const _warehouses: Warehouse[] = await tx.getRepository(Warehouse).find({
43
- domain: domain,
44
- name: Raw(alias => `LOWER(${alias}) LIKE '${inventoryHistory.warehouseName.toLowerCase()}'`)
45
- })
46
- where['warehouse'] = In(_warehouses.map((warehouse: Warehouse) => warehouse.id))
47
- }
48
-
49
- if (inventoryHistory && inventoryHistory.locationName) {
50
- const _locations = await tx.getRepository(Location).find({
51
- where: {
52
- domain: domain,
53
- name: Raw(alias => `LOWER(${alias}) LIKE '${inventoryHistory.locationName.toLowerCase()}'`)
54
- }
55
- })
56
- where['location'] = In(_locations.map((location: Location) => location.id))
57
- }
58
-
59
- where['createdAt'] = Between(fromDate, toDate)
60
-
61
- convertedParams.where = {
62
- ...convertedParams.where,
63
- ...where,
64
- bizplace: customerBizplace
65
- }
66
-
67
- const result = await tx.getRepository(InventoryHistory).findAndCount({
68
- ...convertedParams,
69
- relations: ['domain', 'product', 'warehouse', 'location', 'bizplace', 'updater'],
70
- order: {
71
- palletId: 'ASC',
72
- seq: 'ASC'
73
- }
74
- })
75
-
76
- let items = result[0] as any
77
- let total = result[1]
78
-
79
- return { items, total }
80
- }
81
- }
@@ -1,17 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { Domain } from '@things-factory/shell'
3
- import { EntityManager } from 'typeorm'
4
- import { InventoryHistory } from '../../../entities'
5
-
6
- export const createInventoryHistory = {
7
- async createInventoryHistory(_: any, { inventoryHistory }, context: any) {
8
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
9
-
10
- return await tx.getRepository(InventoryHistory).save({
11
- ...inventoryHistory,
12
- domain: domain,
13
- creator: user,
14
- updater: user
15
- })
16
- }
17
- }
@@ -1,15 +0,0 @@
1
- import { Domain } from '@things-factory/shell'
2
- import { EntityManager, In } from 'typeorm'
3
- import { InventoryHistory } from '../../../entities'
4
-
5
- export const deleteInventoryHistories = {
6
- async deleteInventoryHistories(_: any, { names }, context: any) {
7
- const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state
8
-
9
- await tx.getRepository(InventoryHistory).delete({
10
- domain: domain,
11
- name: In(names)
12
- })
13
- return true
14
- }
15
- }
@@ -1,12 +0,0 @@
1
- import { Domain } from '@things-factory/shell'
2
- import { EntityManager } from 'typeorm'
3
- import { InventoryHistory } from '../../../entities'
4
-
5
- export const deleteInventoryHistory = {
6
- async deleteInventoryHistory(_: any, { name }, context: any) {
7
- const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state
8
-
9
- await tx.getRepository(InventoryHistory).delete({ domain: domain, name })
10
- return true
11
- }
12
- }
@@ -1,34 +0,0 @@
1
- import { createInventoryHistory } from './create-inventory-history'
2
- import { deleteInventoryHistories } from './delete-inventory-histories'
3
- import { deleteInventoryHistory } from './delete-inventory-history'
4
- import { inventoryHistoriesResolver } from './inventory-histories'
5
- import { inventoryHistoryResolver } from './inventory-history'
6
- import { updateInventoryHistory } from './update-inventory-history'
7
- import { updateMultipleInventoryHistory } from './update-multiple-inventory-history'
8
- import { bizplaceInventoryHistories } from './bizplace-inventory-histories'
9
- import { inventoryHistoryReport } from './inventory-history-report'
10
- import { inventoryHistoryPalletReport } from './inventory-history-pallet-report'
11
- import { inventoryHistoryPalletDetailReport } from './inventory-history-pallet-detail-report'
12
- import { inventoryHistoryPalletStorageReport } from './inventory-history-pallet-storage-report'
13
- import { inventoryHistorySummaryReport } from './inventory-history-summary-report'
14
- import { onhandInventoriesResolver } from './onhand-inventories'
15
-
16
- export const Query = {
17
- ...inventoryHistoriesResolver,
18
- ...inventoryHistoryResolver,
19
- ...bizplaceInventoryHistories,
20
- ...inventoryHistoryReport,
21
- ...inventoryHistoryPalletReport,
22
- ...inventoryHistoryPalletDetailReport,
23
- ...inventoryHistoryPalletStorageReport,
24
- ...inventoryHistorySummaryReport,
25
- ...onhandInventoriesResolver
26
- }
27
-
28
- export const Mutation = {
29
- ...updateInventoryHistory,
30
- ...updateMultipleInventoryHistory,
31
- ...createInventoryHistory,
32
- ...deleteInventoryHistory,
33
- ...deleteInventoryHistories
34
- }
@@ -1,62 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { getPermittedBizplaceIds } from '@things-factory/biz-base'
3
- import { convertListParams, Domain, ListParam } from '@things-factory/shell'
4
- import { getRepository } from 'typeorm'
5
- import { InventoryHistory } from '../../../entities'
6
-
7
- export const inventoryHistoriesResolver = {
8
- async inventoryHistories(_: any, params: ListParam, context: any) {
9
- const { domain, user }: { domain: Domain; user: User } = context.state
10
-
11
- if (!params.filters.find((filter: any) => filter.name === 'bizplace')) {
12
- params.filters.push({
13
- name: 'bizplace',
14
- operator: 'in',
15
- value: await getPermittedBizplaceIds(domain, user)
16
- })
17
- }
18
-
19
- const convertedParams = convertListParams(params)
20
- let [items, total] = await getRepository(InventoryHistory).findAndCount({
21
- ...convertedParams,
22
- relations: ['domain', 'bizplace', 'product', 'location', 'warehouse', 'creator', 'updater'],
23
- order: {
24
- palletId: 'DESC',
25
- createdAt: 'ASC'
26
- }
27
- })
28
-
29
- items = (await Promise.all(
30
- items.map(async item => {
31
- switch (item.transactionType) {
32
- case 'UNLOADING':
33
- item.description = 'Inbound'
34
- break
35
- case 'UNDO_UNLOADING':
36
- item.description = 'Undo Unloading'
37
- item.orderRefNo = ''
38
- break
39
- case 'LOADING':
40
- item.description = 'Loading'
41
- break
42
- case 'UNDO_LOADING':
43
- item.description = 'Undo Loading'
44
- break
45
- default:
46
- item.description = String(item.transactionType)
47
- break
48
- }
49
- item.description = item.description.toUpperCase()
50
- return {
51
- ...item,
52
- orderRefNo: item.orderRefNo,
53
- orderNo: item.orderNo,
54
- qty: item.qty,
55
- openingQty: item.openingQty
56
- }
57
- })
58
- )) as any
59
-
60
- return { items, total }
61
- }
62
- }
@@ -1,166 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { Domain } from '@things-factory/shell'
3
- import { Bizplace } from '@things-factory/biz-base'
4
- import { ListParam } from '@things-factory/shell'
5
- import { EntityManager } from 'typeorm'
6
- import { InventoryHistory } from '../../../entities'
7
-
8
- export const inventoryHistoryPalletDetailReport = {
9
- async inventoryHistoryPalletDetailReport(_: any, params: ListParam, context: any) {
10
- try {
11
- const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state
12
- let userFilter = params.filters.find(data => data.name === 'user')
13
-
14
- let bizplaceFilter = { name: '', operator: '', value: '' }
15
-
16
- if (userFilter) {
17
- const user: User = await tx.getRepository(User).findOne({
18
- where: { id: userFilter.value },
19
- relations: ['bizplaces']
20
- })
21
-
22
- const bizplace: Bizplace = user.bizplaces[0]
23
-
24
- if (!bizplace) throw 'Invalid input'
25
-
26
- bizplaceFilter = { name: 'bizplace', operator: 'eq', value: bizplace.id }
27
- } else {
28
- bizplaceFilter = params.filters.find(data => data.name === 'bizplace')
29
- }
30
-
31
- let fromDate = params.filters.find(data => data.name === 'fromDate')
32
- let toDate = params.filters.find(data => data.name === 'toDate')
33
- let product = params.filters.find(data => data.name === 'product')
34
-
35
- if (!fromDate || !toDate) throw 'Invalid input'
36
-
37
- let bizplaceQuery = ''
38
- if (bizplaceFilter) {
39
- const bizplace: Bizplace = await tx.getRepository(Bizplace).findOne({
40
- id: bizplaceFilter.value
41
- })
42
-
43
- if (bizplace) {
44
- bizplaceQuery = "AND i2.bizplace_id = '" + bizplace.id + "'"
45
- } else {
46
- throw 'Invalid input'
47
- }
48
- }
49
-
50
- let productQuery = ''
51
- if (product) {
52
- productQuery =
53
- 'AND prd.name ILIKE ANY(ARRAY[' +
54
- product.value
55
- .split(',')
56
- .map(prod => {
57
- return "'%" + prod.trim().replace(/'/g, "''") + "%'"
58
- })
59
- .join(',') +
60
- '])'
61
- }
62
-
63
- const result = await tx.getRepository(InventoryHistory).query(`
64
- with invHistory as (
65
- select case when ar.name is null then 'NEW' else ar.name end as arrival_notice_name,
66
- case when js.container_size is null then '' else js.container_size end as container_size,
67
- i2.batch_id,
68
- bzp.name as bizplace_name,
69
- i2.pallet_id, ih.seq, ih.status, ih.transaction_type, i2.product_id, prd.name as product_name,
70
- prd.description as product_description, ih.id as inventory_history_id, ih.packing_type, ih.qty, ih.opening_qty,
71
- ih.weight, ih.opening_weight, ih.created_at::date
72
- from inventories i2
73
- inner join reduced_inventory_histories ih on ih.pallet_id = i2.pallet_id and ih.domain_id = i2.domain_id
74
- inner join products prd on prd.id = i2.product_id
75
- inner join bizplaces bzp on bzp.id = ih.bizplace_id
76
- left join order_inventories oi on oi.inventory_id = i2.id and oi.arrival_notice_id is not null
77
- left join arrival_notices ar on ar.id = oi.arrival_notice_id
78
- left join job_sheets js on js.id = ar.job_sheet_id
79
- where
80
- i2.domain_id = '${domain.id}'
81
- and (
82
- (ih.status = 'STORED' and ih.transaction_type = 'NEW')
83
- or (ih.status = 'STORED' and ih.transaction_type = 'CANCEL_ORDER')
84
- or (ih.status = 'STORED' and ih.transaction_type = 'RETURN')
85
- or (ih.status = 'STORED' and ih.transaction_type = 'PUTAWAY')
86
- or (ih.status = 'TERMINATED' and ih.transaction_type = 'TERMINATED')
87
- )
88
- ${bizplaceQuery}
89
- ${productQuery}
90
- order by ih.pallet_id, ih.seq
91
- ), inventoryHistoryMovement as (
92
- select bizplace_name, container_size, pallet_id, seq, status, transaction_type, product_id, product_name, product_description, batch_id,
93
- inventory_history_id, packing_type, qty, opening_qty, weight, opening_weight, created_at, arrival_notice_name from (
94
- select row_number() over(partition by pallet_id order by created_at asc) as rn, * from invHistory where status = 'STORED'
95
- )as invIn where rn = 1
96
- union all
97
- select bizplace_name, container_size, pallet_id, seq, status, transaction_type, product_id, product_name, product_description, batch_id,
98
- inventory_history_id, packing_type, qty, opening_qty, weight, opening_weight, created_at, arrival_notice_name from (
99
- select row_number() over(partition by pallet_id order by created_at desc) as rn, * from invHistory
100
- )as invOut where rn = 1 and status = 'TERMINATED'
101
- ), inventoryHistoriesByPallet as (
102
- select invHistory.bizplace_name, invHistory.container_size, invHistory.product_name, invHistory.product_description, invHistory.arrival_notice_name, invHistory.batch_id,
103
- SUM(case when invHistory.created_at <= '${new Date(fromDate.value).toLocaleDateString()} 00:00:00' then
104
- case when invHistory.status = 'STORED' then 1 else -1 end
105
- else 0 end) as opening_balance,
106
- SUM(case when invHistory.created_at >= '${new Date(fromDate.value).toLocaleDateString()} 00:00:00'
107
- and invHistory.created_at <= '${new Date(toDate.value).toLocaleDateString()} 23:59:59' then
108
- case when invHistory.status = 'STORED' then 1 else 0 end
109
- else 0 end) as in_balance,
110
- SUM(case when invHistory.created_at >= '${new Date(fromDate.value).toLocaleDateString()} 00:00:00'
111
- and invHistory.created_at <= '${new Date(toDate.value).toLocaleDateString()} 23:59:59' then
112
- case when invHistory.status = 'TERMINATED' then 1 else 0 end
113
- else 0 end) as out_balance
114
- from(
115
- select * from inventoryHistoryMovement
116
- ) as invHistory group by bizplace_name, container_size, product_name, product_description, arrival_notice_name, batch_id
117
- )
118
- select invh.*, invh.opening_balance + invh.in_balance - invh.out_balance as closing_balance
119
- , (
120
- select json_agg(json_build_object('created_at', created_at, 'in_balance', in_balance, 'out_balance', out_balance)) as jsonData from
121
- (
122
- select bizplace_name, product_name, batch_id, arrival_notice_name, created_at,
123
- SUM(case when status = 'STORED' then 1 else 0 end) as in_balance,
124
- SUM(case when status = 'TERMINATED' then 1 else 0 end) as out_balance
125
- from inventoryHistoryMovement
126
- where created_at >= '${new Date(fromDate.value).toLocaleDateString()} 00:00:00' and
127
- created_at <= '${new Date(toDate.value).toLocaleDateString()} 23:59:59' and
128
- bizplace_name = invh.bizplace_name and product_name = invh.product_name and
129
- batch_id = invh.batch_id and arrival_notice_name = invh.arrival_notice_name
130
- group by bizplace_name, product_name, batch_id, arrival_notice_name, created_at
131
- order by created_at
132
- )
133
- as t
134
- )::varchar as json_date_movement
135
- from inventoryHistoriesByPallet invh
136
- where invh.opening_balance >= 0
137
- and invh.in_balance >= 0
138
- and invh.out_balance >= 0
139
- and (invh.opening_balance > 0 or invh.in_balance > 0)
140
- order by invh.bizplace_name, invh.product_name, invh.batch_id;
141
- `)
142
-
143
- let items = result as any
144
- items = items.map(item => {
145
- return {
146
- bizplace: { name: item.bizplace_name },
147
- product: {
148
- name: item.product_name.trim() + ' ( ' + (item.product_description || '-').trim() + ' )'
149
- },
150
- arrivalNoticeName: item.arrival_notice_name,
151
- batchId: item.batch_id,
152
- openingBalance: item.opening_balance,
153
- inBalance: item.in_balance,
154
- outBalance: item.out_balance,
155
- closingBalance: item.closing_balance,
156
- jsonDateMovement: item.json_date_movement,
157
- containerSize: item.container_size
158
- }
159
- })
160
-
161
- return items
162
- } catch (error) {
163
- throw error
164
- }
165
- }
166
- }
@@ -1,133 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { Bizplace } from '@things-factory/biz-base'
3
- import { convertListParams, Domain, ListParam } from '@things-factory/shell'
4
- import { EntityManager } from 'typeorm'
5
- import { InventoryHistory } from '../../../entities'
6
-
7
- export const inventoryHistoryPalletReport = {
8
- async inventoryHistoryPalletReport(_: any, params: ListParam, context: any) {
9
- try {
10
- const { domain, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
11
-
12
- const convertedParams = convertListParams(params)
13
- let userFilter = params.filters.find(data => data.name === 'user')
14
-
15
- let bizplaceFilter = { name: '', operator: '', value: '' }
16
-
17
- if (userFilter) {
18
- const user: User = await tx.getRepository(User).findOne({
19
- where: { id: userFilter.value },
20
- relations: ['bizplaces']
21
- })
22
-
23
- const bizplace: Bizplace = user.bizplaces[0]
24
-
25
- if (!bizplace) throw 'Invalid input'
26
-
27
- bizplaceFilter = { name: 'bizplace', operator: 'eq', value: bizplace.id }
28
- } else {
29
- bizplaceFilter = params.filters.find(data => data.name === 'bizplace')
30
- }
31
-
32
- let fromDate = params.filters.find(data => data.name === 'fromDate')
33
- let toDate = params.filters.find(data => data.name === 'toDate')
34
- let product = params.filters.find(data => data.name === 'product')
35
-
36
- if (!bizplaceFilter || !fromDate || !toDate) throw 'Invalid input'
37
-
38
- const bizplace: Bizplace = await tx.getRepository(Bizplace).findOne({
39
- id: bizplaceFilter.value
40
- })
41
-
42
- let productQuery = ''
43
- if (product) {
44
- let productValue =
45
- product.value
46
- .toLowerCase()
47
- .split(',')
48
- .map(prod => {
49
- return "'%" + prod.trim().replace(/'/g, "''") + "%'"
50
- })
51
- .join(',') + ']) '
52
- productQuery =
53
- 'AND prd.name ILIKE ANY(ARRAY[' +
54
- productValue +
55
- 'OR prd.sku ILIKE ANY(ARRAY[' +
56
- productValue +
57
- 'OR prd.description ILIKE ANY(ARRAY[' +
58
- productValue
59
- }
60
-
61
- const result = await tx.getRepository(InventoryHistory).query(`
62
- with invHistory as (
63
- select i2.pallet_id, ih.seq, ih.status, ih.transaction_type, i2.product_id, prd.name as product_name,
64
- prd.description as product_description, ih.id as inventory_history_id, ih.packing_type, ih.qty, ih.opening_qty,
65
- ih.weight, ih.opening_weight, ih.created_at
66
- from inventories i2
67
- inner join reduced_inventory_histories ih on ih.pallet_id = i2.pallet_id and ih.domain_id = i2.domain_id
68
- inner join products prd on prd.id = i2.product_id
69
- where
70
- i2.domain_id = '${domain.id}'
71
- AND i2.bizplace_id = '${bizplace.id}'
72
- and (
73
- (ih.status = 'STORED' and ih.transaction_type = 'NEW')
74
- or (ih.status = 'STORED' and ih.transaction_type = 'CANCEL_ORDER')
75
- or (ih.status = 'STORED' and ih.transaction_type = 'RETURN')
76
- or (ih.status = 'STORED' and ih.transaction_type = 'PUTAWAY')
77
- or (ih.status = 'TERMINATED' and ih.transaction_type = 'TERMINATED')
78
- )
79
- ${productQuery}
80
- order by ih.pallet_id, ih.seq
81
- ), inventoryHistoriesByPallet as (
82
- select invHistory.product_name, invHistory.product_description,
83
- SUM(case when invHistory.created_at <= '${new Date(fromDate.value).toLocaleDateString()} 00:00:00' then
84
- case when invHistory.status = 'STORED' then 1 else -1 end
85
- else 0 end) as opening_balance,
86
- SUM(case when invHistory.created_at >= '${new Date(fromDate.value).toLocaleDateString()} 00:00:00'
87
- and invHistory.created_at <= '${new Date(toDate.value).toLocaleDateString()} 23:59:59' then
88
- case when invHistory.status = 'STORED' then 1 else 0 end
89
- else 0 end) as in_balance,
90
- SUM(case when invHistory.created_at >= '${new Date(fromDate.value).toLocaleDateString()} 00:00:00'
91
- and invHistory.created_at <= '${new Date(toDate.value).toLocaleDateString()} 23:59:59' then
92
- case when invHistory.status = 'TERMINATED' then 1 else 0 end
93
- else 0 end) as out_balance
94
- from(
95
- select pallet_id, seq, status, transaction_type, product_id, product_name, product_description,
96
- inventory_history_id, packing_type, qty, opening_qty, weight, opening_weight, created_at from (
97
- select row_number() over(partition by pallet_id order by created_at asc) as rn, * from invHistory where status = 'STORED'
98
- )as invIn where rn = 1
99
- union all
100
- select pallet_id, seq, status, transaction_type, product_id, product_name, product_description,
101
- inventory_history_id, packing_type, qty, opening_qty, weight, opening_weight, created_at from (
102
- select row_number() over(partition by pallet_id order by created_at desc) as rn, * from invHistory
103
- )as invOut where rn = 1 and status = 'TERMINATED'
104
- ) as invHistory group by product_name, product_description
105
- )
106
- select invh.*, invh.opening_balance + invh.in_balance - invh.out_balance as closing_balance from inventoryHistoriesByPallet invh
107
- where invh.opening_balance >= 0
108
- and invh.in_balance >= 0
109
- and invh.out_balance >= 0
110
- and (invh.opening_balance > 0 or invh.in_balance > 0)
111
- order by invh.product_name;
112
- `)
113
-
114
- let items = result as any
115
- items = items.map(item => {
116
- return {
117
- bizplace: bizplace,
118
- product: {
119
- name: item.product_name.trim() + ' ( ' + item.product_description.trim() + ' )'
120
- },
121
- openingBalance: item.opening_balance,
122
- inBalance: item.in_balance,
123
- outBalance: item.out_balance,
124
- closingBalance: item.closing_balance
125
- }
126
- })
127
-
128
- return items
129
- } catch (error) {
130
- throw error
131
- }
132
- }
133
- }