@things-factory/sales-base 4.3.671 → 4.3.675

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 (429) hide show
  1. package/dist-server/constants/attachment-type.js +15 -0
  2. package/dist-server/constants/attachment-type.js.map +1 -0
  3. package/dist-server/constants/index.js +24 -0
  4. package/dist-server/constants/index.js.map +1 -0
  5. package/dist-server/constants/load-type.js +8 -0
  6. package/dist-server/constants/load-type.js.map +1 -0
  7. package/dist-server/constants/order.js +235 -0
  8. package/dist-server/constants/order.js.map +1 -0
  9. package/dist-server/constants/product-group-type.js +8 -0
  10. package/dist-server/constants/product-group-type.js.map +1 -0
  11. package/dist-server/constants/release-good.js +13 -0
  12. package/dist-server/constants/release-good.js.map +1 -0
  13. package/dist-server/constants/transfer-order-type.js +9 -0
  14. package/dist-server/constants/transfer-order-type.js.map +1 -0
  15. package/dist-server/constants/validation-error-code.js +7 -0
  16. package/dist-server/constants/validation-error-code.js.map +1 -0
  17. package/dist-server/constants/vas-target-type.js +26 -0
  18. package/dist-server/constants/vas-target-type.js.map +1 -0
  19. package/dist-server/controllers/ecommerce/ecommerce-controller.js +138 -0
  20. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -0
  21. package/dist-server/controllers/ecommerce/index.js +21 -0
  22. package/dist-server/controllers/ecommerce/index.js.map +1 -0
  23. package/dist-server/controllers/ecommerce/powrup-controller.js +747 -0
  24. package/dist-server/controllers/ecommerce/powrup-controller.js.map +1 -0
  25. package/dist-server/controllers/ecommerce/sellercraft-controller.js +148 -0
  26. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -0
  27. package/dist-server/controllers/ecommerce/webspert-controller.js +237 -0
  28. package/dist-server/controllers/ecommerce/webspert-controller.js.map +1 -0
  29. package/dist-server/controllers/index.js +19 -0
  30. package/dist-server/controllers/index.js.map +1 -0
  31. package/dist-server/controllers/order-controller.js +244 -0
  32. package/dist-server/controllers/order-controller.js.map +1 -0
  33. package/dist-server/errors/index.js +18 -0
  34. package/dist-server/errors/index.js.map +1 -0
  35. package/dist-server/errors/validation-error.js +41 -0
  36. package/dist-server/errors/validation-error.js.map +1 -0
  37. package/dist-server/index.js +30 -0
  38. package/dist-server/index.js.map +1 -0
  39. package/dist-server/migrations/index.js +12 -0
  40. package/dist-server/migrations/index.js.map +1 -0
  41. package/dist-server/service/arrival-notice/arrival-notice-mutation.js +1453 -0
  42. package/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +1 -0
  43. package/dist-server/service/arrival-notice/arrival-notice-query.js +638 -0
  44. package/dist-server/service/arrival-notice/arrival-notice-query.js.map +1 -0
  45. package/dist-server/service/arrival-notice/arrival-notice-types.js +443 -0
  46. package/dist-server/service/arrival-notice/arrival-notice-types.js.map +1 -0
  47. package/dist-server/service/arrival-notice/arrival-notice.js +259 -0
  48. package/dist-server/service/arrival-notice/arrival-notice.js.map +1 -0
  49. package/dist-server/service/arrival-notice/index.js +25 -0
  50. package/dist-server/service/arrival-notice/index.js.map +1 -0
  51. package/dist-server/service/claim/claim-mutation.js +243 -0
  52. package/dist-server/service/claim/claim-mutation.js.map +1 -0
  53. package/dist-server/service/claim/claim-query.js +165 -0
  54. package/dist-server/service/claim/claim-query.js.map +1 -0
  55. package/dist-server/service/claim/claim-types.js +191 -0
  56. package/dist-server/service/claim/claim-types.js.map +1 -0
  57. package/dist-server/service/claim/claim.js +176 -0
  58. package/dist-server/service/claim/claim.js.map +1 -0
  59. package/dist-server/service/claim/index.js +25 -0
  60. package/dist-server/service/claim/index.js.map +1 -0
  61. package/dist-server/service/claim-detail/claim-detail-mutation.js +110 -0
  62. package/dist-server/service/claim-detail/claim-detail-mutation.js.map +1 -0
  63. package/dist-server/service/claim-detail/claim-detail-query.js +90 -0
  64. package/dist-server/service/claim-detail/claim-detail-query.js.map +1 -0
  65. package/dist-server/service/claim-detail/claim-detail-types.js +81 -0
  66. package/dist-server/service/claim-detail/claim-detail-types.js.map +1 -0
  67. package/dist-server/service/claim-detail/claim-detail.js +102 -0
  68. package/dist-server/service/claim-detail/claim-detail.js.map +1 -0
  69. package/dist-server/service/claim-detail/index.js +25 -0
  70. package/dist-server/service/claim-detail/index.js.map +1 -0
  71. package/dist-server/service/claim-order/claim-order-mutation.js +110 -0
  72. package/dist-server/service/claim-order/claim-order-mutation.js.map +1 -0
  73. package/dist-server/service/claim-order/claim-order-query.js +86 -0
  74. package/dist-server/service/claim-order/claim-order-query.js.map +1 -0
  75. package/dist-server/service/claim-order/claim-order-types.js +65 -0
  76. package/dist-server/service/claim-order/claim-order-types.js.map +1 -0
  77. package/dist-server/service/claim-order/claim-order.js +104 -0
  78. package/dist-server/service/claim-order/claim-order.js.map +1 -0
  79. package/dist-server/service/claim-order/index.js +25 -0
  80. package/dist-server/service/claim-order/index.js.map +1 -0
  81. package/dist-server/service/collection-order/collection-order-mutation.js +241 -0
  82. package/dist-server/service/collection-order/collection-order-mutation.js.map +1 -0
  83. package/dist-server/service/collection-order/collection-order-query.js +125 -0
  84. package/dist-server/service/collection-order/collection-order-query.js.map +1 -0
  85. package/dist-server/service/collection-order/collection-order-types.js +241 -0
  86. package/dist-server/service/collection-order/collection-order-types.js.map +1 -0
  87. package/dist-server/service/collection-order/collection-order.js +183 -0
  88. package/dist-server/service/collection-order/collection-order.js.map +1 -0
  89. package/dist-server/service/collection-order/index.js +25 -0
  90. package/dist-server/service/collection-order/index.js.map +1 -0
  91. package/dist-server/service/delivery-order/delivery-order-mutation.js +746 -0
  92. package/dist-server/service/delivery-order/delivery-order-mutation.js.map +1 -0
  93. package/dist-server/service/delivery-order/delivery-order-query.js +570 -0
  94. package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -0
  95. package/dist-server/service/delivery-order/delivery-order-types.js +397 -0
  96. package/dist-server/service/delivery-order/delivery-order-types.js.map +1 -0
  97. package/dist-server/service/delivery-order/delivery-order.js +365 -0
  98. package/dist-server/service/delivery-order/delivery-order.js.map +1 -0
  99. package/dist-server/service/delivery-order/index.js +25 -0
  100. package/dist-server/service/delivery-order/index.js.map +1 -0
  101. package/dist-server/service/draft-release-good/draft-release-good-create.js +647 -0
  102. package/dist-server/service/draft-release-good/draft-release-good-create.js.map +1 -0
  103. package/dist-server/service/draft-release-good/draft-release-good-mutation.js +486 -0
  104. package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +1 -0
  105. package/dist-server/service/draft-release-good/draft-release-good-query.js +372 -0
  106. package/dist-server/service/draft-release-good/draft-release-good-query.js.map +1 -0
  107. package/dist-server/service/draft-release-good/draft-release-good-type.js +424 -0
  108. package/dist-server/service/draft-release-good/draft-release-good-type.js.map +1 -0
  109. package/dist-server/service/draft-release-good/draft-release-good.js +444 -0
  110. package/dist-server/service/draft-release-good/draft-release-good.js.map +1 -0
  111. package/dist-server/service/draft-release-good/index.js +29 -0
  112. package/dist-server/service/draft-release-good/index.js.map +1 -0
  113. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js +140 -0
  114. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js.map +1 -0
  115. package/dist-server/service/goods-receival-note/goods-receival-note-query.js +273 -0
  116. package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +1 -0
  117. package/dist-server/service/goods-receival-note/goods-receival-note-types.js +159 -0
  118. package/dist-server/service/goods-receival-note/goods-receival-note-types.js.map +1 -0
  119. package/dist-server/service/goods-receival-note/goods-receival-note.js +156 -0
  120. package/dist-server/service/goods-receival-note/goods-receival-note.js.map +1 -0
  121. package/dist-server/service/goods-receival-note/index.js +25 -0
  122. package/dist-server/service/goods-receival-note/index.js.map +1 -0
  123. package/dist-server/service/index.js +282 -0
  124. package/dist-server/service/index.js.map +1 -0
  125. package/dist-server/service/inventory-check/index.js +25 -0
  126. package/dist-server/service/inventory-check/index.js.map +1 -0
  127. package/dist-server/service/inventory-check/inventory-check-mutation.js +151 -0
  128. package/dist-server/service/inventory-check/inventory-check-mutation.js.map +1 -0
  129. package/dist-server/service/inventory-check/inventory-check-query.js +138 -0
  130. package/dist-server/service/inventory-check/inventory-check-query.js.map +1 -0
  131. package/dist-server/service/inventory-check/inventory-check-types.js +82 -0
  132. package/dist-server/service/inventory-check/inventory-check-types.js.map +1 -0
  133. package/dist-server/service/inventory-check/inventory-check.js +115 -0
  134. package/dist-server/service/inventory-check/inventory-check.js.map +1 -0
  135. package/dist-server/service/inventory-check-item/index.js +25 -0
  136. package/dist-server/service/inventory-check-item/index.js.map +1 -0
  137. package/dist-server/service/inventory-check-item/inventory-check-item-mutation.js +120 -0
  138. package/dist-server/service/inventory-check-item/inventory-check-item-mutation.js.map +1 -0
  139. package/dist-server/service/inventory-check-item/inventory-check-item-query.js +196 -0
  140. package/dist-server/service/inventory-check-item/inventory-check-item-query.js.map +1 -0
  141. package/dist-server/service/inventory-check-item/inventory-check-item-types.js +157 -0
  142. package/dist-server/service/inventory-check-item/inventory-check-item-types.js.map +1 -0
  143. package/dist-server/service/inventory-check-item/inventory-check-item.js +273 -0
  144. package/dist-server/service/inventory-check-item/inventory-check-item.js.map +1 -0
  145. package/dist-server/service/invoice/index.js +25 -0
  146. package/dist-server/service/invoice/index.js.map +1 -0
  147. package/dist-server/service/invoice/invoice-mutation.js +105 -0
  148. package/dist-server/service/invoice/invoice-mutation.js.map +1 -0
  149. package/dist-server/service/invoice/invoice-query.js +94 -0
  150. package/dist-server/service/invoice/invoice-query.js.map +1 -0
  151. package/dist-server/service/invoice/invoice-types.js +388 -0
  152. package/dist-server/service/invoice/invoice-types.js.map +1 -0
  153. package/dist-server/service/invoice/invoice.js +312 -0
  154. package/dist-server/service/invoice/invoice.js.map +1 -0
  155. package/dist-server/service/invoice-product/index.js +25 -0
  156. package/dist-server/service/invoice-product/index.js.map +1 -0
  157. package/dist-server/service/invoice-product/invoice-product-mutation.js +70 -0
  158. package/dist-server/service/invoice-product/invoice-product-mutation.js.map +1 -0
  159. package/dist-server/service/invoice-product/invoice-product-query.js +95 -0
  160. package/dist-server/service/invoice-product/invoice-product-query.js.map +1 -0
  161. package/dist-server/service/invoice-product/invoice-product-types.js +131 -0
  162. package/dist-server/service/invoice-product/invoice-product-types.js.map +1 -0
  163. package/dist-server/service/invoice-product/invoice-product.js +130 -0
  164. package/dist-server/service/invoice-product/invoice-product.js.map +1 -0
  165. package/dist-server/service/job-sheet/index.js +25 -0
  166. package/dist-server/service/job-sheet/index.js.map +1 -0
  167. package/dist-server/service/job-sheet/job-sheet-mutation.js +93 -0
  168. package/dist-server/service/job-sheet/job-sheet-mutation.js.map +1 -0
  169. package/dist-server/service/job-sheet/job-sheet-query.js +134 -0
  170. package/dist-server/service/job-sheet/job-sheet-query.js.map +1 -0
  171. package/dist-server/service/job-sheet/job-sheet-types.js +113 -0
  172. package/dist-server/service/job-sheet/job-sheet-types.js.map +1 -0
  173. package/dist-server/service/job-sheet/job-sheet.js +132 -0
  174. package/dist-server/service/job-sheet/job-sheet.js.map +1 -0
  175. package/dist-server/service/manifest/index.js +9 -0
  176. package/dist-server/service/manifest/index.js.map +1 -0
  177. package/dist-server/service/manifest/manifest-mutation.js +264 -0
  178. package/dist-server/service/manifest/manifest-mutation.js.map +1 -0
  179. package/dist-server/service/manifest/manifest-query.js +228 -0
  180. package/dist-server/service/manifest/manifest-query.js.map +1 -0
  181. package/dist-server/service/manifest/manifest-type.js +183 -0
  182. package/dist-server/service/manifest/manifest-type.js.map +1 -0
  183. package/dist-server/service/manifest/manifest.js +134 -0
  184. package/dist-server/service/manifest/manifest.js.map +1 -0
  185. package/dist-server/service/order-consignment/index.js +9 -0
  186. package/dist-server/service/order-consignment/index.js.map +1 -0
  187. package/dist-server/service/order-consignment/order-consignment-mutation.js +120 -0
  188. package/dist-server/service/order-consignment/order-consignment-mutation.js.map +1 -0
  189. package/dist-server/service/order-consignment/order-consignment-query.js +87 -0
  190. package/dist-server/service/order-consignment/order-consignment-query.js.map +1 -0
  191. package/dist-server/service/order-consignment/order-consignment-type.js +69 -0
  192. package/dist-server/service/order-consignment/order-consignment-type.js.map +1 -0
  193. package/dist-server/service/order-consignment/order-consignment.js +115 -0
  194. package/dist-server/service/order-consignment/order-consignment.js.map +1 -0
  195. package/dist-server/service/order-inventory/index.js +25 -0
  196. package/dist-server/service/order-inventory/index.js.map +1 -0
  197. package/dist-server/service/order-inventory/order-inventory-mutation.js +80 -0
  198. package/dist-server/service/order-inventory/order-inventory-mutation.js.map +1 -0
  199. package/dist-server/service/order-inventory/order-inventory-query.js +592 -0
  200. package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -0
  201. package/dist-server/service/order-inventory/order-inventory-types.js +341 -0
  202. package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -0
  203. package/dist-server/service/order-inventory/order-inventory.js +785 -0
  204. package/dist-server/service/order-inventory/order-inventory.js.map +1 -0
  205. package/dist-server/service/order-package/index.js +9 -0
  206. package/dist-server/service/order-package/index.js.map +1 -0
  207. package/dist-server/service/order-package/order-package-mutation.js +120 -0
  208. package/dist-server/service/order-package/order-package-mutation.js.map +1 -0
  209. package/dist-server/service/order-package/order-package-query.js +142 -0
  210. package/dist-server/service/order-package/order-package-query.js.map +1 -0
  211. package/dist-server/service/order-package/order-package-types.js +113 -0
  212. package/dist-server/service/order-package/order-package-types.js.map +1 -0
  213. package/dist-server/service/order-package/order-package.js +229 -0
  214. package/dist-server/service/order-package/order-package.js.map +1 -0
  215. package/dist-server/service/order-package-item/index.js +9 -0
  216. package/dist-server/service/order-package-item/index.js.map +1 -0
  217. package/dist-server/service/order-package-item/order-package-item-mutation.js +120 -0
  218. package/dist-server/service/order-package-item/order-package-item-mutation.js.map +1 -0
  219. package/dist-server/service/order-package-item/order-package-item-query.js +127 -0
  220. package/dist-server/service/order-package-item/order-package-item-query.js.map +1 -0
  221. package/dist-server/service/order-package-item/order-package-item-types.js +99 -0
  222. package/dist-server/service/order-package-item/order-package-item-types.js.map +1 -0
  223. package/dist-server/service/order-package-item/order-package-item.js +162 -0
  224. package/dist-server/service/order-package-item/order-package-item.js.map +1 -0
  225. package/dist-server/service/order-product/index.js +25 -0
  226. package/dist-server/service/order-product/index.js.map +1 -0
  227. package/dist-server/service/order-product/order-product-mutation.js +74 -0
  228. package/dist-server/service/order-product/order-product-mutation.js.map +1 -0
  229. package/dist-server/service/order-product/order-product-query.js +125 -0
  230. package/dist-server/service/order-product/order-product-query.js.map +1 -0
  231. package/dist-server/service/order-product/order-product-types.js +545 -0
  232. package/dist-server/service/order-product/order-product-types.js.map +1 -0
  233. package/dist-server/service/order-product/order-product.js +605 -0
  234. package/dist-server/service/order-product/order-product.js.map +1 -0
  235. package/dist-server/service/order-tote/index.js +25 -0
  236. package/dist-server/service/order-tote/index.js.map +1 -0
  237. package/dist-server/service/order-tote/order-tote-mutation.js +56 -0
  238. package/dist-server/service/order-tote/order-tote-mutation.js.map +1 -0
  239. package/dist-server/service/order-tote/order-tote-query.js +123 -0
  240. package/dist-server/service/order-tote/order-tote-query.js.map +1 -0
  241. package/dist-server/service/order-tote/order-tote-types.js +79 -0
  242. package/dist-server/service/order-tote/order-tote-types.js.map +1 -0
  243. package/dist-server/service/order-tote/order-tote.js +92 -0
  244. package/dist-server/service/order-tote/order-tote.js.map +1 -0
  245. package/dist-server/service/order-tote-item/index.js +25 -0
  246. package/dist-server/service/order-tote-item/index.js.map +1 -0
  247. package/dist-server/service/order-tote-item/order-tote-item-mutation.js +56 -0
  248. package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +1 -0
  249. package/dist-server/service/order-tote-item/order-tote-item-query.js +100 -0
  250. package/dist-server/service/order-tote-item/order-tote-item-query.js.map +1 -0
  251. package/dist-server/service/order-tote-item/order-tote-item-types.js +91 -0
  252. package/dist-server/service/order-tote-item/order-tote-item-types.js.map +1 -0
  253. package/dist-server/service/order-tote-item/order-tote-item.js +118 -0
  254. package/dist-server/service/order-tote-item/order-tote-item.js.map +1 -0
  255. package/dist-server/service/order-tote-seal/index.js +25 -0
  256. package/dist-server/service/order-tote-seal/index.js.map +1 -0
  257. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js +56 -0
  258. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +1 -0
  259. package/dist-server/service/order-tote-seal/order-tote-seal-query.js +97 -0
  260. package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +1 -0
  261. package/dist-server/service/order-tote-seal/order-tote-seal-types.js +71 -0
  262. package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +1 -0
  263. package/dist-server/service/order-tote-seal/order-tote-seal.js +71 -0
  264. package/dist-server/service/order-tote-seal/order-tote-seal.js.map +1 -0
  265. package/dist-server/service/order-vas/index.js +25 -0
  266. package/dist-server/service/order-vas/index.js.map +1 -0
  267. package/dist-server/service/order-vas/order-vas-mutation.js +148 -0
  268. package/dist-server/service/order-vas/order-vas-mutation.js.map +1 -0
  269. package/dist-server/service/order-vas/order-vas-query.js +148 -0
  270. package/dist-server/service/order-vas/order-vas-query.js.map +1 -0
  271. package/dist-server/service/order-vas/order-vas-types.js +348 -0
  272. package/dist-server/service/order-vas/order-vas-types.js.map +1 -0
  273. package/dist-server/service/order-vas/order-vas.js +476 -0
  274. package/dist-server/service/order-vas/order-vas.js.map +1 -0
  275. package/dist-server/service/order-vas-item/index.js +9 -0
  276. package/dist-server/service/order-vas-item/index.js.map +1 -0
  277. package/dist-server/service/order-vas-item/order-vas-item-mutation.js +164 -0
  278. package/dist-server/service/order-vas-item/order-vas-item-mutation.js.map +1 -0
  279. package/dist-server/service/order-vas-item/order-vas-item-query.js +99 -0
  280. package/dist-server/service/order-vas-item/order-vas-item-query.js.map +1 -0
  281. package/dist-server/service/order-vas-item/order-vas-item-type.js +131 -0
  282. package/dist-server/service/order-vas-item/order-vas-item-type.js.map +1 -0
  283. package/dist-server/service/order-vas-item/order-vas-item.js +166 -0
  284. package/dist-server/service/order-vas-item/order-vas-item.js.map +1 -0
  285. package/dist-server/service/others/index.js +21 -0
  286. package/dist-server/service/others/index.js.map +1 -0
  287. package/dist-server/service/others/other-query.js +605 -0
  288. package/dist-server/service/others/other-query.js.map +1 -0
  289. package/dist-server/service/others/other-types.js +198 -0
  290. package/dist-server/service/others/other-types.js.map +1 -0
  291. package/dist-server/service/purchase-order/index.js +25 -0
  292. package/dist-server/service/purchase-order/index.js.map +1 -0
  293. package/dist-server/service/purchase-order/purchase-order-mutation.js +398 -0
  294. package/dist-server/service/purchase-order/purchase-order-mutation.js.map +1 -0
  295. package/dist-server/service/purchase-order/purchase-order-query.js +126 -0
  296. package/dist-server/service/purchase-order/purchase-order-query.js.map +1 -0
  297. package/dist-server/service/purchase-order/purchase-order-types.js +240 -0
  298. package/dist-server/service/purchase-order/purchase-order-types.js.map +1 -0
  299. package/dist-server/service/purchase-order/purchase-order.js +236 -0
  300. package/dist-server/service/purchase-order/purchase-order.js.map +1 -0
  301. package/dist-server/service/purchase-order-other-charge/index.js +25 -0
  302. package/dist-server/service/purchase-order-other-charge/index.js.map +1 -0
  303. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js +56 -0
  304. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js.map +1 -0
  305. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js +87 -0
  306. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js.map +1 -0
  307. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js +77 -0
  308. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js.map +1 -0
  309. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js +101 -0
  310. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js.map +1 -0
  311. package/dist-server/service/release-good/index.js +25 -0
  312. package/dist-server/service/release-good/index.js.map +1 -0
  313. package/dist-server/service/release-good/release-good-mutation.js +1598 -0
  314. package/dist-server/service/release-good/release-good-mutation.js.map +1 -0
  315. package/dist-server/service/release-good/release-good-query.js +1132 -0
  316. package/dist-server/service/release-good/release-good-query.js.map +1 -0
  317. package/dist-server/service/release-good/release-good-types.js +1043 -0
  318. package/dist-server/service/release-good/release-good-types.js.map +1 -0
  319. package/dist-server/service/release-good/release-good.js +817 -0
  320. package/dist-server/service/release-good/release-good.js.map +1 -0
  321. package/dist-server/service/release-good-logs/index.js +11 -0
  322. package/dist-server/service/release-good-logs/index.js.map +1 -0
  323. package/dist-server/service/release-good-logs/release-good-logs-mutation.js +126 -0
  324. package/dist-server/service/release-good-logs/release-good-logs-mutation.js.map +1 -0
  325. package/dist-server/service/release-good-logs/release-good-logs-query.js +71 -0
  326. package/dist-server/service/release-good-logs/release-good-logs-query.js.map +1 -0
  327. package/dist-server/service/release-good-logs/release-good-logs-type.js +65 -0
  328. package/dist-server/service/release-good-logs/release-good-logs-type.js.map +1 -0
  329. package/dist-server/service/release-good-logs/release-good-logs.js +96 -0
  330. package/dist-server/service/release-good-logs/release-good-logs.js.map +1 -0
  331. package/dist-server/service/replenishment/index.js +9 -0
  332. package/dist-server/service/replenishment/index.js.map +1 -0
  333. package/dist-server/service/replenishment/replenishment-mutation.js +234 -0
  334. package/dist-server/service/replenishment/replenishment-mutation.js.map +1 -0
  335. package/dist-server/service/replenishment/replenishment-query.js +185 -0
  336. package/dist-server/service/replenishment/replenishment-query.js.map +1 -0
  337. package/dist-server/service/replenishment/replenishment-type.js +119 -0
  338. package/dist-server/service/replenishment/replenishment-type.js.map +1 -0
  339. package/dist-server/service/replenishment/replenishment.js +114 -0
  340. package/dist-server/service/replenishment/replenishment.js.map +1 -0
  341. package/dist-server/service/retail-replenishment-order/index.js +25 -0
  342. package/dist-server/service/retail-replenishment-order/index.js.map +1 -0
  343. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js +314 -0
  344. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js.map +1 -0
  345. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js +89 -0
  346. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js.map +1 -0
  347. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js +148 -0
  348. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js.map +1 -0
  349. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js +141 -0
  350. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js.map +1 -0
  351. package/dist-server/service/return-order/index.js +25 -0
  352. package/dist-server/service/return-order/index.js.map +1 -0
  353. package/dist-server/service/return-order/return-order-mutation.js +451 -0
  354. package/dist-server/service/return-order/return-order-mutation.js.map +1 -0
  355. package/dist-server/service/return-order/return-order-query.js +243 -0
  356. package/dist-server/service/return-order/return-order-query.js.map +1 -0
  357. package/dist-server/service/return-order/return-order-types.js +274 -0
  358. package/dist-server/service/return-order/return-order-types.js.map +1 -0
  359. package/dist-server/service/return-order/return-order.js +159 -0
  360. package/dist-server/service/return-order/return-order.js.map +1 -0
  361. package/dist-server/service/reverse-kitting-order/index.js +25 -0
  362. package/dist-server/service/reverse-kitting-order/index.js.map +1 -0
  363. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js +407 -0
  364. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js.map +1 -0
  365. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js +222 -0
  366. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +1 -0
  367. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js +230 -0
  368. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js.map +1 -0
  369. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js +145 -0
  370. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +1 -0
  371. package/dist-server/service/reverse-kitting-order-inventory/index.js +25 -0
  372. package/dist-server/service/reverse-kitting-order-inventory/index.js.map +1 -0
  373. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js +130 -0
  374. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js.map +1 -0
  375. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js +87 -0
  376. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js.map +1 -0
  377. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js +143 -0
  378. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js.map +1 -0
  379. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js +178 -0
  380. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +1 -0
  381. package/dist-server/service/shipping-order/index.js +25 -0
  382. package/dist-server/service/shipping-order/index.js.map +1 -0
  383. package/dist-server/service/shipping-order/shipping-order-mutation.js +78 -0
  384. package/dist-server/service/shipping-order/shipping-order-mutation.js.map +1 -0
  385. package/dist-server/service/shipping-order/shipping-order-query.js +96 -0
  386. package/dist-server/service/shipping-order/shipping-order-query.js.map +1 -0
  387. package/dist-server/service/shipping-order/shipping-order-types.js +137 -0
  388. package/dist-server/service/shipping-order/shipping-order-types.js.map +1 -0
  389. package/dist-server/service/shipping-order/shipping-order.js +165 -0
  390. package/dist-server/service/shipping-order/shipping-order.js.map +1 -0
  391. package/dist-server/service/transfer-order/index.js +25 -0
  392. package/dist-server/service/transfer-order/index.js.map +1 -0
  393. package/dist-server/service/transfer-order/transfer-order-mutation.js +252 -0
  394. package/dist-server/service/transfer-order/transfer-order-mutation.js.map +1 -0
  395. package/dist-server/service/transfer-order/transfer-order-query.js +104 -0
  396. package/dist-server/service/transfer-order/transfer-order-query.js.map +1 -0
  397. package/dist-server/service/transfer-order/transfer-order-types.js +148 -0
  398. package/dist-server/service/transfer-order/transfer-order-types.js.map +1 -0
  399. package/dist-server/service/transfer-order/transfer-order.js +146 -0
  400. package/dist-server/service/transfer-order/transfer-order.js.map +1 -0
  401. package/dist-server/service/vas/index.js +25 -0
  402. package/dist-server/service/vas/index.js.map +1 -0
  403. package/dist-server/service/vas/vas-mutation.js +562 -0
  404. package/dist-server/service/vas/vas-mutation.js.map +1 -0
  405. package/dist-server/service/vas/vas-query.js +114 -0
  406. package/dist-server/service/vas/vas-query.js.map +1 -0
  407. package/dist-server/service/vas/vas-types.js +113 -0
  408. package/dist-server/service/vas/vas-types.js.map +1 -0
  409. package/dist-server/service/vas/vas.js +114 -0
  410. package/dist-server/service/vas/vas.js.map +1 -0
  411. package/dist-server/service/vas-order/index.js +25 -0
  412. package/dist-server/service/vas-order/index.js.map +1 -0
  413. package/dist-server/service/vas-order/vas-order-mutation.js +241 -0
  414. package/dist-server/service/vas-order/vas-order-mutation.js.map +1 -0
  415. package/dist-server/service/vas-order/vas-order-query.js +151 -0
  416. package/dist-server/service/vas-order/vas-order-query.js.map +1 -0
  417. package/dist-server/service/vas-order/vas-order-types.js +83 -0
  418. package/dist-server/service/vas-order/vas-order-types.js.map +1 -0
  419. package/dist-server/service/vas-order/vas-order.js +104 -0
  420. package/dist-server/service/vas-order/vas-order.js.map +1 -0
  421. package/dist-server/utils/datetime-util.js +82 -0
  422. package/dist-server/utils/datetime-util.js.map +1 -0
  423. package/dist-server/utils/index.js +20 -0
  424. package/dist-server/utils/index.js.map +1 -0
  425. package/dist-server/utils/inventory-util.js +1098 -0
  426. package/dist-server/utils/inventory-util.js.map +1 -0
  427. package/dist-server/utils/order-no-generator.js +112 -0
  428. package/dist-server/utils/order-no-generator.js.map +1 -0
  429. package/package.json +17 -17
