@things-factory/sales-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 (842) hide show
  1. package/dist-server/controllers/ecommerce/index.js +1 -0
  2. package/dist-server/controllers/ecommerce/index.js.map +1 -1
  3. package/dist-server/controllers/ecommerce/sellercraft-controller.js +39 -0
  4. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -0
  5. package/dist-server/controllers/order-controller.js +9 -9
  6. package/dist-server/controllers/order-controller.js.map +1 -1
  7. package/dist-server/entities/arrival-notice.js +5 -1
  8. package/dist-server/entities/arrival-notice.js.map +1 -1
  9. package/dist-server/entities/delivery-order.js +4 -2
  10. package/dist-server/entities/delivery-order.js.map +1 -1
  11. package/dist-server/entities/index.js +28 -22
  12. package/dist-server/entities/index.js.map +1 -1
  13. package/dist-server/entities/order-inventory.js +1 -1
  14. package/dist-server/entities/order-inventory.js.map +1 -1
  15. package/dist-server/entities/order-product.js +1 -1
  16. package/dist-server/entities/order-product.js.map +1 -1
  17. package/dist-server/entities/order-reverse-kitting.js +156 -0
  18. package/dist-server/entities/order-reverse-kitting.js.map +1 -0
  19. package/dist-server/entities/release-good.js +22 -2
  20. package/dist-server/entities/release-good.js.map +1 -1
  21. package/dist-server/entities/reverse-kitting-order.js +82 -0
  22. package/dist-server/entities/reverse-kitting-order.js.map +1 -0
  23. package/dist-server/graphql/resolvers/arrival-notice/arrival-notice-requests.js +35 -12
  24. package/dist-server/graphql/resolvers/arrival-notice/arrival-notice-requests.js.map +1 -1
  25. package/dist-server/graphql/resolvers/arrival-notice/arrival-notice.js +34 -22
  26. package/dist-server/graphql/resolvers/arrival-notice/arrival-notice.js.map +1 -1
  27. package/dist-server/graphql/resolvers/arrival-notice/arrival-notices.js +51 -5
  28. package/dist-server/graphql/resolvers/arrival-notice/arrival-notices.js.map +1 -1
  29. package/dist-server/graphql/resolvers/delivery-order/delivery-orders.js +84 -47
  30. package/dist-server/graphql/resolvers/delivery-order/delivery-orders.js.map +1 -1
  31. package/dist-server/graphql/resolvers/delivery-order/dispatch-delivery-order.js +5 -3
  32. package/dist-server/graphql/resolvers/delivery-order/dispatch-delivery-order.js.map +1 -1
  33. package/dist-server/graphql/resolvers/index.js +14 -11
  34. package/dist-server/graphql/resolvers/index.js.map +1 -1
  35. package/dist-server/graphql/resolvers/order-inventory/order-inventories.js +34 -1
  36. package/dist-server/graphql/resolvers/order-inventory/order-inventories.js.map +1 -1
  37. package/dist-server/graphql/resolvers/order-reverse-kitting/index.js +8 -0
  38. package/dist-server/graphql/resolvers/order-reverse-kitting/index.js.map +1 -0
  39. package/dist-server/graphql/resolvers/order-reverse-kitting/order-reverse-kitting.js +18 -0
  40. package/dist-server/graphql/resolvers/order-reverse-kitting/order-reverse-kitting.js.map +1 -0
  41. package/dist-server/graphql/resolvers/order-reverse-kitting/order-reverse-kittings.js +14 -0
  42. package/dist-server/graphql/resolvers/order-reverse-kitting/order-reverse-kittings.js.map +1 -0
  43. package/dist-server/graphql/resolvers/others/bulk-upload-validate-order-products.js +4 -5
  44. package/dist-server/graphql/resolvers/others/bulk-upload-validate-order-products.js.map +1 -1
  45. package/dist-server/graphql/resolvers/release-good/confirm-release-good.js +27 -11
  46. package/dist-server/graphql/resolvers/release-good/confirm-release-good.js.map +1 -1
  47. package/dist-server/graphql/resolvers/release-good/generate-release-good.js +35 -13
  48. package/dist-server/graphql/resolvers/release-good/generate-release-good.js.map +1 -1
  49. package/dist-server/graphql/resolvers/release-good/release-good-detail.js +74 -69
  50. package/dist-server/graphql/resolvers/release-good/release-good-detail.js.map +1 -1
  51. package/dist-server/graphql/resolvers/release-good/release-good-requests.js +35 -11
  52. package/dist-server/graphql/resolvers/release-good/release-good-requests.js.map +1 -1
  53. package/dist-server/graphql/resolvers/release-good/release-goods.js +37 -10
  54. package/dist-server/graphql/resolvers/release-good/release-goods.js.map +1 -1
  55. package/dist-server/graphql/resolvers/reverse-kitting-order/activate-reverse-kitting-order.js +31 -0
  56. package/dist-server/graphql/resolvers/reverse-kitting-order/activate-reverse-kitting-order.js.map +1 -0
  57. package/dist-server/graphql/resolvers/reverse-kitting-order/cancel-reverse-kitting-order.js +31 -0
  58. package/dist-server/graphql/resolvers/reverse-kitting-order/cancel-reverse-kitting-order.js.map +1 -0
  59. package/dist-server/graphql/resolvers/reverse-kitting-order/complete-reverse-kitting-order.js +34 -0
  60. package/dist-server/graphql/resolvers/reverse-kitting-order/complete-reverse-kitting-order.js.map +1 -0
  61. package/dist-server/graphql/resolvers/reverse-kitting-order/confirm-reverse-kitting-order.js +31 -0
  62. package/dist-server/graphql/resolvers/reverse-kitting-order/confirm-reverse-kitting-order.js.map +1 -0
  63. package/dist-server/graphql/resolvers/reverse-kitting-order/delete-reverse-kitting-order.js +30 -0
  64. package/dist-server/graphql/resolvers/reverse-kitting-order/delete-reverse-kitting-order.js.map +1 -0
  65. package/dist-server/graphql/resolvers/reverse-kitting-order/execute-reverse-kitting.js +94 -0
  66. package/dist-server/graphql/resolvers/reverse-kitting-order/execute-reverse-kitting.js.map +1 -0
  67. package/dist-server/graphql/resolvers/reverse-kitting-order/executing-reverse-kitting-order.js +37 -0
  68. package/dist-server/graphql/resolvers/reverse-kitting-order/executing-reverse-kitting-order.js.map +1 -0
  69. package/dist-server/graphql/resolvers/reverse-kitting-order/generate-reverse-kitting-order.js +34 -0
  70. package/dist-server/graphql/resolvers/reverse-kitting-order/generate-reverse-kitting-order.js.map +1 -0
  71. package/dist-server/graphql/resolvers/reverse-kitting-order/index.js +17 -0
  72. package/dist-server/graphql/resolvers/reverse-kitting-order/index.js.map +1 -0
  73. package/dist-server/graphql/resolvers/reverse-kitting-order/reverse-kitting-inventories.js +35 -0
  74. package/dist-server/graphql/resolvers/reverse-kitting-order/reverse-kitting-inventories.js.map +1 -0
  75. package/dist-server/graphql/resolvers/reverse-kitting-order/reverse-kitting-order.js +32 -0
  76. package/dist-server/graphql/resolvers/reverse-kitting-order/reverse-kitting-order.js.map +1 -0
  77. package/dist-server/graphql/resolvers/reverse-kitting-order/reverse-kitting-orders.js +25 -0
  78. package/dist-server/graphql/resolvers/reverse-kitting-order/reverse-kitting-orders.js.map +1 -0
  79. package/dist-server/graphql/types/arrival-notice/arrival-notice.js +1 -0
  80. package/dist-server/graphql/types/arrival-notice/arrival-notice.js.map +1 -1
  81. package/dist-server/graphql/types/arrival-notice/index.js +2 -1
  82. package/dist-server/graphql/types/arrival-notice/index.js.map +1 -1
  83. package/dist-server/graphql/types/index.js +22 -14
  84. package/dist-server/graphql/types/index.js.map +1 -1
  85. package/dist-server/graphql/types/order-inventory/order-inventory.js +2 -0
  86. package/dist-server/graphql/types/order-inventory/order-inventory.js.map +1 -1
  87. package/dist-server/graphql/types/order-reverse-kitting/index.js +14 -0
  88. package/dist-server/graphql/types/order-reverse-kitting/index.js.map +1 -0
  89. package/dist-server/graphql/types/order-reverse-kitting/new-order-reverse-kitting.js +31 -0
  90. package/dist-server/graphql/types/order-reverse-kitting/new-order-reverse-kitting.js.map +1 -0
  91. package/dist-server/graphql/types/order-reverse-kitting/order-reverse-kitting-list.js +14 -0
  92. package/dist-server/graphql/types/order-reverse-kitting/order-reverse-kitting-list.js.map +1 -0
  93. package/dist-server/graphql/types/order-reverse-kitting/order-reverse-kitting-patch.js +32 -0
  94. package/dist-server/graphql/types/order-reverse-kitting/order-reverse-kitting-patch.js.map +1 -0
  95. package/dist-server/graphql/types/order-reverse-kitting/order-reverse-kitting.js +37 -0
  96. package/dist-server/graphql/types/order-reverse-kitting/order-reverse-kitting.js.map +1 -0
  97. package/dist-server/graphql/types/release-good/index.js +3 -2
  98. package/dist-server/graphql/types/release-good/index.js.map +1 -1
  99. package/dist-server/graphql/types/release-good/new-release-good.js +5 -0
  100. package/dist-server/graphql/types/release-good/new-release-good.js.map +1 -1
  101. package/dist-server/graphql/types/release-good/release-good-detail.js +5 -0
  102. package/dist-server/graphql/types/release-good/release-good-detail.js.map +1 -1
  103. package/dist-server/graphql/types/release-good/release-good-patch.js +5 -0
  104. package/dist-server/graphql/types/release-good/release-good-patch.js.map +1 -1
  105. package/dist-server/graphql/types/release-good/release-good.js +6 -0
  106. package/dist-server/graphql/types/release-good/release-good.js.map +1 -1
  107. package/dist-server/graphql/types/reverse-kitting-order/index.js +47 -0
  108. package/dist-server/graphql/types/reverse-kitting-order/index.js.map +1 -0
  109. package/dist-server/graphql/types/reverse-kitting-order/new-reverse-kitting-order.js +17 -0
  110. package/dist-server/graphql/types/reverse-kitting-order/new-reverse-kitting-order.js.map +1 -0
  111. package/dist-server/graphql/types/reverse-kitting-order/reverse-kitting-order-list.js +14 -0
  112. package/dist-server/graphql/types/reverse-kitting-order/reverse-kitting-order-list.js.map +1 -0
  113. package/dist-server/graphql/types/reverse-kitting-order/reverse-kitting-order-patch.js +17 -0
  114. package/dist-server/graphql/types/reverse-kitting-order/reverse-kitting-order-patch.js.map +1 -0
  115. package/dist-server/graphql/types/reverse-kitting-order/reverse-kitting-order.js +24 -0
  116. package/dist-server/graphql/types/reverse-kitting-order/reverse-kitting-order.js.map +1 -0
  117. package/dist-server/index.js +2 -6
  118. package/dist-server/index.js.map +1 -1
  119. package/dist-server/service/arrival-notice/arrival-notice-mutation.js +599 -0
  120. package/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +1 -0
  121. package/dist-server/service/arrival-notice/arrival-notice-query.js +304 -0
  122. package/dist-server/service/arrival-notice/arrival-notice-query.js.map +1 -0
  123. package/dist-server/service/arrival-notice/arrival-notice-types.js +249 -0
  124. package/dist-server/service/arrival-notice/arrival-notice-types.js.map +1 -0
  125. package/dist-server/service/arrival-notice/arrival-notice.js +239 -0
  126. package/dist-server/service/arrival-notice/arrival-notice.js.map +1 -0
  127. package/dist-server/service/arrival-notice/index.js +21 -0
  128. package/dist-server/service/arrival-notice/index.js.map +1 -0
  129. package/dist-server/service/claim/claim-mutation.js +244 -0
  130. package/dist-server/service/claim/claim-mutation.js.map +1 -0
  131. package/dist-server/service/claim/claim-query.js +165 -0
  132. package/dist-server/service/claim/claim-query.js.map +1 -0
  133. package/dist-server/service/claim/claim-types.js +191 -0
  134. package/dist-server/service/claim/claim-types.js.map +1 -0
  135. package/dist-server/service/claim/claim.js +176 -0
  136. package/dist-server/service/claim/claim.js.map +1 -0
  137. package/dist-server/service/claim/index.js +21 -0
  138. package/dist-server/service/claim/index.js.map +1 -0
  139. package/dist-server/service/claim-detail/claim-detail-mutation.js +110 -0
  140. package/dist-server/service/claim-detail/claim-detail-mutation.js.map +1 -0
  141. package/dist-server/service/claim-detail/claim-detail-query.js +90 -0
  142. package/dist-server/service/claim-detail/claim-detail-query.js.map +1 -0
  143. package/dist-server/service/claim-detail/claim-detail-types.js +81 -0
  144. package/dist-server/service/claim-detail/claim-detail-types.js.map +1 -0
  145. package/dist-server/service/claim-detail/claim-detail.js +102 -0
  146. package/dist-server/service/claim-detail/claim-detail.js.map +1 -0
  147. package/dist-server/service/claim-detail/index.js +21 -0
  148. package/dist-server/service/claim-detail/index.js.map +1 -0
  149. package/dist-server/service/claim-order/claim-order-mutation.js +110 -0
  150. package/dist-server/service/claim-order/claim-order-mutation.js.map +1 -0
  151. package/dist-server/service/claim-order/claim-order-query.js +86 -0
  152. package/dist-server/service/claim-order/claim-order-query.js.map +1 -0
  153. package/dist-server/service/claim-order/claim-order-types.js +65 -0
  154. package/dist-server/service/claim-order/claim-order-types.js.map +1 -0
  155. package/dist-server/service/claim-order/claim-order.js +104 -0
  156. package/dist-server/service/claim-order/claim-order.js.map +1 -0
  157. package/dist-server/service/claim-order/index.js +21 -0
  158. package/dist-server/service/claim-order/index.js.map +1 -0
  159. package/dist-server/service/collection-order/collection-order-mutation.js +241 -0
  160. package/dist-server/service/collection-order/collection-order-mutation.js.map +1 -0
  161. package/dist-server/service/collection-order/collection-order-query.js +125 -0
  162. package/dist-server/service/collection-order/collection-order-query.js.map +1 -0
  163. package/dist-server/service/collection-order/collection-order-types.js +241 -0
  164. package/dist-server/service/collection-order/collection-order-types.js.map +1 -0
  165. package/dist-server/service/collection-order/collection-order.js +183 -0
  166. package/dist-server/service/collection-order/collection-order.js.map +1 -0
  167. package/dist-server/service/collection-order/index.js +21 -0
  168. package/dist-server/service/collection-order/index.js.map +1 -0
  169. package/dist-server/service/delivery-order/delivery-order-mutation.js +615 -0
  170. package/dist-server/service/delivery-order/delivery-order-mutation.js.map +1 -0
  171. package/dist-server/service/delivery-order/delivery-order-query.js +407 -0
  172. package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -0
  173. package/dist-server/service/delivery-order/delivery-order-types.js +365 -0
  174. package/dist-server/service/delivery-order/delivery-order-types.js.map +1 -0
  175. package/dist-server/service/delivery-order/delivery-order.js +247 -0
  176. package/dist-server/service/delivery-order/delivery-order.js.map +1 -0
  177. package/dist-server/service/delivery-order/index.js +21 -0
  178. package/dist-server/service/delivery-order/index.js.map +1 -0
  179. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js +136 -0
  180. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js.map +1 -0
  181. package/dist-server/service/goods-receival-note/goods-receival-note-query.js +129 -0
  182. package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +1 -0
  183. package/dist-server/service/goods-receival-note/goods-receival-note-types.js +95 -0
  184. package/dist-server/service/goods-receival-note/goods-receival-note-types.js.map +1 -0
  185. package/dist-server/service/goods-receival-note/goods-receival-note.js +110 -0
  186. package/dist-server/service/goods-receival-note/goods-receival-note.js.map +1 -0
  187. package/dist-server/service/goods-receival-note/index.js +21 -0
  188. package/dist-server/service/goods-receival-note/index.js.map +1 -0
  189. package/dist-server/service/index.js +193 -0
  190. package/dist-server/service/index.js.map +1 -0
  191. package/dist-server/service/inventory-check/index.js +21 -0
  192. package/dist-server/service/inventory-check/index.js.map +1 -0
  193. package/dist-server/service/inventory-check/inventory-check-mutation.js +150 -0
  194. package/dist-server/service/inventory-check/inventory-check-mutation.js.map +1 -0
  195. package/dist-server/service/inventory-check/inventory-check-query.js +88 -0
  196. package/dist-server/service/inventory-check/inventory-check-query.js.map +1 -0
  197. package/dist-server/service/inventory-check/inventory-check-types.js +82 -0
  198. package/dist-server/service/inventory-check/inventory-check-types.js.map +1 -0
  199. package/dist-server/service/inventory-check/inventory-check.js +115 -0
  200. package/dist-server/service/inventory-check/inventory-check.js.map +1 -0
  201. package/dist-server/service/invoice/index.js +21 -0
  202. package/dist-server/service/invoice/index.js.map +1 -0
  203. package/dist-server/service/invoice/invoice-mutation.js +70 -0
  204. package/dist-server/service/invoice/invoice-mutation.js.map +1 -0
  205. package/dist-server/service/invoice/invoice-query.js +96 -0
  206. package/dist-server/service/invoice/invoice-query.js.map +1 -0
  207. package/dist-server/service/invoice/invoice-types.js +106 -0
  208. package/dist-server/service/invoice/invoice-types.js.map +1 -0
  209. package/dist-server/service/invoice/invoice.js +115 -0
  210. package/dist-server/service/invoice/invoice.js.map +1 -0
  211. package/dist-server/service/job-sheet/index.js +21 -0
  212. package/dist-server/service/job-sheet/index.js.map +1 -0
  213. package/dist-server/service/job-sheet/job-sheet-mutation.js +92 -0
  214. package/dist-server/service/job-sheet/job-sheet-mutation.js.map +1 -0
  215. package/dist-server/service/job-sheet/job-sheet-query.js +132 -0
  216. package/dist-server/service/job-sheet/job-sheet-query.js.map +1 -0
  217. package/dist-server/service/job-sheet/job-sheet-types.js +113 -0
  218. package/dist-server/service/job-sheet/job-sheet-types.js.map +1 -0
  219. package/dist-server/service/job-sheet/job-sheet.js +132 -0
  220. package/dist-server/service/job-sheet/job-sheet.js.map +1 -0
  221. package/dist-server/service/order-inventory/index.js +21 -0
  222. package/dist-server/service/order-inventory/index.js.map +1 -0
  223. package/dist-server/service/order-inventory/order-inventory-mutation.js +56 -0
  224. package/dist-server/service/order-inventory/order-inventory-mutation.js.map +1 -0
  225. package/dist-server/service/order-inventory/order-inventory-query.js +259 -0
  226. package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -0
  227. package/dist-server/service/order-inventory/order-inventory-types.js +301 -0
  228. package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -0
  229. package/dist-server/service/order-inventory/order-inventory.js +343 -0
  230. package/dist-server/service/order-inventory/order-inventory.js.map +1 -0
  231. package/dist-server/service/order-product/index.js +21 -0
  232. package/dist-server/service/order-product/index.js.map +1 -0
  233. package/dist-server/service/order-product/order-product-mutation.js +56 -0
  234. package/dist-server/service/order-product/order-product-mutation.js.map +1 -0
  235. package/dist-server/service/order-product/order-product-query.js +92 -0
  236. package/dist-server/service/order-product/order-product-query.js.map +1 -0
  237. package/dist-server/service/order-product/order-product-types.js +457 -0
  238. package/dist-server/service/order-product/order-product-types.js.map +1 -0
  239. package/dist-server/service/order-product/order-product.js +369 -0
  240. package/dist-server/service/order-product/order-product.js.map +1 -0
  241. package/dist-server/service/order-vas/index.js +21 -0
  242. package/dist-server/service/order-vas/index.js.map +1 -0
  243. package/dist-server/service/order-vas/order-vas-mutation.js +40 -0
  244. package/dist-server/service/order-vas/order-vas-mutation.js.map +1 -0
  245. package/dist-server/service/order-vas/order-vas-query.js +111 -0
  246. package/dist-server/service/order-vas/order-vas-query.js.map +1 -0
  247. package/dist-server/service/order-vas/order-vas-types.js +231 -0
  248. package/dist-server/service/order-vas/order-vas-types.js.map +1 -0
  249. package/dist-server/service/order-vas/order-vas.js +265 -0
  250. package/dist-server/service/order-vas/order-vas.js.map +1 -0
  251. package/dist-server/service/others/index.js +17 -0
  252. package/dist-server/service/others/index.js.map +1 -0
  253. package/dist-server/service/others/other-query.js +266 -0
  254. package/dist-server/service/others/other-query.js.map +1 -0
  255. package/dist-server/service/others/other-types.js +86 -0
  256. package/dist-server/service/others/other-types.js.map +1 -0
  257. package/dist-server/service/purchase-order/index.js +21 -0
  258. package/dist-server/service/purchase-order/index.js.map +1 -0
  259. package/dist-server/service/purchase-order/purchase-order-mutation.js +369 -0
  260. package/dist-server/service/purchase-order/purchase-order-mutation.js.map +1 -0
  261. package/dist-server/service/purchase-order/purchase-order-query.js +125 -0
  262. package/dist-server/service/purchase-order/purchase-order-query.js.map +1 -0
  263. package/dist-server/service/purchase-order/purchase-order-types.js +224 -0
  264. package/dist-server/service/purchase-order/purchase-order-types.js.map +1 -0
  265. package/dist-server/service/purchase-order/purchase-order.js +207 -0
  266. package/dist-server/service/purchase-order/purchase-order.js.map +1 -0
  267. package/dist-server/service/purchase-order-other-charge/index.js +21 -0
  268. package/dist-server/service/purchase-order-other-charge/index.js.map +1 -0
  269. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js +56 -0
  270. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js.map +1 -0
  271. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js +87 -0
  272. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js.map +1 -0
  273. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js +77 -0
  274. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js.map +1 -0
  275. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js +101 -0
  276. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js.map +1 -0
  277. package/dist-server/service/release-good/index.js +21 -0
  278. package/dist-server/service/release-good/index.js.map +1 -0
  279. package/dist-server/service/release-good/release-good-mutation.js +651 -0
  280. package/dist-server/service/release-good/release-good-mutation.js.map +1 -0
  281. package/dist-server/service/release-good/release-good-query.js +540 -0
  282. package/dist-server/service/release-good/release-good-query.js.map +1 -0
  283. package/dist-server/service/release-good/release-good-types.js +624 -0
  284. package/dist-server/service/release-good/release-good-types.js.map +1 -0
  285. package/dist-server/service/release-good/release-good.js +380 -0
  286. package/dist-server/service/release-good/release-good.js.map +1 -0
  287. package/dist-server/service/retail-replenishment-order/index.js +21 -0
  288. package/dist-server/service/retail-replenishment-order/index.js.map +1 -0
  289. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js +314 -0
  290. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js.map +1 -0
  291. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js +89 -0
  292. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js.map +1 -0
  293. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js +148 -0
  294. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js.map +1 -0
  295. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js +141 -0
  296. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js.map +1 -0
  297. package/dist-server/service/return-order/index.js +21 -0
  298. package/dist-server/service/return-order/index.js.map +1 -0
  299. package/dist-server/service/return-order/return-order-mutation.js +407 -0
  300. package/dist-server/service/return-order/return-order-mutation.js.map +1 -0
  301. package/dist-server/service/return-order/return-order-query.js +243 -0
  302. package/dist-server/service/return-order/return-order-query.js.map +1 -0
  303. package/dist-server/service/return-order/return-order-types.js +274 -0
  304. package/dist-server/service/return-order/return-order-types.js.map +1 -0
  305. package/dist-server/service/return-order/return-order.js +159 -0
  306. package/dist-server/service/return-order/return-order.js.map +1 -0
  307. package/dist-server/service/reverse-kitting-order/index.js +21 -0
  308. package/dist-server/service/reverse-kitting-order/index.js.map +1 -0
  309. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js +326 -0
  310. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js.map +1 -0
  311. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js +150 -0
  312. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +1 -0
  313. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js +87 -0
  314. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js.map +1 -0
  315. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js +98 -0
  316. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +1 -0
  317. package/dist-server/service/reverse-kitting-order-inventory/index.js +21 -0
  318. package/dist-server/service/reverse-kitting-order-inventory/index.js.map +1 -0
  319. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js +120 -0
  320. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js.map +1 -0
  321. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js +87 -0
  322. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js.map +1 -0
  323. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js +131 -0
  324. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js.map +1 -0
  325. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js +140 -0
  326. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +1 -0
  327. package/dist-server/service/shipping-order/index.js +21 -0
  328. package/dist-server/service/shipping-order/index.js.map +1 -0
  329. package/dist-server/service/shipping-order/shipping-order-mutation.js +81 -0
  330. package/dist-server/service/shipping-order/shipping-order-mutation.js.map +1 -0
  331. package/dist-server/service/shipping-order/shipping-order-query.js +96 -0
  332. package/dist-server/service/shipping-order/shipping-order-query.js.map +1 -0
  333. package/dist-server/service/shipping-order/shipping-order-types.js +117 -0
  334. package/dist-server/service/shipping-order/shipping-order-types.js.map +1 -0
  335. package/dist-server/service/shipping-order/shipping-order.js +145 -0
  336. package/dist-server/service/shipping-order/shipping-order.js.map +1 -0
  337. package/dist-server/service/transfer-order/index.js +21 -0
  338. package/dist-server/service/transfer-order/index.js.map +1 -0
  339. package/dist-server/service/transfer-order/transfer-order-mutation.js +252 -0
  340. package/dist-server/service/transfer-order/transfer-order-mutation.js.map +1 -0
  341. package/dist-server/service/transfer-order/transfer-order-query.js +104 -0
  342. package/dist-server/service/transfer-order/transfer-order-query.js.map +1 -0
  343. package/dist-server/service/transfer-order/transfer-order-types.js +148 -0
  344. package/dist-server/service/transfer-order/transfer-order-types.js.map +1 -0
  345. package/dist-server/service/transfer-order/transfer-order.js +146 -0
  346. package/dist-server/service/transfer-order/transfer-order.js.map +1 -0
  347. package/dist-server/service/vas/index.js +21 -0
  348. package/dist-server/service/vas/index.js.map +1 -0
  349. package/dist-server/service/vas/vas-mutation.js +118 -0
  350. package/dist-server/service/vas/vas-mutation.js.map +1 -0
  351. package/dist-server/service/vas/vas-query.js +99 -0
  352. package/dist-server/service/vas/vas-query.js.map +1 -0
  353. package/dist-server/service/vas/vas-types.js +113 -0
  354. package/dist-server/service/vas/vas-types.js.map +1 -0
  355. package/dist-server/service/vas/vas.js +112 -0
  356. package/dist-server/service/vas/vas.js.map +1 -0
  357. package/dist-server/service/vas-order/index.js +21 -0
  358. package/dist-server/service/vas-order/index.js.map +1 -0
  359. package/dist-server/service/vas-order/vas-order-mutation.js +234 -0
  360. package/dist-server/service/vas-order/vas-order-mutation.js.map +1 -0
  361. package/dist-server/service/vas-order/vas-order-query.js +151 -0
  362. package/dist-server/service/vas-order/vas-order-query.js.map +1 -0
  363. package/dist-server/service/vas-order/vas-order-types.js +83 -0
  364. package/dist-server/service/vas-order/vas-order-types.js.map +1 -0
  365. package/dist-server/service/vas-order/vas-order.js +104 -0
  366. package/dist-server/service/vas-order/vas-order.js.map +1 -0
  367. package/dist-server/utils/inventory-util.js +149 -5
  368. package/dist-server/utils/inventory-util.js.map +1 -1
  369. package/package.json +12 -12
  370. package/server/controllers/ecommerce/index.ts +1 -0
  371. package/server/controllers/ecommerce/sellercraft-controller.ts +44 -0
  372. package/server/controllers/order-controller.ts +4 -4
  373. package/server/index.ts +2 -6
  374. package/server/service/arrival-notice/arrival-notice-mutation.ts +762 -0
  375. package/server/service/arrival-notice/arrival-notice-query.ts +300 -0
  376. package/server/service/arrival-notice/arrival-notice-types.ts +173 -0
  377. package/server/service/arrival-notice/arrival-notice.ts +193 -0
  378. package/server/service/arrival-notice/index.ts +9 -0
  379. package/server/service/claim/claim-mutation.ts +302 -0
  380. package/server/service/claim/claim-query.ts +121 -0
  381. package/server/service/claim/claim-types.ts +130 -0
  382. package/server/service/claim/claim.ts +140 -0
  383. package/server/service/claim/index.ts +9 -0
  384. package/server/service/claim-detail/claim-detail-mutation.ts +96 -0
  385. package/server/service/claim-detail/claim-detail-query.ts +50 -0
  386. package/server/service/claim-detail/claim-detail-types.ts +47 -0
  387. package/server/service/claim-detail/claim-detail.ts +78 -0
  388. package/server/service/claim-detail/index.ts +9 -0
  389. package/server/service/claim-order/claim-order-mutation.ts +95 -0
  390. package/server/service/claim-order/claim-order-query.ts +45 -0
  391. package/server/service/claim-order/claim-order-types.ts +35 -0
  392. package/server/service/claim-order/claim-order.ts +81 -0
  393. package/server/service/claim-order/index.ts +9 -0
  394. package/server/service/collection-order/collection-order-mutation.ts +238 -0
  395. package/server/service/collection-order/collection-order-query.ts +94 -0
  396. package/server/service/collection-order/collection-order-types.ts +165 -0
  397. package/server/service/collection-order/collection-order.ts +146 -0
  398. package/server/service/collection-order/index.ts +9 -0
  399. package/server/service/delivery-order/delivery-order-mutation.ts +734 -0
  400. package/server/service/delivery-order/delivery-order-query.ts +423 -0
  401. package/server/service/delivery-order/delivery-order-types.ts +253 -0
  402. package/server/service/delivery-order/delivery-order.ts +197 -0
  403. package/server/service/delivery-order/index.ts +9 -0
  404. package/server/service/goods-receival-note/goods-receival-note-mutation.ts +124 -0
  405. package/server/service/goods-receival-note/goods-receival-note-query.ts +98 -0
  406. package/server/service/goods-receival-note/goods-receival-note-types.ts +57 -0
  407. package/server/service/goods-receival-note/goods-receival-note.ts +91 -0
  408. package/server/service/goods-receival-note/index.ts +9 -0
  409. package/server/service/index.ts +197 -0
  410. package/server/service/inventory-check/index.ts +9 -0
  411. package/server/service/inventory-check/inventory-check-mutation.ts +144 -0
  412. package/server/service/inventory-check/inventory-check-query.ts +47 -0
  413. package/server/service/inventory-check/inventory-check-types.ts +48 -0
  414. package/server/service/inventory-check/inventory-check.ts +90 -0
  415. package/server/service/invoice/index.ts +9 -0
  416. package/server/service/invoice/invoice-mutation.ts +52 -0
  417. package/server/service/invoice/invoice-query.ts +54 -0
  418. package/server/service/invoice/invoice-types.ts +66 -0
  419. package/server/{entities → service/invoice}/invoice.ts +38 -15
  420. package/server/service/job-sheet/index.ts +9 -0
  421. package/server/service/job-sheet/job-sheet-mutation.ts +89 -0
  422. package/server/service/job-sheet/job-sheet-query.ts +105 -0
  423. package/server/service/job-sheet/job-sheet-types.ts +71 -0
  424. package/server/service/job-sheet/job-sheet.ts +102 -0
  425. package/server/service/order-inventory/index.ts +9 -0
  426. package/server/service/order-inventory/order-inventory-mutation.ts +28 -0
  427. package/server/service/order-inventory/order-inventory-query.ts +253 -0
  428. package/server/service/order-inventory/order-inventory-types.ts +212 -0
  429. package/server/{entities → service/order-inventory}/order-inventory.ts +119 -10
  430. package/server/service/order-product/index.ts +9 -0
  431. package/server/service/order-product/order-product-mutation.ts +28 -0
  432. package/server/service/order-product/order-product-query.ts +52 -0
  433. package/server/service/order-product/order-product-types.ts +327 -0
  434. package/server/{entities → service/order-product}/order-product.ts +116 -4
  435. package/server/service/order-vas/index.ts +9 -0
  436. package/server/service/order-vas/order-vas-mutation.ts +21 -0
  437. package/server/service/order-vas/order-vas-query.ts +71 -0
  438. package/server/service/order-vas/order-vas-types.ts +159 -0
  439. package/server/service/order-vas/order-vas.ts +216 -0
  440. package/server/service/others/index.ts +5 -0
  441. package/server/service/others/other-query.ts +320 -0
  442. package/server/service/others/other-types.ts +52 -0
  443. package/server/service/purchase-order/index.ts +9 -0
  444. package/server/service/purchase-order/purchase-order-mutation.ts +456 -0
  445. package/server/service/purchase-order/purchase-order-query.ts +88 -0
  446. package/server/service/purchase-order/purchase-order-types.ts +154 -0
  447. package/server/service/purchase-order/purchase-order.ts +165 -0
  448. package/server/service/purchase-order-other-charge/index.ts +9 -0
  449. package/server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.ts +31 -0
  450. package/server/service/purchase-order-other-charge/purchase-order-other-charge-query.ts +47 -0
  451. package/server/service/purchase-order-other-charge/purchase-order-other-charge-types.ts +44 -0
  452. package/server/service/purchase-order-other-charge/purchase-order-other-charge.ts +82 -0
  453. package/server/service/release-good/index.ts +9 -0
  454. package/server/service/release-good/release-good-mutation.ts +861 -0
  455. package/server/service/release-good/release-good-query.ts +579 -0
  456. package/server/service/release-good/release-good-types.ts +451 -0
  457. package/server/{entities → service/release-good}/release-good.ts +134 -15
  458. package/server/service/retail-replenishment-order/index.ts +9 -0
  459. package/server/service/retail-replenishment-order/retail-replenishment-order-mutation.ts +376 -0
  460. package/server/service/retail-replenishment-order/retail-replenishment-order-query.ts +50 -0
  461. package/server/service/retail-replenishment-order/retail-replenishment-order-types.ts +99 -0
  462. package/server/service/retail-replenishment-order/retail-replenishment-order.ts +115 -0
  463. package/server/service/return-order/index.ts +9 -0
  464. package/server/service/return-order/return-order-mutation.ts +462 -0
  465. package/server/service/return-order/return-order-query.ts +224 -0
  466. package/server/service/return-order/return-order-types.ts +196 -0
  467. package/server/service/return-order/return-order.ts +127 -0
  468. package/server/service/reverse-kitting-order/index.ts +9 -0
  469. package/server/service/reverse-kitting-order/reverse-kitting-order-mutation.ts +374 -0
  470. package/server/service/reverse-kitting-order/reverse-kitting-order-query.ts +111 -0
  471. package/server/service/reverse-kitting-order/reverse-kitting-order-type.ts +54 -0
  472. package/server/service/reverse-kitting-order/reverse-kitting-order.ts +85 -0
  473. package/server/service/reverse-kitting-order-inventory/index.ts +9 -0
  474. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.ts +112 -0
  475. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.ts +43 -0
  476. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.ts +86 -0
  477. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.ts +117 -0
  478. package/server/service/shipping-order/index.ts +9 -0
  479. package/server/service/shipping-order/shipping-order-mutation.ts +61 -0
  480. package/server/service/shipping-order/shipping-order-query.ts +59 -0
  481. package/server/service/shipping-order/shipping-order-types.ts +74 -0
  482. package/server/service/shipping-order/shipping-order.ts +113 -0
  483. package/server/service/transfer-order/index.ts +9 -0
  484. package/server/service/transfer-order/transfer-order-mutation.ts +300 -0
  485. package/server/service/transfer-order/transfer-order-query.ts +65 -0
  486. package/server/service/transfer-order/transfer-order-types.ts +97 -0
  487. package/server/service/transfer-order/transfer-order.ts +117 -0
  488. package/server/service/vas/index.ts +9 -0
  489. package/server/service/vas/vas-mutation.ts +108 -0
  490. package/server/service/vas/vas-query.ts +58 -0
  491. package/server/service/vas/vas-types.ts +71 -0
  492. package/server/service/vas/vas.ts +86 -0
  493. package/server/service/vas-order/index.ts +9 -0
  494. package/server/service/vas-order/vas-order-mutation.ts +247 -0
  495. package/server/service/vas-order/vas-order-query.ts +117 -0
  496. package/server/service/vas-order/vas-order-types.ts +49 -0
  497. package/server/service/vas-order/vas-order.ts +81 -0
  498. package/server/utils/inventory-util.ts +232 -6
  499. package/server/entities/arrival-notice.ts +0 -168
  500. package/server/entities/claim-detail.ts +0 -59
  501. package/server/entities/claim-order.ts +0 -63
  502. package/server/entities/claim.ts +0 -123
  503. package/server/entities/collection-order.ts +0 -129
  504. package/server/entities/delivery-order.ts +0 -161
  505. package/server/entities/goods-receival-note.ts +0 -73
  506. package/server/entities/index.ts +0 -72
  507. package/server/entities/inventory-check.ts +0 -67
  508. package/server/entities/job-sheet.ts +0 -59
  509. package/server/entities/order-vas.ts +0 -137
  510. package/server/entities/purchase-order-other-charge.ts +0 -49
  511. package/server/entities/purchase-order.ts +0 -137
  512. package/server/entities/retail-replenishment-order.ts +0 -69
  513. package/server/entities/return-order.ts +0 -109
  514. package/server/entities/shipping-order.ts +0 -92
  515. package/server/entities/transfer-order.ts +0 -73
  516. package/server/entities/vas-order.ts +0 -62
  517. package/server/entities/vas.ts +0 -63
  518. package/server/graphql/index.ts +0 -7
  519. package/server/graphql/resolvers/arrival-notice/add-arrival-notice.ts +0 -21
  520. package/server/graphql/resolvers/arrival-notice/add-edit-arrival-notice-products.ts +0 -110
  521. package/server/graphql/resolvers/arrival-notice/arrival-notice-requests.ts +0 -71
  522. package/server/graphql/resolvers/arrival-notice/arrival-notice.ts +0 -86
  523. package/server/graphql/resolvers/arrival-notice/arrival-notices.ts +0 -25
  524. package/server/graphql/resolvers/arrival-notice/check-arrived-notice.ts +0 -98
  525. package/server/graphql/resolvers/arrival-notice/confirm-arrival-notice.ts +0 -112
  526. package/server/graphql/resolvers/arrival-notice/delete-arrival-notice.ts +0 -70
  527. package/server/graphql/resolvers/arrival-notice/generate-arrival-notice.ts +0 -148
  528. package/server/graphql/resolvers/arrival-notice/index.ts +0 -36
  529. package/server/graphql/resolvers/arrival-notice/receive-arrival-notice.ts +0 -97
  530. package/server/graphql/resolvers/arrival-notice/reject-arrival-notice.ts +0 -105
  531. package/server/graphql/resolvers/claim/claim-order-detail.ts +0 -34
  532. package/server/graphql/resolvers/claim/claim-order-list.ts +0 -27
  533. package/server/graphql/resolvers/claim/claim.ts +0 -25
  534. package/server/graphql/resolvers/claim/claims.ts +0 -15
  535. package/server/graphql/resolvers/claim/create-claim.ts +0 -125
  536. package/server/graphql/resolvers/claim/delete-claim.ts +0 -10
  537. package/server/graphql/resolvers/claim/delete-claims.ts +0 -13
  538. package/server/graphql/resolvers/claim/index.ts +0 -25
  539. package/server/graphql/resolvers/claim/update-claim.ts +0 -102
  540. package/server/graphql/resolvers/claim/update-multiple-claim.ts +0 -43
  541. package/server/graphql/resolvers/claim-detail/claim-detail.ts +0 -13
  542. package/server/graphql/resolvers/claim-detail/claim-details.ts +0 -14
  543. package/server/graphql/resolvers/claim-detail/create-claim-detail.ts +0 -14
  544. package/server/graphql/resolvers/claim-detail/delete-claim-detail.ts +0 -10
  545. package/server/graphql/resolvers/claim-detail/delete-claim-details.ts +0 -13
  546. package/server/graphql/resolvers/claim-detail/index.ts +0 -21
  547. package/server/graphql/resolvers/claim-detail/update-claim-detail.ts +0 -17
  548. package/server/graphql/resolvers/claim-detail/update-multiple-claim-detail.ts +0 -43
  549. package/server/graphql/resolvers/claim-order/claim-order.ts +0 -13
  550. package/server/graphql/resolvers/claim-order/claim-orders.ts +0 -14
  551. package/server/graphql/resolvers/claim-order/create-claim-order.ts +0 -14
  552. package/server/graphql/resolvers/claim-order/delete-claim-order.ts +0 -10
  553. package/server/graphql/resolvers/claim-order/delete-claim-orders.ts +0 -13
  554. package/server/graphql/resolvers/claim-order/index.ts +0 -21
  555. package/server/graphql/resolvers/claim-order/update-claim-order.ts +0 -17
  556. package/server/graphql/resolvers/claim-order/update-multiple-claim-order.ts +0 -42
  557. package/server/graphql/resolvers/collection-order/check-collected-order.ts +0 -31
  558. package/server/graphql/resolvers/collection-order/collection-order-requests.ts +0 -26
  559. package/server/graphql/resolvers/collection-order/collection-order.ts +0 -30
  560. package/server/graphql/resolvers/collection-order/collection-orders.ts +0 -21
  561. package/server/graphql/resolvers/collection-order/confirm-collection-order.ts +0 -29
  562. package/server/graphql/resolvers/collection-order/delete-collection-order.ts +0 -22
  563. package/server/graphql/resolvers/collection-order/dispatch-collection-order.ts +0 -41
  564. package/server/graphql/resolvers/collection-order/generate-collection-order.ts +0 -37
  565. package/server/graphql/resolvers/collection-order/index.ts +0 -28
  566. package/server/graphql/resolvers/collection-order/receive-collection-order.ts +0 -30
  567. package/server/graphql/resolvers/collection-order/reject-collection-order.ts +0 -32
  568. package/server/graphql/resolvers/collection-order/update-collection-order.ts +0 -25
  569. package/server/graphql/resolvers/delivery-order/check-delivered-order.ts +0 -60
  570. package/server/graphql/resolvers/delivery-order/confirm-delivery-order.ts +0 -29
  571. package/server/graphql/resolvers/delivery-order/create-delivery-order.ts +0 -187
  572. package/server/graphql/resolvers/delivery-order/delete-delivery-order.ts +0 -22
  573. package/server/graphql/resolvers/delivery-order/delivery-order-by-release-good.ts +0 -40
  574. package/server/graphql/resolvers/delivery-order/delivery-order-items.ts +0 -97
  575. package/server/graphql/resolvers/delivery-order/delivery-order-requests.ts +0 -26
  576. package/server/graphql/resolvers/delivery-order/delivery-order.ts +0 -30
  577. package/server/graphql/resolvers/delivery-order/delivery-orders.ts +0 -82
  578. package/server/graphql/resolvers/delivery-order/dispatch-delivery-order.ts +0 -114
  579. package/server/graphql/resolvers/delivery-order/dispatch-manual-delivery-order.ts +0 -114
  580. package/server/graphql/resolvers/delivery-order/generate-delivery-order.ts +0 -89
  581. package/server/graphql/resolvers/delivery-order/index.ts +0 -41
  582. package/server/graphql/resolvers/delivery-order/manual-delivery-order-items.ts +0 -98
  583. package/server/graphql/resolvers/delivery-order/receive-delivery-order.ts +0 -30
  584. package/server/graphql/resolvers/delivery-order/reject-delivery-order.ts +0 -32
  585. package/server/graphql/resolvers/delivery-order/submit-goods-delivery-note.ts +0 -43
  586. package/server/graphql/resolvers/delivery-order/update-delivery-order.ts +0 -25
  587. package/server/graphql/resolvers/goods-receival-note/delete-goods-receival-note.ts +0 -11
  588. package/server/graphql/resolvers/goods-receival-note/delete-goods-receival-notes.ts +0 -14
  589. package/server/graphql/resolvers/goods-receival-note/generate-goods-receival-note.ts +0 -58
  590. package/server/graphql/resolvers/goods-receival-note/goods-receival-note.ts +0 -16
  591. package/server/graphql/resolvers/goods-receival-note/goods-receival-notes.ts +0 -66
  592. package/server/graphql/resolvers/goods-receival-note/index.ts +0 -21
  593. package/server/graphql/resolvers/goods-receival-note/received-goods-receival-note.ts +0 -22
  594. package/server/graphql/resolvers/goods-receival-note/send-goods-receival-note.ts +0 -22
  595. package/server/graphql/resolvers/index.ts +0 -75
  596. package/server/graphql/resolvers/inventory-check/create-inventory-check.ts +0 -14
  597. package/server/graphql/resolvers/inventory-check/delete-inventory-check.ts +0 -10
  598. package/server/graphql/resolvers/inventory-check/delete-inventory-checks.ts +0 -13
  599. package/server/graphql/resolvers/inventory-check/generate-cycle-count.ts +0 -34
  600. package/server/graphql/resolvers/inventory-check/index.ts +0 -23
  601. package/server/graphql/resolvers/inventory-check/inventory-check.ts +0 -14
  602. package/server/graphql/resolvers/inventory-check/inventory-checks.ts +0 -14
  603. package/server/graphql/resolvers/inventory-check/update-inventory-check.ts +0 -19
  604. package/server/graphql/resolvers/inventory-check/update-multiple-inventory-check.ts +0 -45
  605. package/server/graphql/resolvers/invoice/create-invoice.ts +0 -17
  606. package/server/graphql/resolvers/invoice/delete-invoice.ts +0 -11
  607. package/server/graphql/resolvers/invoice/index.ts +0 -16
  608. package/server/graphql/resolvers/invoice/invoice.ts +0 -14
  609. package/server/graphql/resolvers/invoice/invoices.ts +0 -19
  610. package/server/graphql/resolvers/invoice/update-invoice.ts +0 -21
  611. package/server/graphql/resolvers/job-sheet/generate-job-sheet.ts +0 -49
  612. package/server/graphql/resolvers/job-sheet/index.ts +0 -15
  613. package/server/graphql/resolvers/job-sheet/job-sheet.ts +0 -27
  614. package/server/graphql/resolvers/job-sheet/job-sheets.ts +0 -58
  615. package/server/graphql/resolvers/job-sheet/update-job-sheet.ts +0 -39
  616. package/server/graphql/resolvers/order-inventory/delete-order-inventories.ts +0 -15
  617. package/server/graphql/resolvers/order-inventory/delete-order-inventory.ts +0 -12
  618. package/server/graphql/resolvers/order-inventory/index.ts +0 -19
  619. package/server/graphql/resolvers/order-inventory/inventories-by-order.ts +0 -72
  620. package/server/graphql/resolvers/order-inventory/merged-product-order-inventories.ts +0 -73
  621. package/server/graphql/resolvers/order-inventory/order-inventories.ts +0 -23
  622. package/server/graphql/resolvers/order-inventory/order-inventory.ts +0 -17
  623. package/server/graphql/resolvers/order-product/delete-order-product.ts +0 -12
  624. package/server/graphql/resolvers/order-product/delete-order-products.ts +0 -15
  625. package/server/graphql/resolvers/order-product/index.ts +0 -14
  626. package/server/graphql/resolvers/order-product/order-product.ts +0 -17
  627. package/server/graphql/resolvers/order-product/order-products.ts +0 -14
  628. package/server/graphql/resolvers/order-vas/index.ts +0 -9
  629. package/server/graphql/resolvers/order-vas/order-vas.ts +0 -27
  630. package/server/graphql/resolvers/order-vas/order-vass.ts +0 -24
  631. package/server/graphql/resolvers/others/bulk-upload-validate-order-products.ts +0 -108
  632. package/server/graphql/resolvers/others/bulk-upload-validate-warehouse-partners-products-quantity.ts +0 -155
  633. package/server/graphql/resolvers/others/index.ts +0 -11
  634. package/server/graphql/resolvers/others/inventory-product-group.ts +0 -46
  635. package/server/graphql/resolvers/purchase-order/approve-purchase-order.ts +0 -71
  636. package/server/graphql/resolvers/purchase-order/create-purchase-order.ts +0 -137
  637. package/server/graphql/resolvers/purchase-order/delete-purchase-order.ts +0 -11
  638. package/server/graphql/resolvers/purchase-order/index.ts +0 -25
  639. package/server/graphql/resolvers/purchase-order/purchase-order-product.ts +0 -58
  640. package/server/graphql/resolvers/purchase-order/purchase-order.ts +0 -44
  641. package/server/graphql/resolvers/purchase-order/purchase-orders.ts +0 -19
  642. package/server/graphql/resolvers/purchase-order/reject-purchase-order.ts +0 -35
  643. package/server/graphql/resolvers/purchase-order/update-purchase-order.ts +0 -121
  644. package/server/graphql/resolvers/purchase-order/upsert-purchase-order.ts +0 -51
  645. package/server/graphql/resolvers/purchase-order-other-charge/delete-purchase-order-charge.ts +0 -12
  646. package/server/graphql/resolvers/purchase-order-other-charge/delete-purchase-order-charges.ts +0 -15
  647. package/server/graphql/resolvers/purchase-order-other-charge/index.ts +0 -14
  648. package/server/graphql/resolvers/purchase-order-other-charge/purchase-order-other-charge.ts +0 -17
  649. package/server/graphql/resolvers/purchase-order-other-charge/purchase-order-other-charges.ts +0 -14
  650. package/server/graphql/resolvers/release-good/add-release-good.ts +0 -18
  651. package/server/graphql/resolvers/release-good/confirm-release-good.ts +0 -132
  652. package/server/graphql/resolvers/release-good/delete-release-good.ts +0 -97
  653. package/server/graphql/resolvers/release-good/delete-release-goods.ts +0 -13
  654. package/server/graphql/resolvers/release-good/generate-release-good.ts +0 -355
  655. package/server/graphql/resolvers/release-good/index.ts +0 -30
  656. package/server/graphql/resolvers/release-good/receive-release-good.ts +0 -98
  657. package/server/graphql/resolvers/release-good/reject-release-good.ts +0 -105
  658. package/server/graphql/resolvers/release-good/releasable-inventories.ts +0 -141
  659. package/server/graphql/resolvers/release-good/release-good-detail.ts +0 -192
  660. package/server/graphql/resolvers/release-good/release-good-requests.ts +0 -70
  661. package/server/graphql/resolvers/release-good/release-good.ts +0 -33
  662. package/server/graphql/resolvers/release-good/release-goods.ts +0 -58
  663. package/server/graphql/resolvers/retail-replenishment-order/add-retail-replenishment-order-products.ts +0 -64
  664. package/server/graphql/resolvers/retail-replenishment-order/cancel-retail-replenishment-order.ts +0 -44
  665. package/server/graphql/resolvers/retail-replenishment-order/complete-retail-replenishment-order.ts +0 -54
  666. package/server/graphql/resolvers/retail-replenishment-order/create-retail-replenishment-order.ts +0 -107
  667. package/server/graphql/resolvers/retail-replenishment-order/delete-retail-replenishment-order.ts +0 -11
  668. package/server/graphql/resolvers/retail-replenishment-order/delete-retail-replenishment-orders.ts +0 -14
  669. package/server/graphql/resolvers/retail-replenishment-order/index.ts +0 -27
  670. package/server/graphql/resolvers/retail-replenishment-order/retail-replenishment-order.ts +0 -16
  671. package/server/graphql/resolvers/retail-replenishment-order/retail-replenishment-orders.ts +0 -14
  672. package/server/graphql/resolvers/retail-replenishment-order/update-multiple-retail-replenishment-order.ts +0 -47
  673. package/server/graphql/resolvers/retail-replenishment-order/update-retail-replenishment-order-products.ts +0 -64
  674. package/server/graphql/resolvers/retail-replenishment-order/update-retail-replenishment-order.ts +0 -33
  675. package/server/graphql/resolvers/return-order/check-return-order.ts +0 -76
  676. package/server/graphql/resolvers/return-order/confirm-return-order.ts +0 -96
  677. package/server/graphql/resolvers/return-order/delete-return-order.ts +0 -57
  678. package/server/graphql/resolvers/return-order/delete-return-orders.ts +0 -15
  679. package/server/graphql/resolvers/return-order/generate-return-order.ts +0 -70
  680. package/server/graphql/resolvers/return-order/index.ts +0 -29
  681. package/server/graphql/resolvers/return-order/receive-return-order.ts +0 -80
  682. package/server/graphql/resolvers/return-order/reject-return-order.ts +0 -83
  683. package/server/graphql/resolvers/return-order/return-order-detail.ts +0 -68
  684. package/server/graphql/resolvers/return-order/return-order-requests.ts +0 -71
  685. package/server/graphql/resolvers/return-order/return-order.ts +0 -16
  686. package/server/graphql/resolvers/return-order/return-orders.ts +0 -56
  687. package/server/graphql/resolvers/shipping-order/create-shipping-order.ts +0 -17
  688. package/server/graphql/resolvers/shipping-order/delete-shipping-order.ts +0 -12
  689. package/server/graphql/resolvers/shipping-order/index.ts +0 -16
  690. package/server/graphql/resolvers/shipping-order/shipping-order.ts +0 -20
  691. package/server/graphql/resolvers/shipping-order/shipping-orders.ts +0 -21
  692. package/server/graphql/resolvers/shipping-order/update-shipping-order.ts +0 -25
  693. package/server/graphql/resolvers/transfer-order/add-tranfer-order-inventories.ts +0 -63
  694. package/server/graphql/resolvers/transfer-order/cancel-transfer-order.ts +0 -42
  695. package/server/graphql/resolvers/transfer-order/complete-transfer-order.ts +0 -56
  696. package/server/graphql/resolvers/transfer-order/create-transfer-order.ts +0 -50
  697. package/server/graphql/resolvers/transfer-order/delete-transfer-order.ts +0 -12
  698. package/server/graphql/resolvers/transfer-order/delete-transfer-orders.ts +0 -14
  699. package/server/graphql/resolvers/transfer-order/generate-transfer-order.ts +0 -80
  700. package/server/graphql/resolvers/transfer-order/index.ts +0 -25
  701. package/server/graphql/resolvers/transfer-order/transfer-order.ts +0 -23
  702. package/server/graphql/resolvers/transfer-order/transfer-orders.ts +0 -21
  703. package/server/graphql/resolvers/vas/create-vas.ts +0 -17
  704. package/server/graphql/resolvers/vas/delete-vas.ts +0 -10
  705. package/server/graphql/resolvers/vas/delete-vass.ts +0 -9
  706. package/server/graphql/resolvers/vas/index.ts +0 -20
  707. package/server/graphql/resolvers/vas/update-multiple-vas.ts +0 -47
  708. package/server/graphql/resolvers/vas/update-vas.ts +0 -18
  709. package/server/graphql/resolvers/vas/vas.ts +0 -17
  710. package/server/graphql/resolvers/vas/vass.ts +0 -18
  711. package/server/graphql/resolvers/vas-order/confirm-vas-order.ts +0 -77
  712. package/server/graphql/resolvers/vas-order/delete-vas-order.ts +0 -26
  713. package/server/graphql/resolvers/vas-order/delete-vas-orders.ts +0 -15
  714. package/server/graphql/resolvers/vas-order/generate-vas-order.ts +0 -59
  715. package/server/graphql/resolvers/vas-order/index.ts +0 -23
  716. package/server/graphql/resolvers/vas-order/reject-vas-order.ts +0 -76
  717. package/server/graphql/resolvers/vas-order/vas-order-requests.ts +0 -40
  718. package/server/graphql/resolvers/vas-order/vas-order.ts +0 -31
  719. package/server/graphql/resolvers/vas-order/vas-orders.ts +0 -29
  720. package/server/graphql/types/arrival-notice/arrival-notice-list.ts +0 -8
  721. package/server/graphql/types/arrival-notice/arrival-notice-patch.ts +0 -32
  722. package/server/graphql/types/arrival-notice/arrival-notice.ts +0 -40
  723. package/server/graphql/types/arrival-notice/index.ts +0 -62
  724. package/server/graphql/types/arrival-notice/new-arrival-notice.ts +0 -31
  725. package/server/graphql/types/claim/claim-list.ts +0 -8
  726. package/server/graphql/types/claim/claim-patch.ts +0 -26
  727. package/server/graphql/types/claim/claim.ts +0 -33
  728. package/server/graphql/types/claim/index.ts +0 -36
  729. package/server/graphql/types/claim/new-claim.ts +0 -22
  730. package/server/graphql/types/claim-detail/claim-detail-list.ts +0 -8
  731. package/server/graphql/types/claim-detail/claim-detail-patch.ts +0 -12
  732. package/server/graphql/types/claim-detail/claim-detail.ts +0 -16
  733. package/server/graphql/types/claim-detail/index.ts +0 -34
  734. package/server/graphql/types/claim-detail/new-claim-detail.ts +0 -10
  735. package/server/graphql/types/claim-order/claim-order-list.ts +0 -8
  736. package/server/graphql/types/claim-order/claim-order-patch.ts +0 -10
  737. package/server/graphql/types/claim-order/claim-order.ts +0 -14
  738. package/server/graphql/types/claim-order/index.ts +0 -34
  739. package/server/graphql/types/claim-order/new-claim-order.ts +0 -8
  740. package/server/graphql/types/collection-order/collection-order-list.ts +0 -8
  741. package/server/graphql/types/collection-order/collection-order-patch.ts +0 -25
  742. package/server/graphql/types/collection-order/collection-order.ts +0 -32
  743. package/server/graphql/types/collection-order/generate-collection-order.ts +0 -20
  744. package/server/graphql/types/collection-order/index.ts +0 -57
  745. package/server/graphql/types/collection-order/new-collection-order.ts +0 -21
  746. package/server/graphql/types/delivery-order/delivery-order-list.ts +0 -8
  747. package/server/graphql/types/delivery-order/delivery-order-patch.ts +0 -39
  748. package/server/graphql/types/delivery-order/delivery-order.ts +0 -39
  749. package/server/graphql/types/delivery-order/generate-delivery-order.ts +0 -22
  750. package/server/graphql/types/delivery-order/index.ts +0 -74
  751. package/server/graphql/types/delivery-order/new-delivery-order.ts +0 -34
  752. package/server/graphql/types/goods-receival-note/goods-receival-note-list.ts +0 -8
  753. package/server/graphql/types/goods-receival-note/goods-receival-note-patch.ts +0 -13
  754. package/server/graphql/types/goods-receival-note/goods-receival-note.ts +0 -20
  755. package/server/graphql/types/goods-receival-note/index.ts +0 -39
  756. package/server/graphql/types/goods-receival-note/new-goods-receival-note.ts +0 -12
  757. package/server/graphql/types/index.ts +0 -100
  758. package/server/graphql/types/inventory-check/index.ts +0 -39
  759. package/server/graphql/types/inventory-check/inventory-check-list.ts +0 -8
  760. package/server/graphql/types/inventory-check/inventory-check-patch.ts +0 -10
  761. package/server/graphql/types/inventory-check/inventory-check.ts +0 -19
  762. package/server/graphql/types/inventory-check/new-inventory-check.ts +0 -12
  763. package/server/graphql/types/invoice/index.ts +0 -26
  764. package/server/graphql/types/invoice/invoice-list.ts +0 -8
  765. package/server/graphql/types/invoice/invoice-patch.ts +0 -14
  766. package/server/graphql/types/invoice/invoice.ts +0 -20
  767. package/server/graphql/types/invoice/new-invoice.ts +0 -14
  768. package/server/graphql/types/job-sheet/index.ts +0 -32
  769. package/server/graphql/types/job-sheet/job-sheet-list.ts +0 -8
  770. package/server/graphql/types/job-sheet/job-sheet-patch.ts +0 -15
  771. package/server/graphql/types/job-sheet/job-sheet.ts +0 -25
  772. package/server/graphql/types/job-sheet/new-job-sheet.ts +0 -15
  773. package/server/graphql/types/order-inventory/index.ts +0 -23
  774. package/server/graphql/types/order-inventory/new-order-inventory.ts +0 -35
  775. package/server/graphql/types/order-inventory/order-inventory-list.ts +0 -8
  776. package/server/graphql/types/order-inventory/order-inventory-patch.ts +0 -41
  777. package/server/graphql/types/order-inventory/order-inventory.ts +0 -63
  778. package/server/graphql/types/order-product/inbound-product.ts +0 -15
  779. package/server/graphql/types/order-product/index.ts +0 -22
  780. package/server/graphql/types/order-product/new-order-product.ts +0 -52
  781. package/server/graphql/types/order-product/order-product-list.ts +0 -8
  782. package/server/graphql/types/order-product/order-product-patch.ts +0 -53
  783. package/server/graphql/types/order-product/order-product.ts +0 -63
  784. package/server/graphql/types/order-vas/index.ts +0 -13
  785. package/server/graphql/types/order-vas/new-order-vas.ts +0 -29
  786. package/server/graphql/types/order-vas/order-vas-list.ts +0 -8
  787. package/server/graphql/types/order-vas/order-vas-patch.ts +0 -30
  788. package/server/graphql/types/order-vas/order-vas.ts +0 -35
  789. package/server/graphql/types/others/index.ts +0 -10
  790. package/server/graphql/types/others/inventory-product-group-list.ts +0 -8
  791. package/server/graphql/types/others/inventory-product-group.ts +0 -19
  792. package/server/graphql/types/purchase-order/index.ts +0 -42
  793. package/server/graphql/types/purchase-order/new-purchase-order.ts +0 -28
  794. package/server/graphql/types/purchase-order/purchase-order-list.ts +0 -8
  795. package/server/graphql/types/purchase-order/purchase-order-patch.ts +0 -29
  796. package/server/graphql/types/purchase-order/purchase-order.ts +0 -35
  797. package/server/graphql/types/purchase-order-other-charge/index.ts +0 -24
  798. package/server/graphql/types/purchase-order-other-charge/new-purchase-order-other-charge.ts +0 -9
  799. package/server/graphql/types/purchase-order-other-charge/purchase-order-other-charge-list.ts +0 -8
  800. package/server/graphql/types/purchase-order-other-charge/purchase-order-other-charge-patch.ts +0 -12
  801. package/server/graphql/types/purchase-order-other-charge/purchase-order-other-charge.ts +0 -16
  802. package/server/graphql/types/release-good/index.ts +0 -84
  803. package/server/graphql/types/release-good/inventory-infos.ts +0 -29
  804. package/server/graphql/types/release-good/new-release-good.ts +0 -51
  805. package/server/graphql/types/release-good/releasable-inventory-list.ts +0 -8
  806. package/server/graphql/types/release-good/releasable-inventory.ts +0 -13
  807. package/server/graphql/types/release-good/release-good-detail.ts +0 -59
  808. package/server/graphql/types/release-good/release-good-list.ts +0 -8
  809. package/server/graphql/types/release-good/release-good-patch.ts +0 -51
  810. package/server/graphql/types/release-good/release-good.ts +0 -58
  811. package/server/graphql/types/release-good/shipping-order-info.ts +0 -12
  812. package/server/graphql/types/retail-replenishment-order/index.ts +0 -54
  813. package/server/graphql/types/retail-replenishment-order/new-retail-replenishment-order.ts +0 -19
  814. package/server/graphql/types/retail-replenishment-order/retail-replenishment-order-list.ts +0 -8
  815. package/server/graphql/types/retail-replenishment-order/retail-replenishment-order-patch.ts +0 -21
  816. package/server/graphql/types/retail-replenishment-order/retail-replenishment-order.ts +0 -24
  817. package/server/graphql/types/return-order/index.ts +0 -54
  818. package/server/graphql/types/return-order/new-return-order.ts +0 -21
  819. package/server/graphql/types/return-order/return-order-detail.ts +0 -28
  820. package/server/graphql/types/return-order/return-order-list.ts +0 -8
  821. package/server/graphql/types/return-order/return-order-patch.ts +0 -21
  822. package/server/graphql/types/return-order/return-order.ts +0 -29
  823. package/server/graphql/types/shipping-order/index.ts +0 -26
  824. package/server/graphql/types/shipping-order/new-shipping-order.ts +0 -15
  825. package/server/graphql/types/shipping-order/shipping-order-list.ts +0 -8
  826. package/server/graphql/types/shipping-order/shipping-order-patch.ts +0 -16
  827. package/server/graphql/types/shipping-order/shipping-order.ts +0 -23
  828. package/server/graphql/types/transfer-order/index.ts +0 -42
  829. package/server/graphql/types/transfer-order/new-transfer-order.ts +0 -18
  830. package/server/graphql/types/transfer-order/transfer-order-list.ts +0 -8
  831. package/server/graphql/types/transfer-order/transfer-order-patch.ts +0 -20
  832. package/server/graphql/types/transfer-order/transfer-order.ts +0 -25
  833. package/server/graphql/types/vas/index.ts +0 -34
  834. package/server/graphql/types/vas/new-vas.ts +0 -14
  835. package/server/graphql/types/vas/vas-list.ts +0 -8
  836. package/server/graphql/types/vas/vas-patch.ts +0 -16
  837. package/server/graphql/types/vas/vas.ts +0 -20
  838. package/server/graphql/types/vas-order/index.ts +0 -39
  839. package/server/graphql/types/vas-order/new-vas-order.ts +0 -11
  840. package/server/graphql/types/vas-order/vas-order-list.ts +0 -8
  841. package/server/graphql/types/vas-order/vas-order-patch.ts +0 -11
  842. package/server/graphql/types/vas-order/vas-order.ts +0 -18
