@devx-commerce/plugin-gati 0.0.34-beta.5 → 0.0.34-beta.50

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 (314) hide show
  1. package/.medusa/server/src/admin/index.js +3 -1
  2. package/.medusa/server/src/admin/index.mjs +3 -1
  3. package/.medusa/server/src/api/admin/masters/validators.js +2 -2
  4. package/.medusa/server/src/api/admin/variant-options/recalculate/route.js +446 -0
  5. package/.medusa/server/src/api/admin/variant-options/sync/route.js +21 -5
  6. package/.medusa/server/src/api/erp/webhook/config.js +54 -4
  7. package/.medusa/server/src/api/erp/webhook/route.js +10 -137
  8. package/.medusa/server/src/api/erp/webhook/utils.js +8 -1
  9. package/.medusa/server/src/api/pos/customer-ledger/middleware.js +13 -0
  10. package/.medusa/server/src/api/pos/customer-ledger/route.js +50 -0
  11. package/.medusa/server/src/api/pos/generate-invoice/route.js +427 -0
  12. package/.medusa/server/src/api/pos/gold/calculate/route.js +104 -0
  13. package/.medusa/server/src/api/pos/gold/item-master-purity.js +46 -0
  14. package/.medusa/server/src/api/pos/gold/middleware.js +18 -0
  15. package/.medusa/server/src/api/pos/gold/route.js +83 -0
  16. package/.medusa/server/src/api/pos/gold-rate/route.js +37 -24
  17. package/.medusa/server/src/api/pos/middleware.js +13 -1
  18. package/.medusa/server/src/api/pos/old-gold-item/middleware.js +10 -0
  19. package/.medusa/server/src/api/pos/old-gold-item/route.js +52 -0
  20. package/.medusa/server/src/api/pos/platinumdata/middleware.js +13 -0
  21. package/.medusa/server/src/api/pos/platinumdata/route.js +41 -0
  22. package/.medusa/server/src/api/pos/silverdata/middleware.js +13 -0
  23. package/.medusa/server/src/api/pos/silverdata/route.js +41 -0
  24. package/.medusa/server/src/api/pos/wallet-balance/middleware.js +13 -0
  25. package/.medusa/server/src/api/pos/wallet-balance/route.js +68 -0
  26. package/.medusa/server/src/api/store/custom-price/validators.js +2 -2
  27. package/.medusa/server/src/api/store/customer-ledger/middleware.js +13 -0
  28. package/.medusa/server/src/api/store/customer-ledger/route.js +49 -0
  29. package/.medusa/server/src/api/store/gold-rate/validators.js +2 -2
  30. package/.medusa/server/src/api/store/middleware.js +5 -1
  31. package/.medusa/server/src/api/store/wallet-balance/middleware.js +13 -0
  32. package/.medusa/server/src/api/store/wallet-balance/route.js +67 -0
  33. package/.medusa/server/src/jobs/process-erp-events.js +247 -0
  34. package/.medusa/server/src/jobs/process-variant-option-sync.js +43 -28
  35. package/.medusa/server/src/jobs/sync-addless-detail.js +60 -0
  36. package/.medusa/server/src/jobs/sync-book-list-and-applicable-policy.js +89 -0
  37. package/.medusa/server/src/jobs/sync-item-master.js +20 -0
  38. package/.medusa/server/src/jobs/sync-labour-chart-master.js +20 -0
  39. package/.medusa/server/src/jobs/sync-payment-book-master.js +63 -0
  40. package/.medusa/server/src/jobs/sync-rate-chart-master.js +20 -0
  41. package/.medusa/server/src/jobs/sync-report-master.js +46 -0
  42. package/.medusa/server/src/jobs/sync-sale-return-policy-master.js +29 -0
  43. package/.medusa/server/src/lib/api-response.js +2 -1
  44. package/.medusa/server/src/links/jewel-trans-master.js +13 -0
  45. package/.medusa/server/src/links/order-master.js +13 -0
  46. package/.medusa/server/src/links/sale-master.js +13 -0
  47. package/.medusa/server/src/modules/addless-detail/index.js +13 -0
  48. package/.medusa/server/src/modules/addless-detail/migrations/Migration20260212101102.js +15 -0
  49. package/.medusa/server/src/modules/addless-detail/migrations/Migration20260213000000.js +47 -0
  50. package/.medusa/server/src/modules/addless-detail/migrations/Migration20260226053037.js +15 -0
  51. package/.medusa/server/src/modules/addless-detail/models/addless-master.js +17 -0
  52. package/.medusa/server/src/modules/addless-detail/service.js +10 -0
  53. package/.medusa/server/src/modules/applicable-sale-return-policy/index.js +13 -0
  54. package/.medusa/server/src/modules/applicable-sale-return-policy/migrations/Migration20260123083526.js +15 -0
  55. package/.medusa/server/src/modules/applicable-sale-return-policy/models/applicable-sale-return-policy.js +23 -0
  56. package/.medusa/server/src/modules/applicable-sale-return-policy/service.js +10 -0
  57. package/.medusa/server/src/modules/book-list/index.js +13 -0
  58. package/.medusa/server/src/modules/book-list/migrations/Migration20260123083525.js +15 -0
  59. package/.medusa/server/src/modules/book-list/models/book-list.js +12 -0
  60. package/.medusa/server/src/modules/book-list/service.js +10 -0
  61. package/.medusa/server/src/modules/category-group-master/migrations/Migration20250729035221.js +2 -2
  62. package/.medusa/server/src/modules/category-group-master/migrations/Migration20251031061116.js +2 -2
  63. package/.medusa/server/src/modules/category-group-master/migrations/Migration20251104045912.js +2 -2
  64. package/.medusa/server/src/modules/category-master/migrations/Migration20250513122212.js +2 -2
  65. package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +2 -2
  66. package/.medusa/server/src/modules/category-master/migrations/Migration20250531004724.js +2 -2
  67. package/.medusa/server/src/modules/category-master/migrations/Migration20250729040659.js +2 -2
  68. package/.medusa/server/src/modules/category-master/migrations/Migration20251031061327.js +2 -2
  69. package/.medusa/server/src/modules/category-master/migrations/Migration20251104045755.js +2 -2
  70. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20250531022203.js +2 -2
  71. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20251031061432.js +2 -2
  72. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20251104050102.js +2 -2
  73. package/.medusa/server/src/modules/collection-master/migrations/Migration20250513122211.js +2 -2
  74. package/.medusa/server/src/modules/collection-master/migrations/Migration20250531025048.js +2 -2
  75. package/.medusa/server/src/modules/collection-master/migrations/Migration20251031060941.js +2 -2
  76. package/.medusa/server/src/modules/collection-master/migrations/Migration20251104050012.js +2 -2
  77. package/.medusa/server/src/modules/customer-receive-voucher/index.js +13 -0
  78. package/.medusa/server/src/modules/customer-receive-voucher/migrations/Migration20250115000000.js +51 -0
  79. package/.medusa/server/src/modules/customer-receive-voucher/migrations/Migration20260106050934.js +18 -0
  80. package/.medusa/server/src/modules/customer-receive-voucher/models/customer-receive-voucher.js +35 -0
  81. package/.medusa/server/src/modules/customer-receive-voucher/service.js +10 -0
  82. package/.medusa/server/src/modules/discount-master/migrations/Migration20250707232514.js +2 -2
  83. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051709.js +2 -2
  84. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051737.js +2 -2
  85. package/.medusa/server/src/modules/discount-master/migrations/Migration20251031061523.js +2 -2
  86. package/.medusa/server/src/modules/discount-master/migrations/Migration20251104050153.js +2 -2
  87. package/.medusa/server/src/modules/erp/migrations/Migration20250513121436.js +2 -2
  88. package/.medusa/server/src/modules/erp/service.js +545 -8
  89. package/.medusa/server/src/modules/erp-event/migrations/Migration20250908040911.js +2 -2
  90. package/.medusa/server/src/modules/erp-event/migrations/Migration20250922095956.js +2 -2
  91. package/.medusa/server/src/modules/extended-product/migrations/Migration20250620030100.js +2 -2
  92. package/.medusa/server/src/modules/extended-product/migrations/Migration20250716041546.js +2 -2
  93. package/.medusa/server/src/modules/extended-product/migrations/Migration20251103182726.js +2 -2
  94. package/.medusa/server/src/modules/extended-product/migrations/Migration20251119062526.js +2 -2
  95. package/.medusa/server/src/modules/extended-product/migrations/Migration20251202055742.js +2 -2
  96. package/.medusa/server/src/modules/extended-product/migrations/Migration20251202064200.js +2 -2
  97. package/.medusa/server/src/modules/extended-product/migrations/Migration20260323103543.js +14 -0
  98. package/.medusa/server/src/modules/extended-product/models/extended-product.js +2 -1
  99. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030335.js +2 -2
  100. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030522.js +2 -2
  101. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629220100.js +2 -2
  102. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629223425.js +2 -2
  103. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250704064831.js +2 -2
  104. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250716121609.js +2 -2
  105. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250725104852.js +2 -2
  106. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250726232339.js +2 -2
  107. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250916065103.js +2 -2
  108. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251119063328.js +2 -2
  109. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120045708.js +2 -2
  110. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120051832.js +2 -2
  111. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120052514.js +2 -2
  112. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251202055952.js +2 -2
  113. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251210112341.js +18 -0
  114. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +2 -2
  115. package/.medusa/server/src/modules/item-master/index.js +13 -0
  116. package/.medusa/server/src/modules/item-master/migrations/Migration20260212101055.js +15 -0
  117. package/.medusa/server/src/modules/item-master/models/item-master.js +20 -0
  118. package/.medusa/server/src/modules/item-master/service.js +10 -0
  119. package/.medusa/server/src/modules/item-size-master/migrations/Migration20251031111036.js +2 -2
  120. package/.medusa/server/src/modules/jewel-trans-master/index.js +13 -0
  121. package/.medusa/server/src/modules/jewel-trans-master/migrations/Migration20260226053036.js +57 -0
  122. package/.medusa/server/src/modules/jewel-trans-master/models/jewel-trans-master.js +151 -0
  123. package/.medusa/server/src/modules/jewel-trans-master/service.js +16 -0
  124. package/.medusa/server/src/modules/labour-chart-master/index.js +13 -0
  125. package/.medusa/server/src/modules/labour-chart-master/migrations/Migration20260101081502.js +15 -0
  126. package/.medusa/server/src/modules/labour-chart-master/models/labour-chart-master.js +16 -0
  127. package/.medusa/server/src/modules/labour-chart-master/service.js +10 -0
  128. package/.medusa/server/src/modules/material-purchase-master/index.js +13 -0
  129. package/.medusa/server/src/modules/material-purchase-master/migrations/Migration20260310090700.js +18 -0
  130. package/.medusa/server/src/modules/material-purchase-master/models/material-purchase-detail-line.js +24 -0
  131. package/.medusa/server/src/modules/material-purchase-master/models/material-purchase-master.js +21 -0
  132. package/.medusa/server/src/modules/material-purchase-master/service.js +12 -0
  133. package/.medusa/server/src/modules/order-master/index.js +13 -0
  134. package/.medusa/server/src/modules/order-master/migrations/Migration20260226053036.js +29 -0
  135. package/.medusa/server/src/modules/order-master/migrations/Migration20260303000001.js +30 -0
  136. package/.medusa/server/src/modules/order-master/migrations/Migration20260319094758.js +26 -0
  137. package/.medusa/server/src/modules/order-master/migrations/Migration20260320000001.js +19 -0
  138. package/.medusa/server/src/modules/order-master/models/order-master.js +112 -0
  139. package/.medusa/server/src/modules/order-master/service.js +13 -0
  140. package/.medusa/server/src/modules/party-master/migrations/Migration20250604104235.js +2 -2
  141. package/.medusa/server/src/modules/party-master/migrations/Migration20250604115453.js +2 -2
  142. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120348.js +2 -2
  143. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120701.js +2 -2
  144. package/.medusa/server/src/modules/party-master/migrations/Migration20250608220924.js +2 -2
  145. package/.medusa/server/src/modules/party-master/migrations/Migration20250612225738.js +2 -2
  146. package/.medusa/server/src/modules/party-master/migrations/Migration20250612231031.js +2 -2
  147. package/.medusa/server/src/modules/party-master/migrations/Migration20250708123734.js +2 -2
  148. package/.medusa/server/src/modules/party-master/migrations/Migration20251031061657.js +2 -2
  149. package/.medusa/server/src/modules/party-master/migrations/Migration20251104050242.js +2 -2
  150. package/.medusa/server/src/modules/payment-book-master/index.js +13 -0
  151. package/.medusa/server/src/modules/payment-book-master/migrations/Migration20251203105358.js +15 -0
  152. package/.medusa/server/src/modules/payment-book-master/models/payment-book-master.js +12 -0
  153. package/.medusa/server/src/modules/payment-book-master/service.js +10 -0
  154. package/.medusa/server/src/modules/promocode-master/migrations/Migration20250819123821.js +2 -2
  155. package/.medusa/server/src/modules/promocode-master/migrations/Migration20250918095713.js +2 -2
  156. package/.medusa/server/src/modules/promocode-master/migrations/Migration20251031061829.js +2 -2
  157. package/.medusa/server/src/modules/promocode-master/migrations/Migration20251104050332.js +2 -2
  158. package/.medusa/server/src/modules/quality-master/migrations/Migration20251031095211.js +2 -2
  159. package/.medusa/server/src/modules/quality-master/migrations/Migration20251105045114.js +2 -2
  160. package/.medusa/server/src/modules/rate-chart-master/index.js +13 -0
  161. package/.medusa/server/src/modules/rate-chart-master/migrations/Migration20260101081500.js +15 -0
  162. package/.medusa/server/src/modules/rate-chart-master/models/rate-chart-master.js +13 -0
  163. package/.medusa/server/src/modules/rate-chart-master/service.js +10 -0
  164. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190057.js +2 -2
  165. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190322.js +2 -2
  166. package/.medusa/server/src/modules/raw-master/migrations/Migration20251031061912.js +2 -2
  167. package/.medusa/server/src/modules/report-master/index.js +13 -0
  168. package/.medusa/server/src/modules/report-master/migrations/Migration20260121060955.js +15 -0
  169. package/.medusa/server/src/modules/report-master/migrations/Migration20260121112624.js +15 -0
  170. package/.medusa/server/src/modules/report-master/models/report-master.js +12 -0
  171. package/.medusa/server/src/modules/report-master/service.js +10 -0
  172. package/.medusa/server/src/modules/sale-master/index.js +13 -0
  173. package/.medusa/server/src/modules/sale-master/migrations/Migration20260205092935.js +15 -0
  174. package/.medusa/server/src/modules/sale-master/migrations/Migration20260205100000.js +16 -0
  175. package/.medusa/server/src/modules/sale-master/models/sale-master.js +27 -0
  176. package/.medusa/server/src/modules/sale-master/service.js +10 -0
  177. package/.medusa/server/src/modules/sale-return-master/index.js +13 -0
  178. package/.medusa/server/src/modules/sale-return-master/migrations/Migration20260205093034.js +15 -0
  179. package/.medusa/server/src/modules/sale-return-master/models/sale-return-master.js +16 -0
  180. package/.medusa/server/src/modules/sale-return-master/service.js +10 -0
  181. package/.medusa/server/src/modules/sale-return-policy-master/index.js +13 -0
  182. package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260105061449.js +21 -0
  183. package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260129084920.js +14 -0
  184. package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260129085620.js +20 -0
  185. package/.medusa/server/src/modules/sale-return-policy-master/models/sale-return-policy-master.js +37 -0
  186. package/.medusa/server/src/modules/sale-return-policy-master/service.js +12 -0
  187. package/.medusa/server/src/modules/shape-master/migrations/Migration20250509174455.js +2 -2
  188. package/.medusa/server/src/modules/shape-master/migrations/Migration20251031062019.js +2 -2
  189. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713113247.js +2 -2
  190. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713121440.js +2 -2
  191. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251031062128.js +2 -2
  192. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251104050501.js +2 -2
  193. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251203083315.js +2 -2
  194. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +2 -2
  195. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +2 -2
  196. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +2 -2
  197. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025135.js +2 -2
  198. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025307.js +2 -2
  199. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730032130.js +2 -2
  200. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20251031062303.js +2 -2
  201. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20251104050743.js +2 -2
  202. package/.medusa/server/src/modules/tone-master/migrations/Migration20251031104320.js +2 -2
  203. package/.medusa/server/src/modules/variant-option-sync-queue/migrations/Migration20251101082220.js +2 -2
  204. package/.medusa/server/src/modules/variant-option-sync-queue/migrations/Migration20251103123857.js +2 -2
  205. package/.medusa/server/src/subscribers/cutomer-updated.js +3 -1
  206. package/.medusa/server/src/subscribers/order-item-update.js +11 -0
  207. package/.medusa/server/src/subscribers/party-master.js +36 -35
  208. package/.medusa/server/src/subscribers/shipping-info-master.js +3 -3
  209. package/.medusa/server/src/utils/build-redis-key.js +3 -1
  210. package/.medusa/server/src/utils/state-helper.js +3 -2
  211. package/.medusa/server/src/workflows/addless-detail/index.js +11 -0
  212. package/.medusa/server/src/workflows/addless-detail/steps/create-or-update-addless-detail.js +36 -0
  213. package/.medusa/server/src/workflows/addless-detail/steps/fetch-addless-detail.js +73 -0
  214. package/.medusa/server/src/workflows/applicable-sale-return-policy/index.js +11 -0
  215. package/.medusa/server/src/workflows/applicable-sale-return-policy/steps/create-or-update-applicable-sale-return-policy.js +74 -0
  216. package/.medusa/server/src/workflows/applicable-sale-return-policy/steps/fetch-applicable-sale-return-policy.js +64 -0
  217. package/.medusa/server/src/workflows/book-list/index.js +11 -0
  218. package/.medusa/server/src/workflows/book-list/steps/create-or-update-book-list.js +55 -0
  219. package/.medusa/server/src/workflows/book-list/steps/fetch-book-list.js +64 -0
  220. package/.medusa/server/src/workflows/customer-advance-payment/index.js +18 -0
  221. package/.medusa/server/src/workflows/customer-advance-payment/steps/create-receive-voucher.js +71 -0
  222. package/.medusa/server/src/workflows/customer-advance-payment/steps/index.js +18 -0
  223. package/.medusa/server/src/workflows/customer-advance-payment/workflows/create-receive-voucher-workflow.js +11 -0
  224. package/.medusa/server/src/workflows/customer-advance-payment/workflows/index.js +18 -0
  225. package/.medusa/server/src/workflows/helpers/product-helper.js +215 -18
  226. package/.medusa/server/src/workflows/helpers/variant-helper.js +165 -162
  227. package/.medusa/server/src/workflows/hooks/product-updated.js +6 -11
  228. package/.medusa/server/src/workflows/index.js +3 -1
  229. package/.medusa/server/src/workflows/inward-master/helper/index.js +5 -1
  230. package/.medusa/server/src/workflows/inward-master/steps/index.js +2 -1
  231. package/.medusa/server/src/workflows/inward-master/steps/update-inward-price-only.js +47 -0
  232. package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +6 -3
  233. package/.medusa/server/src/workflows/inward-master/workflows/index.js +2 -1
  234. package/.medusa/server/src/workflows/inward-master/workflows/update-inward-price-only.js +99 -0
  235. package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +6 -2
  236. package/.medusa/server/src/workflows/item-master/index.js +11 -0
  237. package/.medusa/server/src/workflows/item-master/steps/create-or-update-item-master.js +50 -0
  238. package/.medusa/server/src/workflows/item-master/steps/fetch-item-master.js +29 -0
  239. package/.medusa/server/src/workflows/jewel-trans-master/index.js +18 -0
  240. package/.medusa/server/src/workflows/jewel-trans-master/steps/create-or-update-jewel-trans-master.js +370 -0
  241. package/.medusa/server/src/workflows/jewel-trans-master/steps/index.js +18 -0
  242. package/.medusa/server/src/workflows/labour-chart-master/index.js +11 -0
  243. package/.medusa/server/src/workflows/labour-chart-master/steps/create-or-update-labour-chart-master.js +38 -0
  244. package/.medusa/server/src/workflows/labour-chart-master/steps/fetch-labour-chart.js +31 -0
  245. package/.medusa/server/src/workflows/material-purchase-master/index.js +24 -0
  246. package/.medusa/server/src/workflows/material-purchase-master/steps/create-material-purchase-master.js +79 -0
  247. package/.medusa/server/src/workflows/material-purchase-master/steps/delete-material-purchase-master.js +81 -0
  248. package/.medusa/server/src/workflows/material-purchase-master/steps/fetch-material-purchase-master.js +60 -0
  249. package/.medusa/server/src/workflows/material-purchase-master/steps/update-material-purchase-master.js +100 -0
  250. package/.medusa/server/src/workflows/order-master/index.js +3 -0
  251. package/.medusa/server/src/workflows/order-master/order-master-webhook.js +24 -0
  252. package/.medusa/server/src/workflows/order-master/steps/create-or-update-order-master.js +275 -0
  253. package/.medusa/server/src/workflows/order-master/steps/delete-order-master-by-erp-ids.js +61 -0
  254. package/.medusa/server/src/workflows/order-master/steps/process-order-master-from-webhook.js +917 -0
  255. package/.medusa/server/src/workflows/orders/steps/find-nearest-pincodes-step.js +336 -0
  256. package/.medusa/server/src/workflows/orders/steps/get-today-gold-rate-step.js +77 -0
  257. package/.medusa/server/src/workflows/orders/steps/index.js +14 -1
  258. package/.medusa/server/src/workflows/orders/steps/sync-advance-payment-to-erp-step.js +185 -0
  259. package/.medusa/server/src/workflows/orders/steps/sync-buyback-to-erp-step.js +99 -0
  260. package/.medusa/server/src/workflows/orders/steps/sync-cancel-to-erp-step.js +120 -0
  261. package/.medusa/server/src/workflows/orders/steps/sync-exchange-to-erp-step.js +101 -0
  262. package/.medusa/server/src/workflows/orders/steps/sync-old-gold-to-erp-step.js +161 -0
  263. package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +625 -18
  264. package/.medusa/server/src/workflows/orders/steps/sync-sale-return-to-erp-step.js +148 -0
  265. package/.medusa/server/src/workflows/orders/steps/update-old-gold-sync-status-step.js +64 -0
  266. package/.medusa/server/src/workflows/orders/utils/order-helper.js +161 -36
  267. package/.medusa/server/src/workflows/orders/utils/order-request-helper.js +222 -0
  268. package/.medusa/server/src/workflows/orders/workflows/get-today-gold-rate.js +10 -0
  269. package/.medusa/server/src/workflows/orders/workflows/index.js +3 -1
  270. package/.medusa/server/src/workflows/orders/workflows/sync-advanve-payment-to-erp.js +21 -0
  271. package/.medusa/server/src/workflows/orders/workflows/sync-old-gold-to-erp.js +24 -0
  272. package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +54 -5
  273. package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +53 -33
  274. package/.medusa/server/src/workflows/party-master/steps/create-user-erp.js +115 -0
  275. package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +2 -1
  276. package/.medusa/server/src/workflows/party-master/steps/index.js +2 -1
  277. package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +2 -2
  278. package/.medusa/server/src/workflows/party-master/workflows/create-user-erp.js +11 -0
  279. package/.medusa/server/src/workflows/party-master/workflows/index.js +2 -1
  280. package/.medusa/server/src/workflows/party-style-master/steps/index.js +2 -1
  281. package/.medusa/server/src/workflows/party-style-master/steps/update-party-style-price-only.js +111 -0
  282. package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-deletion.js +16 -249
  283. package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-variant-update.js +103 -22
  284. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master-price-only.js +90 -0
  285. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +16 -10
  286. package/.medusa/server/src/workflows/party-style-master/workflows/index.js +2 -1
  287. package/.medusa/server/src/workflows/payment-book-master/index.js +11 -0
  288. package/.medusa/server/src/workflows/payment-book-master/steps/create-or-update-payment-book-master.js +37 -0
  289. package/.medusa/server/src/workflows/payment-book-master/steps/fetch-payment-book.js +64 -0
  290. package/.medusa/server/src/workflows/rate-chart-master/index.js +11 -0
  291. package/.medusa/server/src/workflows/rate-chart-master/steps/create-or-update-rate-chart-master.js +25 -0
  292. package/.medusa/server/src/workflows/rate-chart-master/steps/fetch-rate-chart.js +31 -0
  293. package/.medusa/server/src/workflows/report-master/index.js +11 -0
  294. package/.medusa/server/src/workflows/report-master/steps/create-or-update-report-master.js +53 -0
  295. package/.medusa/server/src/workflows/report-master/steps/fetch-report.js +71 -0
  296. package/.medusa/server/src/workflows/sale-master/index.js +24 -0
  297. package/.medusa/server/src/workflows/sale-master/steps/create-sale-master.js +72 -0
  298. package/.medusa/server/src/workflows/sale-master/steps/delete-sale-master.js +59 -0
  299. package/.medusa/server/src/workflows/sale-master/steps/update-sale-master.js +95 -0
  300. package/.medusa/server/src/workflows/sale-return-master/index.js +24 -0
  301. package/.medusa/server/src/workflows/sale-return-master/steps/create-sale-return-master.js +45 -0
  302. package/.medusa/server/src/workflows/sale-return-master/steps/delete-sale-return-master.js +36 -0
  303. package/.medusa/server/src/workflows/sale-return-master/steps/update-sale-return-master.js +53 -0
  304. package/.medusa/server/src/workflows/sale-return-policy-master/index.js +11 -0
  305. package/.medusa/server/src/workflows/sale-return-policy-master/steps/create-or-update-sale-return-policy-master.js +91 -0
  306. package/.medusa/server/src/workflows/sale-return-policy-master/steps/fetch-sale-return-policy.js +31 -0
  307. package/.medusa/server/src/workflows/style-master/steps/index.js +2 -1
  308. package/.medusa/server/src/workflows/style-master/steps/update-style-price-only.js +105 -0
  309. package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master-price-only.js +104 -0
  310. package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master.js +91 -8
  311. package/.medusa/server/src/workflows/style-master/workflows/index.js +2 -1
  312. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +6 -8
  313. package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/update-extended-variant-status-from-variant.js +9 -3
  314. package/package.json +14 -32
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteMaterialPurchaseMasterStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const framework_1 = require("@medusajs/framework");
6
+ const material_purchase_master_1 = require("../../../modules/material-purchase-master");
7
+ exports.deleteMaterialPurchaseMasterStep = (0, workflows_sdk_1.createStep)("delete-material-purchase-master-step", async (input, { container }) => {
8
+ const service = container.resolve(material_purchase_master_1.MATERIAL_PURCHASE_MASTER_MODULE);
9
+ const transIds = input
10
+ .map((d) => d?.MaterialTransId)
11
+ .filter((id) => id != null);
12
+ if (!transIds.length) {
13
+ return new workflows_sdk_1.StepResponse(null, null);
14
+ }
15
+ const existing = await service.listMaterialPurchaseMasters({
16
+ material_trans_id: transIds,
17
+ });
18
+ if (!existing.length) {
19
+ return new workflows_sdk_1.StepResponse(null, null);
20
+ }
21
+ const prevDetails = [];
22
+ await Promise.all(existing.map(async (master) => {
23
+ const details = await service.listMaterialPurchaseDetailLines({
24
+ material_trans_id: master.material_trans_id,
25
+ });
26
+ prevDetails.push(...details.map((d) => ({ ...d })));
27
+ if (details.length > 0) {
28
+ await service.deleteMaterialPurchaseDetailLines(details.map((d) => d.id));
29
+ }
30
+ }));
31
+ const masterIds = existing.map((m) => m.id);
32
+ await service.deleteMaterialPurchaseMasters(masterIds);
33
+ framework_1.logger.info(`Deleted ${masterIds.length} MaterialPurchaseMaster records`);
34
+ return new workflows_sdk_1.StepResponse(masterIds, { prevMasters: existing, prevDetails });
35
+ }, async (compensationData, { container }) => {
36
+ if (!compensationData)
37
+ return;
38
+ const service = container.resolve(material_purchase_master_1.MATERIAL_PURCHASE_MASTER_MODULE);
39
+ // Restore deleted masters
40
+ if (compensationData.prevMasters?.length) {
41
+ await Promise.all(compensationData.prevMasters.map((m) => service.createMaterialPurchaseMasters({
42
+ id: m.id,
43
+ material_trans_id: m.material_trans_id,
44
+ material_trans_prefix: m.material_trans_prefix,
45
+ material_trans_no: m.material_trans_no,
46
+ material_trans_date: m.material_trans_date,
47
+ party_no: m.party_no,
48
+ firm_name: m.firm_name,
49
+ sales_person: m.sales_person,
50
+ branch_no: m.branch_no,
51
+ branch_name: m.branch_name,
52
+ gross_amount: m.gross_amount,
53
+ total_addless_amount: m.total_addless_amount,
54
+ amount: m.amount,
55
+ remarks: m.remarks,
56
+ })));
57
+ }
58
+ // Restore detail lines
59
+ if (compensationData.prevDetails?.length) {
60
+ await Promise.all(compensationData.prevDetails.map((d) => service.createMaterialPurchaseDetailLines({
61
+ id: d.id,
62
+ material_trans_id: d.material_trans_id,
63
+ detail_id: d.detail_id,
64
+ item_id: d.item_id,
65
+ item_name: d.item_name,
66
+ item_code: d.item_code,
67
+ raw_formula: d.raw_formula,
68
+ qly_purity: d.qly_purity,
69
+ hsn_name: d.hsn_name,
70
+ size_no: d.size_no,
71
+ size_code: d.size_code,
72
+ size_name: d.size_name,
73
+ pieces: d.pieces,
74
+ weight: d.weight,
75
+ rate: d.rate,
76
+ amount: d.amount,
77
+ description: d.description,
78
+ })));
79
+ }
80
+ });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLW1hdGVyaWFsLXB1cmNoYXNlLW1hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbWF0ZXJpYWwtcHVyY2hhc2UtbWFzdGVyL3N0ZXBzL2RlbGV0ZS1tYXRlcmlhbC1wdXJjaGFzZS1tYXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLG1EQUE2QztBQUM3Qyx3RkFBNEY7QUFJL0UsUUFBQSxnQ0FBZ0MsR0FBRyxJQUFBLDBCQUFVLEVBQ3hELHNDQUFzQyxFQUN0QyxLQUFLLEVBQUUsS0FBZ0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxPQUFPLEdBQWtDLFNBQVMsQ0FBQyxPQUFPLENBQzlELDBEQUErQixDQUNoQyxDQUFDO0lBRUYsTUFBTSxRQUFRLEdBQUcsS0FBSztTQUNuQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUM7U0FDOUIsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFnQixFQUFFLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBRTVDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQztRQUN6RCxpQkFBaUIsRUFBRSxRQUFRO0tBQzVCLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBVSxFQUFFLENBQUM7SUFDOUIsTUFBTSxPQUFP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
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchMaterialPurchaseMaster = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const BATCH_SIZE = 50;
6
+ const MAX_RETRIES = 3;
7
+ const RETRY_DELAY = 1000;
8
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
9
+ const processBatch = async (erpService, datafor, batch, retryCount = 0) => {
10
+ try {
11
+ const results = await Promise.all(batch.map(async (transactionId) => {
12
+ try {
13
+ return await erpService.getMasterData(datafor, transactionId);
14
+ }
15
+ catch (error) {
16
+ console.error(`Error fetching MaterialPurchase for ID ${transactionId}:`, error);
17
+ return null;
18
+ }
19
+ }));
20
+ const successfulResults = results.filter((result) => result !== null);
21
+ if (results.length !== successfulResults.length && retryCount < MAX_RETRIES) {
22
+ const failedIds = batch.filter((_, index) => results[index] === null);
23
+ console.log(`Retrying ${failedIds.length} failed requests (attempt ${retryCount + 1})`);
24
+ await sleep(RETRY_DELAY);
25
+ const retryResults = await processBatch(erpService, datafor, failedIds, retryCount + 1);
26
+ return [...successfulResults, ...retryResults];
27
+ }
28
+ return successfulResults.filter(Boolean);
29
+ }
30
+ catch (error) {
31
+ console.error("Batch processing error:", error);
32
+ if (retryCount < MAX_RETRIES) {
33
+ console.log(`Retrying entire batch (attempt ${retryCount + 1})`);
34
+ await sleep(RETRY_DELAY);
35
+ return processBatch(erpService, datafor, batch, retryCount + 1);
36
+ }
37
+ throw error;
38
+ }
39
+ };
40
+ exports.fetchMaterialPurchaseMaster = (0, workflows_sdk_1.createStep)("fetch-material-purchase-master", async (input, { container }) => {
41
+ const erpService = container.resolve("erp");
42
+ const { datafor, data } = input;
43
+ const batches = [];
44
+ for (let i = 0; i < data.length; i += BATCH_SIZE) {
45
+ batches.push(data.slice(i, i + BATCH_SIZE));
46
+ }
47
+ console.log(`Processing ${data.length} MaterialPurchase items in ${batches.length} batches`);
48
+ const allResults = [];
49
+ for (let i = 0; i < batches.length; i++) {
50
+ console.log(`Processing batch ${i + 1}/${batches.length}`);
51
+ const batchResults = await processBatch(erpService, datafor, batches[i]);
52
+ allResults.push(...batchResults);
53
+ }
54
+ console.log(`Successfully fetched ${allResults.length} MaterialPurchase records`);
55
+ // ERP returns a single object per transactionId (not an array), so no flatMap needed
56
+ return new workflows_sdk_1.StepResponse(allResults.filter(Boolean));
57
+ }, async (_result, _context) => {
58
+ console.log("Compensation: fetch-material-purchase-master (no-op)");
59
+ });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtbWF0ZXJpYWwtcHVyY2hhc2UtbWFzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tYXRlcmlhbC1wdXJjaGFzZS1tYXN0ZXIvc3RlcHMvZmV0Y2gtbWF0ZXJpYWwtcHVyY2hhc2UtbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUk3RSxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQztBQUV6QixNQUFNLEtBQUssR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVoRixNQUFNLFlBQVksR0FBRyxLQUFLLEVBQ3hCLFVBQTRCLEVBQzVCLE9BQWUsRUFDZixLQUFlLEVBQ2YsVUFBVSxHQUFHLENBQUMsRUFDRSxFQUFFO0lBQ2xCLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDO2dCQUNILE9BQU8sTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxhQUFhLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDakYsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFD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
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateMaterialPurchaseMasterStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const framework_1 = require("@medusajs/framework");
6
+ const material_purchase_master_1 = require("../../../modules/material-purchase-master");
7
+ exports.updateMaterialPurchaseMasterStep = (0, workflows_sdk_1.createStep)("update-material-purchase-master-step", async (input, { container }) => {
8
+ const service = container.resolve(material_purchase_master_1.MATERIAL_PURCHASE_MASTER_MODULE);
9
+ const prevMasters = [];
10
+ const prevDetails = [];
11
+ await Promise.all(input.map(async (data) => {
12
+ const transId = data?.MaterialTransId;
13
+ if (transId == null)
14
+ return;
15
+ const existing = await service.listMaterialPurchaseMasters({
16
+ material_trans_id: transId,
17
+ });
18
+ if (!existing?.length) {
19
+ framework_1.logger.warn(`MaterialPurchase update skipped: MaterialTransId ${transId} not found`);
20
+ return;
21
+ }
22
+ const master = existing[0];
23
+ prevMasters.push({ ...master });
24
+ // Snapshot old detail lines for compensation
25
+ const oldDetails = await service.listMaterialPurchaseDetailLines({
26
+ material_trans_id: transId,
27
+ });
28
+ prevDetails.push(...oldDetails.map((d) => ({ ...d })));
29
+ // Update header
30
+ await service.updateMaterialPurchaseMasters([
31
+ {
32
+ id: master.id,
33
+ material_trans_prefix: data?.MaterialTransPrefix ?? master.material_trans_prefix,
34
+ material_trans_no: data?.MaterialTransNo ?? master.material_trans_no,
35
+ material_trans_date: data?.MaterialTransDate
36
+ ? new Date(data.MaterialTransDate)
37
+ : master.material_trans_date,
38
+ party_no: data?.PartyNo ?? master.party_no,
39
+ firm_name: data?.FirmName ?? master.firm_name,
40
+ sales_person: data?.SalesPerson ?? master.sales_person,
41
+ branch_no: data?.BranchNo ?? master.branch_no,
42
+ branch_name: data?.BranchName ?? master.branch_name,
43
+ gross_amount: data?.GrossAmount ?? master.gross_amount,
44
+ total_addless_amount: data?.TotalAddlessAmount ?? master.total_addless_amount,
45
+ amount: data?.Amount ?? master.amount,
46
+ remarks: data?.Remarks ?? master.remarks,
47
+ },
48
+ ]);
49
+ // Replace detail lines: delete old, create new
50
+ if (oldDetails.length > 0) {
51
+ await service.deleteMaterialPurchaseDetailLines(oldDetails.map((d) => d.id));
52
+ }
53
+ const details = data?.MaterialTransDetail ?? [];
54
+ await Promise.all(details.map((detail) => service.createMaterialPurchaseDetailLines({
55
+ material_trans_id: transId,
56
+ detail_id: detail?.Id ?? 0,
57
+ item_id: detail?.ItemId ?? null,
58
+ item_name: detail?.ItemName ?? null,
59
+ item_code: detail?.ItemCode ?? null,
60
+ raw_formula: detail?.RawFormula ?? null,
61
+ qly_purity: detail?.QlyPurity ?? null,
62
+ hsn_name: detail?.HSNName ?? null,
63
+ size_no: detail?.SizeNo ?? null,
64
+ size_code: detail?.SizeCode ?? null,
65
+ size_name: detail?.SizeName ?? null,
66
+ pieces: detail?.Pieces ?? null,
67
+ weight: detail?.Weight ?? null,
68
+ rate: detail?.Rate ?? null,
69
+ amount: detail?.Amount ?? null,
70
+ description: detail?.Description ?? null,
71
+ })));
72
+ framework_1.logger.info(`Updated MaterialPurchaseMaster for MaterialTransId ${transId}`);
73
+ }));
74
+ return new workflows_sdk_1.StepResponse(null, { prevMasters, prevDetails });
75
+ }, async (compensationData, { container }) => {
76
+ if (!compensationData)
77
+ return;
78
+ const service = container.resolve(material_purchase_master_1.MATERIAL_PURCHASE_MASTER_MODULE);
79
+ // Restore previous header values
80
+ if (compensationData.prevMasters?.length) {
81
+ await Promise.all(compensationData.prevMasters.map((m) => service.updateMaterialPurchaseMasters([
82
+ {
83
+ id: m.id,
84
+ material_trans_prefix: m.material_trans_prefix,
85
+ material_trans_no: m.material_trans_no,
86
+ material_trans_date: m.material_trans_date,
87
+ party_no: m.party_no,
88
+ firm_name: m.firm_name,
89
+ sales_person: m.sales_person,
90
+ branch_no: m.branch_no,
91
+ branch_name: m.branch_name,
92
+ gross_amount: m.gross_amount,
93
+ total_addless_amount: m.total_addless_amount,
94
+ amount: m.amount,
95
+ remarks: m.remarks,
96
+ },
97
+ ])));
98
+ }
99
+ });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW1hdGVyaWFsLXB1cmNoYXNlLW1hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbWF0ZXJpYWwtcHVyY2hhc2UtbWFzdGVyL3N0ZXBzL3VwZGF0ZS1tYXRlcmlhbC1wdXJjaGFzZS1tYXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLG1EQUE2QztBQUM3Qyx3RkFBNEY7QUFJL0UsUUFBQSxnQ0FBZ0MsR0FBRyxJQUFBLDBCQUFVLEVBQ3hELHNDQUFzQyxFQUN0QyxLQUFLLEVBQUUsS0FBZ0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxPQUFPLEdBQWtDLFNBQVMsQ0FBQyxPQUFPLENBQzlELDBEQUErQixDQUNoQyxDQUFDO0lBRUYsTUFBTSxXQUFXLEdBQVUsRUFBRSxDQUFDO0lBQzlCLE1BQU0sV0FBVyxHQUFVLEVBQUUsQ0FBQztJQUU5QixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxFQUFFLGVBQWUsQ0FBQztRQUN0QyxJQUFJLE9BQU8sSUFBSSxJQUFJO1lBQUUsT0FBTztRQUU1QixNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQztZQUN6RCxpQkFBaUIsRUFBRSxPQUFPO1NBQzNCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDdEIsa0JBQU0sQ0FBQyxJQUFJLENBQUMsb0RBQW9ELE9BQU8sWUFBWSxDQUFDLENBQUM7WUFDckYsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUVoQyw2Q0FBNkM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsTUFBTSxPQUFPLENBQUMsK0JBQStCLENBQUM7WUFDL0QsaUJBQWlCLEVBQUUsT0FBTztTQUMzQixDQUFDLENBQUM7UUFDSCxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdkQsZ0JBQWdCO1FBQ2hCLE1BQU0sT0FBTyxDQUFDLDZCQUE2QixDQUFDO1lBQzFDO2dCQUNFLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtnQkFDYixxQkFBcUIsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLElBQUksTUFBTSxDQUFDLHFCQUFxQjtnQkFDaEYsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLGVBQWUsSUFBSSxNQUFNLENBQUMsaUJBQWlCO2dCQUNwRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsaUJBQWlCO29CQUMxQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO29CQUNsQyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQjtnQkFDOUIsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVE7Z0JBQzFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxJQUFJLE1BQU0sQ0FBQyxTQUFTO2dCQUM3QyxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsSUFBSSxNQUFNLENBQUMsWUFBWTtnQkFDdEQsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLElBQUksTUFBTSxDQUFDLFNBQVM7Z0JBQzdDLFdBQVcsRUFBRSxJQUFJLEVBQUUsVUFBVSxJQUFJLE1BQU0sQ0FBQyxXQUFXO2dCQUNuRCxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsSUFBSSxNQUFNLENBQUMsWUFBWTtnQkFDdEQsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixJQUFJLE1BQU0sQ0FBQyxvQkFBb0I7Z0JBQzdFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNO2dCQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTzthQUN6QztTQUNGLENBQUMsQ0FBQztRQUVILCtDQUErQztRQUMvQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUIsTUFBTSxPQUFPLENBQUMsaUNBQWlDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksRUFBRSxtQkFBbUIsSUFBSSxFQUFFLENBQUM7UUFDaEQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNyQixPQUFPLENBQUMsaUNBQWlDLENBQUM7WUFDeEMsaUJBQWlCLEVBQUUsT0FBTztZQUMxQixTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDO1lBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUk7WUFDL0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLElBQUksSUFBSTtZQUNuQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsSUFBSSxJQUFJO1lBQ25DLFdBQVcsRUFBRSxNQUFNLEVBQUUsVUFBVSxJQUFJLElBQUk7WUFDdkMsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLElBQUksSUFBSTtZQUNyQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sSUFBSSxJQUFJO1lBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUk7WUFDL0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLElBQUksSUFBSTtZQUNuQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsSUFBSSxJQUFJO1lBQ25DLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUk7WUFDOUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksSUFBSTtZQUM5QixJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksSUFBSSxJQUFJO1lBQzFCLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUk7WUFDOUIsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLElBQUksSUFBSTtTQUN6QyxDQUFDLENBQ0gsQ0FDRixDQUFDO1FBRUYsa0JBQU0sQ0FBQyxJQUFJLENBQUMsc0RBQXNELE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUVGLE9BQU8sSUFBSSw0QkFBWSxDQUFDLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQzlELENBQUMsRUFDRCxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3hDLElBQUksQ0FBQyxnQkFBZ0I7UUFBRSxPQUFPO0lBQzlCLE1BQU0sT0FBTyxHQUFrQyxTQUFTLENBQUMsT0FBTyxDQUM5RCwwREFBK0IsQ0FDaEMsQ0FBQztJQUVGLGlDQUFpQztJQUNqQyxJQUFJLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN6QyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ3JDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQztZQUNwQztnQkFDRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1IscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQjtnQkFDOUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQjtnQkFDdEMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQjtnQkFDMUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO2dCQUNwQixTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVM7Z0JBQ3RCLFlBQVksRUFBRSxDQUFDLENBQUMsWUFBWTtnQkFDNUIsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFTO2dCQUN0QixXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVc7Z0JBQzFCLFlBQVksRUFBRSxDQUFDLENBQUMsWUFBWTtnQkFDNUIsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQjtnQkFDNUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO2dCQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87YUFDbkI7U0FDRixDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyLW1hc3Rlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orderMasterWebhookWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const fetch_category_master_1 = require("../category-master/steps/fetch-category-master");
6
+ const process_order_master_from_webhook_1 = require("./steps/process-order-master-from-webhook");
7
+ const delete_order_master_by_erp_ids_1 = require("./steps/delete-order-master-by-erp-ids");
8
+ /**
9
+ * Webhook-driven order master workflow.
10
+ * - add/update: fetch order data from ERP by ids, then create or update order_master (and details, payments).
11
+ * - delete: delete order_master by ERP order ids (input.data).
12
+ */
13
+ exports.orderMasterWebhookWorkflow = (0, workflows_sdk_1.createWorkflow)("order-master-webhook", (input) => {
14
+ const orderData = (0, fetch_category_master_1.fetchCategoryData)(input);
15
+ (0, workflows_sdk_1.when)("order-webhook-add-or-update", input, (i) => i.operation === "add" || i.operation === "update").then(() => {
16
+ const result = (0, process_order_master_from_webhook_1.processOrderMasterFromWebhookStep)(orderData);
17
+ return new workflows_sdk_1.WorkflowResponse(result);
18
+ });
19
+ (0, workflows_sdk_1.when)("order-webhook-delete", input, (i) => i.operation === "delete").then(() => {
20
+ const result = (0, delete_order_master_by_erp_ids_1.deleteOrderMasterByErpIdsStep)(input);
21
+ return new workflows_sdk_1.WorkflowResponse(result);
22
+ });
23
+ });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItbWFzdGVyLXdlYmhvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyLW1hc3Rlci9vcmRlci1tYXN0ZXItd2ViaG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFJMkM7QUFFM0MsMEZBQW1GO0FBQ25GLGlHQUE4RjtBQUM5RiwyRkFBdUY7QUFHdkY7Ozs7R0FJRztBQUNVLFFBQUEsMEJBQTBCLEdBQUcsSUFBQSw4QkFBYyxFQUN0RCxzQkFBc0IsRUFDdEIsQ0FBQyxLQUFrQixFQUFFLEVBQUU7SUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBQSx5Q0FBaUIsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUUzQyxJQUFBLG9CQUFJLEVBQ0YsNkJBQTZCLEVBQzdCLEtBQUssRUFDTCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQ3pELENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNWLE1BQU0sTUFBTSxHQUFHLElBQUEscUVBQWlDLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUQsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBQSxvQkFBSSxFQUFDLHNCQUFzQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQ3ZFLEdBQUcsRUFBRTtRQUNILE1BQU0sTUFBTSxHQUFHLElBQUEsOERBQTZCLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOrderMaster = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const order_master_1 = require("../../../modules/order-master");
6
+ const utils_1 = require("@medusajs/framework/utils");
7
+ const framework_1 = require("@medusajs/framework");
8
+ exports.createOrderMaster = (0, workflows_sdk_1.createStep)("create-order-master-step", async (input, { container }) => {
9
+ try {
10
+ const orderMasterService = container.resolve(order_master_1.ORDER_MASTER_MODULE);
11
+ const erpService = container.resolve("erp");
12
+ const orderData = await erpService.getMasterData("order", input.order_id);
13
+ if (!orderData) {
14
+ framework_1.logger.info(`No order data received for OrderID ${input.order_id}`);
15
+ return new workflows_sdk_1.StepResponse();
16
+ }
17
+ const masters = await Promise.all([orderData].map(async (data) => {
18
+ const existing = await orderMasterService.listOrderMasters({
19
+ erp_order_id: Number(input.order_id),
20
+ });
21
+ let master;
22
+ if (existing?.length > 0) {
23
+ // Update existing order master
24
+ framework_1.logger.info(`Updating Order ${input.order_id} - already exists.`);
25
+ master = existing[0];
26
+ await orderMasterService.updateOrderMasters({
27
+ id: master.id,
28
+ erp_order_id: data.OrderId,
29
+ branch_no: data.BranchNo,
30
+ branch_name: data.BranchName,
31
+ order_prefix: data.OrderPrefix,
32
+ order_no: data.OrderNo,
33
+ order_date: data.OrderDate,
34
+ customer_id: data.CustomerId,
35
+ customer_name: data.Customer,
36
+ po_no: data.PoNo,
37
+ po_date: data.PoDate,
38
+ sales_person: data.SalesPerson,
39
+ work_order_no: data.WorkOrderNo,
40
+ remarks: data.Remarks,
41
+ shipping_id: data.ShippingId,
42
+ promocode_series_id: data.PromocodeSeriesId,
43
+ promocode: data.Promocode,
44
+ promocode_percentage: data.PromocodePercentage,
45
+ promocode_amount: data.PromocodeAmount,
46
+ });
47
+ // Handle order details - update existing or create new
48
+ if (data?.OrderDetail?.length) {
49
+ for (const d of data.OrderDetail) {
50
+ const existingDetail = await orderMasterService.listOrderDetailMasters({
51
+ erp_order_id: d.OrderId,
52
+ order_item_id: d.OrderItemId,
53
+ order_master: master.id,
54
+ });
55
+ const detailData = {
56
+ erp_order_id: d.OrderId,
57
+ order_item_id: d.OrderItemId,
58
+ order_master: master.id,
59
+ sr_no: d.SrNo,
60
+ style_id: d.StyleId,
61
+ style_code: d.StyleCode,
62
+ party_style_id: d.PartyStyleId,
63
+ party_style_code: d.PartyStyleCode ?? null,
64
+ jewel_id: d.JewelId,
65
+ jewel_code: d.JewelCode,
66
+ item_size_id: d.ItemSizeId,
67
+ item_size: d.ItemSize,
68
+ item_size_name: d.ItemSizeName,
69
+ order_qty: d.OrderQty,
70
+ order_item_pcs: d.OrderItemPcs,
71
+ metal_item_id: d.MetalItemId,
72
+ metal: d.Metal,
73
+ metal_name: d.MetalName,
74
+ metal_tone_no: d.MetalToneNo,
75
+ tone: d.Tone,
76
+ tone_name: d.ToneName,
77
+ item_po_no: d.ItemPoNo ?? null,
78
+ item_ref_no: d.ItemRefNo ?? null,
79
+ priority_id: d.PriorityId,
80
+ priority: d.Priority,
81
+ priority_name: d.PriorityName,
82
+ stock_type_no: d.StockTypeNo,
83
+ stock_type: d.StockType,
84
+ stock_type_code: d.StockTypeCode,
85
+ make_type_no: d.MakeTypeNo,
86
+ make_type: d.MakeType,
87
+ make_type_code: d.MakeTypeCode,
88
+ expected_delivery_date: d.Expecteddeliverydate,
89
+ mrp: d.MRP,
90
+ };
91
+ if (existingDetail?.length > 0) {
92
+ await orderMasterService.updateOrderDetailMasters({
93
+ id: existingDetail[0].id,
94
+ ...detailData,
95
+ });
96
+ }
97
+ else {
98
+ await orderMasterService.createOrderDetailMasters(detailData);
99
+ }
100
+ }
101
+ }
102
+ }
103
+ else {
104
+ // Create new order master
105
+ framework_1.logger.info(`Creating new Order ${input.order_id}.`);
106
+ master = await orderMasterService.createOrderMasters({
107
+ erp_order_id: data.OrderId,
108
+ branch_no: data.BranchNo,
109
+ branch_name: data.BranchName,
110
+ order_prefix: data.OrderPrefix,
111
+ order_no: data.OrderNo,
112
+ order_date: data.OrderDate,
113
+ customer_id: data.CustomerId,
114
+ customer_name: data.Customer,
115
+ po_no: data.PoNo,
116
+ po_date: data.PoDate,
117
+ sales_person: data.SalesPerson,
118
+ work_order_no: data.WorkOrderNo,
119
+ remarks: data.Remarks,
120
+ shipping_id: data.ShippingId,
121
+ promocode_series_id: data.PromocodeSeriesId,
122
+ promocode: data.Promocode,
123
+ promocode_percentage: data.PromocodePercentage,
124
+ promocode_amount: data.PromocodeAmount,
125
+ });
126
+ // Create order details
127
+ if (data?.OrderDetail?.length) {
128
+ await orderMasterService.createOrderDetailMasters(data.OrderDetail.map((d) => ({
129
+ erp_order_id: d.OrderId,
130
+ order_item_id: d.OrderItemId,
131
+ order_master: master.id,
132
+ sr_no: d.SrNo,
133
+ style_id: d.StyleId,
134
+ style_code: d.StyleCode,
135
+ party_style_id: d.PartyStyleId,
136
+ party_style_code: d.PartyStyleCode ?? null,
137
+ jewel_id: d.JewelId,
138
+ jewel_code: d.JewelCode,
139
+ item_size_id: d.ItemSizeId,
140
+ item_size: d.ItemSize,
141
+ item_size_name: d.ItemSizeName,
142
+ order_qty: d.OrderQty,
143
+ order_item_pcs: d.OrderItemPcs,
144
+ metal_item_id: d.MetalItemId,
145
+ metal: d.Metal,
146
+ metal_name: d.MetalName,
147
+ metal_tone_no: d.MetalToneNo,
148
+ tone: d.Tone,
149
+ tone_name: d.ToneName,
150
+ item_po_no: d.ItemPoNo ?? null,
151
+ item_ref_no: d.ItemRefNo ?? null,
152
+ priority_id: d.PriorityId,
153
+ priority: d.Priority,
154
+ priority_name: d.PriorityName,
155
+ stock_type_no: d.StockTypeNo,
156
+ stock_type: d.StockType,
157
+ stock_type_code: d.StockTypeCode,
158
+ make_type_no: d.MakeTypeNo,
159
+ make_type: d.MakeType,
160
+ make_type_code: d.MakeTypeCode,
161
+ expected_delivery_date: d.Expecteddeliverydate,
162
+ mrp: d.MRP,
163
+ })));
164
+ }
165
+ }
166
+ // Handle order payments - check if exists, update or create
167
+ if (data?.PaymentOption?.length) {
168
+ framework_1.logger.info(`Processing ${data.PaymentOption.length} payment(s) for Order ${input.order_id}`);
169
+ for (const p of data.PaymentOption) {
170
+ // Check if payment exists - try multiple matching strategies
171
+ let existingPayment = await orderMasterService.listOrderPaymentOptionMasters({
172
+ erp_order_id: p.OrderId,
173
+ voucher_entry_id: p.VoucherEntryId,
174
+ trans_no: p.TransNo,
175
+ order_master: master.id,
176
+ });
177
+ // If not found and trans_no exists, try without trans_no as fallback
178
+ if (existingPayment?.length === 0 && p.TransNo) {
179
+ existingPayment = await orderMasterService.listOrderPaymentOptionMasters({
180
+ erp_order_id: p.OrderId,
181
+ voucher_entry_id: p.VoucherEntryId,
182
+ order_master: master.id,
183
+ });
184
+ }
185
+ const paymentData = {
186
+ erp_order_id: p.OrderId,
187
+ book_name: p.BookName,
188
+ order_master: master.id,
189
+ voucher_entry_id: p.VoucherEntryId,
190
+ trans_prefix: p.TransPrefix,
191
+ trans_no: p.TransNo,
192
+ transaction_date: p.TransactionDate,
193
+ doc_no: p.DocNo,
194
+ remarks: p.Remarks,
195
+ amount: p.Amount,
196
+ };
197
+ if (existingPayment?.length > 0) {
198
+ framework_1.logger.info(`Updating payment for Order ${input.order_id} - VoucherEntryId: ${p.VoucherEntryId}, TransNo: ${p.TransNo || 'N/A'}`);
199
+ await orderMasterService.updateOrderPaymentOptionMasters({
200
+ id: existingPayment[0].id,
201
+ ...paymentData,
202
+ });
203
+ }
204
+ else {
205
+ framework_1.logger.info(`Creating new payment for Order ${input.order_id} - VoucherEntryId: ${p.VoucherEntryId}, TransNo: ${p.TransNo || 'N/A'}`);
206
+ await orderMasterService.createOrderPaymentOptionMasters(paymentData);
207
+ }
208
+ }
209
+ }
210
+ // Handle addless details - check if exists, update or create
211
+ if (data?.AddlessDetail?.length) {
212
+ framework_1.logger.info(`Processing ${data.AddlessDetail.length} addless detail(s) for Order ${input.order_id}`);
213
+ for (const a of data.AddlessDetail) {
214
+ const existingAddless = await orderMasterService.listOrderAddlessDetailMasters({
215
+ erp_order_id: a.OrderId,
216
+ prompt: a.Prompt,
217
+ order_master: master.id,
218
+ });
219
+ const addlessData = {
220
+ erp_order_id: a.OrderId,
221
+ addless_id: a.Id ?? null,
222
+ prompt: a.Prompt,
223
+ addless_per: a.AddlessPer ?? null,
224
+ addless_amount: a.AddLessAmount,
225
+ order_master: master.id,
226
+ };
227
+ if (existingAddless?.length > 0) {
228
+ await orderMasterService.updateOrderAddlessDetailMasters({
229
+ id: existingAddless[0].id,
230
+ ...addlessData,
231
+ });
232
+ }
233
+ else {
234
+ await orderMasterService.createOrderAddlessDetailMasters(addlessData);
235
+ }
236
+ }
237
+ }
238
+ return master;
239
+ }));
240
+ const createdMasters = masters.filter(Boolean);
241
+ if (createdMasters.length === 0) {
242
+ framework_1.logger.info(`No order master was processed`);
243
+ return new workflows_sdk_1.StepResponse();
244
+ }
245
+ const master = createdMasters[0];
246
+ // Create or update link between order_master and order
247
+ const link = container.resolve("link");
248
+ try {
249
+ await link.create({
250
+ [order_master_1.ORDER_MASTER_MODULE]: { order_master_id: master?.id },
251
+ [utils_1.Modules.ORDER]: { order_id: input.id },
252
+ });
253
+ framework_1.logger.info(`Link created between order_master ${master.id} and order ${input.id}`);
254
+ }
255
+ catch (linkError) {
256
+ // If link already exists, that's okay - continue
257
+ if (linkError?.message?.includes("Cannot create multiple links") ||
258
+ linkError?.message?.includes("already exists") ||
259
+ linkError?.code === "23505" ||
260
+ linkError?.name === "UniqueConstraintViolationError") {
261
+ framework_1.logger.info(`Link already exists between order_master ${master.id} and order ${input.id}`);
262
+ }
263
+ else {
264
+ // Re-throw if it's a different error
265
+ throw linkError;
266
+ }
267
+ }
268
+ return new workflows_sdk_1.StepResponse(master);
269
+ }
270
+ catch (error) {
271
+ framework_1.logger.error(`[create-order-master-step] Failed to create/update order master for ERP order ${input.order_id}: ${error?.message}`);
272
+ return new workflows_sdk_1.StepResponse(null);
273
+ }
274
+ });
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLXVwZGF0ZS1vcmRlci1tYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyLW1hc3Rlci9zdGVwcy9jcmVhdGUtb3ItdXBkYXRlLW9yZGVyLW1hc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFFN0UsZ0VBQW9FO0FBQ3BFLHFEQUFvRDtBQUNwRCxtREFBNkM7QUFRaEMsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3pDLDBCQUEwQixFQUMxQixLQUFLLEVBQUUsS0FBaUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekQsSUFBSSxDQUFDO1FBRUwsTUFBTSxrQkFBa0IsR0FBdUIsU0FBUyxDQUFDLE9BQU8sQ0FDOUQsa0NBQW1CLENBQ3BCLENBQUM7UUFDRixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBcUIsQ0FBQztRQUNoRSxNQUFNLFNBQVMsR0FBTyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUc5RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixrQkFBTSxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDcEUsT0FBTyxJQUFJLDRCQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDekQsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO2FBQ3JD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