@@ -0,0 +1,647 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.generatePartialReleaseGoods = exports.generateReleaseGoods = exports.DraftReleaseGoodCreate = void 0;
16
+ const type_graphql_1 = require("type-graphql");
17
+ const typeorm_1 = require("typeorm");
18
+ const biz_base_1 = require("@things-factory/biz-base");
19
+ const env_1 = require("@things-factory/env");
20
+ const integration_base_1 = require("@things-factory/integration-base");
21
+ const product_base_1 = require("@things-factory/product-base");
22
+ const setting_base_1 = require("@things-factory/setting-base");
23
+ const __1 = require("../");
24
+ const constants_1 = require("../../constants");
25
+ const errors_1 = require("../../errors");
26
+ const utils_1 = require("../../utils");
27
+ const release_good_1 = require("../release-good/release-good");
28
+ const release_good_mutation_1 = require("../release-good/release-good-mutation");
29
+ const draft_release_good_type_1 = require("./draft-release-good-type");
30
+ let DraftReleaseGoodCreate = class DraftReleaseGoodCreate {
31
+ async generateReleaseGoodsfromDraft(context, releaseInfo) {
32
+ let results = [];
33
+ try {
34
+ const _generatePartialReleaseGoodsRecord = releaseInfo.filter(item => item.releaseType === 'partial' && item.id !== '');
35
+ const _generateReleaseGoodsRecord = releaseInfo.filter(item => item.releaseType === 'release' && item.id !== '');
36
+ if (_generateReleaseGoodsRecord.length > 0) {
37
+ const result = await generateReleaseGoods(_generateReleaseGoodsRecord, context);
38
+ results.push(...result);
39
+ }
40
+ if (_generatePartialReleaseGoodsRecord.length > 0) {
41
+ const result = await generatePartialReleaseGoods(_generatePartialReleaseGoodsRecord, context);
42
+ results.push(...result);
43
+ }
44
+ return results;
45
+ }
46
+ catch (e) {
47
+ env_1.logger.error(e);
48
+ throw new Error('Failed Released Draft Orders');
49
+ }
50
+ }
51
+ };
52
+ __decorate([
53
+ (0, type_graphql_1.Directive)('@privilege(category: "order_customer", privilege: "mutation")'),
54
+ (0, type_graphql_1.Directive)('@transaction'),
55
+ (0, type_graphql_1.Mutation)(returns => [draft_release_good_type_1.SuccessReleasedDraftOrder], {
56
+ nullable: true,
57
+ description: 'To generate Release Goods from Draft'
58
+ }),
59
+ __param(0, (0, type_graphql_1.Ctx)()),
60
+ __param(1, (0, type_graphql_1.Arg)('releaseInfo', type => [__1.DraftReleaseGoodInfos])),
61
+ __metadata("design:type", Function),
62
+ __metadata("design:paramtypes", [Object, Array]),
63
+ __metadata("design:returntype", Promise)
64
+ ], DraftReleaseGoodCreate.prototype, "generateReleaseGoodsfromDraft", null);
65
+ DraftReleaseGoodCreate = __decorate([
66
+ (0, type_graphql_1.Resolver)(__1.DraftReleaseGood)
67
+ ], DraftReleaseGoodCreate);
68
+ exports.DraftReleaseGoodCreate = DraftReleaseGoodCreate;
69
+ async function generateReleaseGoods(_generateReleaseGoodsRecord, context) {
70
+ const { domain, user, tx } = context.state;
71
+ try {
72
+ let ids = []; // Initialize the ids array outside the loop
73
+ ids = _generateReleaseGoodsRecord.map(item => item.id);
74
+ let releasedOrders = [];
75
+ const updatableDraftOrders = await tx.getRepository(__1.DraftReleaseGood).find({
76
+ where: {
77
+ domain,
78
+ id: (0, typeorm_1.In)(ids),
79
+ status: (0, typeorm_1.In)([constants_1.DRAFT_RELEASE_ORDER_STATUS.DRAFT, constants_1.DRAFT_RELEASE_ORDER_STATUS.PARTIAL_RELEASED])
80
+ },
81
+ order: {
82
+ createdAt: 'ASC'
83
+ },
84
+ relations: [
85
+ 'orderProducts',
86
+ 'orderProducts.product',
87
+ 'orderProducts.productDetail',
88
+ 'orderProducts.productBundle',
89
+ 'orderProducts.productBundle.productBundleSettings',
90
+ 'orderProducts.productBundle.productBundleSettings.product',
91
+ 'orderProducts.productBundle.productBundleSettings.productDetail',
92
+ 'shippingOrder',
93
+ 'bizplace',
94
+ 'bizplace.domain',
95
+ 'domain',
96
+ 'creator',
97
+ 'updater',
98
+ 'lastMileDelivery'
99
+ ]
100
+ });
101
+ let failReleaseOrder = [];
102
+ let successReleaseOrder = [];
103
+ if (updatableDraftOrders.length > 0) {
104
+ const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, typeorm_1.getRepository)(setting_base_1.Setting);
105
+ const roNoSetting = await settingRepo.findOne({
106
+ where: {
107
+ domain,
108
+ name: constants_1.ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
109
+ }
110
+ });
111
+ for (let index = 0; index < updatableDraftOrders.length; index++) {
112
+ await (0, typeorm_1.getConnection)().transaction(async (innerTx1) => {
113
+ var _a;
114
+ const draftOrder = updatableDraftOrders[index];
115
+ let foundPermittedBizplace;
116
+ let companyBizplace;
117
+ if ((_a = draftOrder === null || draftOrder === void 0 ? void 0 : draftOrder.bizplace) === null || _a === void 0 ? void 0 : _a.id) {
118
+ foundPermittedBizplace = await innerTx1.getRepository(biz_base_1.Bizplace).findOne(draftOrder.bizplace.id, {
119
+ relations: ['company', 'company.domain']
120
+ });
121
+ const companyDomain = foundPermittedBizplace.company.domain;
122
+ companyBizplace = await innerTx1.getRepository(biz_base_1.Bizplace).findOne({ where: { domain: companyDomain } });
123
+ }
124
+ else {
125
+ return false;
126
+ }
127
+ const bizplaces = [foundPermittedBizplace, companyBizplace];
128
+ let loggerJson = JSON.stringify({ refNo: draftOrder.refNo, bizplaceId: draftOrder.bizplace.id, domain });
129
+ try {
130
+ console.time(`creating_order:${loggerJson}`);
131
+ draftOrder.orderProducts = draftOrder.orderProducts.filter(op => op.status == 'DRAFT');
132
+ let productIds = [];
133
+ for (let item of draftOrder.orderProducts) {
134
+ if (item && item.product) {
135
+ productIds.push(item.product.id);
136
+ }
137
+ if (item && item.productBundle) {
138
+ for (let bundleSetting of item.productBundle.productBundleSettings) {
139
+ productIds.push(bundleSetting.product.id);
140
+ }
141
+ }
142
+ }
143
+ let productInventory = await utils_1.InventoryUtil.bizplaceProductInventory(bizplaces, {
144
+ filters: [
145
+ {
146
+ name: 'productId',
147
+ operator: 'in',
148
+ value: productIds
149
+ },
150
+ { name: 'deleted_at', operator: 'eq', value: true }
151
+ ]
152
+ }, context, innerTx1);
153
+ draftOrder.orderProducts = draftOrder.orderProducts.map(itm => {
154
+ let foundProductInv;
155
+ if (itm.product) {
156
+ foundProductInv = productInventory.items.find(i => {
157
+ var _a;
158
+ return (i.productDetailId == (itm === null || itm === void 0 ? void 0 : itm.productDetailId) || i.productId == ((_a = itm === null || itm === void 0 ? void 0 : itm.productBundle) === null || _a === void 0 ? void 0 : _a.id)) &&
159
+ itm.releaseQty <= i.remainQty;
160
+ });
161
+ if (!foundProductInv) {
162
+ failReleaseOrder.push(draftOrder.name);
163
+ }
164
+ }
165
+ else {
166
+ itm.productBundle.productBundleSettings.map(pbs => {
167
+ foundProductInv = productInventory.items.find(i => {
168
+ var _a;
169
+ return (i.productDetailId == (pbs === null || pbs === void 0 ? void 0 : pbs.productDetail.id) || i.productId == ((_a = pbs === null || pbs === void 0 ? void 0 : pbs.product) === null || _a === void 0 ? void 0 : _a.id)) &&
170
+ itm.releaseQty <= i.remainQty;
171
+ });
172
+ });
173
+ }
174
+ return Object.assign(Object.assign({}, itm), { releaseUomValue: foundProductInv
175
+ ? ((foundProductInv === null || foundProductInv === void 0 ? void 0 : foundProductInv.remainUomValue) / (foundProductInv === null || foundProductInv === void 0 ? void 0 : foundProductInv.remainQty)) * itm.releaseQty
176
+ : 0, status: foundProductInv ? 'suffice' : 'insufficient' });
177
+ });
178
+ let failedInventory = draftOrder.orderProducts.find(op => op.status == 'insufficient' || op.productDetail.deletedAt != null);
179
+ if (!failedInventory) {
180
+ //create RO
181
+ let releaseGood = Object.assign({}, draftOrder);
182
+ delete releaseGood.id;
183
+ delete releaseGood.name;
184
+ delete releaseGood.createdAt;
185
+ delete releaseGood.createdBy;
186
+ delete releaseGood.updatedAt;
187
+ delete releaseGood.updatedBy;
188
+ let orderInventories = [];
189
+ for (let index = 0; index < draftOrder.orderProducts.length; index++) {
190
+ const itm = draftOrder.orderProducts[index];
191
+ let data = [];
192
+ if (itm.productBundle) {
193
+ let bundle = await innerTx1.getRepository(product_base_1.ProductBundle).findOne({
194
+ where: { id: itm.productBundle.id },
195
+ relations: [
196
+ 'productBundleSettings',
197
+ 'productBundleSettings.productDetail',
198
+ 'productBundleSettings.product'
199
+ ]
200
+ });
201
+ for (let index2 = 0; index2 < bundle.productBundleSettings.length; index2++) {
202
+ const objProductBundleSetting = bundle.productBundleSettings[index2];
203
+ data.push({
204
+ sku: objProductBundleSetting.product.sku,
205
+ packingType: objProductBundleSetting.productDetail.packingType,
206
+ packingSize: objProductBundleSetting.productDetail.packingSize,
207
+ uom: objProductBundleSetting.productDetail.uom,
208
+ releaseQty: objProductBundleSetting.bundleQty * itm.releaseQty,
209
+ assignedQty: undefined,
210
+ assignedUomValue: undefined,
211
+ releaseUomValue: objProductBundleSetting.bundleQty * itm.releaseQty * itm.releaseUomValue
212
+ });
213
+ }
214
+ }
215
+ else {
216
+ data = [
217
+ {
218
+ sku: itm.product.sku,
219
+ packingType: itm.packingType,
220
+ packingSize: itm.packingSize,
221
+ uom: itm.uom,
222
+ releaseQty: itm.releaseQty,
223
+ assignedQty: undefined,
224
+ assignedUomValue: undefined,
225
+ releaseUomValue: itm.releaseUomValue
226
+ }
227
+ ];
228
+ }
229
+ data.forEach(data => {
230
+ let existingOI = orderInventories.find(itm => itm.sku == data.sku &&
231
+ itm.packingType == data.packingType &&
232
+ itm.packingSize == data.packingSize &&
233
+ itm.uom == data.uom);
234
+ if (existingOI) {
235
+ existingOI.releaseQty = existingOI.releaseQty + data.releaseQty;
236
+ existingOI.releaseUomValue = existingOI.releaseUomValue + data.uomValue;
237
+ existingOI.uomValue = existingOI.uomValue + data.uomValue;
238
+ }
239
+ else {
240
+ orderInventories.push(Object.assign(Object.assign({}, data), { orderProduct: itm }));
241
+ }
242
+ });
243
+ }
244
+ await (0, typeorm_1.getConnection)().transaction(async (innerTx2) => {
245
+ var _a;
246
+ const foundRo = await innerTx2.getRepository(release_good_1.ReleaseGood).find({
247
+ where: { draftReleaseGood: { id: draftOrder.id }, domain }
248
+ });
249
+ if (foundRo.length > 0) {
250
+ throw new Error('generating release orders');
251
+ }
252
+ let availableItems = await (0, __1.bulkReleaseGoodsAvailableItemsFunction)(orderInventories, draftOrder.bizplace.id, context, innerTx2);
253
+ if (availableItems.some(item => item.orderProduct.productDetail.deletedAt != null)) {
254
+ throw new errors_1.ValidationError(Object.assign(Object.assign({}, errors_1.ValidationError.ERROR_CODES.DELETED_PRODUCT_DETAIL), { detail: { data: JSON.stringify(availableItems) } }));
255
+ }
256
+ if (availableItems.some(item => !item.releaseQty || item.releaseQty > item.assignedQty))
257
+ throw new errors_1.ValidationError(Object.assign(Object.assign({}, errors_1.ValidationError.ERROR_CODES.INSUFFICIENT_STOCK), { detail: { data: JSON.stringify(availableItems) } }));
258
+ // update orderInventories if availableItems are valid
259
+ releaseGood.noOfItems = orderInventories.length;
260
+ releaseGood.orderInventories = availableItems.map(itm => {
261
+ return Object.assign(Object.assign({}, itm), { releaseQty: itm.releaseQty, releaseUomValue: itm.releaseUomValue, uomValue: itm.uomValue });
262
+ });
263
+ let createdReleaseGood;
264
+ await (0, typeorm_1.getConnection)().transaction(async (innerTx3) => {
265
+ createdReleaseGood = await (0, release_good_mutation_1.bulkGenerateReleaseGood)(releaseGood, releaseGood.bizplace.id, roNoSetting, domain, user, draftOrder, innerTx3);
266
+ const existingReleaseGood = await innerTx3.getRepository(release_good_1.ReleaseGood).find({
267
+ where: { draftReleaseGood: { id: draftOrder.id }, domain }
268
+ });
269
+ if (existingReleaseGood.length > 1) {
270
+ throw new Error('generating release orders');
271
+ }
272
+ // successReleaseOrder.push({ draftName: draftOrder?.name, status: 'success' })
273
+ });
274
+ await innerTx2
275
+ .getRepository(__1.DraftReleaseGood)
276
+ .update({ id: draftOrder.id }, { status: constants_1.DRAFT_RELEASE_ORDER_STATUS.SUBMITTED });
277
+ const directReceiveSetting = await innerTx2.getRepository(setting_base_1.Setting).findOne({
278
+ where: { domain, category: 'id-rule', name: 'enable-direct-receive-release-order' }
279
+ });
280
+ const partnerDirectReceiveSetting = await innerTx2
281
+ .getRepository(setting_base_1.PartnerSetting)
282
+ .findOne({
283
+ where: { setting: directReceiveSetting, domain, partnerDomain: (_a = draftOrder.bizplace) === null || _a === void 0 ? void 0 : _a.domain }
284
+ });
285
+ let settingValue;
286
+ if (!isNaN(partnerDirectReceiveSetting === null || partnerDirectReceiveSetting === void 0 ? void 0 : partnerDirectReceiveSetting.value) &&
287
+ !isNaN(parseFloat(partnerDirectReceiveSetting === null || partnerDirectReceiveSetting === void 0 ? void 0 : partnerDirectReceiveSetting.value))) {
288
+ settingValue = parseFloat(partnerDirectReceiveSetting.value);
289
+ }
290
+ else {
291
+ settingValue = parseFloat(directReceiveSetting.value);
292
+ }
293
+ createdReleaseGood = await (0, release_good_mutation_1.confirmReleaseGood)(createdReleaseGood.name, context, innerTx2);
294
+ successReleaseOrder.push({ draftName: draftOrder === null || draftOrder === void 0 ? void 0 : draftOrder.name, status: 'success' });
295
+ if (settingValue > 1) {
296
+ createdReleaseGood = await (0, release_good_mutation_1.receiveReleaseGood)(createdReleaseGood.name, context, innerTx2);
297
+ }
298
+ (0, integration_base_1.webhookHandler)(draftOrder, draftOrder.bizplace, integration_base_1.WebhookEventsEnum.DraftOrderConverted);
299
+ (0, integration_base_1.webhookHandler)(createdReleaseGood, createdReleaseGood.bizplace, integration_base_1.WebhookEventsEnum.ReleaseOrderCreated);
300
+ });
301
+ }
302
+ else {
303
+ if (draftOrder.orderProducts.some(op => op.id === (failedInventory === null || failedInventory === void 0 ? void 0 : failedInventory.id) && op.productDetail.deletedAt != null)) {
304
+ failReleaseOrder.push({ draftName: draftOrder === null || draftOrder === void 0 ? void 0 : draftOrder.name, status: 'deleted' });
305
+ }
306
+ else {
307
+ failReleaseOrder.push({ draftName: draftOrder === null || draftOrder === void 0 ? void 0 : draftOrder.name, status: 'insufficient' });
308
+ }
309
+ }
310
+ }
311
+ catch (e) {
312
+ env_1.logger.error(`draft-release-good-mutation[generateReleaseGoodsFromDraft:${loggerJson}]: ${e === null || e === void 0 ? void 0 : e.message}`);
313
+ }
314
+ finally {
315
+ console.timeEnd(`creating_order:${loggerJson}`);
316
+ }
317
+ });
318
+ }
319
+ }
320
+ releasedOrders.push({
321
+ successCount: successReleaseOrder.length,
322
+ insufficientCount: failReleaseOrder.filter(fro => fro.status === 'insufficient').length,
323
+ deletedCount: failReleaseOrder.filter(fro => fro.status === 'deleted').length
324
+ });
325
+ return releasedOrders;
326
+ }
327
+ catch (e) {
328
+ env_1.logger.error(`draft-release-good-mutation[generateReleaseGoodsFromDraft]: ${e === null || e === void 0 ? void 0 : e.message}`);
329
+ }
330
+ }
331
+ exports.generateReleaseGoods = generateReleaseGoods;
332
+ async function generatePartialReleaseGoods(_generatePartialReleaseGoodsRecord, context) {
333
+ const { domain, user, tx } = context.state;
334
+ try {
335
+ let ids = [];
336
+ let failReleaseOrder = [];
337
+ ids = _generatePartialReleaseGoodsRecord.map(item => item.id);
338
+ const selectedStatus = [
339
+ constants_1.DRAFT_RELEASE_ORDER_STATUS.PARTIAL_RELEASED,
340
+ constants_1.DRAFT_RELEASE_ORDER_STATUS.DRAFT,
341
+ constants_1.DRAFT_RELEASE_ORDER_STATUS.TRANSFER
342
+ ];
343
+ const value = _generatePartialReleaseGoodsRecord[0];
344
+ const updatableDraftOrders = await tx.getRepository(__1.DraftReleaseGood).find({
345
+ where: {
346
+ domain,
347
+ id: (0, typeorm_1.In)(ids),
348
+ status: (0, typeorm_1.In)(selectedStatus)
349
+ },
350
+ order: {
351
+ createdAt: 'ASC',
352
+ status: 'ASC'
353
+ },
354
+ relations: [
355
+ 'orderProducts',
356
+ 'orderProducts.product',
357
+ 'orderProducts.productDetail',
358
+ 'orderProducts.productBundle',
359
+ 'orderProducts.productBundle.productBundleSettings',
360
+ 'orderProducts.productBundle.productBundleSettings.product',
361
+ 'orderProducts.productBundle.productBundleSettings.productDetail',
362
+ 'shippingOrder',
363
+ 'bizplace',
364
+ 'bizplace.domain',
365
+ 'domain',
366
+ 'creator',
367
+ 'updater',
368
+ 'lastMileDelivery'
369
+ ]
370
+ });
371
+ if (updatableDraftOrders.length > 0) {
372
+ // let createdReleaseGoods: ReleaseGood[] = []
373
+ const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, typeorm_1.getRepository)(setting_base_1.Setting);
374
+ const roNoSetting = await settingRepo.findOne({
375
+ where: {
376
+ domain,
377
+ name: constants_1.ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
378
+ }
379
+ });
380
+ for (let draftOrder of updatableDraftOrders) {
381
+ await (0, typeorm_1.getConnection)().transaction(async (tx) => {
382
+ var _a;
383
+ let foundPermittedBizplace;
384
+ let companyBizplace;
385
+ // //remove op productBundle as there no support for partial release
386
+ // if (draftOrder.orderProducts.some(itm => !itm.product)) {
387
+ // draftOrder.orderProducts = draftOrder.orderProducts.filter(itm => itm.product)
388
+ // }
389
+ if ((_a = draftOrder === null || draftOrder === void 0 ? void 0 : draftOrder.bizplace) === null || _a === void 0 ? void 0 : _a.id) {
390
+ foundPermittedBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne(draftOrder.bizplace.id, {
391
+ relations: ['company', 'company.domain']
392
+ });
393
+ const companyDomain = foundPermittedBizplace.company.domain;
394
+ companyBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({ where: { domain: companyDomain } });
395
+ }
396
+ else {
397
+ return false;
398
+ }
399
+ const bizplaces = [foundPermittedBizplace, companyBizplace];
400
+ let loggerJson = JSON.stringify({ refNo: draftOrder.refNo, bizplaceId: draftOrder.bizplace.id, domain });
401
+ try {
402
+ console.time(`creating_order:${loggerJson}`);
403
+ let productInventory = await utils_1.InventoryUtil.bizplaceProductInventory(bizplaces, {
404
+ filters: [
405
+ {
406
+ name: 'productId',
407
+ operator: 'in',
408
+ value: [
409
+ ...draftOrder.orderProducts
410
+ .filter(itm => itm === null || itm === void 0 ? void 0 : itm.product)
411
+ .map(itm => {
412
+ return itm.product.id;
413
+ }),
414
+ ...draftOrder.orderProducts
415
+ .filter(itm => itm === null || itm === void 0 ? void 0 : itm.productBundle)
416
+ .map(itm => {
417
+ return itm.productBundle.id;
418
+ })
419
+ ]
420
+ }
421
+ ]
422
+ }, context, tx);
423
+ draftOrder.orderProducts = draftOrder.orderProducts.filter(op => op.status == 'DRAFT');
424
+ if (!Array.isArray(draftOrder.orderProducts)) {
425
+ draftOrder.orderProducts = [draftOrder.orderProducts];
426
+ }
427
+ // if (!foundItem)
428
+ let releaseOrderProducts = [];
429
+ draftOrder.orderProducts = draftOrder.orderProducts.map((itm, idx) => {
430
+ let foundProductInv = productInventory.items.find(i => {
431
+ var _a;
432
+ return (i.productDetailId == (itm === null || itm === void 0 ? void 0 : itm.productDetailId) || i.productId == ((_a = itm === null || itm === void 0 ? void 0 : itm.productBundle) === null || _a === void 0 ? void 0 : _a.id)) &&
433
+ !(i.remainQty === 0);
434
+ });
435
+ if (foundProductInv && itm.product) {
436
+ releaseOrderProducts.push(Object.assign(Object.assign({}, itm), { releaseUomValue: itm.releaseQty > foundProductInv.remainQty
437
+ ? (foundProductInv.remainUomValue / foundProductInv.remainQty) * foundProductInv.remainQty
438
+ : (foundProductInv.remainUomValue / foundProductInv.remainQty) * itm.releaseQty, status: itm.releaseQty <= foundProductInv.remainQty ? 'suffice' : 'partial-release', releaseQty: itm.releaseQty > foundProductInv.remainQty ? foundProductInv.remainQty : itm.releaseQty, newReleaseQty: itm.releaseQty > foundProductInv.remainQty ? itm.releaseQty - foundProductInv.remainQty : 0 }));
439
+ }
440
+ else if (foundProductInv && itm.productBundle) {
441
+ itm.productBundle.productBundleSettings.map(pbs => {
442
+ foundProductInv = productInventory.items.find(i => { var _a; return i.productDetailId == (pbs === null || pbs === void 0 ? void 0 : pbs.productDetail.id) || i.productId == ((_a = pbs === null || pbs === void 0 ? void 0 : pbs.product) === null || _a === void 0 ? void 0 : _a.id); });
443
+ if (foundProductInv) {
444
+ releaseOrderProducts.push(Object.assign(Object.assign({}, itm), { releaseUomValue: itm.releaseQty > foundProductInv.remainQty
445
+ ? (foundProductInv.remainUomValue / foundProductInv.remainQty) * foundProductInv.remainQty
446
+ : (foundProductInv.remainUomValue / foundProductInv.remainQty) * itm.releaseQty, status: itm.releaseQty * pbs.bundleQty <= foundProductInv.remainQty ? 'suffice' : 'insuffice' }));
447
+ }
448
+ });
449
+ }
450
+ if (!foundProductInv) {
451
+ failReleaseOrder.push(draftOrder.name);
452
+ }
453
+ });
454
+ // let sufficient = releaseOrderProducts.filter(op => op.status == 'suffice' || op.status == 'partial-release')
455
+ let sufficient = releaseOrderProducts.filter(op => {
456
+ const isAllSufficient = !releaseOrderProducts.some(op2 => {
457
+ return op2.productBundle === op.productBundle && op2.status === 'insuffice';
458
+ });
459
+ return (op.status === 'suffice' || op.status === 'partial-release') && isAllSufficient;
460
+ });
461
+ //create RO
462
+ if (sufficient.length > 0) {
463
+ let releaseGood = Object.assign({}, draftOrder);
464
+ delete releaseGood.id;
465
+ delete releaseGood.name;
466
+ delete releaseGood.createdAt;
467
+ delete releaseGood.createdBy;
468
+ delete releaseGood.updatedAt;
469
+ delete releaseGood.updatedBy;
470
+ let orderInventories = [];
471
+ for (let index = 0; index < sufficient.length; index++) {
472
+ const itm = sufficient[index];
473
+ let data = [];
474
+ if (itm.productBundle) {
475
+ let bundle = await tx.getRepository(product_base_1.ProductBundle).findOne({
476
+ where: { id: itm.productBundle.id },
477
+ relations: [
478
+ 'productBundleSettings',
479
+ 'productBundleSettings.productDetail',
480
+ 'productBundleSettings.product'
481
+ ]
482
+ });
483
+ for (let index2 = 0; index2 < bundle.productBundleSettings.length; index2++) {
484
+ const objProductBundleSetting = bundle.productBundleSettings[index2];
485
+ data.push({
486
+ sku: objProductBundleSetting.product.sku,
487
+ packingType: objProductBundleSetting.productDetail.packingType,
488
+ packingSize: objProductBundleSetting.productDetail.packingSize,
489
+ uom: objProductBundleSetting.productDetail.uom,
490
+ releaseQty: objProductBundleSetting.bundleQty * itm.releaseQty,
491
+ assignedQty: undefined,
492
+ assignedUomValue: undefined,
493
+ releaseUomValue: objProductBundleSetting.bundleQty * itm.releaseQty * itm.releaseUomValue
494
+ });
495
+ }
496
+ }
497
+ else {
498
+ data = [
499
+ {
500
+ sku: itm.product.sku,
501
+ packingType: itm.packingType,
502
+ packingSize: itm.packingSize,
503
+ uom: itm.uom,
504
+ releaseQty: itm.releaseQty,
505
+ assignedQty: undefined,
506
+ assignedUomValue: undefined,
507
+ releaseUomValue: itm.releaseUomValue
508
+ }
509
+ ];
510
+ }
511
+ data.forEach(data => {
512
+ let existingOI = orderInventories.find(itm => itm.sku == data.sku &&
513
+ itm.packingType == data.packingType &&
514
+ itm.packingSize == data.packingSize &&
515
+ itm.uom == data.uom);
516
+ if (existingOI) {
517
+ existingOI.releaseQty = existingOI.releaseQty + data.releaseQty;
518
+ existingOI.releaseUomValue = existingOI.releaseUomValue + data.uomValue;
519
+ existingOI.uomValue = existingOI.uomValue + data.uomValue;
520
+ }
521
+ else {
522
+ orderInventories.push(Object.assign(Object.assign({}, data), { orderProduct: itm }));
523
+ }
524
+ });
525
+ }
526
+ await (0, typeorm_1.getConnection)().transaction(async (tx) => {
527
+ var _a;
528
+ let availableItems = await (0, __1.bulkReleaseGoodsAvailableItemsFunction)(orderInventories, draftOrder.bizplace.id, context, tx);
529
+ // first condition for partial release (values use for generating release good)
530
+ if (draftOrder.id === value.id && value.releaseType === 'partial') {
531
+ releaseGood.orderInventories = availableItems.map(itm => {
532
+ return Object.assign(Object.assign({}, itm), { releaseQty: itm.assignedQty, releaseUomValue: itm.releaseUomValue, uomValue: itm.uomValue });
533
+ });
534
+ }
535
+ else if (availableItems.some(item => !item.releaseQty || item.releaseQty > item.assignedQty)) {
536
+ throw new errors_1.ValidationError(Object.assign(Object.assign({}, errors_1.ValidationError.ERROR_CODES.INSUFFICIENT_STOCK), { detail: { data: JSON.stringify(availableItems) } }));
537
+ }
538
+ else {
539
+ releaseGood.orderInventories = availableItems.map(itm => {
540
+ return Object.assign(Object.assign({}, itm), { releaseQty: itm.releaseQty, releaseUomValue: itm.releaseUomValue, uomValue: itm.uomValue });
541
+ });
542
+ }
543
+ // update orderInventories if availableItems are valid
544
+ releaseGood.noOfItems = orderInventories.length;
545
+ let createdReleaseGood = await (0, release_good_mutation_1.bulkGenerateReleaseGood)(releaseGood, releaseGood.bizplace.id, roNoSetting, domain, user, draftOrder, tx);
546
+ await tx
547
+ .getRepository(__1.DraftReleaseGood)
548
+ .update({ id: draftOrder.id }, { status: constants_1.DRAFT_RELEASE_ORDER_STATUS.PARTIAL_RELEASED });
549
+ const directReceiveSetting = await tx.getRepository(setting_base_1.Setting).findOne({
550
+ where: { domain, category: 'id-rule', name: 'enable-direct-receive-release-order' }
551
+ });
552
+ const partnerDirectReceiveSetting = await tx.getRepository(setting_base_1.PartnerSetting).findOne({
553
+ where: { setting: directReceiveSetting, domain, partnerDomain: (_a = draftOrder.bizplace) === null || _a === void 0 ? void 0 : _a.domain }
554
+ });
555
+ let settingValue;
556
+ if (!isNaN(partnerDirectReceiveSetting === null || partnerDirectReceiveSetting === void 0 ? void 0 : partnerDirectReceiveSetting.value) &&
557
+ !isNaN(parseFloat(partnerDirectReceiveSetting === null || partnerDirectReceiveSetting === void 0 ? void 0 : partnerDirectReceiveSetting.value))) {
558
+ settingValue = parseFloat(partnerDirectReceiveSetting.value);
559
+ }
560
+ else {
561
+ settingValue = parseFloat(directReceiveSetting.value);
562
+ }
563
+ createdReleaseGood = await (0, release_good_mutation_1.confirmReleaseGood)(createdReleaseGood.name, context, tx);
564
+ if (settingValue > 1) {
565
+ createdReleaseGood = await (0, release_good_mutation_1.receiveReleaseGood)(createdReleaseGood.name, context, tx);
566
+ for (let value = 0; value < sufficient.length; value++) {
567
+ if (sufficient[value].status == 'partial-release') {
568
+ let newOrderProduct = sufficient.map(item => {
569
+ return Object.assign(Object.assign({}, item), { name: utils_1.OrderNoGenerator.orderProduct(), draftReleaseGood: draftOrder, releaseQty: item.newReleaseQty, bizplace: draftOrder.bizplace, domain: draftOrder.domain, creator: user, updater: user, productDetail: item.productDetail, status: constants_1.ORDER_STATUS.DRAFT });
570
+ });
571
+ delete newOrderProduct[value].id;
572
+ delete newOrderProduct[value].releaseUomValue;
573
+ let generatedOrderProduct = await tx.getRepository(__1.OrderProduct).save(newOrderProduct[value]);
574
+ console.log(generatedOrderProduct);
575
+ }
576
+ }
577
+ }
578
+ });
579
+ }
580
+ }
581
+ catch (e) {
582
+ env_1.logger.error(`draft-release-good-mutation[generateReleaseGoodsFromDraft:${loggerJson}]: ${e === null || e === void 0 ? void 0 : e.message}`);
583
+ }
584
+ finally {
585
+ console.timeEnd(`creating_order:${loggerJson}`);
586
+ }
587
+ });
588
+ }
589
+ }
590
+ const checkDraftOrders = await tx.getRepository(__1.DraftReleaseGood).find({
591
+ where: {
592
+ domain,
593
+ id: (0, typeorm_1.In)(ids),
594
+ status: (0, typeorm_1.In)([constants_1.DRAFT_RELEASE_ORDER_STATUS.DRAFT, constants_1.DRAFT_RELEASE_ORDER_STATUS.PARTIAL_RELEASED])
595
+ },
596
+ relations: ['bizplace', 'domain', 'orderProducts', 'orderProducts.product', 'orderProducts.productBundle']
597
+ });
598
+ let productBundleOrders = [];
599
+ // let failReleaseOrder = []
600
+ let releasedOrders = [];
601
+ for (let index = 0; index < checkDraftOrders.length; index++) {
602
+ const allProductsAssignedOrPartialReleased = checkDraftOrders[index].orderProducts.every(itm => ['ASSIGNED', constants_1.DRAFT_RELEASE_ORDER_STATUS.PARTIAL_RELEASED].includes(itm.status));
603
+ if (allProductsAssignedOrPartialReleased) {
604
+ let draftOrderId = checkDraftOrders[index].id;
605
+ try {
606
+ await tx
607
+ .getRepository(__1.DraftReleaseGood)
608
+ .update({ id: draftOrderId }, { status: constants_1.DRAFT_RELEASE_ORDER_STATUS.SUBMITTED });
609
+ }
610
+ catch (e) {
611
+ console.log('Failed to update draft release good status');
612
+ }
613
+ }
614
+ const commonOrders = checkDraftOrders[index].orderProducts.every(checkOrder => checkOrder.status === 'DRAFT');
615
+ const hasPB = checkDraftOrders[index].orderProducts.some(itm => !itm.product);
616
+ if (commonOrders) {
617
+ failReleaseOrder.push(checkDraftOrders[index].name);
618
+ }
619
+ if (hasPB) {
620
+ productBundleOrders.push(checkDraftOrders[index].name);
621
+ }
622
+ }
623
+ if (failReleaseOrder.length > 0) {
624
+ releasedOrders = checkDraftOrders.filter(order => !failReleaseOrder.includes(order.name));
625
+ releasedOrders = releasedOrders.map(item => {
626
+ return {
627
+ draftName: item.name
628
+ };
629
+ });
630
+ }
631
+ if (productBundleOrders.length > 0) {
632
+ let productBundleOrder = productBundleOrders.map(item => {
633
+ return {
634
+ draftName: item,
635
+ isProductBundle: true
636
+ };
637
+ });
638
+ releasedOrders.push(...productBundleOrder);
639
+ }
640
+ return releasedOrders;
641
+ }
642
+ catch (e) {
643
+ env_1.logger.error(`draft-release-good-mutation[generateReleaseGoodsFromDraft]: ${e === null || e === void 0 ? void 0 : e.message}`);
644
+ }
645
+ }
646
+ exports.generatePartialReleaseGoods = generatePartialReleaseGoods;
647
+ //# sourceMappingURL=draft-release-good-create.js.map