@@ -0,0 +1,861 @@
1
+ import { FileUpload, GraphQLUpload } from 'graphql-upload'
2
+ import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
3
+ import { EntityManager, getRepository, In, Not, Repository } from 'typeorm'
4
+
5
+ import { Attachment, createAttachments } from '@things-factory/attachment-base'
6
+ import { Partner, Role, User } from '@things-factory/auth-base'
7
+ import {
8
+ Bizplace,
9
+ getDomainUsers,
10
+ getMyBizplace,
11
+ getOutletBizplace,
12
+ getPermittedBizplaces
13
+ } from '@things-factory/biz-base'
14
+ import { generateId } from '@things-factory/id-rule-base'
15
+ import { MarketplaceStore } from '@things-factory/integration-marketplace'
16
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
17
+ import { sendNotification } from '@things-factory/notification'
18
+ import { Product, ProductBundleSetting } from '@things-factory/product-base'
19
+ import { PartnerSetting, Setting } from '@things-factory/setting-base'
20
+ import { Domain } from '@things-factory/shell'
21
+ import { Inventory } from '@things-factory/warehouse-base'
22
+
23
+ import {
24
+ ArrivalNotice,
25
+ NewReleaseGood,
26
+ OrderInventory,
27
+ OrderProduct,
28
+ OrderVas,
29
+ ReleaseGoodPatch,
30
+ ShippingOrder,
31
+ ShippingOrderPatch,
32
+ Vas
33
+ } from '../'
34
+ import {
35
+ ATTACHMENT_TYPE,
36
+ ORDER_INVENTORY_STATUS,
37
+ ORDER_NUMBER_RULE_TYPE,
38
+ ORDER_NUMBER_SETTING_KEY,
39
+ ORDER_PRODUCT_STATUS,
40
+ ORDER_STATUS,
41
+ ORDER_TYPES,
42
+ ORDER_VAS_STATUS,
43
+ PRODUCT_GROUP_TYPE
44
+ } from '../../constants'
45
+ import { EcommerceController, SellercraftController } from '../../controllers'
46
+ import { InventoryUtil, OrderNoGenerator } from '../../utils'
47
+ import { confirmArrivalNoticeFunction, deleteArrivalNotice } from '../arrival-notice/arrival-notice-mutation'
48
+ import { ReleaseGood } from './release-good'
49
+
50
+ @Resolver(ReleaseGood)
51
+ export class ReleaseGoodMutation {
52
+ @Directive('@privilege(category: "order_customer", privilege: "mutation")')
53
+ @Directive('@transaction')
54
+ @Mutation(returns => Boolean)
55
+ async deleteReleaseGood(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {
56
+ const { tx, user, domain }: { tx: EntityManager; user: User; domain: Domain } = context.state
57
+ return await deleteReleaseGood(tx, name, user, domain)
58
+ }
59
+
60
+ @Directive('@privilege(category: "order_customer", privilege: "mutation")')
61
+ @Directive('@transaction')
62
+ @Mutation(returns => Boolean)
63
+ async deleteReleaseGoods(@Arg('names', type => [String]) names: string[], @Ctx() context: any): Promise<Boolean> {
64
+ const { tx }: { tx: EntityManager } = context.state
65
+ await tx.getRepository(ReleaseGood).delete({
66
+ domain: context.state.domain,
67
+ name: In(names)
68
+ })
69
+ return true
70
+ }
71
+
72
+ @Directive('@privilege(category: "order_customer", privilege: "mutation")')
73
+ @Directive('@transaction')
74
+ @Mutation(returns => ReleaseGood)
75
+ async generateReleaseGood(
76
+ @Ctx() context: any,
77
+ @Arg('attachments', type => [GraphQLUpload], { nullable: true }) attachments?: FileUpload[],
78
+ @Arg('releaseGood', type => NewReleaseGood, { nullable: true }) releaseGood?: NewReleaseGood,
79
+ @Arg('shippingOrder', type => ShippingOrderPatch, { nullable: true }) shippingOrder?: ShippingOrderPatch
80
+ ): Promise<ReleaseGood> {
81
+ const { tx }: { tx: EntityManager } = context.state
82
+ const createdReleaseGood: ReleaseGood = await generateReleaseGoodFunction(
83
+ null,
84
+ releaseGood,
85
+ shippingOrder,
86
+ attachments,
87
+ context,
88
+ tx
89
+ )
90
+
91
+ return createdReleaseGood
92
+ }
93
+
94
+ @Directive('@privilege(category: "order_customer", privilege: "mutation")')
95
+ @Directive('@transaction')
96
+ @Mutation(returns => ReleaseGood)
97
+ async confirmReleaseGood(@Arg('name') name: string, @Ctx() context: any): Promise<ReleaseGood> {
98
+ const { tx }: { tx: EntityManager } = context.state
99
+ const releaseGood: ReleaseGood = await confirmReleaseGood(name, context, tx)
100
+
101
+ // If current RO has cross docking
102
+ if (releaseGood.crossDocking) {
103
+ const { arrivalNotice } = await tx.getRepository(ReleaseGood).findOne(releaseGood.id, {
104
+ relations: ['arrivalNotice']
105
+ })
106
+
107
+ // If status of related GAN is not equal to PENDING_RECEIVE (i.e. Wasn't confirmed yet.)
108
+ if (arrivalNotice.status !== ORDER_STATUS.PENDING_RECEIVE) {
109
+ await confirmArrivalNoticeFunction(arrivalNotice.name, context, tx)
110
+ }
111
+ }
112
+
113
+ return releaseGood
114
+ }
115
+
116
+ @Directive('@privilege(category: "order_customer", privilege: "mutation")')
117
+ @Directive('@transaction')
118
+ @Mutation(returns => ReleaseGood)
119
+ async receiveReleaseGood(@Arg('name') name: string, @Ctx() context: any): Promise<ReleaseGood> {
120
+ const { tx }: { tx: EntityManager } = context.state
121
+ const releaseGood: ReleaseGood = await receiveReleaseGood(name, context, tx)
122
+ return releaseGood
123
+ }
124
+
125
+ @Directive('@privilege(category: "order_warehouse", privilege: "mutation")')
126
+ @Directive('@transaction')
127
+ @Mutation(returns => ReleaseGood)
128
+ async rejectReleaseGood(
129
+ @Arg('name') name: string,
130
+ @Arg('patch', type => ReleaseGoodPatch) patch: ReleaseGoodPatch,
131
+ @Ctx() context: any
132
+ ): Promise<ReleaseGood> {
133
+ const { tx }: { tx: EntityManager } = context.state
134
+
135
+ return await rejectReleaseGood(tx, context, name, patch.remark)
136
+ }
137
+
138
+ @Directive('@transaction')
139
+ @Mutation(returns => ReleaseGood)
140
+ async addReleaseGood(
141
+ @Ctx() context: any,
142
+ @Arg('releaseGood', type => NewReleaseGood, { nullable: true }) releaseGood: NewReleaseGood,
143
+ @Arg('shippingOrder', type => ShippingOrderPatch, { nullable: true }) shippingOrder: ShippingOrderPatch,
144
+ @Arg('file', type => GraphQLUpload, { nullable: true }) file: FileUpload
145
+ ): Promise<ReleaseGood> {
146
+ const { tx }: { tx: EntityManager } = context.state
147
+ const createdRO: ReleaseGood = await generateReleaseGoodFunction(
148
+ null,
149
+ releaseGood,
150
+ shippingOrder,
151
+ file,
152
+ context,
153
+ tx
154
+ )
155
+
156
+ const confirmedRO: ReleaseGood = await confirmReleaseGood(createdRO.name, context, tx)
157
+
158
+ const receivedRO: ReleaseGood = await receiveReleaseGood(confirmedRO.name, context, tx)
159
+
160
+ return receivedRO
161
+ }
162
+ }
163
+
164
+ export async function deleteReleaseGood(tx: EntityManager, name: string, user: User, domain: Domain): Promise<boolean> {
165
+ let foundReleaseOrder: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
166
+ where: { domain, name },
167
+ relations: [
168
+ 'arrivalNotice',
169
+ 'orderInventories',
170
+ 'orderInventories.orderProduct',
171
+ 'orderInventories.inventory',
172
+ 'orderVass',
173
+ 'shippingOrder',
174
+ 'creator',
175
+ 'updater'
176
+ ]
177
+ })
178
+
179
+ if (!foundReleaseOrder) throw new Error(`Arrival notice doesn't exists.`)
180
+ const foundOIs: OrderInventory[] = foundReleaseOrder.orderInventories
181
+ const foundOVs: OrderVas[] = foundReleaseOrder.orderVass
182
+ const foundSO: ShippingOrder = foundReleaseOrder.shippingOrder
183
+
184
+ let foundAttachment: Attachment
185
+ if (foundReleaseOrder?.ownTransport) {
186
+ foundAttachment = await tx.getRepository(Attachment).findOne({
187
+ where: {
188
+ domain,
189
+ refBy: foundReleaseOrder.id,
190
+ category: ATTACHMENT_TYPE.DELIVERY_ORDER
191
+ }
192
+ })
193
+ }
194
+
195
+ // Delete order inventories by ids
196
+ await Promise.all(
197
+ foundOIs.map(async (oi: OrderInventory) => {
198
+ if (oi?.inventory?.id) {
199
+ oi.inventory = await tx.getRepository(Inventory).findOne(oi.inventory.id)
200
+
201
+ await tx.getRepository(Inventory).save({
202
+ ...oi.inventory,
203
+ lockedQty: oi.inventory.lockedQty - oi.releaseQty,
204
+ lockedUomValue: oi.inventory.lockedUomValue - oi.releaseUomValue,
205
+ updater: user
206
+ })
207
+ }
208
+
209
+ await tx.getRepository(OrderInventory).delete({ id: oi.id })
210
+
211
+ if (oi?.orderProduct?.id) {
212
+ await tx.getRepository(OrderProduct).delete({ id: oi.orderProduct.id })
213
+ }
214
+
215
+ return oi
216
+ })
217
+ )
218
+
219
+ // 2. delete order vass
220
+ const vasIds = foundOVs.map((vas: OrderVas) => vas.id)
221
+ if (vasIds.length) {
222
+ await tx.getRepository(OrderVas).delete({ id: In(vasIds) })
223
+ }
224
+
225
+ // 4. if there is SO, delete SO
226
+ if (foundSO) {
227
+ await tx.getRepository(ShippingOrder).delete({ domain, id: foundSO.id })
228
+ }
229
+
230
+ if (foundAttachment) {
231
+ await tx.getRepository(Attachment).delete({ domain, id: foundAttachment.id })
232
+ }
233
+
234
+ // 5. Remove relation with GAN if it's cross docking
235
+ if (foundReleaseOrder.crossDocking && foundReleaseOrder.arrivalNotice?.id) {
236
+ let arrivalNotice: ArrivalNotice = foundReleaseOrder.arrivalNotice
237
+ arrivalNotice.releaseGood = null
238
+ arrivalNotice = await tx.getRepository(ArrivalNotice).save(arrivalNotice)
239
+
240
+ await tx.getRepository(ReleaseGood).delete({ domain, name })
241
+ await deleteArrivalNotice(tx, arrivalNotice.name, user, domain)
242
+ } else {
243
+ await tx.getRepository(ReleaseGood).delete({ domain, name })
244
+ }
245
+ return true
246
+ }
247
+
248
+ export async function generateReleaseGoodFunction(
249
+ _: any,
250
+ releaseGood: any,
251
+ shippingOrder: any,
252
+ attachments: FileUpload[],
253
+ context: any,
254
+ tx?: EntityManager
255
+ ): Promise<ReleaseGood> {
256
+ try {
257
+ const { domain, user }: { domain: Domain; user: User } = context.state
258
+ const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)
259
+
260
+ // let orderInventories: OrderInventory[] = releaseGood.orderInventories
261
+ // let orderVass: OrderVas[] = releaseGood.orderVass
262
+
263
+ let { orderInventories, orderVass }: { orderInventories: OrderInventory[]; orderVass: OrderVas[] } = releaseGood
264
+
265
+ let bizplace: Bizplace
266
+ let warehouseDomain: Domain = domain
267
+
268
+ /** Validate user permitted Bizplace */
269
+ if (releaseGood.warehouseId) {
270
+ bizplace = await getOutletBizplace(releaseGood.warehouseId)
271
+ } else if (releaseGood.customerBizplaceId) {
272
+ const permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)
273
+ let foundPermittedBizplace: Bizplace = permittedBizplaces.find(biz => biz.id == releaseGood.customerBizplaceId)
274
+
275
+ if (!foundPermittedBizplace) throw new Error(`This user does not permitted for this company`)
276
+
277
+ bizplace = await tx.getRepository(Bizplace).findOne({
278
+ where: {
279
+ id: releaseGood.customerBizplaceId
280
+ },
281
+ relations: ['domain']
282
+ })
283
+ const customerPartner: Partner = await tx
284
+ .getRepository(Partner)
285
+ .findOne({ where: { partnerDomain: bizplace.domain, domain }, relations: ['domain'] })
286
+ warehouseDomain = customerPartner.domain
287
+ } else if (releaseGood.partnerBizplaceId) {
288
+ const permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)
289
+ let foundPermittedBizplace: Bizplace = permittedBizplaces.find(biz => biz.id == releaseGood.partnerBizplaceId)
290
+
291
+ if (!foundPermittedBizplace) throw new Error(`This user does not permitted for this company`)
292
+
293
+ bizplace = await tx.getRepository(Bizplace).findOne({
294
+ where: {
295
+ id: releaseGood.partnerBizplaceId
296
+ },
297
+ relations: ['domain']
298
+ })
299
+ warehouseDomain = domain
300
+ } else {
301
+ bizplace = await getMyBizplace(domain, user)
302
+ }
303
+ /** End Validate user permitted Bizplace Section */
304
+
305
+ /** Validate Release Order Product Quantity */
306
+ await InventoryUtil.validateWarehousePartnersProductsQuantity(domain, bizplace, orderInventories, context, tx)
307
+ /** End Validate Release Order Product Quantity Section */
308
+
309
+ if (releaseGood.type == 'b2c') {
310
+ const sellercraft: Sellercraft = await tx
311
+ .getRepository(Sellercraft)
312
+ .findOne({ domain: bizplace.domain, status: SellercraftStatus.ACTIVE })
313
+
314
+ if (sellercraft) {
315
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
316
+ await sellercraftCtrl.checkExistingReleaseGood(sellercraft, releaseGood)
317
+ } else {
318
+ const refNo: string = releaseGood.refNo
319
+ const foundReleaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
320
+ where: {
321
+ domain: warehouseDomain,
322
+ refNo,
323
+ status: Not(In([ORDER_STATUS.CANCELLED, ORDER_STATUS.PENDING_CANCEL]))
324
+ }
325
+ })
326
+
327
+ if (foundReleaseGood) throw new Error('Existing release order found')
328
+ }
329
+ }
330
+
331
+ let newReleaseGood: ReleaseGood = new ReleaseGood()
332
+
333
+ /** Generate Shipping Order */
334
+ if (shippingOrder) {
335
+ const createdSO: ShippingOrder = await tx.getRepository(ShippingOrder).save({
336
+ ...shippingOrder,
337
+ name: OrderNoGenerator.shippingOrder(),
338
+ domain,
339
+ bizplace,
340
+ status: ORDER_STATUS.PENDING,
341
+ creator: user,
342
+ updater: user
343
+ })
344
+
345
+ newReleaseGood.shippingOrder = createdSO
346
+ }
347
+ /** End Generate Shipping Order Section */
348
+
349
+ // find RO number rule setting
350
+ const roNoSetting: Setting = await settingRepo.findOne({
351
+ where: {
352
+ domain,
353
+ name: ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
354
+ }
355
+ })
356
+
357
+ newReleaseGood = {
358
+ ...newReleaseGood,
359
+ name: roNoSetting
360
+ ? await generateId({ domain, type: ORDER_NUMBER_RULE_TYPE.RO_NUMBER, seed: {} })
361
+ : OrderNoGenerator.releaseGood(),
362
+ domain: warehouseDomain,
363
+ bizplace: bizplace,
364
+ collectionOrderNo: releaseGood.collectionOrderNo,
365
+ courierOption: releaseGood.courierOption,
366
+ exportOption: releaseGood.exportOption,
367
+ ownTransport: releaseGood.ownTransport,
368
+ packingOption: releaseGood.packingOption,
369
+ marketplaceOrderStatus: releaseGood?.marketplaceOrderStatus || null,
370
+ billingAddress: releaseGood?.billingAddress || null,
371
+ deliveryAddress1: releaseGood?.deliveryAddress1 || null,
372
+ deliveryAddress2: releaseGood?.deliveryAddress2 || null,
373
+ deliveryAddress3: releaseGood?.deliveryAddress3 || null,
374
+ deliveryAddress4: releaseGood?.deliveryAddress4 || null,
375
+ deliveryAddress5: releaseGood?.deliveryAddress5 || null,
376
+ attentionTo: releaseGood?.attentionTo || null,
377
+ attentionCompany: releaseGood?.attentionCompany || null,
378
+ city: releaseGood?.city || null,
379
+ state: releaseGood?.state || null,
380
+ postalCode: releaseGood?.postalCode || null,
381
+ country: releaseGood?.country || null,
382
+ phone1: releaseGood?.phone1 || null,
383
+ phone2: releaseGood?.phone2 || null,
384
+ email: releaseGood?.email || null,
385
+ transporter: releaseGood?.transporter,
386
+ trackingNo: releaseGood?.trackingNo,
387
+ airwayBill: releaseGood?.airwayBill,
388
+ invoice: releaseGood?.invoice,
389
+ refNo: releaseGood.refNo,
390
+ refNo2: releaseGood.refNo2,
391
+ refNo3: releaseGood.refNo3,
392
+ releaseDate: releaseGood.releaseDate,
393
+ truckNo: releaseGood.truckNo,
394
+ orderInventories: releaseGood.orderInventories,
395
+ type: releaseGood?.type ? releaseGood.type : 'b2b',
396
+ status: ORDER_STATUS.PENDING,
397
+ creator: user,
398
+ updater: user
399
+ }
400
+
401
+ // Make relation with GAN for cross docking
402
+ let crossDockingGAN: ArrivalNotice = undefined
403
+ if (releaseGood.crossDocking && releaseGood.ganNo) {
404
+ crossDockingGAN = await tx.getRepository(ArrivalNotice).findOne({
405
+ where: { domain, bizplace, name: releaseGood.ganNo, status: ORDER_STATUS.PENDING }
406
+ })
407
+ if (!crossDockingGAN) throw new Error(`Failed to find GAN (${releaseGood.ganNo}) for cross docking`)
408
+
409
+ newReleaseGood.arrivalNotice = crossDockingGAN
410
+ }
411
+
412
+ newReleaseGood = await tx.getRepository(ReleaseGood).save(newReleaseGood)
413
+
414
+ // Make relation with RO for cross docking
415
+ if (newReleaseGood.crossDocking) {
416
+ crossDockingGAN.releaseGood = newReleaseGood
417
+ await tx.getRepository(ArrivalNotice).save(crossDockingGAN)
418
+ }
419
+
420
+ // Check if there is bundle item in orderInventories
421
+ const bundledOIs: OrderInventory[] = orderInventories.filter(
422
+ oi => oi.product.groupType === PRODUCT_GROUP_TYPE.BUNDLE
423
+ )
424
+
425
+ const singleProductOIs: OrderInventory[] = orderInventories.filter(
426
+ oi => oi.product.groupType !== PRODUCT_GROUP_TYPE.BUNDLE
427
+ )
428
+
429
+ const splitBundleOIs: OrderInventory[] = []
430
+
431
+ // If there is bundle item, split each item in that bundle into into each product
432
+ if (bundledOIs && bundledOIs.length > 0) {
433
+ await Promise.all(
434
+ bundledOIs.map(async (oi: OrderInventory) => {
435
+ let splitOI: OrderInventory = null
436
+
437
+ const pbSettings: ProductBundleSetting[] = await tx.getRepository(ProductBundleSetting).find({
438
+ where: { productBundle: oi.product.id },
439
+ relations: ['product', 'productBundle']
440
+ })
441
+
442
+ pbSettings.forEach(pbs => {
443
+ splitOI = {
444
+ ...oi,
445
+ releaseQty: oi.releaseQty * pbs.bundleQty,
446
+ releaseUomValue: oi.releaseUomValue * pbs.bundleQty * pbs.product.primaryValue,
447
+ packingType: pbs.product.packingType,
448
+ batchId: '',
449
+ product: {
450
+ id: pbs.product.id,
451
+ name: pbs.product.name,
452
+ groupType: PRODUCT_GROUP_TYPE.SINGLE
453
+ }
454
+ }
455
+ splitBundleOIs.push(splitOI)
456
+ })
457
+ })
458
+ )
459
+ }
460
+
461
+ orderInventories = [...singleProductOIs, ...splitBundleOIs]
462
+
463
+ for (let oi of orderInventories) {
464
+ let newOrderInv: OrderInventory = Object.assign({}, oi)
465
+ newOrderInv = {
466
+ ...newOrderInv,
467
+ domain: warehouseDomain,
468
+ bizplace: bizplace,
469
+ status: ORDER_INVENTORY_STATUS.PENDING,
470
+ name: OrderNoGenerator.orderInventory(),
471
+ releaseGood: newReleaseGood,
472
+ product: await tx.getRepository(Product).findOne(oi.product.id),
473
+ creator: user,
474
+ updater: user
475
+ }
476
+
477
+ if (newOrderInv.inventory?.id) {
478
+ const foundInv: Inventory = await tx.getRepository(Inventory).findOne(newOrderInv.inventory.id)
479
+ newOrderInv.inventory = foundInv
480
+
481
+ foundInv.lockedQty = Number(foundInv.lockedQty) + newOrderInv.releaseQty
482
+ foundInv.lockedUomValue = Number(foundInv.lockedUomValue) + newOrderInv.releaseUomValue
483
+ foundInv.updater = user
484
+
485
+ await tx.getRepository(Inventory).save(foundInv)
486
+ }
487
+
488
+ let newOrderProduct: OrderProduct = Object.assign(new OrderProduct(), newOrderInv)
489
+ newOrderProduct = {
490
+ ...newOrderProduct,
491
+ packQty: 0,
492
+ actualPackQty: 0,
493
+ palletQty: 0,
494
+ actualPalletQty: 0,
495
+ status: newOrderInv.inventory?.id ? ORDER_PRODUCT_STATUS.ASSIGNED : ORDER_PRODUCT_STATUS.PENDING_ASSIGN
496
+ }
497
+
498
+ newOrderProduct = await tx.getRepository(OrderProduct).save(newOrderProduct)
499
+
500
+ await tx.getRepository(OrderInventory).save({ ...newOrderInv, orderProduct: newOrderProduct })
501
+ }
502
+
503
+ if (orderVass?.length) {
504
+ orderVass = await Promise.all(
505
+ orderVass.map(async orderVas => {
506
+ if (orderVas?.targetProduct?.id) {
507
+ orderVas.targetProduct = await tx.getRepository(Product).findOne(orderVas.targetProduct.id)
508
+ }
509
+
510
+ let newOrderVas: OrderVas = {
511
+ ...orderVas,
512
+ domain: warehouseDomain,
513
+ bizplace,
514
+ name: OrderNoGenerator.releaseVas(),
515
+ vas: await tx.getRepository(Vas).findOne(orderVas.vas.id),
516
+ type: ORDER_TYPES.RELEASE_OF_GOODS,
517
+ releaseGood: newReleaseGood,
518
+ status: ORDER_VAS_STATUS.PENDING,
519
+ creator: user,
520
+ updater: user
521
+ }
522
+
523
+ if (orderVas?.inventory?.id) {
524
+ newOrderVas.inventory = await tx.getRepository(Inventory).findOne(orderVas.inventory.id)
525
+ }
526
+
527
+ return newOrderVas
528
+ })
529
+ )
530
+
531
+ await tx.getRepository(OrderVas).save(orderVass)
532
+ }
533
+
534
+ if (attachments?.length > 0) {
535
+ const files: Attachment[] = attachments.map(attachment => {
536
+ return {
537
+ file: attachment,
538
+ refBy: newReleaseGood.id,
539
+ category: ATTACHMENT_TYPE.DELIVERY_ORDER
540
+ }
541
+ })
542
+ await createAttachments(_, { attachments: files }, context)
543
+ }
544
+
545
+ const directReceiveSetting: Setting = await tx.getRepository(Setting).findOne({
546
+ where: { domain, category: 'id-rule', name: 'enable-direct-receive-release-order' }
547
+ })
548
+
549
+ const partnerDirectReceiveSetting: PartnerSetting = await tx.getRepository(PartnerSetting).findOne({
550
+ where: { setting: directReceiveSetting, domain, partnerDomain: bizplace?.domain }
551
+ })
552
+
553
+ // If status of create RO is PENDING then directly CONFIRM -> RECEIVE
554
+ if (
555
+ !isNaN(partnerDirectReceiveSetting?.value) &&
556
+ !isNaN(parseFloat(partnerDirectReceiveSetting?.value)) &&
557
+ newReleaseGood.status === ORDER_STATUS.PENDING
558
+ ) {
559
+ let partnerDirectReceiveSettingValue = parseFloat(partnerDirectReceiveSetting.value)
560
+
561
+ // CONFIRM if setting value is > 0
562
+ if (partnerDirectReceiveSettingValue > 0) await confirmReleaseGood(newReleaseGood.name, context, tx)
563
+
564
+ // RECEIVE if setting value is > 1
565
+ if (partnerDirectReceiveSettingValue > 1) await receiveReleaseGood(newReleaseGood.name, context, tx)
566
+ }
567
+
568
+ return newReleaseGood
569
+ } catch (error) {
570
+ throw error
571
+ }
572
+ }
573
+
574
+ export async function confirmReleaseGood(name: string, context: any, tx?: EntityManager): Promise<ReleaseGood> {
575
+ const { user, domain }: { user: User; domain: Domain } = context.state
576
+
577
+ let foundReleaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
578
+ where: { name, status: ORDER_STATUS.PENDING },
579
+ relations: [
580
+ 'domain',
581
+ 'bizplace',
582
+ 'bizplace.domain',
583
+ 'bizplace.company',
584
+ 'bizplace.company.domain',
585
+ 'orderProducts',
586
+ 'orderProducts.product',
587
+ 'orderInventories',
588
+ 'orderInventories.product',
589
+ 'orderVass'
590
+ ]
591
+ })
592
+
593
+ if (!foundReleaseGood) throw new Error(`Release good order doesn't exists.`)
594
+ let foundOIs: OrderInventory[] = foundReleaseGood.orderInventories
595
+ let foundOVs: OrderVas[] = foundReleaseGood.orderVass
596
+ let customerBizplace: Bizplace = foundReleaseGood.bizplace
597
+ const companyDomain: Domain = customerBizplace?.company.domain
598
+
599
+ if (foundReleaseGood.type == 'b2c') {
600
+ const sellercraft: Sellercraft = await tx
601
+ .getRepository(Sellercraft)
602
+ .findOne({ domain: foundReleaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
603
+
604
+ if (sellercraft) {
605
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
606
+ foundReleaseGood = await sellercraftCtrl.packOrder(sellercraft, foundReleaseGood)
607
+ } else {
608
+ // find for any existing marketplace store connections
609
+ const marketplaceStores: MarketplaceStore[] = await tx.getRepository(MarketplaceStore).find({
610
+ where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
611
+ relations: ['marketplaceDistributors']
612
+ })
613
+
614
+ if (marketplaceStores?.length && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
615
+ let productIds: string[] = foundOIs.map(oi => oi.product.id)
616
+ productIds = Array.from(new Set([...productIds]))
617
+ const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
618
+ await ecommerceCtrl.updateProductVariationStock(marketplaceStores, productIds, companyDomain)
619
+ }
620
+ }
621
+ }
622
+
623
+ // 1. RO Status change (PENDING => PENDING_RECEIVE)
624
+ const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).save({
625
+ ...foundReleaseGood,
626
+ status: ORDER_STATUS.PENDING_RECEIVE,
627
+ updater: user
628
+ })
629
+
630
+ // 1. Update status of order inventories
631
+ foundOIs = foundOIs.map((orderInventory: OrderInventory) => {
632
+ return {
633
+ ...orderInventory,
634
+ status: ORDER_INVENTORY_STATUS.PENDING_RECEIVE,
635
+ updater: user
636
+ }
637
+ })
638
+ await tx.getRepository(OrderInventory).save(foundOIs)
639
+
640
+ // 2. Update status of order vass
641
+ if (foundOVs && foundOVs.length) {
642
+ foundOVs = foundOVs.map((orderVas: OrderVas) => {
643
+ return {
644
+ ...orderVas,
645
+ status: ORDER_VAS_STATUS.PENDING_RECEIVE,
646
+ updater: user
647
+ }
648
+ })
649
+ await tx.getRepository(OrderVas).save(foundOVs)
650
+ }
651
+
652
+ // notification logics
653
+ // get Office Admin Users
654
+ if (context?.state?.type != 'api') {
655
+ const users: any[] = await tx
656
+ .getRepository('users_roles')
657
+ .createQueryBuilder('ur')
658
+ .select('ur.users_id', 'id')
659
+ .where(qb => {
660
+ const subQuery = qb
661
+ .subQuery()
662
+ .select('role.id')
663
+ .from(Role, 'role')
664
+ .where("role.name = 'Office Admin'")
665
+ .andWhere('role.domain_id = :domain', { domain: domain.id })
666
+ .getQuery()
667
+ return 'ur.roles_id IN ' + subQuery
668
+ })
669
+ .getRawMany()
670
+
671
+ // send notification to Office Admin Users
672
+ if (users?.length) {
673
+ const receivers: any[] = users.map(user => user.id)
674
+ const msg = {
675
+ title: `New Release Order from ${customerBizplace.name}`,
676
+ body: `New incoming order, ${foundReleaseGood.name} is pending for receiving`,
677
+ url: context.header.referer,
678
+ data: { url: context.header.referer }
679
+ }
680
+ await sendNotification({
681
+ receivers,
682
+ message: { ...msg }
683
+ })
684
+ }
685
+ }
686
+
687
+ return releaseGood
688
+ }
689
+
690
+ export async function receiveReleaseGood(name: string, context: any, tx: EntityManager): Promise<ReleaseGood> {
691
+ const { domain, user }: { domain: Domain; user: User } = context.state
692
+
693
+ const foundReleaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
694
+ where: { domain, name, status: ORDER_STATUS.PENDING_RECEIVE },
695
+ relations: ['bizplace', 'orderInventories', 'orderVass']
696
+ })
697
+
698
+ if (!foundReleaseGood) throw new Error(`Release good order doesn't exists.`)
699
+ let foundOIs: OrderInventory[] = foundReleaseGood.orderInventories
700
+ let foundOVs: OrderVas[] = foundReleaseGood.orderVass
701
+ let customerBizplace: Bizplace = foundReleaseGood.bizplace
702
+
703
+ // 1. RO Status change (PENDING_RECEIVE => PENDING_WORKSHEET)
704
+ const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).save({
705
+ ...foundReleaseGood,
706
+ status: ORDER_STATUS.PENDING_WORKSHEET,
707
+ acceptedBy: user,
708
+ acceptedAt: new Date(),
709
+ updater: user
710
+ })
711
+
712
+ // 1. Update status of order inventories
713
+ foundOIs = foundOIs.map((orderInventory: OrderInventory) => {
714
+ return {
715
+ ...orderInventory,
716
+ status: ORDER_INVENTORY_STATUS.PENDING_WORKSHEET,
717
+ updater: user
718
+ }
719
+ })
720
+ await tx.getRepository(OrderInventory).save(foundOIs)
721
+
722
+ // 2. Update status of order vass
723
+ if (foundOVs && foundOVs.length) {
724
+ foundOVs = foundOVs.map((orderVas: OrderVas) => {
725
+ return {
726
+ ...orderVas,
727
+ status: ORDER_VAS_STATUS.READY_TO_PROCESS,
728
+ updater: user
729
+ }
730
+ })
731
+ await tx.getRepository(OrderVas).save(foundOVs)
732
+ }
733
+
734
+ // notification logics
735
+ // get Office Admin Users
736
+ if (context?.state?.type != 'api') {
737
+ const users: any[] = await tx
738
+ .getRepository('users_roles')
739
+ .createQueryBuilder('ur')
740
+ .select('ur.users_id', 'id')
741
+ .where(qb => {
742
+ const subQuery = qb
743
+ .subQuery()
744
+ .select('role.id')
745
+ .from(Role, 'role')
746
+ .where("role.name = 'Office Admin'")
747
+ .andWhere('role.domain_id = :domain', { domain: domain.id })
748
+ .getQuery()
749
+ return 'ur.roles_id IN ' + subQuery
750
+ })
751
+ .getRawMany()
752
+
753
+ // send notification to Office Admin Users
754
+ if (users?.length) {
755
+ const receivers: any[] = users.map(user => user.id)
756
+ const msg = {
757
+ title: `New Release Order from ${customerBizplace.name}`,
758
+ body: `New incoming order, ${foundReleaseGood.name} is pending for receiving`,
759
+ url: context.header.referer,
760
+ data: { url: context.header.referer }
761
+ }
762
+
763
+ await sendNotification({
764
+ receivers,
765
+ message: { ...msg }
766
+ })
767
+ }
768
+ }
769
+
770
+ return releaseGood
771
+ }
772
+
773
+ export async function rejectReleaseGood(
774
+ tx: EntityManager,
775
+ context: any,
776
+ name: string,
777
+ remark: string
778
+ ): Promise<ReleaseGood> {
779
+ const { domain, user }: { domain: Domain; user: User } = context.state
780
+
781
+ const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
782
+ where: { domain, name, status: ORDER_STATUS.PENDING_RECEIVE },
783
+ relations: ['bizplace', 'orderInventories', 'orderInventories.inventory', 'orderVass', 'shippingOrder']
784
+ })
785
+
786
+ if (!releaseGood) throw new Error(`Release good doesn't exists.`)
787
+ if (!remark) throw new Error('Remark is not exist.')
788
+
789
+ let foundOIs: OrderInventory[] = releaseGood.orderInventories
790
+ let foundOVs: OrderVas[] = releaseGood.orderVass
791
+
792
+ // 1. Update status of order products (PENDING_RECEIVE => REJECTED)
793
+ if (foundOIs && foundOIs.length) {
794
+ await tx.getRepository(OrderInventory).save(
795
+ await Promise.all(
796
+ foundOIs.map(async (oi: OrderInventory) => {
797
+ if (oi?.inventory?.id) {
798
+ oi.inventory = await tx.getRepository(Inventory).findOne(oi.inventory.id)
799
+
800
+ await tx.getRepository(Inventory).save({
801
+ ...oi.inventory,
802
+ lockedQty: oi.inventory.lockedQty - oi.releaseQty,
803
+ lockedUomValue: oi.inventory.lockedUomValue - oi.releaseUomValue,
804
+ updater: user
805
+ })
806
+ }
807
+
808
+ oi.status = ORDER_INVENTORY_STATUS.REJECTED
809
+ oi.updater = user
810
+ return oi
811
+ })
812
+ )
813
+ )
814
+ }
815
+
816
+ // 2. Update status of order vass if it exists (PENDING_RECEIVE => REJECTED)
817
+ if (foundOVs && foundOVs.length) {
818
+ foundOVs = foundOVs.map((ov: OrderVas) => {
819
+ ov.status = ORDER_VAS_STATUS.REJECTED
820
+ ov.updater = user
821
+ return ov
822
+ })
823
+ await tx.getRepository(OrderVas).save(foundOVs)
824
+ }
825
+
826
+ if (releaseGood.shippingOrder) {
827
+ // 2. 1) if it's yes update status of collection order
828
+ const shippingOrder: ShippingOrder = await tx.getRepository(ShippingOrder).findOne({
829
+ where: { domain, name: releaseGood.shippingOrder.name }
830
+ })
831
+
832
+ shippingOrder.status = ORDER_STATUS.REJECTED
833
+ shippingOrder.updater = user
834
+ await tx.getRepository(ShippingOrder).save(shippingOrder)
835
+ }
836
+
837
+ releaseGood.remark = remark
838
+ releaseGood.status = ORDER_STATUS.REJECTED
839
+ releaseGood.updater = user
840
+ await tx.getRepository(ReleaseGood).save(releaseGood)
841
+
842
+ // notification logics
843
+ const users: any[] = await getDomainUsers(releaseGood?.bizplace, tx)
844
+
845
+ if (users?.length) {
846
+ const receivers: any[] = users.map(user => user.id)
847
+ const msg = {
848
+ title: `Latest status for ${releaseGood.name}`,
849
+ body: `Your RO has been rejected.`,
850
+ url: context.header.referer,
851
+ data: { url: context.header.referer }
852
+ }
853
+
854
+ await sendNotification({
855
+ receivers,
856
+ message: { ...msg }
857
+ })
858
+ }
859
+
860
+ return releaseGood
861
+ }