@things-factory/warehouse-base 4.0.1 → 4.0.6

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/service/inventory/inventory-query.js +8 -8
  2. package/dist-server/service/inventory/inventory-query.js.map +1 -1
  3. package/dist-server/service/inventory/inventory.js +8 -0
  4. package/dist-server/service/inventory/inventory.js.map +1 -1
  5. package/dist-server/service/location/location-query.js +4 -1
  6. package/dist-server/service/location/location-query.js.map +1 -1
  7. package/package.json +8 -8
  8. package/server/service/inventory/inventory-query.ts +4 -4
  9. package/server/service/inventory/inventory.ts +6 -0
  10. package/server/service/location/location-query.ts +4 -1
  11. package/translations/en.json +2 -1
  12. package/translations/ko.json +2 -1
  13. package/translations/ms.json +2 -1
  14. package/translations/zh.json +2 -1
  15. package/dist-server/entities/index.js +0 -36
  16. package/dist-server/entities/index.js.map +0 -1
  17. package/dist-server/entities/inventory-change.js +0 -143
  18. package/dist-server/entities/inventory-change.js.map +0 -1
  19. package/dist-server/entities/inventory-history.js +0 -188
  20. package/dist-server/entities/inventory-history.js.map +0 -1
  21. package/dist-server/entities/inventory.js +0 -201
  22. package/dist-server/entities/inventory.js.map +0 -1
  23. package/dist-server/entities/location.js +0 -96
  24. package/dist-server/entities/location.js.map +0 -1
  25. package/dist-server/entities/movement.js +0 -76
  26. package/dist-server/entities/movement.js.map +0 -1
  27. package/dist-server/entities/pallet-count.js +0 -66
  28. package/dist-server/entities/pallet-count.js.map +0 -1
  29. package/dist-server/entities/pallet-history.js +0 -84
  30. package/dist-server/entities/pallet-history.js.map +0 -1
  31. package/dist-server/entities/pallet.js +0 -85
  32. package/dist-server/entities/pallet.js.map +0 -1
  33. package/dist-server/entities/reduced-inventory-history.js +0 -141
  34. package/dist-server/entities/reduced-inventory-history.js.map +0 -1
  35. package/dist-server/entities/warehouse.js +0 -77
  36. package/dist-server/entities/warehouse.js.map +0 -1
  37. package/dist-server/graphql/index.js +0 -29
  38. package/dist-server/graphql/index.js.map +0 -1
  39. package/dist-server/graphql/resolvers/index.js +0 -54
  40. package/dist-server/graphql/resolvers/index.js.map +0 -1
  41. package/dist-server/graphql/resolvers/inventory/check-carton-identicality.js +0 -32
  42. package/dist-server/graphql/resolvers/inventory/check-carton-identicality.js.map +0 -1
  43. package/dist-server/graphql/resolvers/inventory/check-inventory-owner.js +0 -25
  44. package/dist-server/graphql/resolvers/inventory/check-inventory-owner.js.map +0 -1
  45. package/dist-server/graphql/resolvers/inventory/check-product-identicality.js +0 -24
  46. package/dist-server/graphql/resolvers/inventory/check-product-identicality.js.map +0 -1
  47. package/dist-server/graphql/resolvers/inventory/create-inventory.js +0 -11
  48. package/dist-server/graphql/resolvers/inventory/create-inventory.js.map +0 -1
  49. package/dist-server/graphql/resolvers/inventory/delete-inventories.js +0 -15
  50. package/dist-server/graphql/resolvers/inventory/delete-inventories.js.map +0 -1
  51. package/dist-server/graphql/resolvers/inventory/delete-inventory.js +0 -11
  52. package/dist-server/graphql/resolvers/inventory/delete-inventory.js.map +0 -1
  53. package/dist-server/graphql/resolvers/inventory/index.js +0 -22
  54. package/dist-server/graphql/resolvers/inventory/index.js.map +0 -1
  55. package/dist-server/graphql/resolvers/inventory/inventories-by-bundle.js +0 -131
  56. package/dist-server/graphql/resolvers/inventory/inventories-by-bundle.js.map +0 -1
  57. package/dist-server/graphql/resolvers/inventory/inventories-by-product.js +0 -146
  58. package/dist-server/graphql/resolvers/inventory/inventories-by-product.js.map +0 -1
  59. package/dist-server/graphql/resolvers/inventory/inventories-by-strategy.js +0 -117
  60. package/dist-server/graphql/resolvers/inventory/inventories-by-strategy.js.map +0 -1
  61. package/dist-server/graphql/resolvers/inventory/inventories.js +0 -93
  62. package/dist-server/graphql/resolvers/inventory/inventories.js.map +0 -1
  63. package/dist-server/graphql/resolvers/inventory/inventory-by-pallet.js +0 -16
  64. package/dist-server/graphql/resolvers/inventory/inventory-by-pallet.js.map +0 -1
  65. package/dist-server/graphql/resolvers/inventory/inventory-transfer.js +0 -46
  66. package/dist-server/graphql/resolvers/inventory/inventory-transfer.js.map +0 -1
  67. package/dist-server/graphql/resolvers/inventory/inventory.js +0 -15
  68. package/dist-server/graphql/resolvers/inventory/inventory.js.map +0 -1
  69. package/dist-server/graphql/resolvers/inventory/update-inventory-remark.js +0 -13
  70. package/dist-server/graphql/resolvers/inventory/update-inventory-remark.js.map +0 -1
  71. package/dist-server/graphql/resolvers/inventory/update-inventory.js +0 -25
  72. package/dist-server/graphql/resolvers/inventory/update-inventory.js.map +0 -1
  73. package/dist-server/graphql/resolvers/inventory/update-multiple-inventory.js +0 -152
  74. package/dist-server/graphql/resolvers/inventory/update-multiple-inventory.js.map +0 -1
  75. package/dist-server/graphql/resolvers/inventory-change/approve-inventory-changes.js +0 -291
  76. package/dist-server/graphql/resolvers/inventory-change/approve-inventory-changes.js.map +0 -1
  77. package/dist-server/graphql/resolvers/inventory-change/create-inventory-change.js +0 -11
  78. package/dist-server/graphql/resolvers/inventory-change/create-inventory-change.js.map +0 -1
  79. package/dist-server/graphql/resolvers/inventory-change/delete-inventory-change.js +0 -12
  80. package/dist-server/graphql/resolvers/inventory-change/delete-inventory-change.js.map +0 -1
  81. package/dist-server/graphql/resolvers/inventory-change/delete-inventory-changes.js +0 -16
  82. package/dist-server/graphql/resolvers/inventory-change/delete-inventory-changes.js.map +0 -1
  83. package/dist-server/graphql/resolvers/inventory-change/index.js +0 -16
  84. package/dist-server/graphql/resolvers/inventory-change/index.js.map +0 -1
  85. package/dist-server/graphql/resolvers/inventory-change/inventory-change.js +0 -15
  86. package/dist-server/graphql/resolvers/inventory-change/inventory-change.js.map +0 -1
  87. package/dist-server/graphql/resolvers/inventory-change/inventory-changes.js +0 -48
  88. package/dist-server/graphql/resolvers/inventory-change/inventory-changes.js.map +0 -1
  89. package/dist-server/graphql/resolvers/inventory-change/reject-inventory-changes.js +0 -41
  90. package/dist-server/graphql/resolvers/inventory-change/reject-inventory-changes.js.map +0 -1
  91. package/dist-server/graphql/resolvers/inventory-change/submit-inventory-changes.js +0 -69
  92. package/dist-server/graphql/resolvers/inventory-change/submit-inventory-changes.js.map +0 -1
  93. package/dist-server/graphql/resolvers/inventory-change/update-inventory-change.js +0 -15
  94. package/dist-server/graphql/resolvers/inventory-change/update-inventory-change.js.map +0 -1
  95. package/dist-server/graphql/resolvers/inventory-change/update-multiple-inventory-change.js +0 -30
  96. package/dist-server/graphql/resolvers/inventory-change/update-multiple-inventory-change.js.map +0 -1
  97. package/dist-server/graphql/resolvers/inventory-history/bizplace-inventory-histories.js +0 -58
  98. package/dist-server/graphql/resolvers/inventory-history/bizplace-inventory-histories.js.map +0 -1
  99. package/dist-server/graphql/resolvers/inventory-history/create-inventory-history.js +0 -11
  100. package/dist-server/graphql/resolvers/inventory-history/create-inventory-history.js.map +0 -1
  101. package/dist-server/graphql/resolvers/inventory-history/delete-inventory-histories.js +0 -16
  102. package/dist-server/graphql/resolvers/inventory-history/delete-inventory-histories.js.map +0 -1
  103. package/dist-server/graphql/resolvers/inventory-history/delete-inventory-history.js +0 -12
  104. package/dist-server/graphql/resolvers/inventory-history/delete-inventory-history.js.map +0 -1
  105. package/dist-server/graphql/resolvers/inventory-history/index.js +0 -20
  106. package/dist-server/graphql/resolvers/inventory-history/index.js.map +0 -1
  107. package/dist-server/graphql/resolvers/inventory-history/inventory-histories.js +0 -48
  108. package/dist-server/graphql/resolvers/inventory-history/inventory-histories.js.map +0 -1
  109. package/dist-server/graphql/resolvers/inventory-history/inventory-history-pallet-detail-report.js +0 -158
  110. package/dist-server/graphql/resolvers/inventory-history/inventory-history-pallet-detail-report.js.map +0 -1
  111. package/dist-server/graphql/resolvers/inventory-history/inventory-history-pallet-report.js +0 -125
  112. package/dist-server/graphql/resolvers/inventory-history/inventory-history-pallet-report.js.map +0 -1
  113. package/dist-server/graphql/resolvers/inventory-history/inventory-history-pallet-storage-report.js +0 -113
  114. package/dist-server/graphql/resolvers/inventory-history/inventory-history-pallet-storage-report.js.map +0 -1
  115. package/dist-server/graphql/resolvers/inventory-history/inventory-history-report.js +0 -207
  116. package/dist-server/graphql/resolvers/inventory-history/inventory-history-report.js.map +0 -1
  117. package/dist-server/graphql/resolvers/inventory-history/inventory-history-summary-report.js +0 -260
  118. package/dist-server/graphql/resolvers/inventory-history/inventory-history-summary-report.js.map +0 -1
  119. package/dist-server/graphql/resolvers/inventory-history/inventory-history.js +0 -14
  120. package/dist-server/graphql/resolvers/inventory-history/inventory-history.js.map +0 -1
  121. package/dist-server/graphql/resolvers/inventory-history/onhand-inventories.js +0 -198
  122. package/dist-server/graphql/resolvers/inventory-history/onhand-inventories.js.map +0 -1
  123. package/dist-server/graphql/resolvers/inventory-history/update-inventory-history.js +0 -15
  124. package/dist-server/graphql/resolvers/inventory-history/update-inventory-history.js.map +0 -1
  125. package/dist-server/graphql/resolvers/inventory-history/update-multiple-inventory-history.js +0 -31
  126. package/dist-server/graphql/resolvers/inventory-history/update-multiple-inventory-history.js.map +0 -1
  127. package/dist-server/graphql/resolvers/location/create-location.js +0 -17
  128. package/dist-server/graphql/resolvers/location/create-location.js.map +0 -1
  129. package/dist-server/graphql/resolvers/location/delete-all-locations.js +0 -13
  130. package/dist-server/graphql/resolvers/location/delete-all-locations.js.map +0 -1
  131. package/dist-server/graphql/resolvers/location/delete-location.js +0 -17
  132. package/dist-server/graphql/resolvers/location/delete-location.js.map +0 -1
  133. package/dist-server/graphql/resolvers/location/delete-locations.js +0 -17
  134. package/dist-server/graphql/resolvers/location/delete-locations.js.map +0 -1
  135. package/dist-server/graphql/resolvers/location/index.js +0 -22
  136. package/dist-server/graphql/resolvers/location/index.js.map +0 -1
  137. package/dist-server/graphql/resolvers/location/location-by-name.js +0 -18
  138. package/dist-server/graphql/resolvers/location/location-by-name.js.map +0 -1
  139. package/dist-server/graphql/resolvers/location/location-occupancies.js +0 -29
  140. package/dist-server/graphql/resolvers/location/location-occupancies.js.map +0 -1
  141. package/dist-server/graphql/resolvers/location/location-with-inventories.js +0 -75
  142. package/dist-server/graphql/resolvers/location/location-with-inventories.js.map +0 -1
  143. package/dist-server/graphql/resolvers/location/location.js +0 -14
  144. package/dist-server/graphql/resolvers/location/location.js.map +0 -1
  145. package/dist-server/graphql/resolvers/location/locations-by-group.js +0 -27
  146. package/dist-server/graphql/resolvers/location/locations-by-group.js.map +0 -1
  147. package/dist-server/graphql/resolvers/location/locations.js +0 -20
  148. package/dist-server/graphql/resolvers/location/locations.js.map +0 -1
  149. package/dist-server/graphql/resolvers/location/update-location.js +0 -21
  150. package/dist-server/graphql/resolvers/location/update-location.js.map +0 -1
  151. package/dist-server/graphql/resolvers/location/update-multiple-location.js +0 -28
  152. package/dist-server/graphql/resolvers/location/update-multiple-location.js.map +0 -1
  153. package/dist-server/graphql/resolvers/movement/create-movement.js +0 -11
  154. package/dist-server/graphql/resolvers/movement/create-movement.js.map +0 -1
  155. package/dist-server/graphql/resolvers/movement/delete-movement.js +0 -12
  156. package/dist-server/graphql/resolvers/movement/delete-movement.js.map +0 -1
  157. package/dist-server/graphql/resolvers/movement/inbound-movements-counter.js +0 -59
  158. package/dist-server/graphql/resolvers/movement/inbound-movements-counter.js.map +0 -1
  159. package/dist-server/graphql/resolvers/movement/index.js +0 -14
  160. package/dist-server/graphql/resolvers/movement/index.js.map +0 -1
  161. package/dist-server/graphql/resolvers/movement/movement.js +0 -19
  162. package/dist-server/graphql/resolvers/movement/movement.js.map +0 -1
  163. package/dist-server/graphql/resolvers/movement/movements.js +0 -16
  164. package/dist-server/graphql/resolvers/movement/movements.js.map +0 -1
  165. package/dist-server/graphql/resolvers/movement/outbound-movements-counter.js +0 -61
  166. package/dist-server/graphql/resolvers/movement/outbound-movements-counter.js.map +0 -1
  167. package/dist-server/graphql/resolvers/movement/update-movement.js +0 -22
  168. package/dist-server/graphql/resolvers/movement/update-movement.js.map +0 -1
  169. package/dist-server/graphql/resolvers/movement/weekly-movements-counter.js +0 -73
  170. package/dist-server/graphql/resolvers/movement/weekly-movements-counter.js.map +0 -1
  171. package/dist-server/graphql/resolvers/pallet/create-pallet.js +0 -11
  172. package/dist-server/graphql/resolvers/pallet/create-pallet.js.map +0 -1
  173. package/dist-server/graphql/resolvers/pallet/delete-pallet.js +0 -12
  174. package/dist-server/graphql/resolvers/pallet/delete-pallet.js.map +0 -1
  175. package/dist-server/graphql/resolvers/pallet/delete-pallets.js +0 -35
  176. package/dist-server/graphql/resolvers/pallet/delete-pallets.js.map +0 -1
  177. package/dist-server/graphql/resolvers/pallet/index.js +0 -17
  178. package/dist-server/graphql/resolvers/pallet/index.js.map +0 -1
  179. package/dist-server/graphql/resolvers/pallet/pallet-by-status.js +0 -16
  180. package/dist-server/graphql/resolvers/pallet/pallet-by-status.js.map +0 -1
  181. package/dist-server/graphql/resolvers/pallet/pallet-inbound-validate.js +0 -26
  182. package/dist-server/graphql/resolvers/pallet/pallet-inbound-validate.js.map +0 -1
  183. package/dist-server/graphql/resolvers/pallet/pallet-outbound-validate.js +0 -26
  184. package/dist-server/graphql/resolvers/pallet/pallet-outbound-validate.js.map +0 -1
  185. package/dist-server/graphql/resolvers/pallet/pallet-return.js +0 -31
  186. package/dist-server/graphql/resolvers/pallet/pallet-return.js.map +0 -1
  187. package/dist-server/graphql/resolvers/pallet/pallet.js +0 -16
  188. package/dist-server/graphql/resolvers/pallet/pallet.js.map +0 -1
  189. package/dist-server/graphql/resolvers/pallet/pallets.js +0 -21
  190. package/dist-server/graphql/resolvers/pallet/pallets.js.map +0 -1
  191. package/dist-server/graphql/resolvers/pallet/update-multiple-pallet.js +0 -50
  192. package/dist-server/graphql/resolvers/pallet/update-multiple-pallet.js.map +0 -1
  193. package/dist-server/graphql/resolvers/pallet/update-pallet.js +0 -15
  194. package/dist-server/graphql/resolvers/pallet/update-pallet.js.map +0 -1
  195. package/dist-server/graphql/resolvers/pallet-count/create-pallet-count.js +0 -11
  196. package/dist-server/graphql/resolvers/pallet-count/create-pallet-count.js.map +0 -1
  197. package/dist-server/graphql/resolvers/pallet-count/delete-pallet-count.js +0 -12
  198. package/dist-server/graphql/resolvers/pallet-count/delete-pallet-count.js.map +0 -1
  199. package/dist-server/graphql/resolvers/pallet-count/delete-pallet-counts.js +0 -16
  200. package/dist-server/graphql/resolvers/pallet-count/delete-pallet-counts.js.map +0 -1
  201. package/dist-server/graphql/resolvers/pallet-count/index.js +0 -14
  202. package/dist-server/graphql/resolvers/pallet-count/index.js.map +0 -1
  203. package/dist-server/graphql/resolvers/pallet-count/pallet-count.js +0 -15
  204. package/dist-server/graphql/resolvers/pallet-count/pallet-count.js.map +0 -1
  205. package/dist-server/graphql/resolvers/pallet-count/pallet-counts.js +0 -14
  206. package/dist-server/graphql/resolvers/pallet-count/pallet-counts.js.map +0 -1
  207. package/dist-server/graphql/resolvers/pallet-count/update-multiple-pallet-count.js +0 -30
  208. package/dist-server/graphql/resolvers/pallet-count/update-multiple-pallet-count.js.map +0 -1
  209. package/dist-server/graphql/resolvers/pallet-count/update-pallet-count-seq.js +0 -38
  210. package/dist-server/graphql/resolvers/pallet-count/update-pallet-count-seq.js.map +0 -1
  211. package/dist-server/graphql/resolvers/pallet-count/update-pallet-count.js +0 -15
  212. package/dist-server/graphql/resolvers/pallet-count/update-pallet-count.js.map +0 -1
  213. package/dist-server/graphql/resolvers/pallet-history/create-pallet-history.js +0 -11
  214. package/dist-server/graphql/resolvers/pallet-history/create-pallet-history.js.map +0 -1
  215. package/dist-server/graphql/resolvers/pallet-history/delete-pallet-histories.js +0 -16
  216. package/dist-server/graphql/resolvers/pallet-history/delete-pallet-histories.js.map +0 -1
  217. package/dist-server/graphql/resolvers/pallet-history/delete-pallet-history.js +0 -12
  218. package/dist-server/graphql/resolvers/pallet-history/delete-pallet-history.js.map +0 -1
  219. package/dist-server/graphql/resolvers/pallet-history/index.js +0 -13
  220. package/dist-server/graphql/resolvers/pallet-history/index.js.map +0 -1
  221. package/dist-server/graphql/resolvers/pallet-history/pallet-histories.js +0 -14
  222. package/dist-server/graphql/resolvers/pallet-history/pallet-histories.js.map +0 -1
  223. package/dist-server/graphql/resolvers/pallet-history/pallet-history.js +0 -15
  224. package/dist-server/graphql/resolvers/pallet-history/pallet-history.js.map +0 -1
  225. package/dist-server/graphql/resolvers/pallet-history/update-multiple-pallet-history.js +0 -30
  226. package/dist-server/graphql/resolvers/pallet-history/update-multiple-pallet-history.js.map +0 -1
  227. package/dist-server/graphql/resolvers/pallet-history/update-pallet-history.js +0 -15
  228. package/dist-server/graphql/resolvers/pallet-history/update-pallet-history.js.map +0 -1
  229. package/dist-server/graphql/resolvers/warehouse/create-warehouse.js +0 -16
  230. package/dist-server/graphql/resolvers/warehouse/create-warehouse.js.map +0 -1
  231. package/dist-server/graphql/resolvers/warehouse/delete-warehouse.js +0 -17
  232. package/dist-server/graphql/resolvers/warehouse/delete-warehouse.js.map +0 -1
  233. package/dist-server/graphql/resolvers/warehouse/delete-warehouses.js +0 -17
  234. package/dist-server/graphql/resolvers/warehouse/delete-warehouses.js.map +0 -1
  235. package/dist-server/graphql/resolvers/warehouse/index.js +0 -17
  236. package/dist-server/graphql/resolvers/warehouse/index.js.map +0 -1
  237. package/dist-server/graphql/resolvers/warehouse/update-multiple-warehouse.js +0 -28
  238. package/dist-server/graphql/resolvers/warehouse/update-multiple-warehouse.js.map +0 -1
  239. package/dist-server/graphql/resolvers/warehouse/update-warehouse.js +0 -17
  240. package/dist-server/graphql/resolvers/warehouse/update-warehouse.js.map +0 -1
  241. package/dist-server/graphql/resolvers/warehouse/warehouse.js +0 -18
  242. package/dist-server/graphql/resolvers/warehouse/warehouse.js.map +0 -1
  243. package/dist-server/graphql/resolvers/warehouse/warehouses.js +0 -15
  244. package/dist-server/graphql/resolvers/warehouse/warehouses.js.map +0 -1
  245. package/dist-server/graphql/types/index.js +0 -65
  246. package/dist-server/graphql/types/index.js.map +0 -1
  247. package/dist-server/graphql/types/inventory/index.js +0 -62
  248. package/dist-server/graphql/types/inventory/index.js.map +0 -1
  249. package/dist-server/graphql/types/inventory/inventory-bundle-group-detail.js +0 -14
  250. package/dist-server/graphql/types/inventory/inventory-bundle-group-detail.js.map +0 -1
  251. package/dist-server/graphql/types/inventory/inventory-bundle-group.js +0 -39
  252. package/dist-server/graphql/types/inventory/inventory-bundle-group.js.map +0 -1
  253. package/dist-server/graphql/types/inventory/inventory-list.js +0 -14
  254. package/dist-server/graphql/types/inventory/inventory-list.js.map +0 -1
  255. package/dist-server/graphql/types/inventory/inventory-patch.js +0 -48
  256. package/dist-server/graphql/types/inventory/inventory-patch.js.map +0 -1
  257. package/dist-server/graphql/types/inventory/inventory.js +0 -56
  258. package/dist-server/graphql/types/inventory/inventory.js.map +0 -1
  259. package/dist-server/graphql/types/inventory/new-inventory.js +0 -35
  260. package/dist-server/graphql/types/inventory/new-inventory.js.map +0 -1
  261. package/dist-server/graphql/types/inventory-change/index.js +0 -48
  262. package/dist-server/graphql/types/inventory-change/index.js.map +0 -1
  263. package/dist-server/graphql/types/inventory-change/inventory-change-list.js +0 -14
  264. package/dist-server/graphql/types/inventory-change/inventory-change-list.js.map +0 -1
  265. package/dist-server/graphql/types/inventory-change/inventory-change-patch.js +0 -16
  266. package/dist-server/graphql/types/inventory-change/inventory-change-patch.js.map +0 -1
  267. package/dist-server/graphql/types/inventory-change/inventory-change.js +0 -39
  268. package/dist-server/graphql/types/inventory-change/inventory-change.js.map +0 -1
  269. package/dist-server/graphql/types/inventory-change/new-inventory-change.js +0 -14
  270. package/dist-server/graphql/types/inventory-change/new-inventory-change.js.map +0 -1
  271. package/dist-server/graphql/types/inventory-history/index.js +0 -55
  272. package/dist-server/graphql/types/inventory-history/index.js.map +0 -1
  273. package/dist-server/graphql/types/inventory-history/inventory-history-list.js +0 -14
  274. package/dist-server/graphql/types/inventory-history/inventory-history-list.js.map +0 -1
  275. package/dist-server/graphql/types/inventory-history/inventory-history-pallet-report-list.js +0 -15
  276. package/dist-server/graphql/types/inventory-history/inventory-history-pallet-report-list.js.map +0 -1
  277. package/dist-server/graphql/types/inventory-history/inventory-history-pallet-report.js +0 -19
  278. package/dist-server/graphql/types/inventory-history/inventory-history-pallet-report.js.map +0 -1
  279. package/dist-server/graphql/types/inventory-history/inventory-history-patch.js +0 -43
  280. package/dist-server/graphql/types/inventory-history/inventory-history-patch.js.map +0 -1
  281. package/dist-server/graphql/types/inventory-history/inventory-history-summary-list.js +0 -16
  282. package/dist-server/graphql/types/inventory-history/inventory-history-summary-list.js.map +0 -1
  283. package/dist-server/graphql/types/inventory-history/inventory-history-summary.js +0 -23
  284. package/dist-server/graphql/types/inventory-history/inventory-history-summary.js.map +0 -1
  285. package/dist-server/graphql/types/inventory-history/inventory-history.js +0 -62
  286. package/dist-server/graphql/types/inventory-history/inventory-history.js.map +0 -1
  287. package/dist-server/graphql/types/inventory-history/new-inventory-history.js +0 -35
  288. package/dist-server/graphql/types/inventory-history/new-inventory-history.js.map +0 -1
  289. package/dist-server/graphql/types/location/index.js +0 -54
  290. package/dist-server/graphql/types/location/index.js.map +0 -1
  291. package/dist-server/graphql/types/location/location-inventories.js +0 -14
  292. package/dist-server/graphql/types/location/location-inventories.js.map +0 -1
  293. package/dist-server/graphql/types/location/location-inventory.js +0 -27
  294. package/dist-server/graphql/types/location/location-inventory.js.map +0 -1
  295. package/dist-server/graphql/types/location/location-list.js +0 -14
  296. package/dist-server/graphql/types/location/location-list.js.map +0 -1
  297. package/dist-server/graphql/types/location/location-occupancy.js +0 -16
  298. package/dist-server/graphql/types/location/location-occupancy.js.map +0 -1
  299. package/dist-server/graphql/types/location/location-patch.js +0 -23
  300. package/dist-server/graphql/types/location/location-patch.js.map +0 -1
  301. package/dist-server/graphql/types/location/location.js +0 -27
  302. package/dist-server/graphql/types/location/location.js.map +0 -1
  303. package/dist-server/graphql/types/location/new-location.js +0 -21
  304. package/dist-server/graphql/types/location/new-location.js.map +0 -1
  305. package/dist-server/graphql/types/movement/index.js +0 -31
  306. package/dist-server/graphql/types/movement/index.js.map +0 -1
  307. package/dist-server/graphql/types/movement/movement-count.js +0 -17
  308. package/dist-server/graphql/types/movement/movement-count.js.map +0 -1
  309. package/dist-server/graphql/types/movement/movement-list.js +0 -14
  310. package/dist-server/graphql/types/movement/movement-list.js.map +0 -1
  311. package/dist-server/graphql/types/movement/movement-patch.js +0 -18
  312. package/dist-server/graphql/types/movement/movement-patch.js.map +0 -1
  313. package/dist-server/graphql/types/movement/movement.js +0 -23
  314. package/dist-server/graphql/types/movement/movement.js.map +0 -1
  315. package/dist-server/graphql/types/movement/new-movement.js +0 -18
  316. package/dist-server/graphql/types/movement/new-movement.js.map +0 -1
  317. package/dist-server/graphql/types/pallet/index.js +0 -49
  318. package/dist-server/graphql/types/pallet/index.js.map +0 -1
  319. package/dist-server/graphql/types/pallet/new-pallet.js +0 -17
  320. package/dist-server/graphql/types/pallet/new-pallet.js.map +0 -1
  321. package/dist-server/graphql/types/pallet/pallet-list.js +0 -14
  322. package/dist-server/graphql/types/pallet/pallet-list.js.map +0 -1
  323. package/dist-server/graphql/types/pallet/pallet-patch.js +0 -20
  324. package/dist-server/graphql/types/pallet/pallet-patch.js.map +0 -1
  325. package/dist-server/graphql/types/pallet/pallet-validate.js +0 -14
  326. package/dist-server/graphql/types/pallet/pallet-validate.js.map +0 -1
  327. package/dist-server/graphql/types/pallet/pallet.js +0 -24
  328. package/dist-server/graphql/types/pallet/pallet.js.map +0 -1
  329. package/dist-server/graphql/types/pallet-count/index.js +0 -39
  330. package/dist-server/graphql/types/pallet-count/index.js.map +0 -1
  331. package/dist-server/graphql/types/pallet-count/new-pallet-count.js +0 -14
  332. package/dist-server/graphql/types/pallet-count/new-pallet-count.js.map +0 -1
  333. package/dist-server/graphql/types/pallet-count/pallet-count-list.js +0 -14
  334. package/dist-server/graphql/types/pallet-count/pallet-count-list.js.map +0 -1
  335. package/dist-server/graphql/types/pallet-count/pallet-count-patch.js +0 -16
  336. package/dist-server/graphql/types/pallet-count/pallet-count-patch.js.map +0 -1
  337. package/dist-server/graphql/types/pallet-count/pallet-count.js +0 -20
  338. package/dist-server/graphql/types/pallet-count/pallet-count.js.map +0 -1
  339. package/dist-server/graphql/types/pallet-history/index.js +0 -35
  340. package/dist-server/graphql/types/pallet-history/index.js.map +0 -1
  341. package/dist-server/graphql/types/pallet-history/new-pallet-history.js +0 -14
  342. package/dist-server/graphql/types/pallet-history/new-pallet-history.js.map +0 -1
  343. package/dist-server/graphql/types/pallet-history/pallet-history-list.js +0 -14
  344. package/dist-server/graphql/types/pallet-history/pallet-history-list.js.map +0 -1
  345. package/dist-server/graphql/types/pallet-history/pallet-history-patch.js +0 -16
  346. package/dist-server/graphql/types/pallet-history/pallet-history-patch.js.map +0 -1
  347. package/dist-server/graphql/types/pallet-history/pallet-history.js +0 -20
  348. package/dist-server/graphql/types/pallet-history/pallet-history.js.map +0 -1
  349. package/dist-server/graphql/types/warehouse/index.js +0 -35
  350. package/dist-server/graphql/types/warehouse/index.js.map +0 -1
  351. package/dist-server/graphql/types/warehouse/new-warehouse.js +0 -16
  352. package/dist-server/graphql/types/warehouse/new-warehouse.js.map +0 -1
  353. package/dist-server/graphql/types/warehouse/warehouse-list.js +0 -14
  354. package/dist-server/graphql/types/warehouse/warehouse-list.js.map +0 -1
  355. package/dist-server/graphql/types/warehouse/warehouse-patch.js +0 -18
  356. package/dist-server/graphql/types/warehouse/warehouse-patch.js.map +0 -1
  357. package/dist-server/graphql/types/warehouse/warehouse.js +0 -23
  358. package/dist-server/graphql/types/warehouse/warehouse.js.map +0 -1
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.inventoryTransfer = void 0;
4
- const constants_1 = require("../../../constants");
5
- const entities_1 = require("../../../entities");
6
- const utils_1 = require("../../../utils");
7
- exports.inventoryTransfer = {
8
- async inventoryTransfer(_, { palletId, cartonId, fromLocationName, toLocationName }, context) {
9
- const { domain, user, tx } = context.state;
10
- // 1. check toLocation exist
11
- const toLocation = await tx.getRepository(entities_1.Location).findOne({
12
- where: { domain: domain, name: toLocationName },
13
- relations: ['domain', 'warehouse']
14
- });
15
- if (!toLocation)
16
- throw new Error(`To location doesn't exists`);
17
- const fromLocation = await tx.getRepository(entities_1.Location).findOne({
18
- where: { domain: domain, name: fromLocationName },
19
- relations: ['domain', 'warehouse']
20
- });
21
- if (!toLocation)
22
- throw new Error(`From location doesn't exists`);
23
- // 2. search for related inventory
24
- const invQb = await tx
25
- .getRepository(entities_1.Inventory)
26
- .createQueryBuilder('INV')
27
- .where('INV.domain_id = :domainId', { domainId: domain.id })
28
- .andWhere('INV.location_id = :fromLocationId', { fromLocationId: fromLocation.id });
29
- if (cartonId)
30
- invQb.andWhere('INV.carton_id = :cartonId', { cartonId: cartonId });
31
- else
32
- invQb.andWhere('INV.pallet_id = :palletId', { palletId: palletId });
33
- let inventories = await invQb.getMany();
34
- if (!(inventories === null || inventories === void 0 ? void 0 : inventories.length))
35
- throw new Error('Inventory not found');
36
- await Promise.all(inventories.map(async (inventory) => {
37
- inventory.warehouse = toLocation.warehouse;
38
- inventory.location = toLocation;
39
- inventory.zone = toLocation.zone;
40
- inventory.updater = user;
41
- inventory = await tx.getRepository(entities_1.Inventory).save(inventory);
42
- await (0, utils_1.generateInventoryHistory)(inventory, null, constants_1.INVENTORY_TRANSACTION_TYPE.RELOCATE, 0, 0, user, tx);
43
- }));
44
- }
45
- };
46
- //# sourceMappingURL=inventory-transfer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inventory-transfer.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory/inventory-transfer.ts"],"names":[],"mappings":";;;AAGA,kDAA+D;AAC/D,gDAAuD;AACvD,0CAAyD;AAE5C,QAAA,iBAAiB,GAAG;IAC/B,KAAK,CAAC,iBAAiB,CAAC,CAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,EAAE,OAAY;QACpG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,4BAA4B;QAC5B,MAAM,UAAU,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;YACpE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE;YAC/C,SAAS,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;SACnC,CAAC,CAAA;QACF,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAE9D,MAAM,YAAY,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;YACtE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE;YACjD,SAAS,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;SACnC,CAAC,CAAA;QACF,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAEhE,kCAAkC;QAClC,MAAM,KAAK,GAAkC,MAAM,EAAE;aAClD,aAAa,CAAC,oBAAS,CAAC;aACxB,kBAAkB,CAAC,KAAK,CAAC;aACzB,KAAK,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;aAC3D,QAAQ,CAAC,mCAAmC,EAAE,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;QAErF,IAAI,QAAQ;YAAE,KAAK,CAAC,QAAQ,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;;YAC5E,KAAK,CAAC,QAAQ,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;QAExE,IAAI,WAAW,GAAgB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;QACpD,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAEhE,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,SAAoB,EAAE,EAAE;YAC7C,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;YAC1C,SAAS,CAAC,QAAQ,GAAG,UAAU,CAAA;YAC/B,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;YAChC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;YACxB,SAAS,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAE7D,MAAM,IAAA,gCAAwB,EAAC,SAAS,EAAE,IAAI,EAAE,sCAA0B,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QACtG,CAAC,CAAC,CACH,CAAA;IACH,CAAC;CACF,CAAA"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.inventoryResolver = void 0;
4
- const typeorm_1 = require("typeorm");
5
- const entities_1 = require("../../../entities");
6
- exports.inventoryResolver = {
7
- async inventory(_, { palletId }, context) {
8
- const { domain } = context.state;
9
- return await (0, typeorm_1.getRepository)(entities_1.Inventory).findOne({
10
- where: { domain: domain, palletId },
11
- relations: ['domain', 'bizplace', 'product', 'location', 'warehouse', 'creator', 'updater']
12
- });
13
- }
14
- };
15
- //# sourceMappingURL=inventory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory/inventory.ts"],"names":[],"mappings":";;;AACA,qCAAuC;AACvC,gDAA6C;AAEhC,QAAA,iBAAiB,GAAG;IAC/B,KAAK,CAAC,SAAS,CAAC,CAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAY;QAChD,MAAM,EAAE,MAAM,EAAE,GAAuB,OAAO,CAAC,KAAK,CAAA;QAEpD,OAAO,MAAM,IAAA,uBAAa,EAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;YAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;YACnC,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;SAC5F,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateInventoryRemark = void 0;
4
- const entities_1 = require("../../../entities");
5
- exports.updateInventoryRemark = {
6
- async updateInventoryRemark(_, { id, remark }, context) {
7
- const { domain, user, tx } = context.state;
8
- const repository = tx.getRepository(entities_1.Inventory);
9
- const inventory = await repository.findOne({ where: { domain: domain, id } });
10
- return await repository.save(Object.assign(Object.assign({}, inventory), { remark, updater: user }));
11
- }
12
- };
13
- //# sourceMappingURL=update-inventory-remark.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-inventory-remark.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory/update-inventory-remark.ts"],"names":[],"mappings":";;;AAGA,gDAA6C;AAEhC,QAAA,qBAAqB,GAAG;IACnC,KAAK,CAAC,qBAAqB,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,OAAY;QAC9D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAA;QAC9C,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QAE7E,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,SAAS,KACZ,MAAM,EACN,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateInventory = void 0;
4
- const entities_1 = require("../../../entities");
5
- exports.updateInventory = {
6
- async updateInventory(_, { patch }, context) {
7
- const { domain, user, tx } = context.state;
8
- const invQb = await tx
9
- .getRepository(entities_1.Inventory)
10
- .createQueryBuilder('INV')
11
- .where('INV.domain_id = :domainId', { domainId: domain.id })
12
- .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: patch.bizplace.id })
13
- .andWhere('INV.batch_id = :batchId', { batchId: patch.batchId })
14
- .andWhere('INV.product_id = :productId', { productId: patch.product.id })
15
- .andWhere('INV.packing_type = :packingType', { packingType: patch.packingType })
16
- .andWhere('INV.packing_size = :packingSize', { packingSize: patch.packingSize });
17
- if (patch === null || patch === void 0 ? void 0 : patch.cartonId)
18
- invQb.andWhere('INV.carton_id = :cartonId', { cartonId: patch.cartonId });
19
- else
20
- invQb.andWhere('INV.pallet_id = :palletId', { palletId: patch.palletId });
21
- const inventory = await invQb.getOne();
22
- return await tx.getRepository(entities_1.Inventory).save(Object.assign(Object.assign(Object.assign({}, inventory), patch), { updater: user }));
23
- }
24
- };
25
- //# sourceMappingURL=update-inventory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-inventory.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory/update-inventory.ts"],"names":[],"mappings":";;;AAGA,gDAA6C;AAEhC,QAAA,eAAe,GAAG;IAC7B,KAAK,CAAC,eAAe,CAAC,CAAM,EAAE,EAAE,KAAK,EAAE,EAAE,OAAY;QACnD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,KAAK,GAAkC,MAAM,EAAE;aAClD,aAAa,CAAC,oBAAS,CAAC;aACxB,kBAAkB,CAAC,KAAK,CAAC;aACzB,KAAK,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;aAC3D,QAAQ,CAAC,+BAA+B,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;aAC5E,QAAQ,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;aAC/D,QAAQ,CAAC,6BAA6B,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;aACxE,QAAQ,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;aAC/E,QAAQ,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;QAElF,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ;YAAE,KAAK,CAAC,QAAQ,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;;YACzF,KAAK,CAAC,QAAQ,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QAE9E,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAA;QAEtC,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,IAAI,+CACxC,SAAS,GACT,KAAK,KACR,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -1,152 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateMultipleInventory = void 0;
4
- const biz_base_1 = require("@things-factory/biz-base");
5
- const product_base_1 = require("@things-factory/product-base");
6
- const typeorm_1 = require("typeorm");
7
- const entities_1 = require("../../../entities");
8
- const utils_1 = require("../../../utils");
9
- const constants_1 = require("../../../constants");
10
- exports.updateMultipleInventory = {
11
- async updateMultipleInventory(_, { patches }, context) {
12
- const { domain, user, tx } = context.state;
13
- let results = [];
14
- const _createRecords = patches.filter((patch) => !patch.id);
15
- const _updateRecords = patches.filter((patch) => patch.id);
16
- const inventoryRepo = tx.getRepository(entities_1.Inventory);
17
- if (_createRecords.length > 0) {
18
- let today = new Date();
19
- let year = today.getFullYear();
20
- let month = today.getMonth();
21
- let date = today.getDate();
22
- for (let i = 0; i < _createRecords.length; i++) {
23
- const total = await tx.getRepository(entities_1.Inventory).count({
24
- createdAt: (0, typeorm_1.MoreThan)(new Date(year, month, date))
25
- });
26
- const newRecord = _createRecords[i];
27
- if (newRecord.location && newRecord.location.id) {
28
- var location = await tx.getRepository(entities_1.Location).findOne({
29
- where: { id: newRecord.location.id },
30
- relations: ['warehouse']
31
- });
32
- newRecord.location = location;
33
- newRecord.zone = location.zone;
34
- newRecord.warehouse = location.warehouse;
35
- }
36
- if (newRecord.bizplace && newRecord.bizplace.id) {
37
- newRecord.bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne(newRecord.bizplace.id);
38
- }
39
- if (newRecord.product && newRecord.product.id) {
40
- var product = await tx.getRepository(product_base_1.Product).findOne(newRecord.product.id);
41
- newRecord.product = product;
42
- }
43
- let palletId = 'P' +
44
- year.toString().substr(year.toString().length - 2) +
45
- ('0' + (month + 1).toString()).substr(('0' + (month + 1).toString()).toString().length - 2) +
46
- ('0' + date.toString()).substr(('0' + date.toString()).length - 2) +
47
- ('0000' + (total + 1).toString()).substr(('0000' + (total + 1).toString()).length - 4);
48
- newRecord.name = palletId;
49
- newRecord.status = newRecord.qty < 1 ? 'TERMINATED' : 'STORED';
50
- newRecord.palletId = palletId;
51
- const result = await inventoryRepo.save(Object.assign({ domain: domain, creator: user, updater: user, lastSeq: 0 }, newRecord));
52
- await tx.getRepository(entities_1.InventoryHistory).save(Object.assign(Object.assign({}, newRecord), { domain: domain, creator: user, updater: user, name: utils_1.InventoryNoGenerator.inventoryHistoryName(), seq: 0, transactionType: 'NEW', productId: newRecord.product.id, warehouseId: newRecord.warehouse.id, locationId: newRecord.location.id }));
53
- results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
54
- }
55
- }
56
- if (_updateRecords.length > 0) {
57
- for (let i = 0; i < _updateRecords.length; i++) {
58
- const newRecord = _updateRecords[i];
59
- const newHistoryRecord = JSON.parse(JSON.stringify(_updateRecords[i]));
60
- let transactionType = '';
61
- let inventory = await inventoryRepo.findOne({
62
- where: { id: newRecord.id },
63
- relations: ['warehouse', 'location', 'product', 'bizplace']
64
- });
65
- newHistoryRecord.openingQty = inventory.qty;
66
- newHistoryRecord.openingUomValue = inventory.uomValue;
67
- // Get last sequence from InventoryHistory
68
- let latestEntry = await tx.getRepository(entities_1.InventoryHistory).find({
69
- where: { palletId: inventory.palletId },
70
- order: { seq: 'DESC' },
71
- take: 1
72
- });
73
- let lastSeq = latestEntry[0].seq;
74
- // Condition 1: Change location (RELOCATE)
75
- if (newRecord.location && newRecord.location.id) {
76
- var location = await tx.getRepository(entities_1.Location).findOne({
77
- where: { id: newRecord.location.id },
78
- relations: ['warehouse']
79
- });
80
- newRecord.location = location;
81
- newRecord.zone = location.zone;
82
- newRecord.warehouse = location.warehouse;
83
- newHistoryRecord.location = location;
84
- newHistoryRecord.zone = location.zone;
85
- newHistoryRecord.warehouse = location.warehouse;
86
- transactionType = 'RELOCATE';
87
- }
88
- // Condition 2: Change of qty or uomValue.
89
- // Set qty movement for inventory history
90
- if (typeof newRecord.qty != 'undefined') {
91
- transactionType = 'ADJUSTMENT';
92
- newHistoryRecord.qty = newRecord.qty - inventory.qty;
93
- if (newRecord.qty < 1) {
94
- newRecord.status = 'TERMINATED';
95
- newRecord.qty = 0;
96
- newRecord.uomValue = 0;
97
- }
98
- }
99
- else {
100
- newHistoryRecord.qty = 0;
101
- }
102
- // Set uomValue movement for inventory history
103
- if (typeof newRecord.uomValue != 'undefined') {
104
- transactionType = 'ADJUSTMENT';
105
- newHistoryRecord.uomValue = newRecord.uomValue - inventory.uomValue;
106
- if (newRecord.uomValue < 1) {
107
- newRecord.uomValue = 0;
108
- }
109
- }
110
- else {
111
- newHistoryRecord.uomValue = 0;
112
- }
113
- // Condition 3: Change of bizplace or product or batch id or packing type
114
- if (newRecord.bizplace && newRecord.bizplace.id) {
115
- newRecord.bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne(newRecord.bizplace.id);
116
- }
117
- if (newRecord.product && newRecord.product.id) {
118
- newRecord.product = await tx.getRepository(product_base_1.Product).findOne(newRecord.product.id);
119
- }
120
- if ((newRecord.product && newRecord.product.id) ||
121
- (newRecord.bizplace && newRecord.bizplace.id) ||
122
- newRecord.batchId ||
123
- newRecord.packingType) {
124
- if (inventory.bizplace.id !== (newRecord.bizplace ? newRecord.bizplace.id : '') ||
125
- inventory.product.id !== (newRecord.product ? newRecord.product.id : '') ||
126
- inventory.batchId !== newRecord.batchId ||
127
- inventory.packingType !== newRecord.packingType) {
128
- transactionType = 'ADJUSTMENT';
129
- lastSeq = lastSeq + 1;
130
- let inventoryHistory = Object.assign(Object.assign({}, inventory), { domain: domain, bizplace: inventory.bizplace.id, openingQty: inventory.qty, openingUomValue: inventory.uomValue, qty: -inventory.qty || 0, uomValue: -inventory.uomValue || 0, name: utils_1.InventoryNoGenerator.inventoryHistoryName(), seq: lastSeq, transactionType: transactionType, status: constants_1.INVENTORY_STATUS.TERMINATED, productId: inventory.product.id, warehouseId: inventory.warehouse.id, locationId: inventory.location.id, creator: user, updater: user });
131
- delete inventoryHistory.id;
132
- await tx.getRepository(entities_1.InventoryHistory).save(inventoryHistory);
133
- newHistoryRecord.qty = newRecord.qty || inventory.qty;
134
- newHistoryRecord.uomValue = newRecord.uomValue || inventory.uomValue || 0;
135
- newHistoryRecord.openingQty = 0;
136
- newHistoryRecord.openingUomValue = 0;
137
- newHistoryRecord.batchId = newRecord.batchId || inventory.batchId || '-';
138
- }
139
- }
140
- //Transaction type will be RELOCATE if there is only location change. Any other changes will be considered Adjustment.
141
- lastSeq = lastSeq + 1;
142
- let inventoryHistory = Object.assign(Object.assign(Object.assign({}, inventory), newHistoryRecord), { domain: domain, creator: user, updater: user, name: utils_1.InventoryNoGenerator.inventoryHistoryName(), seq: lastSeq, transactionType: transactionType == '' ? 'ADJUSTMENT' : transactionType, productId: newHistoryRecord.product ? newHistoryRecord.product.id : inventory.product.id, warehouseId: newHistoryRecord.warehouse ? newHistoryRecord.warehouse.id : inventory.warehouse.id, locationId: newHistoryRecord.location ? newHistoryRecord.location.id : inventory.location.id });
143
- delete inventoryHistory.id;
144
- await tx.getRepository(entities_1.InventoryHistory).save(inventoryHistory);
145
- const result = await inventoryRepo.save(Object.assign(Object.assign(Object.assign({}, inventory), newRecord), { updater: user, lastSeq: lastSeq }));
146
- results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
147
- }
148
- }
149
- return results;
150
- }
151
- };
152
- //# sourceMappingURL=update-multiple-inventory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-multiple-inventory.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory/update-multiple-inventory.ts"],"names":[],"mappings":"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"}
@@ -1,291 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.approveInventoryChanges = void 0;
4
- const typeorm_1 = require("typeorm");
5
- const id_rule_base_1 = require("@things-factory/id-rule-base");
6
- const integration_marketplace_1 = require("@things-factory/integration-marketplace");
7
- const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
8
- const setting_base_1 = require("@things-factory/setting-base");
9
- const constants_1 = require("../../../constants");
10
- const controllers_1 = require("../../../controllers");
11
- const entities_1 = require("../../../entities");
12
- const utils_1 = require("../../../utils");
13
- exports.approveInventoryChanges = {
14
- async approveInventoryChanges(_, { patches }, context) {
15
- var _a, _b, _c;
16
- const { domain, user, tx } = context.state;
17
- // Get Selected Inventory Change Data
18
- const _inventoryChanges = await tx.getRepository(entities_1.InventoryChange).find({
19
- where: { id: (0, typeorm_1.In)(patches.map(item => item.id)) },
20
- relations: [
21
- 'inventory',
22
- 'inventory.bizplace',
23
- 'inventory.bizplace.domain',
24
- 'inventory.product',
25
- 'inventory.location',
26
- 'inventory.warehouse',
27
- 'bizplace',
28
- 'bizplace.domain',
29
- 'bizplace.company',
30
- 'bizplace.company.domain',
31
- 'product',
32
- 'product.productDetails',
33
- 'product.productDetails.childProductDetail',
34
- 'location'
35
- ],
36
- order: {
37
- createdAt: 'ASC'
38
- }
39
- });
40
- let arrLockedInventory = [];
41
- if (_inventoryChanges.length > 0) {
42
- let today = new Date(), year = today.getFullYear(), month = today.getMonth(), date = today.getDate();
43
- for (let i = 0; i < _inventoryChanges.length; i++) {
44
- if (_inventoryChanges[i].status.toLocaleLowerCase() != 'pending')
45
- continue;
46
- const newRecord = Object.assign({}, _inventoryChanges[i]), newHistoryRecord = Object.assign({}, _inventoryChanges[i]);
47
- // Adjustment of existing Inventory
48
- if (_inventoryChanges[i].inventory != null) {
49
- let inventoryId = _inventoryChanges[i].inventory.id;
50
- let inventory = await tx.getRepository(entities_1.Inventory).findOne({
51
- where: { id: inventoryId },
52
- relations: [
53
- 'domain',
54
- 'bizplace',
55
- 'bizplace.domain',
56
- 'bizplace.company',
57
- 'bizplace.company.domain',
58
- 'product',
59
- 'product.productDetails',
60
- 'product.productDetails.childProductDetail',
61
- 'warehouse',
62
- 'location',
63
- 'creator',
64
- 'updater'
65
- ]
66
- });
67
- const customerDomain = inventory.bizplace.domain;
68
- // Check for locked inventory, and stop from udpating inventory
69
- if (inventory.lockedQty > 0) {
70
- arrLockedInventory.push(_inventoryChanges[i]);
71
- continue;
72
- }
73
- // Check for Terminated inventory, then update InventoryChange entity, and stop from udpating inventory
74
- if (inventory.status == constants_1.INVENTORY_STATUS.TERMINATED) {
75
- _inventoryChanges[i] = Object.assign(Object.assign({}, _inventoryChanges[i]), { status: 'TERMINATED' });
76
- continue;
77
- }
78
- let lastSeq = inventory.lastSeq, transactionType = '';
79
- newHistoryRecord.openingQty = inventory.qty;
80
- newHistoryRecord.openingUomValue = inventory.uomValue;
81
- // Get last row of InventoryHistory
82
- let latestEntry = await tx.getRepository(entities_1.InventoryHistory).findOne({
83
- where: { palletId: inventory.palletId, domain: domain },
84
- order: { seq: 'DESC' }
85
- });
86
- _inventoryChanges[i].lastInventoryHistory = latestEntry;
87
- // Check Change of existing inventory location
88
- if (newRecord.location && newRecord.location.id != inventory.location.id) {
89
- newRecord.zone = newRecord.location.zone;
90
- newRecord.warehouse = newRecord.location.warehouse;
91
- transactionType = 'ADJUSTMENT';
92
- // Check and set current location status
93
- let currentLocationInventoryCount = await tx.getRepository(entities_1.Inventory).count({
94
- where: { location: inventory.location, status: 'STORED', id: (0, typeorm_1.Not)(inventory.id) }
95
- });
96
- if (currentLocationInventoryCount == 0) {
97
- let currentLocation = await tx.getRepository(entities_1.Location).findOne({
98
- where: { id: inventory.location.id }
99
- });
100
- await tx.getRepository(entities_1.Location).save(Object.assign(Object.assign({}, currentLocation), { status: constants_1.LOCATION_STATUS.EMPTY }));
101
- }
102
- }
103
- // Check Change of existing inventory quantity
104
- if (newRecord.qty != null && newRecord.qty != inventory.qty) {
105
- newHistoryRecord.qty = newRecord.qty - inventory.qty;
106
- if (newRecord.qty < 1) {
107
- newRecord.qty = 0;
108
- newRecord.uomValue = 0;
109
- }
110
- transactionType = 'ADJUSTMENT';
111
- }
112
- else {
113
- newHistoryRecord.qty = 0;
114
- }
115
- // Check Change of existing inventory uomValue
116
- if (newRecord.uomValue != null && newRecord.uomValue != inventory.uomValue) {
117
- newHistoryRecord.uomValue = newRecord.uomValue - inventory.uomValue;
118
- Math.round(newHistoryRecord.uomValue * 100) / 100;
119
- if (newRecord.uomValue < 1) {
120
- newRecord.uomValue = 0;
121
- }
122
- transactionType = 'ADJUSTMENT';
123
- }
124
- else {
125
- newHistoryRecord.uomValue = 0;
126
- }
127
- // Terminate current inventory history if there is change of bizplace, product, batchId, packingType, or uom
128
- if ((newRecord.bizplace && inventory.bizplace.id !== newRecord.bizplace.id) ||
129
- (newRecord.product && inventory.product.id !== newRecord.product.id) ||
130
- (newRecord.batchId && inventory.batchId !== newRecord.batchId) ||
131
- (newRecord.packingType && inventory.packingType !== newRecord.packingType) ||
132
- (newRecord.uom && inventory.uom !== newRecord.uom)) {
133
- transactionType = 'ADJUSTMENT';
134
- lastSeq = lastSeq + 1;
135
- let inventoryHistory = Object.assign(Object.assign({}, inventory), { domain: domain, bizplace: inventory.bizplace.id, openingQty: inventory.qty, openingUomValue: inventory.uomValue, qty: -inventory.qty || 0, uom: inventory.uom, uomValue: -inventory.uomValue || 0, name: utils_1.InventoryNoGenerator.inventoryHistoryName(), seq: lastSeq, transactionType: transactionType, status: constants_1.INVENTORY_STATUS.TERMINATED, productId: inventory.product.id, warehouseId: inventory.warehouse.id, locationId: inventory.location.id, packingType: inventory.packingType, creator: user, updater: user });
136
- delete inventoryHistory.id;
137
- delete inventoryHistory.createdAt;
138
- delete inventoryHistory.updatedAt;
139
- await tx.getRepository(entities_1.InventoryHistory).save(inventoryHistory);
140
- newHistoryRecord.qty = newRecord.qty != null ? newRecord.qty : inventory.qty || 0;
141
- newHistoryRecord.uomValue = newRecord.uomValue != null ? newRecord.uomValue : inventory.uomValue || 0;
142
- newHistoryRecord.openingQty = 0;
143
- newHistoryRecord.openingUomValue = 0;
144
- }
145
- // Set and update inventory and inventory history data
146
- lastSeq = lastSeq + 1;
147
- clean(newHistoryRecord);
148
- let inventoryHistory = Object.assign(Object.assign(Object.assign({}, inventory), newHistoryRecord), { domain: domain, creator: user, updater: user, name: utils_1.InventoryNoGenerator.inventoryHistoryName(), status: 'STORED', seq: lastSeq, transactionType: transactionType == '' ? 'ADJUSTMENT' : transactionType, productId: newRecord.product ? newRecord.product.id : inventory.product.id, warehouseId: newRecord.warehouse ? newRecord.warehouse.id : inventory.warehouse.id, locationId: newRecord.location && newRecord.location.id != inventory.location.id
149
- ? newRecord.location.id
150
- : inventory.location.id, uom: newRecord.uom != null ? newRecord.uom : inventory.uom });
151
- delete inventoryHistory.id;
152
- delete inventoryHistory.createdAt;
153
- delete inventoryHistory.updatedAt;
154
- await tx.getRepository(entities_1.InventoryHistory).save(inventoryHistory);
155
- if (newRecord.qty != null && newRecord.qty == 0) {
156
- ++lastSeq;
157
- delete inventoryHistory.id;
158
- inventoryHistory = Object.assign(Object.assign({}, inventoryHistory), { name: utils_1.InventoryNoGenerator.inventoryHistoryName(), qty: 0, uomValue: 0, openingQty: 0, openingUomValue: 0, seq: lastSeq, transactionType: 'TERMINATED', status: 'TERMINATED' });
159
- await tx.getRepository(entities_1.InventoryHistory).save(inventoryHistory);
160
- }
161
- clean(newRecord);
162
- await tx.getRepository(entities_1.Inventory).save(Object.assign(Object.assign(Object.assign({}, inventory), newRecord), { id: inventoryId, status: (newRecord.qty != null ? newRecord.qty : inventory.qty) > 0 ? 'STORED' : 'TERMINATED', updater: user, lastSeq: lastSeq }));
163
- //Check and set latest location status
164
- if (newRecord.qty != null ? newRecord.qty : inventory.qty > 0) {
165
- var location = await tx.getRepository(entities_1.Location).findOne({
166
- where: { id: newRecord.location ? newRecord.location.id : inventory.location.id }
167
- });
168
- await tx.getRepository(entities_1.Location).save(Object.assign(Object.assign({}, location), { status: constants_1.LOCATION_STATUS.OCCUPIED }));
169
- }
170
- else {
171
- let latestLocationInventoryCount = await tx.getRepository(entities_1.Inventory).count({
172
- where: {
173
- location: newRecord.location ? newRecord.location.id : inventory.location.id,
174
- status: 'STORED',
175
- id: (0, typeorm_1.Not)(inventory.id)
176
- }
177
- });
178
- if (latestLocationInventoryCount == 0) {
179
- let latestLocation = await tx.getRepository(entities_1.Location).findOne({
180
- where: { id: newRecord.location ? newRecord.location.id : inventory.location.id }
181
- });
182
- await tx.getRepository(entities_1.Location).save(Object.assign(Object.assign({}, latestLocation), { status: constants_1.LOCATION_STATUS.EMPTY }));
183
- }
184
- }
185
- const sellercraft = await tx
186
- .getRepository(integration_sellercraft_1.Sellercraft)
187
- .findOne({ domain: customerDomain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
188
- const companyDomain = (_a = inventory.bizplace) === null || _a === void 0 ? void 0 : _a.company.domain;
189
- if (sellercraft) {
190
- const sellercraftCtrl = new controllers_1.SellercraftController(tx, domain, user);
191
- await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory);
192
- }
193
- // check for any existing active marketplace connection, update marketplace selling qty
194
- const marketplaceStores = await tx.getRepository(integration_marketplace_1.MarketplaceStore).find({
195
- where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
196
- relations: ['marketplaceDistributors']
197
- });
198
- if ((marketplaceStores === null || marketplaceStores === void 0 ? void 0 : marketplaceStores.length) && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
199
- const ecommerceCtrl = new controllers_1.EcommerceController(tx, domain, user);
200
- await ecommerceCtrl.updateProductVariationStock(marketplaceStores, inventory.product.id, companyDomain);
201
- }
202
- }
203
- // Adding Inventory
204
- else {
205
- const total = await tx.getRepository(entities_1.Inventory).count({
206
- createdAt: (0, typeorm_1.MoreThan)(new Date(year, month, date))
207
- });
208
- const yy = String(year).substr(String(year).length - 2);
209
- const mm = String(month + 1).padStart(2, '0');
210
- const dd = String(date).padStart(2, '0');
211
- const dateStr = yy + mm + dd;
212
- let palletId = await (0, id_rule_base_1.generateId)({
213
- domain: domain,
214
- type: 'adjustment_pallet_id',
215
- seed: {
216
- batchId: newRecord.batchId,
217
- date: dateStr
218
- }
219
- });
220
- if (!palletId)
221
- throw new Error('No adjustment pallet id setting rule found');
222
- var location = await tx.getRepository(entities_1.Location).findOne({
223
- where: { id: newRecord.location.id },
224
- relations: ['warehouse']
225
- });
226
- newRecord.location = location;
227
- newRecord.zone = location.zone;
228
- newRecord.warehouse = location.warehouse;
229
- newRecord.status = constants_1.INVENTORY_STATUS.STORED;
230
- newRecord.name = palletId;
231
- newRecord.palletId = palletId;
232
- const warehouseCartonSetting = await tx.getRepository(setting_base_1.Setting).findOne({
233
- where: { domain, category: 'id-rule', name: 'enable-carton-label' }
234
- });
235
- const partnerCartonSetting = await tx.getRepository(setting_base_1.PartnerSetting).findOne({
236
- where: { setting: warehouseCartonSetting, domain, partnerDomain: (_b = newRecord.bizplace) === null || _b === void 0 ? void 0 : _b.domain }
237
- });
238
- if (partnerCartonSetting === null || partnerCartonSetting === void 0 ? void 0 : partnerCartonSetting.value) {
239
- let cartonId = await (0, id_rule_base_1.generateId)({
240
- domain: domain,
241
- type: 'adjustment_carton_id',
242
- seed: { date: dateStr }
243
- });
244
- if (!cartonId)
245
- throw new Error('No adjustment carton id setting rule found');
246
- newRecord.cartonId = cartonId;
247
- }
248
- let expirationDate = (((newRecord === null || newRecord === void 0 ? void 0 : newRecord.expirationDate) && new Date(newRecord.expirationDate).getFullYear()) || 0) < 2000
249
- ? null
250
- : newRecord.expirationDate;
251
- let savedInventory = await tx.getRepository(entities_1.Inventory).save(Object.assign(Object.assign({}, newRecord), { expirationDate, domain: domain, creator: user, updater: user, lastSeq: 0 }));
252
- await tx.getRepository(entities_1.InventoryHistory).save(Object.assign(Object.assign({}, newRecord), { domain: domain, creator: user, updater: user, name: utils_1.InventoryNoGenerator.inventoryHistoryName(), seq: 0, transactionType: 'NEW', productId: newRecord.product.id, warehouseId: newRecord.warehouse.id, locationId: newRecord.location.id, inventory: savedInventory, expirationDate: expirationDate }));
253
- await tx.getRepository(entities_1.Location).save(Object.assign(Object.assign({}, location), { status: constants_1.LOCATION_STATUS.OCCUPIED }));
254
- _inventoryChanges[i].inventory = savedInventory;
255
- _inventoryChanges[i].palletId = savedInventory.palletId;
256
- const sellercraft = await tx
257
- .getRepository(integration_sellercraft_1.Sellercraft)
258
- .findOne({ domain: newRecord.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
259
- const companyDomain = (_c = newRecord.bizplace) === null || _c === void 0 ? void 0 : _c.company.domain;
260
- if (sellercraft) {
261
- const sellercraftCtrl = new controllers_1.SellercraftController(tx, domain, user);
262
- await sellercraftCtrl.updateSellercraftStock(sellercraft, newRecord);
263
- }
264
- // update marketplace store qty
265
- // check for any existing active marketplace connection, update marketplace selling qty
266
- const marketplaceStores = await tx.getRepository(integration_marketplace_1.MarketplaceStore).find({
267
- where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
268
- relations: ['marketplaceDistributors']
269
- });
270
- if ((marketplaceStores === null || marketplaceStores === void 0 ? void 0 : marketplaceStores.length) && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
271
- const ecommerceCtrl = new controllers_1.EcommerceController(tx, domain, user);
272
- await ecommerceCtrl.updateProductVariationStock(marketplaceStores, newRecord.product.id, companyDomain);
273
- }
274
- }
275
- _inventoryChanges[i].status = 'APPROVED';
276
- }
277
- await tx.getRepository(entities_1.InventoryChange).save(_inventoryChanges);
278
- }
279
- return { items: arrLockedInventory, total: arrLockedInventory.length };
280
- }
281
- };
282
- function clean(obj) {
283
- var propNames = Object.getOwnPropertyNames(obj);
284
- for (var i = 0; i < propNames.length; i++) {
285
- var propName = propNames[i];
286
- if (obj[propName] === null || obj[propName] === undefined) {
287
- delete obj[propName];
288
- }
289
- }
290
- }
291
- //# sourceMappingURL=approve-inventory-changes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"approve-inventory-changes.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory-change/approve-inventory-changes.ts"],"names":[],"mappings":"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"}