@things-factory/sales-base 4.3.651 → 4.3.652

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 (430) 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 +690 -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 +1085 -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 +634 -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 +366 -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 +489 -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 +559 -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 +536 -0
  288. package/dist-server/service/others/other-query.js.map +1 -0
  289. package/dist-server/service/others/other-types.js +181 -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 +1131 -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 +8 -8
  430. package/server/service/vas/vas-mutation.ts +222 -225
@@ -0,0 +1,690 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updatePackageId = exports.createSofOrderPackageItem = exports.createSofOrderPackage = exports.createConsignmentWithMultipackage = exports.splitOrderConsignment = exports.sortingProduct = exports.createOrderConsignment = exports.PowrupController = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const uuid_1 = require("uuid");
6
+ const biz_base_1 = require("@things-factory/biz-base");
7
+ const env_1 = require("@things-factory/env");
8
+ const integration_powrup_1 = require("@things-factory/integration-powrup");
9
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
10
+ const constants_1 = require("../../constants");
11
+ const order_package_item_1 = require("../../service/order-package-item/order-package-item");
12
+ const order_package_1 = require("../../service/order-package/order-package");
13
+ const release_good_1 = require("../../service/release-good/release-good");
14
+ const utils_1 = require("../../utils");
15
+ const datetime_util_1 = require("../../utils/datetime-util");
16
+ const order_consignment_1 = require("../../service/order-consignment/order-consignment");
17
+ const { PerformanceObserver, performance } = require('node:perf_hooks');
18
+ class PowrupController {
19
+ async packOrder(powrup, releaseGood, domain, user, trxMgr) {
20
+ var _a;
21
+ let roUpdateFields = null;
22
+ const updateRO = async (releaseGoodId, roUpdateFields, trxMgr) => {
23
+ try {
24
+ if (roUpdateFields) {
25
+ const result = await trxMgr.getRepository(release_good_1.ReleaseGood).save({ id: releaseGoodId }, roUpdateFields);
26
+ }
27
+ }
28
+ catch (e) {
29
+ env_1.logger.error(e);
30
+ }
31
+ };
32
+ try {
33
+ const orderProducts = releaseGood.orderProducts;
34
+ const orderInformation = { refOrderId: releaseGood.refOrderId };
35
+ const lmdOption = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lmdOption;
36
+ if ((releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lastMarketPackCall) &&
37
+ datetime_util_1.DateTimeDifference.timeDifferenceInSeconds(releaseGood.lastMarketPackCall, new Date()) <= 5) {
38
+ return;
39
+ }
40
+ // capture update fields
41
+ roUpdateFields = {
42
+ lastMarketPackCall: new Date()
43
+ };
44
+ // non-sof orders will trigger packOrder - create consignment - order package
45
+ if (!lmdOption) {
46
+ performance.mark(`start:${releaseGood.refOrderId}`);
47
+ const orderPack = await integration_powrup_1.PowrupAPI.packOrder(powrup, Object.assign(Object.assign({}, orderInformation), { context: { state: { domain: domain || null, user: user || null } } }));
48
+ performance.mark(`end:${releaseGood.refOrderId}`);
49
+ if (orderPack === null || orderPack === void 0 ? void 0 : orderPack.packages) {
50
+ const packages = orderPack.packages;
51
+ await Promise.all(packages.map(async (pkg) => {
52
+ const items = pkg.items;
53
+ let orderConsignment = await createOrderConsignment(trxMgr, releaseGood, user);
54
+ let savedOrderPackage = await this.createOrderPackage(trxMgr, releaseGood, orderConsignment, user, pkg);
55
+ const orderPackageItems = await this.createOrderPackageItems(orderProducts, savedOrderPackage, items, user, false, releaseGood);
56
+ await trxMgr.getRepository(order_package_item_1.OrderPackageItem).save(orderPackageItems);
57
+ }));
58
+ const unassignedOrderProducts = orderProducts.filter(op => {
59
+ return (op.releaseQty > 0 ||
60
+ !packages.some(pkg => pkg.items.some(itm => itm.refCode === op.productDetail.refCode)));
61
+ });
62
+ if ((unassignedOrderProducts === null || unassignedOrderProducts === void 0 ? void 0 : unassignedOrderProducts.length) > 0)
63
+ await this.unassignedOrderProducts(unassignedOrderProducts, releaseGood, user, trxMgr);
64
+ roUpdateFields = {
65
+ packageId: packages[0].packageId,
66
+ marketPackCallSuccess: new Date(),
67
+ lastMarketPackCall: new Date(),
68
+ updatedAt: new Date()
69
+ };
70
+ }
71
+ await updateRO(releaseGood.id, roUpdateFields, trxMgr);
72
+ }
73
+ else {
74
+ //sof orders will create consignment - order package - trigger packOrder
75
+ let newReleaseGood;
76
+ let orderPackages = [];
77
+ const isMps = (_a = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lastMileDelivery) === null || _a === void 0 ? void 0 : _a.mps;
78
+ const orderInformation = { refOrderId: releaseGood.refOrderId, isSof: true };
79
+ if (isMps) {
80
+ newReleaseGood = await splitOrderConsignment(trxMgr, releaseGood, user);
81
+ orderPackages = newReleaseGood.orderPackages;
82
+ releaseGood.orderPackages = orderPackages;
83
+ }
84
+ else {
85
+ //create package like normal non sof orders
86
+ let orderConsignment = await createOrderConsignment(trxMgr, releaseGood, user);
87
+ let savedOrderPackage = await this.createOrderPackage(trxMgr, releaseGood, orderConsignment, user);
88
+ let orderPackageItems = await createSofOrderPackageItem(trxMgr, [], savedOrderPackage, releaseGood);
89
+ savedOrderPackage.orderPackageItems = orderPackageItems;
90
+ orderPackages.push(savedOrderPackage);
91
+ releaseGood.orderPackages = orderPackages;
92
+ newReleaseGood = releaseGood;
93
+ }
94
+ const packages = orderPackages.map(op => {
95
+ const items = op.orderPackageItems.map(opi => {
96
+ return {
97
+ universalIdentifier: opi.productDetail.refCode,
98
+ sku: opi.orderProduct.product.sku,
99
+ quantity: opi.releaseQty
100
+ };
101
+ });
102
+ return {
103
+ packageId: op.id,
104
+ items: items
105
+ };
106
+ });
107
+ performance.mark(`start:${newReleaseGood === null || newReleaseGood === void 0 ? void 0 : newReleaseGood.refOrderId}`);
108
+ const orderPack = await integration_powrup_1.PowrupAPI.packOrder(powrup, Object.assign(Object.assign({}, orderInformation), { packages, context: { state: { domain: domain || null, user: user || null } } }));
109
+ performance.mark(`end:${newReleaseGood.refOrderId}`);
110
+ if (orderPack === null || orderPack === void 0 ? void 0 : orderPack.packages) {
111
+ roUpdateFields = {
112
+ marketPackCallSuccess: new Date(),
113
+ lastMarketPackCall: new Date(),
114
+ updatedAt: new Date()
115
+ };
116
+ let packages = orderPack.packages;
117
+ await updatePackageId(packages, releaseGood, trxMgr);
118
+ }
119
+ }
120
+ }
121
+ catch (error) {
122
+ performance.mark(`end:${releaseGood.refOrderId}`);
123
+ roUpdateFields = {
124
+ packOrderFail: true
125
+ };
126
+ env_1.logger.error(`powrup-controller[packOrder]: ${error}`);
127
+ }
128
+ finally {
129
+ let perf = performance.measure(`powrupPackOrder: ${releaseGood.refOrderId}`, `start:${releaseGood.refOrderId}`, `end:${releaseGood.refOrderId}`);
130
+ console.info(perf.toJSON());
131
+ }
132
+ return releaseGood;
133
+ }
134
+ async updateStock(inventories, customerDomain, user, trxMgr) {
135
+ if (trxMgr) {
136
+ await this.updateStockFunction(inventories, customerDomain, user, trxMgr);
137
+ }
138
+ else {
139
+ await (0, typeorm_1.getConnection)().transaction(async (tx) => {
140
+ await this.updateStockFunction(inventories, customerDomain, user, tx);
141
+ });
142
+ }
143
+ }
144
+ async initiateShipment(powrup, releaseGood, domain, user, trxMgr) {
145
+ try {
146
+ let orderPackageRepo = trxMgr ? trxMgr.getRepository(order_package_1.OrderPackage) : (0, typeorm_1.getRepository)(order_package_1.OrderPackage);
147
+ let releaseGoodRepo = trxMgr ? trxMgr.getRepository(release_good_1.ReleaseGood) : (0, typeorm_1.getRepository)(release_good_1.ReleaseGood);
148
+ let orderPackages = await orderPackageRepo.find({
149
+ where: { releaseGood, packageId: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()) },
150
+ relations: ['releaseGood', 'releaseGood.lastMileDelivery']
151
+ });
152
+ if (orderPackages === null || orderPackages === void 0 ? void 0 : orderPackages.length) {
153
+ await Promise.all(orderPackages
154
+ .filter(op => (op === null || op === void 0 ? void 0 : op.marketRtsCallSuccess) == undefined)
155
+ .map(async (op) => {
156
+ var _a, _b;
157
+ if (!(op === null || op === void 0 ? void 0 : op.packageId))
158
+ throw new Error('Order package id is not found');
159
+ if (op.lmdOption && !(op === null || op === void 0 ? void 0 : op.parcelId))
160
+ return;
161
+ let orderInformation = {
162
+ refOrderId: releaseGood.refOrderId,
163
+ packageId: op.packageId,
164
+ platform: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.platformCode
165
+ };
166
+ if ((_a = op === null || op === void 0 ? void 0 : op.releaseGood) === null || _a === void 0 ? void 0 : _a.lmdOption) {
167
+ orderInformation = Object.assign(Object.assign({}, orderInformation), { awb: op.airwayBill, trackingNo: op.trackingNo, lmdOption: (_b = op === null || op === void 0 ? void 0 : op.releaseGood) === null || _b === void 0 ? void 0 : _b.lmdOption, shipperName: op.releaseGood.lastMileDelivery.platform });
168
+ }
169
+ performance.mark(`start:${releaseGood.refOrderId} - ${op.packageId}`);
170
+ try {
171
+ await integration_powrup_1.PowrupAPI.initiateShipment(powrup, Object.assign(Object.assign({}, orderInformation), { context: { state: { domain, user } } }));
172
+ await orderPackageRepo.update({ id: op.id }, { marketRtsCallSuccess: new Date() });
173
+ performance.mark(`end:${releaseGood.refOrderId} - ${op.packageId}`);
174
+ }
175
+ catch (error) {
176
+ performance.mark(`end:${releaseGood.refOrderId} - ${op.packageId}`);
177
+ env_1.logger.error(`powrup-controller[initiateShipment]: ${JSON.stringify(Object.assign(Object.assign({}, orderInformation), { context: { state: { domain: domain || null, user: user || null } }, error: error }))}`);
178
+ }
179
+ finally {
180
+ let perf = performance.measure(`powrupInitiateShipment: ${releaseGood.refOrderId} - ${op.packageId}`, `start:${releaseGood.refOrderId} - ${op.packageId}`, `end:${releaseGood.refOrderId} - ${op.packageId}`);
181
+ console.info(perf.toJSON());
182
+ }
183
+ }));
184
+ }
185
+ }
186
+ catch (error) {
187
+ throw error;
188
+ }
189
+ }
190
+ async fetchDocument(powrup, releaseGood, domain, user, trxMgr) {
191
+ if (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lmdOption) {
192
+ return;
193
+ }
194
+ try {
195
+ let orderPackages = await ((trxMgr === null || trxMgr === void 0 ? void 0 : trxMgr.getRepository(order_package_1.OrderPackage)) || (0, typeorm_1.getRepository)(order_package_1.OrderPackage)).find({ where: { releaseGood } });
196
+ if (orderPackages === null || orderPackages === void 0 ? void 0 : orderPackages.length) {
197
+ await Promise.all(orderPackages.map(async (op) => {
198
+ if (!(op === null || op === void 0 ? void 0 : op.packageId))
199
+ throw new Error('Order package id is not found');
200
+ const orderInformation = {
201
+ refOrderId: releaseGood.refOrderId,
202
+ packageId: op.packageId
203
+ };
204
+ performance.mark(`start:${releaseGood.refOrderId} - ${op.packageId}`);
205
+ try {
206
+ const { trackingNo, transporter, printLabels } = await integration_powrup_1.PowrupAPI.fetchDocument(powrup, Object.assign(Object.assign({}, orderInformation), { context: { state: { domain: domain || null, user: user || null } } }));
207
+ performance.mark(`end:${releaseGood.refOrderId} - ${op.packageId}`);
208
+ let updateInfo;
209
+ if (printLabels === null || printLabels === void 0 ? void 0 : printLabels.length) {
210
+ printLabels.map(pl => {
211
+ updateInfo = Object.assign(Object.assign({}, updateInfo), { airwayBill: pl.awbUrl });
212
+ });
213
+ updateInfo = Object.assign(Object.assign({}, updateInfo), { trackingNo: trackingNo, transporter: transporter, updater: user });
214
+ await ((trxMgr === null || trxMgr === void 0 ? void 0 : trxMgr.getRepository(order_package_1.OrderPackage)) || (0, typeorm_1.getRepository)(order_package_1.OrderPackage)).update({ id: op.id }, Object.assign({}, updateInfo));
215
+ }
216
+ }
217
+ catch (error) {
218
+ performance.mark(`end:${releaseGood.refOrderId} - ${op.packageId}`);
219
+ }
220
+ finally {
221
+ let perf = performance.measure(`powrupFetchDocument: ${releaseGood.refOrderId} - ${op.packageId}`, `start:${releaseGood.refOrderId} - ${op.packageId}`, `end:${releaseGood.refOrderId} - ${op.packageId}`);
222
+ console.info(perf.toJSON());
223
+ }
224
+ }));
225
+ releaseGood = await ((trxMgr === null || trxMgr === void 0 ? void 0 : trxMgr.getRepository(release_good_1.ReleaseGood)) || (0, typeorm_1.getRepository)(release_good_1.ReleaseGood)).findOne({
226
+ id: releaseGood.id
227
+ });
228
+ }
229
+ return releaseGood;
230
+ }
231
+ catch (error) {
232
+ throw error;
233
+ }
234
+ }
235
+ async updateStockFunction(inventories, customerDomain, user, trxMgr) {
236
+ const bizplace = await trxMgr.getRepository(biz_base_1.Bizplace).findOne({ domain: customerDomain });
237
+ const powrup = await trxMgr
238
+ .getRepository(integration_powrup_1.Powrup)
239
+ .findOne({ where: { platform: integration_powrup_1.Platform.POWRUP, active: true } });
240
+ if (powrup) {
241
+ for (let inventory of inventories) {
242
+ try {
243
+ let product = inventory.product;
244
+ const productDetail = inventory.productDetail;
245
+ const warehouseDomainId = inventory.domainId;
246
+ let qb = trxMgr.getRepository(warehouse_base_1.Inventory).createQueryBuilder('inv');
247
+ qb.leftJoinAndSelect('inv.location', 'loc')
248
+ .andWhere('"inv"."domain_id" = :domainId')
249
+ .andWhere('"inv"."bizplace_id" = :bizplaceId')
250
+ .andWhere('"inv"."product_id" = :productId')
251
+ .andWhere('"inv"."product_detail_id" = :productDetailId')
252
+ .andWhere('"inv"."status" = :status')
253
+ .andWhere('"loc"."type" NOT IN (:...locationTypes)')
254
+ .setParameters({
255
+ domainId: warehouseDomainId,
256
+ bizplaceId: bizplace.id,
257
+ productId: product.id,
258
+ productDetailId: productDetail.id,
259
+ status: warehouse_base_1.INVENTORY_STATUS.STORED,
260
+ locationTypes: [warehouse_base_1.LOCATION_TYPE.QUARANTINE]
261
+ });
262
+ let foundInventories = await qb.getMany();
263
+ let inventoryTotalQty = 0;
264
+ let inventoryTotalLockedQty = 0;
265
+ let inventoryBufferQty = 0;
266
+ foundInventories.forEach((inventory) => {
267
+ const { qty, lockedQty } = inventory;
268
+ inventoryTotalQty += qty;
269
+ inventoryTotalLockedQty += lockedQty;
270
+ if (inventory.location.type === warehouse_base_1.LOCATION_TYPE.RESERVE) {
271
+ inventoryBufferQty += qty;
272
+ }
273
+ });
274
+ const productDetailStock = await trxMgr
275
+ .getRepository(warehouse_base_1.ProductDetailStock)
276
+ .findOne({ productDetail });
277
+ const powrupInvs = [
278
+ {
279
+ refCode: productDetail.refCode,
280
+ stock: {
281
+ quantityTotal: inventoryTotalQty || 0,
282
+ quantityReserved: inventoryTotalLockedQty + (productDetailStock.unassignedQty || 0) || 0,
283
+ quantityBuffer: 0
284
+ }
285
+ }
286
+ ];
287
+ await integration_powrup_1.PowrupAPI.updateStock(powrup, {
288
+ context: { state: { domain: customerDomain || null, user: user || user } },
289
+ warehouseDomainId,
290
+ powrupInvs
291
+ });
292
+ }
293
+ catch (e) {
294
+ console.log(e);
295
+ }
296
+ }
297
+ }
298
+ }
299
+ //create orderPackage for non-sof / sof- non mps orders
300
+ async createOrderPackage(tx, releaseGood, orderConsignment, user, pkg) {
301
+ try {
302
+ const orderPackage = {
303
+ id: (0, uuid_1.v4)(),
304
+ name: utils_1.OrderNoGenerator.orderPackage(),
305
+ packageId: pkg ? pkg.packageId : null,
306
+ status: constants_1.ORDER_STATUS.PROCESSING,
307
+ releaseGood,
308
+ orderConsignment,
309
+ domain: releaseGood.domain,
310
+ bizplace: releaseGood.bizplace,
311
+ creator: user.id,
312
+ updater: user.id,
313
+ originalPackResponse: pkg ? JSON.stringify(pkg) : null
314
+ };
315
+ let savedOrderPackage = await tx.getRepository(order_package_1.OrderPackage).save(orderPackage);
316
+ return savedOrderPackage;
317
+ }
318
+ catch (e) {
319
+ env_1.logger.error(`[lmd-create-order-consignment]: ${e} `);
320
+ }
321
+ }
322
+ async createOrderPackageItems(orderProducts, orderPackage, items, user, unassignedItems, releaseGood) {
323
+ try {
324
+ const processedItems = items.map(itm => {
325
+ var _a;
326
+ const { refCode, qty, productDetail, releaseQty } = itm;
327
+ if (!refCode && !unassignedItems) {
328
+ throw new Error(`universalIdentifier missing`);
329
+ }
330
+ const idx = orderProducts.findIndex(op => { var _a, _b; return ((_a = op.productDetail) === null || _a === void 0 ? void 0 : _a.refCode) === refCode || ((_b = op.productDetail) === null || _b === void 0 ? void 0 : _b.refCode) === (productDetail === null || productDetail === void 0 ? void 0 : productDetail.refCode); });
331
+ const matchedOrderProduct = idx !== -1 ? Object.assign({}, orderProducts[idx]) : undefined;
332
+ if (!matchedOrderProduct || matchedOrderProduct.releaseQty <= 0) {
333
+ return null; // No matched product or no remaining quantity to release
334
+ }
335
+ const matchedOrderPackageItem = (_a = orderPackage === null || orderPackage === void 0 ? void 0 : orderPackage.orderPackageItems) === null || _a === void 0 ? void 0 : _a.find(itm => itm.orderProductId === matchedOrderProduct.id);
336
+ const commonProperties = {
337
+ orderProduct: matchedOrderProduct,
338
+ status: constants_1.ORDER_STATUS.PROCESSING,
339
+ orderPackage: orderPackage,
340
+ domain: releaseGood.domain,
341
+ bizplace: releaseGood.bizplace,
342
+ creator: user.id,
343
+ updater: user.id,
344
+ productDetail: matchedOrderProduct.productDetail
345
+ };
346
+ let result = {};
347
+ if (matchedOrderPackageItem) {
348
+ result = Object.assign(Object.assign({}, commonProperties), { id: matchedOrderPackageItem.id, name: matchedOrderPackageItem.name, releaseQty: (matchedOrderPackageItem.releaseQty || 0) + (releaseQty || 0) });
349
+ }
350
+ else {
351
+ orderProducts[idx].releaseQty = (orderProducts[idx].releaseQty || 0) - (qty || 0);
352
+ result = Object.assign(Object.assign({}, commonProperties), { name: utils_1.OrderNoGenerator.orderPackageItem(), releaseQty: releaseQty
353
+ ? releaseQty
354
+ : qty > matchedOrderProduct.releaseQty
355
+ ? matchedOrderProduct.releaseQty
356
+ : qty });
357
+ }
358
+ return result;
359
+ });
360
+ return processedItems.filter(item => item != null);
361
+ }
362
+ catch (e) {
363
+ env_1.logger.error(`unable-to-create-opi-powrup: ${e}`);
364
+ }
365
+ }
366
+ async unassignedOrderProducts(unassignedOrderProducts, releaseGood, user, trxMgr) {
367
+ const orderPackages = await trxMgr.getRepository(order_package_1.OrderPackage).find({
368
+ where: { releaseGood: releaseGood.id },
369
+ relations: ['orderPackageItems']
370
+ });
371
+ let selectedOrderPackage = orderPackages.reduce((minOrderPackage, currentOrderPackage) => {
372
+ return (currentOrderPackage === null || currentOrderPackage === void 0 ? void 0 : currentOrderPackage.orderPackageItems.length) < (minOrderPackage === null || minOrderPackage === void 0 ? void 0 : minOrderPackage.orderPackageItems.length)
373
+ ? currentOrderPackage
374
+ : minOrderPackage;
375
+ }, orderPackages[0]);
376
+ const unassignedPackageItems = await this.createOrderPackageItems(unassignedOrderProducts, selectedOrderPackage, unassignedOrderProducts, user, true, releaseGood);
377
+ await trxMgr.getRepository(order_package_item_1.OrderPackageItem).save(unassignedPackageItems);
378
+ }
379
+ }
380
+ exports.PowrupController = PowrupController;
381
+ async function createOrderConsignment(tx, releaseGood, user, orderCons) {
382
+ var _a;
383
+ try {
384
+ const orderConsignment = {
385
+ id: (0, uuid_1.v4)(),
386
+ name: utils_1.OrderNoGenerator.orderConsignment(),
387
+ noOfPackages: ((_a = orderCons === null || orderCons === void 0 ? void 0 : orderCons.orderPackages) === null || _a === void 0 ? void 0 : _a.length) ? orderCons.orderPackages.length : 1,
388
+ domain: releaseGood.domain,
389
+ bizplace: releaseGood.bizplace,
390
+ releaseGood: releaseGood,
391
+ orderPackages: [],
392
+ creator: user,
393
+ updater: user
394
+ };
395
+ return tx.getRepository(order_consignment_1.OrderConsignment).save(orderConsignment);
396
+ }
397
+ catch (e) {
398
+ env_1.logger.error(`[lmd-create-order-consignment]: ${e} `);
399
+ }
400
+ }
401
+ exports.createOrderConsignment = createOrderConsignment;
402
+ async function sortingProduct(orderProducts) {
403
+ try {
404
+ const sortedMatchedOrderProducts = orderProducts.sort((a, b) => {
405
+ if (a.product.packingType !== b.product.packingType) {
406
+ return a.product.packingType < b.product.packingType ? -1 : 1;
407
+ }
408
+ if (a.product.sku !== b.product.sku) {
409
+ return a.product.sku < b.product.sku ? -1 : 1;
410
+ }
411
+ return 0;
412
+ });
413
+ return sortedMatchedOrderProducts;
414
+ }
415
+ catch (e) {
416
+ env_1.logger.error(`[lmd-sort-product]: ${e} `);
417
+ }
418
+ }
419
+ exports.sortingProduct = sortingProduct;
420
+ async function splitOrderConsignment(tx, releaseGood, user) {
421
+ try {
422
+ let currentConsignment = { id: (0, uuid_1.v4)(), totalWeight: 0, orderPackages: [] };
423
+ let totalConsignments = [];
424
+ let currOrderProducts = [];
425
+ let totalConsignmentWeight = 0;
426
+ let orderProducts = releaseGood.orderProducts;
427
+ let maxConsignmentWeight = releaseGood.lastMileDelivery.consignmentWeight;
428
+ //sort products according to the packingType
429
+ let sortItems = await sortingProduct(orderProducts);
430
+ //initialise new orderConsignment created
431
+ const createdNewConsignment = () => ({
432
+ id: (0, uuid_1.v4)(),
433
+ totalWeight: 0,
434
+ orderPackages: []
435
+ });
436
+ //push orderPackage & packageItems into consigment
437
+ const createPackageConsignment = (consignment, packageWeight, releaseGood, orderProduct, releaseQty, user) => {
438
+ consignment.totalWeight += packageWeight;
439
+ currentConsignment.orderPackages.push({
440
+ id: (0, uuid_1.v4)(),
441
+ name: utils_1.OrderNoGenerator.orderPackage(),
442
+ packageId: null,
443
+ trackingNo: null,
444
+ transporter: null,
445
+ airwayBill: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill) || null,
446
+ invoice: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.invoice,
447
+ status: constants_1.ORDER_STATUS.PROCESSING,
448
+ releaseGood,
449
+ domain: releaseGood.domain,
450
+ bizplace: releaseGood.bizplace,
451
+ creator: user,
452
+ updater: user,
453
+ orderPackageItems: [
454
+ {
455
+ id: (0, uuid_1.v4)(),
456
+ name: utils_1.OrderNoGenerator.orderPackageItem(),
457
+ releaseQty: releaseQty,
458
+ orderProduct: orderProduct,
459
+ domain: releaseGood.domain,
460
+ bizplace: releaseGood.bizplace,
461
+ creator: releaseGood.creator,
462
+ updater: releaseGood.updater,
463
+ productDetail: orderProduct.productDetail
464
+ }
465
+ ]
466
+ });
467
+ };
468
+ const createPackage = op => {
469
+ let releaseQty = op.productDetail.packingType.toLowerCase() === 'carton' ? 1 : op.releaseQty;
470
+ let packageWeight = op.productDetail.packingType.toLowerCase() === 'carton'
471
+ ? op.productDetail.grossWeight
472
+ : op.productDetail.grossWeight * releaseQty;
473
+ const isCarton = op.productDetail.packingType.toLowerCase() === 'carton';
474
+ totalConsignmentWeight += packageWeight;
475
+ const requiresNewConsignment = totalConsignmentWeight >= maxConsignmentWeight;
476
+ if (isCarton || op.releaseQty > 1) {
477
+ if (requiresNewConsignment) {
478
+ //push the current consignment to create new consignment
479
+ totalConsignments.push(currentConsignment);
480
+ //Initialise the totalConsignment weight to the new data
481
+ totalConsignmentWeight = packageWeight + 0;
482
+ currentConsignment = createdNewConsignment();
483
+ }
484
+ createPackageConsignment(currentConsignment, packageWeight, releaseGood, op, releaseQty, user);
485
+ }
486
+ else {
487
+ currOrderProducts.push(op);
488
+ }
489
+ };
490
+ sortItems.forEach(item => {
491
+ let productDetail = item.productDetail;
492
+ if (productDetail.packingType.toLowerCase() === 'carton') {
493
+ for (let i = 0; i < item.releaseQty; i++) {
494
+ createPackage(item);
495
+ }
496
+ }
497
+ else {
498
+ createPackage(item);
499
+ }
500
+ });
501
+ // Add any remaining items to the last orderPackage
502
+ if (currOrderProducts.length > 0) {
503
+ let availableConsignment;
504
+ for (let i = 0; i < currOrderProducts.length; i++) {
505
+ let op = currOrderProducts[i];
506
+ let releaseQty = op.releaseQty;
507
+ let currProductWeight = op.productDetail.grossWeight * op.releaseQty;
508
+ let lastOrderPackage = currentConsignment.orderPackages[currentConsignment.orderPackages.length - 1];
509
+ //push the product into last current consignment orderPackage
510
+ if (currentConsignment.totalWeight + currProductWeight < maxConsignmentWeight) {
511
+ if (lastOrderPackage) {
512
+ lastOrderPackage.orderPackageItems.push({
513
+ id: (0, uuid_1.v4)(),
514
+ name: utils_1.OrderNoGenerator.orderPackageItem(),
515
+ releaseQty: op.releaseQty,
516
+ orderProduct: op,
517
+ domain: releaseGood.domain,
518
+ bizplace: releaseGood.bizplace,
519
+ creator: releaseGood.creator,
520
+ updater: releaseGood.updater,
521
+ productDetail: op.productDetail
522
+ });
523
+ }
524
+ else {
525
+ await createPackageConsignment(currentConsignment, currProductWeight, releaseGood, op, releaseQty, user);
526
+ }
527
+ }
528
+ else {
529
+ //push the currentConsignment into list of all the consignments
530
+ if (!totalConsignments.some(tc => tc.id === currentConsignment.id)) {
531
+ totalConsignments.push(currentConsignment);
532
+ }
533
+ //find one order consignment to include the product
534
+ availableConsignment = totalConsignments.find(tc => {
535
+ tc.totalWeight += currProductWeight < maxConsignmentWeight;
536
+ });
537
+ if (availableConsignment) {
538
+ let lastOrderPackage = availableConsignment.orderPackages[currentConsignment.orderPackages.length - 1];
539
+ lastOrderPackage.orderPackageItems.push({
540
+ id: (0, uuid_1.v4)(),
541
+ name: utils_1.OrderNoGenerator.orderPackageItem(),
542
+ releaseQty: op.releaseQty,
543
+ orderProduct: op,
544
+ domain: releaseGood.domain,
545
+ bizplace: releaseGood.bizplace,
546
+ creator: releaseGood.creator,
547
+ updater: releaseGood.updater,
548
+ productDetail: op.productDetail
549
+ });
550
+ //update the totalConsignment data
551
+ totalConsignments = totalConsignments.map(tc => {
552
+ tc.id === availableConsignment.id ? availableConsignment : tc;
553
+ });
554
+ }
555
+ else {
556
+ //create new consignment if no consignment available
557
+ currentConsignment = createdNewConsignment();
558
+ createPackageConsignment(currentConsignment, currProductWeight, releaseGood, op, releaseQty, user);
559
+ totalConsignments.push(currentConsignment);
560
+ }
561
+ }
562
+ }
563
+ }
564
+ const existingConsignment = totalConsignments.find(tc => tc.id === currentConsignment.id);
565
+ if (!existingConsignment) {
566
+ totalConsignments.push(currentConsignment);
567
+ }
568
+ let orderConsignment = totalConsignments;
569
+ let newReleaseGood = await createConsignmentWithMultipackage(tx, orderConsignment, releaseGood, user);
570
+ return newReleaseGood;
571
+ }
572
+ catch (e) {
573
+ env_1.logger.error(e);
574
+ }
575
+ }
576
+ exports.splitOrderConsignment = splitOrderConsignment;
577
+ async function createConsignmentWithMultipackage(tx, orderConsList, releaseGood, user) {
578
+ try {
579
+ let newOrderPackages = [];
580
+ let newOrderConsignments = [];
581
+ for (const orderCons of orderConsList) {
582
+ const savedOrderConsignment = await createOrderConsignment(tx, releaseGood, user, orderCons);
583
+ for (const currentPackage of orderCons.orderPackages) {
584
+ const savedOrderPackage = await createSofOrderPackage(tx, currentPackage, releaseGood, user, savedOrderConsignment);
585
+ const orderPackageItems = await createSofOrderPackageItem(tx, currentPackage.orderPackageItems, savedOrderPackage, releaseGood);
586
+ savedOrderPackage.orderPackageItems = orderPackageItems;
587
+ savedOrderConsignment.orderPackages.push(savedOrderPackage);
588
+ newOrderPackages.push(savedOrderPackage);
589
+ }
590
+ newOrderConsignments.push(savedOrderConsignment);
591
+ }
592
+ releaseGood.orderConsignments = newOrderConsignments;
593
+ releaseGood.orderPackages = newOrderPackages;
594
+ return releaseGood;
595
+ }
596
+ catch (error) {
597
+ console.error('Error creating consignment with multiple packages:', error);
598
+ throw error;
599
+ }
600
+ }
601
+ exports.createConsignmentWithMultipackage = createConsignmentWithMultipackage;
602
+ async function createSofOrderPackage(tx, orderPackageData, releaseGood, user, orderConsignment) {
603
+ try {
604
+ const orderPackage = {
605
+ id: (0, uuid_1.v4)(),
606
+ name: utils_1.OrderNoGenerator.orderPackage(),
607
+ packageId: null,
608
+ trackingNo: null,
609
+ transporter: null,
610
+ airwayBill: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill) || null,
611
+ invoice: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.invoice,
612
+ status: constants_1.ORDER_STATUS.PROCESSING,
613
+ releaseGood,
614
+ domain: releaseGood.domain,
615
+ bizplace: releaseGood.bizplace,
616
+ creator: user,
617
+ updater: user,
618
+ orderConsignment
619
+ };
620
+ return tx.getRepository(order_package_1.OrderPackage).save(orderPackage);
621
+ }
622
+ catch (e) {
623
+ env_1.logger.error(`[lmd-create-order-package]: ${e} `);
624
+ }
625
+ }
626
+ exports.createSofOrderPackage = createSofOrderPackage;
627
+ async function createSofOrderPackageItem(tx, orderPackageItemsData, savedOrderPackage, releaseGood) {
628
+ try {
629
+ const orderPackageItems = (orderPackageItemsData.length > 0 ? orderPackageItemsData : releaseGood.orderProducts).map(item => {
630
+ const isOrderPackageItemData = orderPackageItemsData.length > 0;
631
+ const id = isOrderPackageItemData ? item.id : (0, uuid_1.v4)();
632
+ const name = isOrderPackageItemData ? item.name : utils_1.OrderNoGenerator.orderPackageItem();
633
+ const orderProduct = isOrderPackageItemData ? item.orderProduct : item;
634
+ const releaseQty = isOrderPackageItemData ? item.releaseQty : item.releaseQty;
635
+ return {
636
+ id,
637
+ name,
638
+ orderProduct,
639
+ status: constants_1.ORDER_STATUS.PROCESSING,
640
+ releaseQty,
641
+ orderPackage: savedOrderPackage,
642
+ domain: releaseGood.domain,
643
+ bizplace: releaseGood.bizplace,
644
+ creator: releaseGood.creator,
645
+ updater: releaseGood.updater,
646
+ productDetail: isOrderPackageItemData ? item.productDetail : item.productDetail
647
+ };
648
+ });
649
+ let savedOrderPackageItems = await tx.getRepository(order_package_item_1.OrderPackageItem).save(orderPackageItems);
650
+ return savedOrderPackageItems;
651
+ }
652
+ catch (e) {
653
+ env_1.logger.error(`[lmd-create-order-package]: ${e} `);
654
+ }
655
+ }
656
+ exports.createSofOrderPackageItem = createSofOrderPackageItem;
657
+ async function updatePackageId(packages, releaseGood, trxMgr) {
658
+ try {
659
+ //open new transactiion - same transaction will cause blocking
660
+ await (0, typeorm_1.getConnection)().transaction(async (tx2) => {
661
+ const orderPackages = await tx2.getRepository(order_package_1.OrderPackage).find({
662
+ where: { releaseGood: { id: releaseGood.id } },
663
+ relations: ['releaseGood']
664
+ });
665
+ for (let orderPackage of orderPackages) {
666
+ let matchedPackage = packages.find(p => {
667
+ return p.orderPackageId == orderPackage.id;
668
+ });
669
+ if (matchedPackage) {
670
+ await tx2.getRepository(order_package_1.OrderPackage).update({ id: orderPackage.id }, {
671
+ packageId: matchedPackage.packageId
672
+ });
673
+ }
674
+ }
675
+ let rg = await tx2.getRepository(release_good_1.ReleaseGood).findOne({ id: releaseGood.id });
676
+ if (rg) {
677
+ await tx2.getRepository(release_good_1.ReleaseGood).update({ id: releaseGood.id }, {
678
+ marketPackCallSuccess: new Date(),
679
+ lastMarketPackCall: new Date(),
680
+ updatedAt: new Date()
681
+ });
682
+ }
683
+ });
684
+ }
685
+ catch (e) {
686
+ env_1.logger.error('unable-to-update-package-id-mps');
687
+ }
688
+ }
689
+ exports.updatePackageId = updatePackageId;
690
+ //# sourceMappingURL=powrup-controller.js.map