@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,143 +0,0 @@
1
- import { getRepository, EntityManager } from 'typeorm'
2
- import { Setting } from '@things-factory/setting-base'
3
- import { Domain } from '@things-factory/shell'
4
- import { Inventory } from '../../../entities'
5
-
6
- export const inventoriesByStrategyResolver = {
7
- async inventoriesByStrategy(
8
- _: any,
9
- { worksheetId, batchId, bizplaceId, productName, productSku, packingType, pickingStrategy, locationSortingRules },
10
- context: any
11
- ) {
12
- const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state
13
-
14
- const inventoryAssignmentSetting: Setting = await tx.getRepository(Setting).findOne({
15
- where: { domain, name: 'rule-for-inventory-assignment' }
16
- })
17
-
18
- if (!locationSortingRules && inventoryAssignmentSetting) {
19
- locationSortingRules = []
20
- let locationSetting = JSON.parse(inventoryAssignmentSetting.value)
21
- for (const key in locationSetting) {
22
- locationSortingRules.push({ name: key, desc: locationSetting[key] == 'ASC' ? false : true })
23
- }
24
- }
25
-
26
- return inventoriesByStrategy(
27
- { worksheetId, batchId, bizplaceId, productName, productSku, packingType, pickingStrategy, locationSortingRules },
28
- tx
29
- )
30
- }
31
- }
32
-
33
- export async function inventoriesByStrategy(
34
- { worksheetId, batchId, bizplaceId, productName, productSku, packingType, pickingStrategy, locationSortingRules },
35
- trxMgr: EntityManager
36
- ) {
37
- const qb = await trxMgr.getRepository(Inventory).createQueryBuilder('INV')
38
- qb.leftJoinAndSelect('INV.product', 'PROD')
39
- .leftJoinAndSelect('INV.location', 'LOC')
40
- .addSelect(subQuery =>
41
- subQuery
42
- .select('COALESCE(SUM(release_qty), 0)', 'releaseQty')
43
- .from('order_inventories', 'OI')
44
- .where('"OI"."inventory_id" = "INV"."id"')
45
- .andWhere("\"OI\".\"status\" IN ('PENDING', 'PENDING_RECEIVE', 'PENDING_WORKSHEET', 'PENDING_SPLIT')")
46
- .andWhere('"OI"."ref_worksheet_id" <> :worksheetId', { worksheetId: worksheetId })
47
- )
48
- .addSelect(subQuery =>
49
- subQuery
50
- .select('COALESCE(SUM(release_uom_value), 0)', 'releaseUomValue')
51
- .from('order_inventories', 'OI')
52
- .where('"OI"."inventory_id" = "INV"."id"')
53
- .andWhere("\"OI\".\"status\" IN ('PENDING', 'PENDING_RECEIVE', 'PENDING_WORKSHEET', 'PENDING_SPLIT')")
54
- .andWhere('"OI"."ref_worksheet_id" <> :worksheetId', { worksheetId: worksheetId })
55
- )
56
- .andWhere('"PROD"."name" = :productName')
57
- .andWhere('"PROD"."sku" = :productSku')
58
- .andWhere('"INV"."packing_type" = :packingType')
59
- .andWhere('"INV"."status" = :status', { status: 'STORED' })
60
- .setParameters({
61
- productName,
62
- productSku,
63
- packingType
64
- })
65
-
66
- if (batchId !== '') {
67
- qb.andWhere('"INV"."batch_id" = :batchId', { batchId })
68
- }
69
-
70
- if (bizplaceId) {
71
- qb.andWhere('"INV"."bizplace_id" = :bizplaceId', { bizplaceId: bizplaceId })
72
- }
73
-
74
- switch (pickingStrategy.toUpperCase()) {
75
- case 'FIFO':
76
- qb.orderBy('"INV"."created_at"', 'ASC')
77
- if (locationSortingRules?.length > 0) {
78
- locationSortingRules.forEach((rule: { name: string; desc: boolean }, idx: number) => {
79
- idx === 0
80
- ? qb.addOrderBy(`LOC.${rule.name}`, rule.desc ? 'DESC' : 'ASC')
81
- : qb.addOrderBy(`LOC.${rule.name}`, rule.desc ? 'DESC' : 'ASC')
82
- })
83
- }
84
- break
85
-
86
- case 'LIFO':
87
- qb.orderBy('"INV"."created_at"', 'DESC')
88
- if (locationSortingRules?.length > 0) {
89
- locationSortingRules.forEach((rule: { name: string; desc: boolean }, idx: number) => {
90
- idx === 0
91
- ? qb.addOrderBy(`LOC.${rule.name}`, rule.desc ? 'DESC' : 'ASC')
92
- : qb.addOrderBy(`LOC.${rule.name}`, rule.desc ? 'DESC' : 'ASC')
93
- })
94
- }
95
- break
96
-
97
- case 'FEFO':
98
- qb.orderBy('"INV"."expiration_date"', 'ASC')
99
- if (locationSortingRules?.length > 0) {
100
- locationSortingRules.forEach((rule: { name: string; desc: boolean }, idx: number) => {
101
- idx === 0
102
- ? qb.addOrderBy(`LOC.${rule.name}`, rule.desc ? 'DESC' : 'ASC')
103
- : qb.addOrderBy(`LOC.${rule.name}`, rule.desc ? 'DESC' : 'ASC')
104
- })
105
- }
106
- break
107
-
108
- case 'LOCATION':
109
- if (locationSortingRules?.length > 0) {
110
- locationSortingRules.forEach((rule: { name: string; desc: boolean }, idx: number) => {
111
- idx === 0
112
- ? qb.orderBy(`LOC.${rule.name}`, rule.desc ? 'DESC' : 'ASC')
113
- : qb.addOrderBy(`LOC.${rule.name}`, rule.desc ? 'DESC' : 'ASC')
114
- })
115
- } else qb.orderBy('"LOC"."name"', 'DESC')
116
- break
117
- default:
118
- qb.orderBy('"INV"."created_at"', 'ASC')
119
-
120
- break
121
- }
122
-
123
- const { entities, raw } = await qb.getRawAndEntities()
124
- const items = entities
125
- .map((inv: Inventory, idx: number) => {
126
- const qty: number = inv?.qty > 0 ? inv.qty : 0
127
- const uomValue: number = inv?.uomValue > 0 ? inv.uomValue : 0
128
- const lockedQty: number = inv.lockedQty || 0
129
- const lockedUomValue: number = inv.lockedUomValue || 0
130
- const releaseQty: number = parseInt(raw[idx].releaseQty) || 0
131
- const releaseUomValue: number = parseFloat(raw[idx].releaseUomValue) || 0
132
-
133
- return {
134
- ...inv,
135
- qty: qty - lockedQty - releaseQty,
136
- uomValue: uomValue - lockedUomValue - releaseUomValue
137
- }
138
- })
139
- .filter((inv: Inventory) => inv.qty)
140
-
141
- const total: number = await qb.getCount()
142
- return { items, total }
143
- }
@@ -1,129 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { getPermittedBizplaceIds } from '@things-factory/biz-base'
3
- import { Product } from '@things-factory/product-base'
4
- import { buildQuery, Domain } from '@things-factory/shell'
5
- import { getRepository, SelectQueryBuilder, Brackets } from 'typeorm'
6
- import { Inventory, InventoryChange } from '../../../entities'
7
-
8
- export const inventoriesResolver = {
9
- async inventories(_: any, { filters, pagination, sortings, locationSortingRules }, context: any) {
10
- const { domain, user }: { domain: Domain; user: User } = context.state
11
-
12
- const productFilters = filters.find(x => x.name == 'product_info')
13
- filters = filters.filter(x => x.name != 'product_info')
14
- const params = { filters, pagination }
15
-
16
- if (!params.filters.find((filter: any) => filter.name === 'bizplace')) {
17
- params.filters.push({
18
- name: 'bizplace',
19
- operator: 'in',
20
- value: await getPermittedBizplaceIds(domain, user),
21
- relation: true
22
- })
23
- }
24
-
25
- const remainOnlyParam: { name: string; operator: string; value: boolean } = params?.filters?.find(
26
- (f: { name: string; operator: string; value: any }) => f.name === 'remainOnly'
27
- )
28
-
29
- let remainOnly: boolean = false
30
- if (typeof remainOnlyParam?.value !== 'undefined') {
31
- remainOnly = remainOnlyParam.value
32
- params.filters = params.filters.filter(
33
- (f: { name: string; operator: string; value: any }) => f.name !== 'remainOnly'
34
- )
35
- }
36
-
37
- const unlockOnlyParam: { name: string; operator: string; value: boolean } = params?.filters?.find(
38
- (f: { name: string; operator: string; value: any }) => f.name === 'unlockOnly'
39
- )
40
-
41
- let unlockOnly: boolean = false
42
- if (typeof unlockOnlyParam?.value !== 'undefined') {
43
- unlockOnly = unlockOnlyParam.value
44
- params.filters = params.filters.filter(
45
- (f: { name: string; operator: string; value: any }) => f.name !== 'unlockOnly'
46
- )
47
- }
48
-
49
- const qb: SelectQueryBuilder<Inventory> = getRepository(Inventory).createQueryBuilder('iv')
50
- buildQuery(qb, params, context)
51
-
52
- qb.leftJoinAndSelect('iv.domain', 'domain')
53
- .leftJoinAndSelect('iv.bizplace', 'bizplace')
54
- .leftJoinAndSelect('iv.product', 'product')
55
- .leftJoinAndSelect('iv.warehouse', 'warehouse')
56
- .leftJoinAndSelect('iv.location', 'location')
57
- .leftJoinAndSelect('iv.creator', 'creator')
58
- .leftJoinAndSelect('iv.updater', 'updater')
59
-
60
- if (remainOnly) {
61
- qb.andWhere('iv.qty > 0')
62
- .andWhere('CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END >= 0')
63
- .andWhere('iv.qty - CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END > 0')
64
- }
65
-
66
- if (unlockOnly) {
67
- qb.andWhere('CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END = 0')
68
- }
69
-
70
- if(productFilters){
71
- let productFilterValue = `%${productFilters.value.toLowerCase()}%`
72
- qb.andWhere((qb) => {
73
- const subQuery = qb.subQuery()
74
- .select()
75
- .from(Product, `products`)
76
- .where(`products.id = iv.product_id`)
77
- .andWhere(new Brackets(qb => {
78
- qb.where("Lower(products.sku) LIKE :productInfo", { productInfo: productFilterValue})
79
- .orWhere("Lower(products.name) LIKE :productInfo", { productInfo: productFilterValue})
80
- .orWhere("Lower(products.description) LIKE :productInfo", { productInfo: productFilterValue})
81
- }))
82
- .getQuery();
83
- return `EXISTS ${subQuery}`;
84
- })
85
- }
86
-
87
- if (sortings?.length !== 0) {
88
- const arrChildSortData = ['bizplace', 'product', 'location', 'warehouse', 'zone']
89
- const sort = (sortings || []).reduce(
90
- (acc, sort) => ({
91
- ...acc,
92
- [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'iv.' + sort.name]: sort.desc
93
- ? 'DESC'
94
- : 'ASC'
95
- }),
96
- {}
97
- )
98
- qb.orderBy(sort)
99
- }
100
-
101
- if (locationSortingRules?.length > 0) {
102
- locationSortingRules.forEach((rule: { name: string; desc: boolean }) => {
103
- qb.addOrderBy(`location.${rule.name}`, rule.desc ? 'DESC' : 'ASC')
104
- })
105
- }
106
-
107
- let [items, total] = await qb.getManyAndCount()
108
-
109
- items = await Promise.all(
110
- items.map(async (item: Inventory) => {
111
- let inventoryChangeCount = await getRepository(InventoryChange).count({
112
- where: { inventory: item.id }
113
- })
114
-
115
- const selectedQty = item.lockedQty ? item.lockedQty : 0
116
- const selectedUomValue = item.lockedUomValue ? item.lockedUomValue : 0
117
-
118
- return {
119
- ...item,
120
- changeCount: inventoryChangeCount,
121
- remainQty: item.qty - selectedQty,
122
- remainUomValue: item.uomValue - selectedUomValue
123
- }
124
- })
125
- )
126
-
127
- return { items, total }
128
- }
129
- }
@@ -1,15 +0,0 @@
1
- import { Domain } from '@things-factory/shell'
2
- import { Equal, getRepository, Not } from 'typeorm'
3
- import { INVENTORY_STATUS } from '../../../constants'
4
- import { Inventory } from '../../../entities'
5
-
6
- export const inventoryByPalletResolver = {
7
- async inventoryByPallet(_: any, { palletId }, context: any) {
8
- const { domain }: { domain: Domain } = context.state
9
-
10
- return await getRepository(Inventory).findOne({
11
- where: { domain, palletId, status: Not(Equal(INVENTORY_STATUS.TERMINATED)) },
12
- relations: ['domain', 'bizplace', 'product', 'location', 'warehouse', 'creator', 'updater']
13
- })
14
- }
15
- }
@@ -1,50 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { Domain } from '@things-factory/shell'
3
- import { EntityManager, SelectQueryBuilder } from 'typeorm'
4
- import { INVENTORY_TRANSACTION_TYPE } from '../../../constants'
5
- import { Inventory, Location } from '../../../entities'
6
- import { generateInventoryHistory } from '../../../utils'
7
-
8
- export const inventoryTransfer = {
9
- async inventoryTransfer(_: any, { palletId, cartonId, fromLocationName, toLocationName }, context: any) {
10
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
11
-
12
- // 1. check toLocation exist
13
- const toLocation: Location = await tx.getRepository(Location).findOne({
14
- where: { domain: domain, name: toLocationName },
15
- relations: ['domain', 'warehouse']
16
- })
17
- if (!toLocation) throw new Error(`To location doesn't exists`)
18
-
19
- const fromLocation: Location = await tx.getRepository(Location).findOne({
20
- where: { domain: domain, name: fromLocationName },
21
- relations: ['domain', 'warehouse']
22
- })
23
- if (!toLocation) throw new Error(`From location doesn't exists`)
24
-
25
- // 2. search for related inventory
26
- const invQb: SelectQueryBuilder<Inventory> = await tx
27
- .getRepository(Inventory)
28
- .createQueryBuilder('INV')
29
- .where('INV.domain_id = :domainId', { domainId: domain.id })
30
- .andWhere('INV.location_id = :fromLocationId', { fromLocationId: fromLocation.id })
31
-
32
- if (cartonId) invQb.andWhere('INV.carton_id = :cartonId', { cartonId: cartonId })
33
- else invQb.andWhere('INV.pallet_id = :palletId', { palletId: palletId })
34
-
35
- let inventories: Inventory[] = await invQb.getMany()
36
- if (!inventories?.length) throw new Error('Inventory not found')
37
-
38
- await Promise.all(
39
- inventories.map(async (inventory: Inventory) => {
40
- inventory.warehouse = toLocation.warehouse
41
- inventory.location = toLocation
42
- inventory.zone = toLocation.zone
43
- inventory.updater = user
44
- inventory = await tx.getRepository(Inventory).save(inventory)
45
-
46
- await generateInventoryHistory(inventory, null, INVENTORY_TRANSACTION_TYPE.RELOCATE, 0, 0, user, tx)
47
- })
48
- )
49
- }
50
- }
@@ -1,14 +0,0 @@
1
- import { Domain } from '@things-factory/shell'
2
- import { getRepository } from 'typeorm'
3
- import { Inventory } from '../../../entities'
4
-
5
- export const inventoryResolver = {
6
- async inventory(_: any, { palletId }, context: any) {
7
- const { domain }: { domain: Domain } = context.state
8
-
9
- return await getRepository(Inventory).findOne({
10
- where: { domain: domain, palletId },
11
- relations: ['domain', 'bizplace', 'product', 'location', 'warehouse', 'creator', 'updater']
12
- })
13
- }
14
- }
@@ -1,19 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { Domain } from '@things-factory/shell'
3
- import { EntityManager } from 'typeorm'
4
- import { Inventory } from '../../../entities'
5
-
6
- export const updateInventoryRemark = {
7
- async updateInventoryRemark(_: any, { id, remark }, context: any) {
8
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
9
-
10
- const repository = tx.getRepository(Inventory)
11
- const inventory = await repository.findOne({ where: { domain: domain, id } })
12
-
13
- return await repository.save({
14
- ...inventory,
15
- remark,
16
- updater: user
17
- })
18
- }
19
- }
@@ -1,31 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { Domain } from '@things-factory/shell'
3
- import { EntityManager, SelectQueryBuilder } from 'typeorm'
4
- import { Inventory } from '../../../entities'
5
-
6
- export const updateInventory = {
7
- async updateInventory(_: any, { patch }, context: any) {
8
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
9
-
10
- const invQb: SelectQueryBuilder<Inventory> = await tx
11
- .getRepository(Inventory)
12
- .createQueryBuilder('INV')
13
- .where('INV.domain_id = :domainId', { domainId: domain.id })
14
- .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: patch.bizplace.id })
15
- .andWhere('INV.batch_id = :batchId', { batchId: patch.batchId })
16
- .andWhere('INV.product_id = :productId', { productId: patch.product.id })
17
- .andWhere('INV.packing_type = :packingType', { packingType: patch.packingType })
18
- .andWhere('INV.packing_size = :packingSize', { packingSize: patch.packingSize })
19
-
20
- if (patch?.cartonId) invQb.andWhere('INV.carton_id = :cartonId', { cartonId: patch.cartonId })
21
- else invQb.andWhere('INV.pallet_id = :palletId', { palletId: patch.palletId })
22
-
23
- const inventory = await invQb.getOne()
24
-
25
- return await tx.getRepository(Inventory).save({
26
- ...inventory,
27
- ...patch,
28
- updater: user
29
- })
30
- }
31
- }
@@ -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 { InventoryChange } from '../../../entities'
5
-
6
- export const createInventoryChange = {
7
- async createInventoryChange(_: any, { inventoryChange }, context: any) {
8
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
9
-
10
- return await tx.getRepository(InventoryChange).save({
11
- ...inventoryChange,
12
- domain: domain,
13
- creator: user,
14
- updater: user
15
- })
16
- }
17
- }
@@ -1,12 +0,0 @@
1
- import { Domain } from '@things-factory/shell'
2
- import { EntityManager } from 'typeorm'
3
- import { InventoryChange } from '../../../entities'
4
-
5
- export const deleteInventoryChange = {
6
- async deleteInventoryChange(_: any, { name }, context: any) {
7
- const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state
8
-
9
- await tx.getRepository(InventoryChange).delete({ domain: domain, name })
10
- return true
11
- }
12
- }
@@ -1,15 +0,0 @@
1
- import { Domain } from '@things-factory/shell'
2
- import { EntityManager, In } from 'typeorm'
3
- import { InventoryChange } from '../../../entities'
4
-
5
- export const deleteInventoryChanges = {
6
- async deleteInventoryChanges(_: any, { names }, context: any) {
7
- const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state
8
-
9
- await tx.getRepository(InventoryChange).delete({
10
- domain: domain,
11
- name: In(names)
12
- })
13
- return true
14
- }
15
- }
@@ -1,27 +0,0 @@
1
- import { inventoryChangeResolver } from './inventory-change'
2
- import { inventoryChangesResolver } from './inventory-changes'
3
-
4
- import { updateInventoryChange } from './update-inventory-change'
5
- import { updateMultipleInventoryChange } from './update-multiple-inventory-change'
6
- import { createInventoryChange } from './create-inventory-change'
7
- import { deleteInventoryChange } from './delete-inventory-change'
8
- import { deleteInventoryChanges } from './delete-inventory-changes'
9
- import { submitInventoryChanges } from './submit-inventory-changes'
10
- import { approveInventoryChanges } from './approve-inventory-changes'
11
- import { rejectInventoryChanges } from './reject-inventory-changes'
12
-
13
- export const Query = {
14
- ...inventoryChangesResolver,
15
- ...inventoryChangeResolver
16
- }
17
-
18
- export const Mutation = {
19
- ...updateInventoryChange,
20
- ...updateMultipleInventoryChange,
21
- ...createInventoryChange,
22
- ...deleteInventoryChange,
23
- ...deleteInventoryChanges,
24
- ...submitInventoryChanges,
25
- ...approveInventoryChanges,
26
- ...rejectInventoryChanges
27
- }
@@ -1,14 +0,0 @@
1
- import { Domain } from '@things-factory/shell'
2
- import { getRepository } from 'typeorm'
3
- import { InventoryChange } from '../../../entities'
4
-
5
- export const inventoryChangeResolver = {
6
- async inventoryChange(_: any, { name }, context: any) {
7
- const { domain }: { domain: Domain } = context.state
8
-
9
- return await getRepository(InventoryChange).findOne({
10
- where: { domain: domain, name },
11
- relations: ['domain', 'creator', 'updater']
12
- })
13
- }
14
- }
@@ -1,42 +0,0 @@
1
- import { Domain } from '@things-factory/shell'
2
- import { EntityManager, In } from 'typeorm'
3
- import { InventoryChange, InventoryHistory } from '../../../entities'
4
-
5
- export const rejectInventoryChanges = {
6
- async rejectInventoryChanges(_: any, { patches }, context: any) {
7
- const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state
8
-
9
- const _inventoryChanges = await tx.getRepository(InventoryChange).find({
10
- where: { id: In(patches.map(item => item.id)) },
11
- relations: [
12
- 'inventory',
13
- 'inventory.bizplace',
14
- 'inventory.product',
15
- 'inventory.location',
16
- 'inventory.warehouse',
17
- 'bizplace',
18
- 'product',
19
- 'location'
20
- ]
21
- })
22
-
23
- if (_inventoryChanges.length > 0) {
24
- for (let i = 0; i < _inventoryChanges.length; i++) {
25
- if (_inventoryChanges[i].status.toLocaleLowerCase() != 'pending') return true
26
- _inventoryChanges[i].status = 'REJECTED'
27
-
28
- // Get last row of InventoryHistory
29
- let latestEntry = await tx.getRepository(InventoryHistory).find({
30
- where: { palletId: _inventoryChanges[i].palletId, domain: domain },
31
- order: { seq: 'DESC' },
32
- take: 1
33
- })
34
-
35
- if (latestEntry.length > 0) _inventoryChanges[i].lastInventoryHistory = latestEntry[0]
36
- }
37
-
38
- await tx.getRepository(InventoryChange).save(_inventoryChanges.filter(change => change.status == 'REJECTED'))
39
- }
40
- return true
41
- }
42
- }
@@ -1,101 +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 { Product } from '@things-factory/product-base'
5
- import { EntityManager } from 'typeorm'
6
- import { Inventory, InventoryChange, Location } from '../../../entities'
7
- import { InventoryNoGenerator } from '../../../utils'
8
-
9
- export const submitInventoryChanges = {
10
- async submitInventoryChanges(_: any, { patches }, context: any) {
11
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
12
-
13
- const _createRecords = patches.filter((patch: any) => !patch.id)
14
- const _updateRecords = patches.filter((patch: any) => patch.id)
15
-
16
- const inventoryChangeRepo = tx.getRepository(InventoryChange)
17
- if (_createRecords.length > 0) {
18
- for (let i = 0; i < _createRecords.length; i++) {
19
- const newRecord = _createRecords[i]
20
-
21
- var location = await tx.getRepository(Location).findOne({
22
- where: { id: newRecord.location.id },
23
- relations: ['warehouse']
24
- })
25
- newRecord.location = location
26
- newRecord.zone = location.zone
27
- newRecord.warehouse = location.warehouse
28
-
29
- newRecord.bizplace = await tx.getRepository(Bizplace).findOne(newRecord.bizplace.id)
30
-
31
- var product: Product = await tx.getRepository(Product).findOne(newRecord.product.id)
32
- newRecord.product = product
33
-
34
- newRecord.status = 'PENDING'
35
- newRecord.transactionType = 'NEW'
36
-
37
- newRecord.expirationDate =
38
- ((newRecord?.expirationDate && new Date(newRecord.expirationDate).getFullYear()) || 0) < 2000
39
- ? null
40
- : newRecord.expirationDate
41
-
42
- await inventoryChangeRepo.save({
43
- ...newRecord,
44
- id: undefined,
45
- name: InventoryNoGenerator.inventoryName(),
46
- domain: domain,
47
- creator: user,
48
- updater: user
49
- })
50
- }
51
- }
52
-
53
- if (_updateRecords.length > 0) {
54
- for (let i = 0; i < _updateRecords.length; i++) {
55
- const updateRecord = _updateRecords[i]
56
-
57
- let existingRecord = await tx.getRepository(Inventory).findOne({
58
- where: { id: updateRecord.id },
59
- relations: ['location', 'warehouse', 'product', 'bizplace']
60
- })
61
-
62
- if (!!updateRecord?.location?.id) {
63
- var location = await tx.getRepository(Location).findOne({
64
- where: { id: updateRecord.location.id },
65
- relations: ['warehouse']
66
- })
67
- updateRecord.location = location
68
- updateRecord.zone = location.zone
69
- updateRecord.warehouse = location.warehouse
70
- }
71
-
72
- if (!!updateRecord?.bizplace?.id)
73
- updateRecord.bizplace = await tx.getRepository(Bizplace).findOne(updateRecord.bizplace.id)
74
-
75
- if (!!updateRecord?.product?.id)
76
- updateRecord.product = await tx.getRepository(Product).findOne(updateRecord.product.id)
77
-
78
- updateRecord.status = 'PENDING'
79
- updateRecord.transactionType = 'CHANGES'
80
-
81
- updateRecord.expirationDate =
82
- ((updateRecord?.expirationDate && new Date(updateRecord.expirationDate).getFullYear()) || 0) < 2000
83
- ? null
84
- : updateRecord.expirationDate
85
-
86
- await inventoryChangeRepo.save({
87
- palletId: existingRecord.palletId,
88
- ...updateRecord,
89
- id: undefined,
90
- name: InventoryNoGenerator.inventoryName(),
91
- inventory: existingRecord,
92
- domain: domain,
93
- creator: user,
94
- updater: user
95
- })
96
- }
97
- }
98
-
99
- return true
100
- }
101
- }
@@ -1,21 +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 updateInventoryChange = {
7
- async updateInventoryChange(_: any, { name, patch }, context: any) {
8
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
9
-
10
- const repository = tx.getRepository(InventoryChange)
11
- const inventoryChange = await repository.findOne({
12
- where: { domain: domain, name }
13
- })
14
-
15
- return await repository.save({
16
- ...inventoryChange,
17
- ...patch,
18
- updater: user
19
- })
20
- }
21
- }