@things-factory/sales-base 5.0.13 → 6.0.0-alpha.1

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 (330) hide show
  1. package/dist-server/constants/order.js +4 -1
  2. package/dist-server/constants/order.js.map +1 -1
  3. package/dist-server/constants/release-good.js +5 -1
  4. package/dist-server/constants/release-good.js.map +1 -1
  5. package/dist-server/controllers/ecommerce/ecommerce-controller.js +1 -1
  6. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
  7. package/dist-server/controllers/ecommerce/sellercraft-controller.js +102 -94
  8. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
  9. package/dist-server/controllers/order-controller.js +7 -5
  10. package/dist-server/controllers/order-controller.js.map +1 -1
  11. package/dist-server/service/arrival-notice/arrival-notice-mutation.js +152 -65
  12. package/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +1 -1
  13. package/dist-server/service/arrival-notice/arrival-notice-query.js +15 -16
  14. package/dist-server/service/arrival-notice/arrival-notice-query.js.map +1 -1
  15. package/dist-server/service/arrival-notice/arrival-notice-types.js +1 -2
  16. package/dist-server/service/arrival-notice/arrival-notice-types.js.map +1 -1
  17. package/dist-server/service/arrival-notice/arrival-notice.js +7 -7
  18. package/dist-server/service/arrival-notice/arrival-notice.js.map +1 -1
  19. package/dist-server/service/claim/claim-mutation.js +15 -14
  20. package/dist-server/service/claim/claim-mutation.js.map +1 -1
  21. package/dist-server/service/claim/claim-query.js +8 -10
  22. package/dist-server/service/claim/claim-query.js.map +1 -1
  23. package/dist-server/service/claim/claim.js +7 -7
  24. package/dist-server/service/claim/claim.js.map +1 -1
  25. package/dist-server/service/claim-detail/claim-detail-mutation.js +9 -8
  26. package/dist-server/service/claim-detail/claim-detail-mutation.js.map +1 -1
  27. package/dist-server/service/claim-detail/claim-detail-query.js +9 -10
  28. package/dist-server/service/claim-detail/claim-detail-query.js.map +1 -1
  29. package/dist-server/service/claim-detail/claim-detail.js +3 -4
  30. package/dist-server/service/claim-detail/claim-detail.js.map +1 -1
  31. package/dist-server/service/claim-order/claim-order-mutation.js +9 -8
  32. package/dist-server/service/claim-order/claim-order-mutation.js.map +1 -1
  33. package/dist-server/service/claim-order/claim-order-query.js +9 -10
  34. package/dist-server/service/claim-order/claim-order-query.js.map +1 -1
  35. package/dist-server/service/claim-order/claim-order.js +3 -4
  36. package/dist-server/service/claim-order/claim-order.js.map +1 -1
  37. package/dist-server/service/collection-order/collection-order-mutation.js +15 -14
  38. package/dist-server/service/collection-order/collection-order-mutation.js.map +1 -1
  39. package/dist-server/service/collection-order/collection-order-query.js +14 -14
  40. package/dist-server/service/collection-order/collection-order-query.js.map +1 -1
  41. package/dist-server/service/collection-order/collection-order-types.js +4 -5
  42. package/dist-server/service/collection-order/collection-order-types.js.map +1 -1
  43. package/dist-server/service/collection-order/collection-order.js +7 -7
  44. package/dist-server/service/collection-order/collection-order.js.map +1 -1
  45. package/dist-server/service/delivery-order/delivery-order-mutation.js +138 -51
  46. package/dist-server/service/delivery-order/delivery-order-mutation.js.map +1 -1
  47. package/dist-server/service/delivery-order/delivery-order-query.js +51 -38
  48. package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -1
  49. package/dist-server/service/delivery-order/delivery-order-types.js +22 -3
  50. package/dist-server/service/delivery-order/delivery-order-types.js.map +1 -1
  51. package/dist-server/service/delivery-order/delivery-order.js +92 -7
  52. package/dist-server/service/delivery-order/delivery-order.js.map +1 -1
  53. package/dist-server/service/draft-release-good/draft-release-good-mutation.js +157 -143
  54. package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +1 -1
  55. package/dist-server/service/draft-release-good/draft-release-good-query.js +54 -24
  56. package/dist-server/service/draft-release-good/draft-release-good-query.js.map +1 -1
  57. package/dist-server/service/draft-release-good/draft-release-good-type.js +3 -4
  58. package/dist-server/service/draft-release-good/draft-release-good-type.js.map +1 -1
  59. package/dist-server/service/draft-release-good/draft-release-good.js +11 -6
  60. package/dist-server/service/draft-release-good/draft-release-good.js.map +1 -1
  61. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js +12 -11
  62. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js.map +1 -1
  63. package/dist-server/service/goods-receival-note/goods-receival-note-query.js +104 -12
  64. package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +1 -1
  65. package/dist-server/service/goods-receival-note/goods-receival-note-types.js +67 -4
  66. package/dist-server/service/goods-receival-note/goods-receival-note-types.js.map +1 -1
  67. package/dist-server/service/goods-receival-note/goods-receival-note.js +46 -5
  68. package/dist-server/service/goods-receival-note/goods-receival-note.js.map +1 -1
  69. package/dist-server/service/inventory-check/inventory-check-mutation.js +6 -6
  70. package/dist-server/service/inventory-check/inventory-check-mutation.js.map +1 -1
  71. package/dist-server/service/inventory-check/inventory-check-query.js +8 -10
  72. package/dist-server/service/inventory-check/inventory-check-query.js.map +1 -1
  73. package/dist-server/service/inventory-check/inventory-check.js +5 -5
  74. package/dist-server/service/inventory-check/inventory-check.js.map +1 -1
  75. package/dist-server/service/invoice/invoice-mutation.js +5 -5
  76. package/dist-server/service/invoice/invoice-mutation.js.map +1 -1
  77. package/dist-server/service/invoice/invoice-query.js +7 -9
  78. package/dist-server/service/invoice/invoice-query.js.map +1 -1
  79. package/dist-server/service/invoice/invoice-types.js +2 -3
  80. package/dist-server/service/invoice/invoice-types.js.map +1 -1
  81. package/dist-server/service/invoice/invoice.js +3 -4
  82. package/dist-server/service/invoice/invoice.js.map +1 -1
  83. package/dist-server/service/invoice-product/invoice-product-mutation.js +1 -1
  84. package/dist-server/service/invoice-product/invoice-product-mutation.js.map +1 -1
  85. package/dist-server/service/invoice-product/invoice-product-query.js +7 -9
  86. package/dist-server/service/invoice-product/invoice-product-query.js.map +1 -1
  87. package/dist-server/service/invoice-product/invoice-product.js +5 -5
  88. package/dist-server/service/invoice-product/invoice-product.js.map +1 -1
  89. package/dist-server/service/job-sheet/job-sheet-mutation.js +5 -5
  90. package/dist-server/service/job-sheet/job-sheet-mutation.js.map +1 -1
  91. package/dist-server/service/job-sheet/job-sheet-query.js +6 -8
  92. package/dist-server/service/job-sheet/job-sheet-query.js.map +1 -1
  93. package/dist-server/service/job-sheet/job-sheet.js +5 -5
  94. package/dist-server/service/job-sheet/job-sheet.js.map +1 -1
  95. package/dist-server/service/manifest/manifest-mutation.js +84 -4
  96. package/dist-server/service/manifest/manifest-mutation.js.map +1 -1
  97. package/dist-server/service/manifest/manifest-query.js +52 -19
  98. package/dist-server/service/manifest/manifest-query.js.map +1 -1
  99. package/dist-server/service/manifest/manifest-type.js +8 -0
  100. package/dist-server/service/manifest/manifest-type.js.map +1 -1
  101. package/dist-server/service/manifest/manifest.js +8 -4
  102. package/dist-server/service/manifest/manifest.js.map +1 -1
  103. package/dist-server/service/order-inventory/order-inventory-mutation.js +3 -3
  104. package/dist-server/service/order-inventory/order-inventory-mutation.js.map +1 -1
  105. package/dist-server/service/order-inventory/order-inventory-query.js +202 -221
  106. package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
  107. package/dist-server/service/order-inventory/order-inventory-types.js +15 -15
  108. package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -1
  109. package/dist-server/service/order-inventory/order-inventory.js +45 -15
  110. package/dist-server/service/order-inventory/order-inventory.js.map +1 -1
  111. package/dist-server/service/order-product/order-product-mutation.js +2 -2
  112. package/dist-server/service/order-product/order-product-mutation.js.map +1 -1
  113. package/dist-server/service/order-product/order-product-query.js +44 -14
  114. package/dist-server/service/order-product/order-product-query.js.map +1 -1
  115. package/dist-server/service/order-product/order-product-types.js +18 -19
  116. package/dist-server/service/order-product/order-product-types.js.map +1 -1
  117. package/dist-server/service/order-product/order-product.js +14 -11
  118. package/dist-server/service/order-product/order-product.js.map +1 -1
  119. package/dist-server/service/order-tote/order-tote-mutation.js +2 -2
  120. package/dist-server/service/order-tote/order-tote-mutation.js.map +1 -1
  121. package/dist-server/service/order-tote/order-tote-query.js +13 -14
  122. package/dist-server/service/order-tote/order-tote-query.js.map +1 -1
  123. package/dist-server/service/order-tote/order-tote-types.js +4 -5
  124. package/dist-server/service/order-tote/order-tote-types.js.map +1 -1
  125. package/dist-server/service/order-tote/order-tote.js +6 -5
  126. package/dist-server/service/order-tote/order-tote.js.map +1 -1
  127. package/dist-server/service/order-tote-item/order-tote-item-mutation.js +2 -2
  128. package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +1 -1
  129. package/dist-server/service/order-tote-item/order-tote-item-query.js +7 -9
  130. package/dist-server/service/order-tote-item/order-tote-item-query.js.map +1 -1
  131. package/dist-server/service/order-tote-item/order-tote-item-types.js +5 -6
  132. package/dist-server/service/order-tote-item/order-tote-item-types.js.map +1 -1
  133. package/dist-server/service/order-tote-item/order-tote-item.js +2 -3
  134. package/dist-server/service/order-tote-item/order-tote-item.js.map +1 -1
  135. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js +2 -2
  136. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +1 -1
  137. package/dist-server/service/order-tote-seal/order-tote-seal-query.js +8 -10
  138. package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +1 -1
  139. package/dist-server/service/order-tote-seal/order-tote-seal-types.js +2 -3
  140. package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +1 -1
  141. package/dist-server/service/order-tote-seal/order-tote-seal.js +2 -3
  142. package/dist-server/service/order-tote-seal/order-tote-seal.js.map +1 -1
  143. package/dist-server/service/order-vas/order-vas-mutation.js +1 -1
  144. package/dist-server/service/order-vas/order-vas-mutation.js.map +1 -1
  145. package/dist-server/service/order-vas/order-vas-query.js +8 -10
  146. package/dist-server/service/order-vas/order-vas-query.js.map +1 -1
  147. package/dist-server/service/order-vas/order-vas-types.js +16 -17
  148. package/dist-server/service/order-vas/order-vas-types.js.map +1 -1
  149. package/dist-server/service/order-vas/order-vas.js +7 -7
  150. package/dist-server/service/order-vas/order-vas.js.map +1 -1
  151. package/dist-server/service/others/other-query.js +48 -30
  152. package/dist-server/service/others/other-query.js.map +1 -1
  153. package/dist-server/service/purchase-order/purchase-order-mutation.js +36 -34
  154. package/dist-server/service/purchase-order/purchase-order-mutation.js.map +1 -1
  155. package/dist-server/service/purchase-order/purchase-order-query.js +11 -12
  156. package/dist-server/service/purchase-order/purchase-order-query.js.map +1 -1
  157. package/dist-server/service/purchase-order/purchase-order-types.js +8 -9
  158. package/dist-server/service/purchase-order/purchase-order-types.js.map +1 -1
  159. package/dist-server/service/purchase-order/purchase-order.js +8 -8
  160. package/dist-server/service/purchase-order/purchase-order.js.map +1 -1
  161. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js +1 -1
  162. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js.map +1 -1
  163. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js +9 -10
  164. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js.map +1 -1
  165. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js +3 -4
  166. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js.map +1 -1
  167. package/dist-server/service/release-good/release-good-mutation.js +182 -94
  168. package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
  169. package/dist-server/service/release-good/release-good-query.js +251 -172
  170. package/dist-server/service/release-good/release-good-query.js.map +1 -1
  171. package/dist-server/service/release-good/release-good-types.js +181 -9
  172. package/dist-server/service/release-good/release-good-types.js.map +1 -1
  173. package/dist-server/service/release-good/release-good.js +64 -13
  174. package/dist-server/service/release-good/release-good.js.map +1 -1
  175. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js +19 -14
  176. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js.map +1 -1
  177. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js +8 -10
  178. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js.map +1 -1
  179. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js +6 -7
  180. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js.map +1 -1
  181. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js +5 -5
  182. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js.map +1 -1
  183. package/dist-server/service/return-order/return-order-mutation.js +38 -27
  184. package/dist-server/service/return-order/return-order-mutation.js.map +1 -1
  185. package/dist-server/service/return-order/return-order-query.js +14 -16
  186. package/dist-server/service/return-order/return-order-query.js.map +1 -1
  187. package/dist-server/service/return-order/return-order-types.js +9 -9
  188. package/dist-server/service/return-order/return-order-types.js.map +1 -1
  189. package/dist-server/service/return-order/return-order.js +6 -6
  190. package/dist-server/service/return-order/return-order.js.map +1 -1
  191. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js +17 -13
  192. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js.map +1 -1
  193. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js +13 -14
  194. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +1 -1
  195. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js +9 -9
  196. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js.map +1 -1
  197. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js +8 -8
  198. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +1 -1
  199. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js +4 -4
  200. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js.map +1 -1
  201. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js +7 -9
  202. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js.map +1 -1
  203. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js +4 -5
  204. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js.map +1 -1
  205. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js +7 -7
  206. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +1 -1
  207. package/dist-server/service/shipping-order/shipping-order-mutation.js +2 -2
  208. package/dist-server/service/shipping-order/shipping-order-mutation.js.map +1 -1
  209. package/dist-server/service/shipping-order/shipping-order-query.js +9 -10
  210. package/dist-server/service/shipping-order/shipping-order-query.js.map +1 -1
  211. package/dist-server/service/shipping-order/shipping-order-types.js +21 -1
  212. package/dist-server/service/shipping-order/shipping-order-types.js.map +1 -1
  213. package/dist-server/service/shipping-order/shipping-order.js +27 -7
  214. package/dist-server/service/shipping-order/shipping-order.js.map +1 -1
  215. package/dist-server/service/transfer-order/transfer-order-mutation.js +19 -14
  216. package/dist-server/service/transfer-order/transfer-order-mutation.js.map +1 -1
  217. package/dist-server/service/transfer-order/transfer-order-query.js +8 -10
  218. package/dist-server/service/transfer-order/transfer-order-query.js.map +1 -1
  219. package/dist-server/service/transfer-order/transfer-order-types.js +1 -2
  220. package/dist-server/service/transfer-order/transfer-order-types.js.map +1 -1
  221. package/dist-server/service/transfer-order/transfer-order.js +5 -5
  222. package/dist-server/service/transfer-order/transfer-order.js.map +1 -1
  223. package/dist-server/service/vas/vas-mutation.js +2 -2
  224. package/dist-server/service/vas/vas-mutation.js.map +1 -1
  225. package/dist-server/service/vas/vas-query.js +8 -10
  226. package/dist-server/service/vas/vas-query.js.map +1 -1
  227. package/dist-server/service/vas/vas.js +3 -4
  228. package/dist-server/service/vas/vas.js.map +1 -1
  229. package/dist-server/service/vas-order/vas-order-mutation.js +20 -15
  230. package/dist-server/service/vas-order/vas-order-mutation.js.map +1 -1
  231. package/dist-server/service/vas-order/vas-order-query.js +11 -12
  232. package/dist-server/service/vas-order/vas-order-query.js.map +1 -1
  233. package/dist-server/service/vas-order/vas-order.js +5 -5
  234. package/dist-server/service/vas-order/vas-order.js.map +1 -1
  235. package/dist-server/tsconfig.tsbuildinfo +1 -1
  236. package/dist-server/utils/datetime-util.js +49 -0
  237. package/dist-server/utils/datetime-util.js.map +1 -0
  238. package/dist-server/utils/index.js +1 -0
  239. package/dist-server/utils/index.js.map +1 -1
  240. package/dist-server/utils/inventory-util.js +89 -29
  241. package/dist-server/utils/inventory-util.js.map +1 -1
  242. package/package.json +13 -13
  243. package/server/constants/order.ts +4 -1
  244. package/server/constants/release-good.ts +6 -3
  245. package/server/controllers/ecommerce/ecommerce-controller.ts +1 -1
  246. package/server/controllers/ecommerce/sellercraft-controller.ts +124 -107
  247. package/server/controllers/order-controller.ts +7 -5
  248. package/server/service/arrival-notice/arrival-notice-mutation.ts +204 -91
  249. package/server/service/arrival-notice/arrival-notice-query.ts +17 -17
  250. package/server/service/claim/claim-mutation.ts +20 -14
  251. package/server/service/claim/claim-query.ts +10 -9
  252. package/server/service/claim-detail/claim-detail-mutation.ts +16 -10
  253. package/server/service/claim-detail/claim-detail-query.ts +13 -8
  254. package/server/service/claim-order/claim-order-mutation.ts +16 -10
  255. package/server/service/claim-order/claim-order-query.ts +10 -8
  256. package/server/service/collection-order/collection-order-mutation.ts +31 -32
  257. package/server/service/collection-order/collection-order-query.ts +18 -15
  258. package/server/service/delivery-order/delivery-order-mutation.ts +206 -73
  259. package/server/service/delivery-order/delivery-order-query.ts +90 -53
  260. package/server/service/delivery-order/delivery-order-types.ts +15 -0
  261. package/server/service/delivery-order/delivery-order.ts +68 -0
  262. package/server/service/draft-release-good/draft-release-good-mutation.ts +208 -183
  263. package/server/service/draft-release-good/draft-release-good-query.ts +81 -44
  264. package/server/service/draft-release-good/draft-release-good.ts +7 -3
  265. package/server/service/goods-receival-note/goods-receival-note-mutation.ts +23 -18
  266. package/server/service/goods-receival-note/goods-receival-note-query.ts +126 -15
  267. package/server/service/goods-receival-note/goods-receival-note-types.ts +48 -0
  268. package/server/service/goods-receival-note/goods-receival-note.ts +32 -0
  269. package/server/service/inventory-check/inventory-check-mutation.ts +24 -19
  270. package/server/service/inventory-check/inventory-check-query.ts +10 -9
  271. package/server/service/invoice/invoice-mutation.ts +14 -11
  272. package/server/service/invoice/invoice-query.ts +8 -9
  273. package/server/service/invoice-product/invoice-product-mutation.ts +4 -4
  274. package/server/service/invoice-product/invoice-product-query.ts +8 -9
  275. package/server/service/job-sheet/job-sheet-mutation.ts +12 -10
  276. package/server/service/job-sheet/job-sheet-query.ts +16 -11
  277. package/server/service/manifest/manifest-mutation.ts +93 -8
  278. package/server/service/manifest/manifest-query.ts +73 -23
  279. package/server/service/manifest/manifest-type.ts +6 -0
  280. package/server/service/manifest/manifest.ts +6 -2
  281. package/server/service/order-inventory/order-inventory-mutation.ts +13 -12
  282. package/server/service/order-inventory/order-inventory-query.ts +226 -253
  283. package/server/service/order-inventory/order-inventory.ts +26 -2
  284. package/server/service/order-product/order-product-mutation.ts +11 -10
  285. package/server/service/order-product/order-product-query.ts +55 -18
  286. package/server/service/order-product/order-product.ts +7 -0
  287. package/server/service/order-tote/order-tote-mutation.ts +10 -9
  288. package/server/service/order-tote/order-tote-query.ts +13 -15
  289. package/server/service/order-tote/order-tote.ts +13 -2
  290. package/server/service/order-tote-item/order-tote-item-mutation.ts +10 -9
  291. package/server/service/order-tote-item/order-tote-item-query.ts +12 -18
  292. package/server/service/order-tote-seal/order-tote-seal-mutation.ts +10 -9
  293. package/server/service/order-tote-seal/order-tote-seal-query.ts +10 -11
  294. package/server/service/order-vas/order-vas-mutation.ts +4 -5
  295. package/server/service/order-vas/order-vas-query.ts +10 -9
  296. package/server/service/others/other-query.ts +76 -54
  297. package/server/service/purchase-order/purchase-order-mutation.ts +46 -46
  298. package/server/service/purchase-order/purchase-order-query.ts +13 -11
  299. package/server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.ts +7 -7
  300. package/server/service/purchase-order-other-charge/purchase-order-other-charge-query.ts +14 -9
  301. package/server/service/release-good/release-good-mutation.ts +297 -134
  302. package/server/service/release-good/release-good-query.ts +268 -186
  303. package/server/service/release-good/release-good-types.ts +132 -4
  304. package/server/service/release-good/release-good.ts +55 -24
  305. package/server/service/retail-replenishment-order/retail-replenishment-order-mutation.ts +35 -29
  306. package/server/service/retail-replenishment-order/retail-replenishment-order-query.ts +13 -9
  307. package/server/service/retail-replenishment-order/retail-replenishment-order-types.ts +7 -5
  308. package/server/service/return-order/return-order-mutation.ts +82 -54
  309. package/server/service/return-order/return-order-query.ts +21 -19
  310. package/server/service/reverse-kitting-order/reverse-kitting-order-mutation.ts +38 -23
  311. package/server/service/reverse-kitting-order/reverse-kitting-order-query.ts +19 -16
  312. package/server/service/reverse-kitting-order/reverse-kitting-order.ts +2 -2
  313. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.ts +9 -9
  314. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.ts +7 -8
  315. package/server/service/shipping-order/shipping-order-mutation.ts +11 -11
  316. package/server/service/shipping-order/shipping-order-query.ts +13 -11
  317. package/server/service/shipping-order/shipping-order-types.ts +16 -1
  318. package/server/service/shipping-order/shipping-order.ts +18 -2
  319. package/server/service/transfer-order/transfer-order-mutation.ts +34 -25
  320. package/server/service/transfer-order/transfer-order-query.ts +11 -10
  321. package/server/service/vas/vas-mutation.ts +13 -15
  322. package/server/service/vas/vas-query.ts +12 -10
  323. package/server/service/vas-order/vas-order-mutation.ts +38 -28
  324. package/server/service/vas-order/vas-order-query.ts +15 -13
  325. package/server/utils/datetime-util.ts +54 -0
  326. package/server/utils/index.ts +1 -0
  327. package/server/utils/inventory-util.ts +128 -34
  328. package/translations/en.json +4 -0
  329. package/translations/ko.json +6 -2
  330. package/translations/ms.json +5 -1
@@ -13,10 +13,11 @@ const integration_marketplace_1 = require("@things-factory/integration-marketpla
13
13
  const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
14
14
  const integration_sftp_1 = require("@things-factory/integration-sftp");
15
15
  const marketplace_base_1 = require("@things-factory/marketplace-base");
16
- const notification_1 = require("@things-factory/notification");
17
16
  const product_base_1 = require("@things-factory/product-base");
18
17
  const setting_base_1 = require("@things-factory/setting-base");
18
+ const shell_1 = require("@things-factory/shell");
19
19
  const warehouse_base_1 = require("@things-factory/warehouse-base");
20
+ // import { NewOrderProduct } from '../order-product/order-product-types'
20
21
  const constants_1 = require("../../constants");
21
22
  const controllers_1 = require("../../controllers");
22
23
  const errors_1 = require("../../errors");
@@ -38,10 +39,10 @@ let ReleaseGoodMutation = class ReleaseGoodMutation {
38
39
  if (!bizplaceId)
39
40
  throw new Error('company ID is not provided');
40
41
  let createdReleaseGoods = [];
41
- const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, typeorm_1.getRepository)(setting_base_1.Setting);
42
+ const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, shell_1.getRepository)(setting_base_1.Setting);
42
43
  const roNoSetting = await settingRepo.findOne({
43
44
  where: {
44
- domain,
45
+ domain: { id: domain.id },
45
46
  name: constants_1.ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
46
47
  }
47
48
  });
@@ -88,17 +89,17 @@ let ReleaseGoodMutation = class ReleaseGoodMutation {
88
89
  async deleteReleaseGoods(names, context) {
89
90
  const { tx } = context.state;
90
91
  await tx.getRepository(release_good_1.ReleaseGood).delete({
91
- domain: context.state.domain,
92
+ domain: { id: context.state.domain.id },
92
93
  name: (0, typeorm_1.In)(names)
93
94
  });
94
95
  return true;
95
96
  }
96
- async generateReleaseGood(context, attachments, releaseGood, shippingOrder) {
97
+ async generateReleaseGood(context, attachments, releaseGood, shippingOrder, shippingOrderInfo) {
97
98
  const { tx } = context.state;
98
- const createdReleaseGood = await generateReleaseGoodFunction(null, releaseGood, shippingOrder, attachments, context, tx);
99
+ const createdReleaseGood = await generateReleaseGoodFunction(null, releaseGood, shippingOrder, shippingOrderInfo, attachments, context, tx);
99
100
  return createdReleaseGood;
100
101
  }
101
- async updateReleaseGoodDetails(context, releaseGood, shippingOrder) {
102
+ async updateReleaseGoodDetails(context, releaseGood, shippingOrder, shippingOrderInfo) {
102
103
  const { tx, domain, user } = context.state;
103
104
  let foundReleaseGood = await tx.getRepository(release_good_1.ReleaseGood).findOne({
104
105
  where: { id: releaseGood.id, domain },
@@ -108,6 +109,11 @@ let ReleaseGoodMutation = class ReleaseGoodMutation {
108
109
  throw new Error(`Release order ${releaseGood.id} is not found.`);
109
110
  }
110
111
  // case to update existing shippingOrder
112
+ if (shippingOrder !== null) {
113
+ shippingOrder.remark = shippingOrder.exportRemark;
114
+ shippingOrder.containerClosureDateTime = new Date(shippingOrder.containerClosureDate);
115
+ delete shippingOrder.exportRemark;
116
+ }
111
117
  if (foundReleaseGood.shippingOrder && shippingOrder) {
112
118
  await tx.getRepository(shipping_order_1.ShippingOrder).update(foundReleaseGood.shippingOrder.id, shippingOrder);
113
119
  }
@@ -116,7 +122,7 @@ let ReleaseGoodMutation = class ReleaseGoodMutation {
116
122
  let newShippingOrder = await tx.getRepository(shipping_order_1.ShippingOrder).save(Object.assign(Object.assign({}, shippingOrder), { name: utils_1.OrderNoGenerator.shippingOrder(), domain, bizplace: await (0, biz_base_1.getMyBizplace)(domain, user), status: constants_1.ORDER_STATUS.PENDING, creator: user, updater: user }));
117
123
  releaseGood.shippingOrder = newShippingOrder;
118
124
  }
119
- foundReleaseGood = await tx.getRepository(release_good_1.ReleaseGood).save(Object.assign(Object.assign(Object.assign({}, foundReleaseGood), releaseGood), { remark: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.remark) ? releaseGood.remark : null }));
125
+ foundReleaseGood = await tx.getRepository(release_good_1.ReleaseGood).save(Object.assign(Object.assign(Object.assign(Object.assign({}, foundReleaseGood), releaseGood), shippingOrderInfo), { remark: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.remark) ? releaseGood.remark : null }));
120
126
  return foundReleaseGood;
121
127
  }
122
128
  async confirmReleaseGood(name, context) {
@@ -124,7 +130,8 @@ let ReleaseGoodMutation = class ReleaseGoodMutation {
124
130
  const releaseGood = await confirmReleaseGood(name, context, tx);
125
131
  // If current RO has cross docking
126
132
  if (releaseGood.crossDocking) {
127
- const { arrivalNotice } = await tx.getRepository(release_good_1.ReleaseGood).findOne(releaseGood.id, {
133
+ const { arrivalNotice } = await tx.getRepository(release_good_1.ReleaseGood).findOne({
134
+ where: { id: releaseGood.id },
128
135
  relations: ['arrivalNotice']
129
136
  });
130
137
  // If status of related GAN is not equal to PENDING_RECEIVE (i.e. Wasn't confirmed yet.)
@@ -145,7 +152,7 @@ let ReleaseGoodMutation = class ReleaseGoodMutation {
145
152
  }
146
153
  async addReleaseGood(context, releaseGood, shippingOrder, file) {
147
154
  const { tx } = context.state;
148
- const createdRO = await generateReleaseGoodFunction(null, releaseGood, shippingOrder, file, context, tx);
155
+ const createdRO = await generateReleaseGoodFunction(null, releaseGood, shippingOrder, null, file, context, tx);
149
156
  const confirmedRO = await confirmReleaseGood(createdRO.name, context, tx);
150
157
  const receivedRO = await receiveReleaseGood(confirmedRO.name, context, tx);
151
158
  return receivedRO;
@@ -153,7 +160,7 @@ let ReleaseGoodMutation = class ReleaseGoodMutation {
153
160
  async executeOrderRemark(releaseGoodNo, context) {
154
161
  const { domain, tx, user } = context.state;
155
162
  await tx.getRepository(release_good_1.ReleaseGood).update({
156
- domain,
163
+ domain: { id: domain.id },
157
164
  name: releaseGoodNo
158
165
  }, {
159
166
  checkedRemarkAt: new Date(),
@@ -202,9 +209,11 @@ tslib_1.__decorate([
202
209
  tslib_1.__param(1, (0, type_graphql_1.Arg)('attachments', type => [GraphQLUpload_js_1.default], { nullable: true })),
203
210
  tslib_1.__param(2, (0, type_graphql_1.Arg)('releaseGood', type => release_good_types_1.NewReleaseGood, { nullable: true })),
204
211
  tslib_1.__param(3, (0, type_graphql_1.Arg)('shippingOrder', type => shipping_order_types_1.ShippingOrderPatch, { nullable: true })),
212
+ tslib_1.__param(4, (0, type_graphql_1.Arg)('shippingOrderInfo', type => release_good_types_1.ShippingOrderInfoPatch, { nullable: true })),
205
213
  tslib_1.__metadata("design:type", Function),
206
214
  tslib_1.__metadata("design:paramtypes", [Object, Array, release_good_types_1.NewReleaseGood,
207
- shipping_order_types_1.ShippingOrderPatch]),
215
+ shipping_order_types_1.ShippingOrderPatch,
216
+ release_good_types_1.ShippingOrderInfoPatch]),
208
217
  tslib_1.__metadata("design:returntype", Promise)
209
218
  ], ReleaseGoodMutation.prototype, "generateReleaseGood", null);
210
219
  tslib_1.__decorate([
@@ -214,9 +223,11 @@ tslib_1.__decorate([
214
223
  tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
215
224
  tslib_1.__param(1, (0, type_graphql_1.Arg)('releaseGood', type => release_good_types_1.ReleaseGoodPatch, { nullable: true })),
216
225
  tslib_1.__param(2, (0, type_graphql_1.Arg)('shippingOrder', type => shipping_order_types_1.ShippingOrderPatch, { nullable: true })),
226
+ tslib_1.__param(3, (0, type_graphql_1.Arg)('shippingOrderInfo', type => release_good_types_1.ShippingOrderInfoPatch, { nullable: true })),
217
227
  tslib_1.__metadata("design:type", Function),
218
228
  tslib_1.__metadata("design:paramtypes", [Object, release_good_types_1.ReleaseGoodPatch,
219
- shipping_order_types_1.ShippingOrderPatch]),
229
+ shipping_order_types_1.ShippingOrderPatch,
230
+ release_good_types_1.ShippingOrderInfoPatch]),
220
231
  tslib_1.__metadata("design:returntype", Promise)
221
232
  ], ReleaseGoodMutation.prototype, "updateReleaseGoodDetails", null);
222
233
  tslib_1.__decorate([
@@ -279,7 +290,7 @@ exports.ReleaseGoodMutation = ReleaseGoodMutation;
279
290
  async function deleteReleaseGood(tx, name, user, domain) {
280
291
  var _a;
281
292
  let foundReleaseOrder = await tx.getRepository(release_good_1.ReleaseGood).findOne({
282
- where: { domain, name },
293
+ where: { domain: { id: domain.id }, name },
283
294
  relations: [
284
295
  'arrivalNotice',
285
296
  'orderInventories',
@@ -292,7 +303,7 @@ async function deleteReleaseGood(tx, name, user, domain) {
292
303
  ]
293
304
  });
294
305
  if (!foundReleaseOrder)
295
- throw new Error(`Arrival notice doesn't exists.`);
306
+ throw new Error(`Release order doesn't exists.`);
296
307
  const foundOIs = foundReleaseOrder.orderInventories;
297
308
  const foundOVs = foundReleaseOrder.orderVass;
298
309
  const foundSO = foundReleaseOrder.shippingOrder;
@@ -300,7 +311,7 @@ async function deleteReleaseGood(tx, name, user, domain) {
300
311
  if (foundReleaseOrder === null || foundReleaseOrder === void 0 ? void 0 : foundReleaseOrder.ownTransport) {
301
312
  foundAttachment = await tx.getRepository(attachment_base_1.Attachment).findOne({
302
313
  where: {
303
- domain,
314
+ domain: { id: domain.id },
304
315
  refBy: foundReleaseOrder.id,
305
316
  category: constants_1.ATTACHMENT_TYPE.DELIVERY_ORDER
306
317
  }
@@ -310,7 +321,7 @@ async function deleteReleaseGood(tx, name, user, domain) {
310
321
  await Promise.all(foundOIs.map(async (oi) => {
311
322
  var _a, _b;
312
323
  if ((_a = oi === null || oi === void 0 ? void 0 : oi.inventory) === null || _a === void 0 ? void 0 : _a.id) {
313
- oi.inventory = await tx.getRepository(warehouse_base_1.Inventory).findOne(oi.inventory.id);
324
+ oi.inventory = await tx.getRepository(warehouse_base_1.Inventory).findOneBy({ id: oi.inventory.id });
314
325
  await tx.getRepository(warehouse_base_1.Inventory).save(Object.assign(Object.assign({}, oi.inventory), { lockedQty: oi.inventory.lockedQty - oi.releaseQty, lockedUomValue: oi.inventory.lockedUomValue - oi.releaseUomValue, updater: user }));
315
326
  }
316
327
  await tx.getRepository(order_inventory_1.OrderInventory).delete({ id: oi.id });
@@ -345,20 +356,21 @@ async function deleteReleaseGood(tx, name, user, domain) {
345
356
  return true;
346
357
  }
347
358
  exports.deleteReleaseGood = deleteReleaseGood;
348
- async function generateReleaseGoodFunction(_, releaseGood, shippingOrder, attachments, context, tx) {
349
- var _a, _b;
359
+ async function generateReleaseGoodFunction(_, releaseGood, shippingOrder, shippingOrderInfo, attachments, context, tx) {
360
+ var _a, _b, _c, _d, _e;
350
361
  try {
351
362
  const { domain, user } = context.state;
352
- const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, typeorm_1.getRepository)(setting_base_1.Setting);
363
+ const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, shell_1.getRepository)(setting_base_1.Setting);
353
364
  // let orderInventories: OrderInventory[] = releaseGood.orderInventories
354
365
  // let orderVass: OrderVas[] = releaseGood.orderVass
355
366
  let { orderInventories, orderVass } = releaseGood;
356
367
  let bizplace;
357
368
  let warehouseDomain = domain;
369
+ let finalOrderInventories = [];
358
370
  if (releaseGood.deliverTo) {
359
371
  const deliverTo = await tx
360
372
  .getRepository(biz_base_1.ContactPoint)
361
- .findOne({ where: { bizplace: releaseGood.deliverTo, domain }, relation: ['bizplace'] });
373
+ .findOne({ where: { bizplace: releaseGood.deliverTo, domain }, relations: ['bizplace'] });
362
374
  if (!deliverTo)
363
375
  throw new Error('contact point does not exist');
364
376
  releaseGood.deliverTo = deliverTo;
@@ -406,7 +418,7 @@ async function generateReleaseGoodFunction(_, releaseGood, shippingOrder, attach
406
418
  if (releaseGood.type == 'b2c') {
407
419
  const sellercraft = await tx
408
420
  .getRepository(integration_sellercraft_1.Sellercraft)
409
- .findOne({ domain: bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
421
+ .findOneBy({ domain: bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
410
422
  let customerAvailableSftp = await tx.getRepository(integration_sftp_1.Sftp).findOne({
411
423
  where: { domain: bizplace.domain }
412
424
  });
@@ -420,7 +432,7 @@ async function generateReleaseGoodFunction(_, releaseGood, shippingOrder, attach
420
432
  const refNo = releaseGood.refNo;
421
433
  const foundReleaseGood = await tx.getRepository(release_good_1.ReleaseGood).findOne({
422
434
  where: {
423
- domain: warehouseDomain,
435
+ domain: { id: warehouseDomain.id },
424
436
  refNo,
425
437
  status: (0, typeorm_1.Not)((0, typeorm_1.In)([constants_1.ORDER_STATUS.CANCELLED, constants_1.ORDER_STATUS.PENDING_CANCEL]))
426
438
  },
@@ -436,7 +448,7 @@ async function generateReleaseGoodFunction(_, releaseGood, shippingOrder, attach
436
448
  const refNo2 = releaseGood.refNo2;
437
449
  const foundSplittedReleaseGood = await tx.getRepository(release_good_1.ReleaseGood).findOne({
438
450
  where: {
439
- domain: warehouseDomain,
451
+ domain: { id: warehouseDomain.id },
440
452
  refNo2,
441
453
  status: (0, typeorm_1.Not)((0, typeorm_1.In)([constants_1.ORDER_STATUS.CANCELLED, constants_1.ORDER_STATUS.PENDING_CANCEL]))
442
454
  },
@@ -454,6 +466,11 @@ async function generateReleaseGoodFunction(_, releaseGood, shippingOrder, attach
454
466
  let newReleaseGood = new release_good_1.ReleaseGood();
455
467
  /** Generate Shipping Order */
456
468
  if (shippingOrder) {
469
+ shippingOrder.remark = shippingOrder.exportRemark;
470
+ if (shippingOrder.containerClosureDate !== undefined) {
471
+ shippingOrder.containerClosureDateTime = new Date(shippingOrder.containerClosureDate);
472
+ }
473
+ delete shippingOrder.exportRemark;
457
474
  const createdSO = await tx.getRepository(shipping_order_1.ShippingOrder).save(Object.assign(Object.assign({}, shippingOrder), { name: utils_1.OrderNoGenerator.shippingOrder(), domain,
458
475
  bizplace, status: constants_1.ORDER_STATUS.PENDING, creator: user, updater: user }));
459
476
  newReleaseGood.shippingOrder = createdSO;
@@ -462,18 +479,24 @@ async function generateReleaseGoodFunction(_, releaseGood, shippingOrder, attach
462
479
  // find RO number rule setting
463
480
  const roNoSetting = await settingRepo.findOne({
464
481
  where: {
465
- domain,
482
+ domain: { id: domain.id },
466
483
  name: constants_1.ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
467
484
  }
468
485
  });
469
486
  newReleaseGood = Object.assign(Object.assign({}, newReleaseGood), { name: roNoSetting
470
487
  ? await (0, id_rule_base_1.generateId)({ domain, type: constants_1.ORDER_NUMBER_RULE_TYPE.RO_NUMBER, seed: {} })
471
- : utils_1.OrderNoGenerator.releaseGood(), domain: warehouseDomain, bizplace: bizplace, collectionOrderNo: releaseGood.collectionOrderNo, courierOption: releaseGood.courierOption, exportOption: releaseGood.exportOption, ownTransport: releaseGood.ownTransport, packingOption: releaseGood.packingOption, marketplaceOrderStatus: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.marketplaceOrderStatus) || null, billingAddress: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingAddress) || null, deliverTo: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliverTo) || null, deliveryAddress1: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress1) || null, deliveryAddress2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress2) || null, deliveryAddress3: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress3) || null, deliveryAddress4: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress4) || null, deliveryAddress5: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress5) || null, attentionTo: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionTo) || null, attentionCompany: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionCompany) || null, city: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.city) || null, state: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.state) || null, postalCode: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.postalCode) || null, country: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.country) || null, phone1: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone1) || null, phone2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone2) || null, email: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.email) || null, transporter: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.transporter, trackingNo: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.trackingNo, airwayBill: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill, invoice: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.invoice, refNo: releaseGood.refNo, refNo2: releaseGood.refNo2, refNo3: releaseGood.refNo3, remark: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.remark) || null, releaseDate: releaseGood.releaseDate, truckNo: releaseGood.truckNo, bundleInfo: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.bundleInfo) || [], orderInventories: releaseGood.orderInventories, type: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.type) ? releaseGood.type : 'b2b', status: constants_1.ORDER_STATUS.PENDING, storeName: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.storeName, storeId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.storeId, routeId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.routeId, stopId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.stopId, creator: user, updater: user });
488
+ : utils_1.OrderNoGenerator.releaseGood(), domain: warehouseDomain, bizplace: bizplace, collectionOrderNo: releaseGood.collectionOrderNo, courierOption: releaseGood.courierOption, exportOption: releaseGood.exportOption, ownTransport: releaseGood.ownTransport, packingOption: releaseGood.packingOption, recall: releaseGood.recall, marketplaceOrderStatus: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.marketplaceOrderStatus) || null, billingAddress: releaseGood.type == 'b2c' ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingAddress) || null : shippingOrderInfo.billingAddress || null, deliveryAddress1: releaseGood.type == 'b2c' ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress1) || null : shippingOrderInfo.deliveryAddress1 || null, deliveryAddress2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress2) || null, deliveryAddress3: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress3) || null, deliveryAddress4: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress4) || null, deliveryAddress5: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress5) || null, attentionTo: releaseGood.type == 'b2c' ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionTo) || null : shippingOrderInfo.attentionTo || null, attentionCompany: releaseGood.type == 'b2c' ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.companyName) || null : shippingOrderInfo.attentionCompany || null, city: releaseGood.type == 'b2c' ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.city) || null : shippingOrderInfo.city || null, state: releaseGood.type == 'b2c' ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.state) || null : shippingOrderInfo.state || null, postalCode: releaseGood.type == 'b2c' ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.postalCode) || null : shippingOrderInfo.postalCode || null, country: releaseGood.type == 'b2c' ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.country) || null : shippingOrderInfo.country || null, phone1: releaseGood.type == 'b2c' ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone1) || null : shippingOrderInfo.phone1 || null, phone2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone2) || null, email: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.email) || null, billingCity: releaseGood.type == 'b2c' ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingCity) || null : shippingOrderInfo.billingCity || null, billingCountry: releaseGood.type == 'b2c' ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingCountry) || null : shippingOrderInfo.billingCountry || null, billingPostalCode: releaseGood.type == 'b2c'
489
+ ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingPostalCode) || null
490
+ : shippingOrderInfo.billingPostalCode || null, billingState: releaseGood.type == 'b2c' ? (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingState) || null : shippingOrderInfo.billingState || null, transporter: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.transporter, trackingNo: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.trackingNo, airwayBill: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill, invoice: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.invoice, refNo: releaseGood.refNo, refNo2: releaseGood.refNo2, refNo3: releaseGood.refNo3, remark: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.remark) || null, releaseDate: releaseGood.releaseDate, truckNo: releaseGood.truckNo, bundleInfo: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.bundleInfo) || [], orderInventories: releaseGood.orderInventories, type: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.type) ? releaseGood.type : 'b2b', orderMethod: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.orderMethod)
491
+ ? releaseGood.orderMethod
492
+ : ((_b = (_a = releaseGood.orderInventories[0]) === null || _a === void 0 ? void 0 : _a.inventory) === null || _b === void 0 ? void 0 : _b.id)
493
+ ? constants_1.ORDER_METHOD.SELECT_BY_PALLET
494
+ : constants_1.ORDER_METHOD.SELECT_BY_PRODUCT, status: constants_1.ORDER_STATUS.PENDING, packageId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.packageId, storeName: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.storeName, storeId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.storeId, routeId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.routeId, stopId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.stopId, creator: user, updater: user });
472
495
  // Make relation with GAN for cross docking
473
496
  let crossDockingGAN = undefined;
474
497
  if (releaseGood.crossDocking && releaseGood.ganNo) {
475
498
  crossDockingGAN = await tx.getRepository(arrival_notice_1.ArrivalNotice).findOne({
476
- where: { domain, bizplace, name: releaseGood.ganNo, status: constants_1.ORDER_STATUS.PENDING }
499
+ where: { domain: { id: domain.id }, bizplace, name: releaseGood.ganNo, status: constants_1.ORDER_STATUS.PENDING }
477
500
  });
478
501
  if (!crossDockingGAN)
479
502
  throw new Error(`Failed to find GAN (${releaseGood.ganNo}) for cross docking`);
@@ -511,29 +534,55 @@ async function generateReleaseGoodFunction(_, releaseGood, shippingOrder, attach
511
534
  newReleaseGood = await tx.getRepository(release_good_1.ReleaseGood).save(newReleaseGood);
512
535
  for (let oi of orderInventories) {
513
536
  let newOrderInv = Object.assign({}, oi);
514
- newOrderInv = Object.assign(Object.assign({}, newOrderInv), { domain: warehouseDomain, bizplace: bizplace, status: constants_1.ORDER_INVENTORY_STATUS.PENDING, name: utils_1.OrderNoGenerator.orderInventory(), releaseGood: newReleaseGood, product: await tx.getRepository(product_base_1.Product).findOne(oi.product.id), creator: user, updater: user });
515
- if ((_a = newOrderInv.inventory) === null || _a === void 0 ? void 0 : _a.id) {
516
- const foundInv = await tx.getRepository(warehouse_base_1.Inventory).findOne(newOrderInv.inventory.id);
517
- newOrderInv.inventory = foundInv;
518
- foundInv.lockedQty = Number(foundInv.lockedQty) + newOrderInv.releaseQty;
519
- foundInv.lockedUomValue = Number(foundInv.lockedUomValue) + newOrderInv.releaseUomValue;
520
- foundInv.updater = user;
521
- await tx.getRepository(warehouse_base_1.Inventory).save(foundInv);
522
- }
537
+ newOrderInv = Object.assign(Object.assign({}, newOrderInv), { domain: warehouseDomain, bizplace: bizplace, status: constants_1.ORDER_INVENTORY_STATUS.PENDING, name: utils_1.OrderNoGenerator.orderInventory(), releaseGood: newReleaseGood, product: await tx.getRepository(product_base_1.Product).findOneBy({ id: oi.product.id }), creator: user, updater: user });
523
538
  let newOrderProduct = Object.assign(new order_product_1.OrderProduct(), newOrderInv);
524
- newOrderProduct = Object.assign(Object.assign({}, newOrderProduct), { packQty: 0, actualPackQty: 0, palletQty: 0, actualPalletQty: 0, status: ((_b = newOrderInv.inventory) === null || _b === void 0 ? void 0 : _b.id) ? constants_1.ORDER_PRODUCT_STATUS.ASSIGNED : constants_1.ORDER_PRODUCT_STATUS.PENDING_ASSIGN });
539
+ newOrderProduct = Object.assign(Object.assign({}, newOrderProduct), { packQty: 0, actualPackQty: 0, palletQty: 0, actualPalletQty: 0, status: constants_1.ORDER_PRODUCT_STATUS.ASSIGNED });
525
540
  newOrderProduct = await tx.getRepository(order_product_1.OrderProduct).save(newOrderProduct);
526
- await tx.getRepository(order_inventory_1.OrderInventory).save(Object.assign(Object.assign({}, newOrderInv), { orderProduct: newOrderProduct }));
541
+ if ((_c = newOrderInv.inventory) === null || _c === void 0 ? void 0 : _c.id) {
542
+ const foundInv = await tx.getRepository(warehouse_base_1.Inventory).findOneBy({ id: newOrderInv.inventory.id });
543
+ newOrderInv.inventory = foundInv;
544
+ newOrderInv.orderProduct = newOrderProduct;
545
+ finalOrderInventories.push(newOrderInv);
546
+ }
547
+ else {
548
+ // Preassign Inventories
549
+ const inventoryAssignmentSetting = await tx.getRepository(setting_base_1.Setting).findOne({
550
+ where: { domain: { id: domain.id }, name: 'rule-for-inventory-assignment' }
551
+ });
552
+ let locationSortingRules = [];
553
+ if (inventoryAssignmentSetting) {
554
+ let locationSetting = JSON.parse(inventoryAssignmentSetting.value);
555
+ for (const key in locationSetting) {
556
+ locationSortingRules.push({ name: key, desc: locationSetting[key] == 'ASC' ? false : true });
557
+ }
558
+ }
559
+ let assignedOrderInventories = await utils_1.InventoryUtil.autoAssignInventoryForRelease(newOrderInv.product, oi, oi.packingType, locationSortingRules, bizplace, warehouseDomain, tx, oi.batchId);
560
+ assignedOrderInventories = assignedOrderInventories.map(aoi => {
561
+ return Object.assign(Object.assign({}, aoi), { orderProduct: newOrderProduct });
562
+ });
563
+ finalOrderInventories.push(...assignedOrderInventories);
564
+ }
565
+ }
566
+ for (let oi of finalOrderInventories) {
567
+ let generatedOI = Object.assign(new order_inventory_1.OrderInventory(), oi);
568
+ generatedOI = Object.assign(Object.assign({}, generatedOI), { domain: warehouseDomain, bizplace, status: constants_1.ORDER_INVENTORY_STATUS.PENDING, name: utils_1.OrderNoGenerator.orderInventory(), releaseGood: newReleaseGood, creator: user, updater: user });
569
+ await tx.getRepository(order_inventory_1.OrderInventory).save(Object.assign({}, generatedOI));
570
+ // update inventory locked qty and uom value
571
+ await tx.getRepository(warehouse_base_1.Inventory).update({ id: oi.inventory.id }, {
572
+ lockedQty: (((_d = oi.inventory) === null || _d === void 0 ? void 0 : _d.lockedQty) || 0) + generatedOI.releaseQty,
573
+ lockedUomValue: (((_e = oi.inventory) === null || _e === void 0 ? void 0 : _e.lockedUomValue) || 0) + generatedOI.releaseUomValue,
574
+ updater: user
575
+ });
527
576
  }
528
577
  if (orderVass === null || orderVass === void 0 ? void 0 : orderVass.length) {
529
578
  orderVass = await Promise.all(orderVass.map(async (orderVas) => {
530
579
  var _a, _b;
531
580
  if ((_a = orderVas === null || orderVas === void 0 ? void 0 : orderVas.targetProduct) === null || _a === void 0 ? void 0 : _a.id) {
532
- orderVas.targetProduct = await tx.getRepository(product_base_1.Product).findOne(orderVas.targetProduct.id);
581
+ orderVas.targetProduct = await tx.getRepository(product_base_1.Product).findOneBy({ id: orderVas.targetProduct.id });
533
582
  }
534
- let newOrderVas = Object.assign(Object.assign({}, orderVas), { domain: warehouseDomain, bizplace, name: utils_1.OrderNoGenerator.releaseVas(), vas: await tx.getRepository(vas_1.Vas).findOne(orderVas.vas.id), type: constants_1.ORDER_TYPES.RELEASE_OF_GOODS, releaseGood: newReleaseGood, status: constants_1.ORDER_VAS_STATUS.PENDING, creator: user, updater: user });
583
+ let newOrderVas = Object.assign(Object.assign({}, orderVas), { domain: warehouseDomain, bizplace, name: utils_1.OrderNoGenerator.releaseVas(), vas: await tx.getRepository(vas_1.Vas).findOneBy({ id: orderVas.vas.id }), type: constants_1.ORDER_TYPES.RELEASE_OF_GOODS, releaseGood: newReleaseGood, status: constants_1.ORDER_VAS_STATUS.PENDING, creator: user, updater: user });
535
584
  if ((_b = orderVas === null || orderVas === void 0 ? void 0 : orderVas.inventory) === null || _b === void 0 ? void 0 : _b.id) {
536
- newOrderVas.inventory = await tx.getRepository(warehouse_base_1.Inventory).findOne(orderVas.inventory.id);
585
+ newOrderVas.inventory = await tx.getRepository(warehouse_base_1.Inventory).findOneBy({ id: orderVas.inventory.id });
537
586
  }
538
587
  return newOrderVas;
539
588
  }));
@@ -551,7 +600,7 @@ async function generateReleaseGoodFunction(_, releaseGood, shippingOrder, attach
551
600
  await (0, attachment_base_1.createAttachments)(_, { attachments: files }, context);
552
601
  }
553
602
  const directReceiveSetting = await tx.getRepository(setting_base_1.Setting).findOne({
554
- where: { domain, category: 'id-rule', name: 'enable-direct-receive-release-order' }
603
+ where: { domain: { id: domain.id }, category: 'id-rule', name: 'enable-direct-receive-release-order' }
555
604
  });
556
605
  const partnerDirectReceiveSetting = await tx.getRepository(setting_base_1.PartnerSetting).findOne({
557
606
  where: { setting: directReceiveSetting, domain, partnerDomain: bizplace === null || bizplace === void 0 ? void 0 : bizplace.domain }
@@ -586,12 +635,12 @@ async function confirmReleaseGood(name, context, tx) {
586
635
  throw new Error(`Release good order doesn't exists.`);
587
636
  // query orderInventories separately from releaseGood to reduce resource usage
588
637
  let foundOIs = await tx.getRepository(order_inventory_1.OrderInventory).find({
589
- where: { domain, releaseGood: foundReleaseGood },
638
+ where: { domain: { id: domain.id }, releaseGood: { id: foundReleaseGood.id } },
590
639
  relations: ['product']
591
640
  });
592
641
  // query orderProducts separately from releaseGood to reduce resource usage
593
642
  let foundOPs = await tx.getRepository(order_product_1.OrderProduct).find({
594
- where: { domain, releaseGood: foundReleaseGood },
643
+ where: { domain: { id: domain.id }, releaseGood: { id: foundReleaseGood.id } },
595
644
  relations: ['bizplace', 'product', 'product.productDetails']
596
645
  });
597
646
  let foundBundleInfo = JSON.parse(foundReleaseGood.bundleInfo);
@@ -707,10 +756,13 @@ async function confirmReleaseGood(name, context, tx) {
707
756
  url: context.header.referer,
708
757
  data: { url: context.header.referer }
709
758
  };
710
- await (0, notification_1.sendNotification)({
711
- receivers,
712
- message: Object.assign({}, msg)
713
- });
759
+ /**
760
+ * @notes Temporary off sendNotification due to suspect of causing wms down
761
+ */
762
+ // await sendNotification({
763
+ // receivers,
764
+ // message: { ...msg }
765
+ // })
714
766
  }
715
767
  }
716
768
  return releaseGood;
@@ -720,7 +772,7 @@ async function receiveReleaseGood(name, context, tx) {
720
772
  var _a, _b;
721
773
  const { domain, user } = context.state;
722
774
  const foundReleaseGood = await tx.getRepository(release_good_1.ReleaseGood).findOne({
723
- where: { domain, name, status: constants_1.ORDER_STATUS.PENDING_RECEIVE },
775
+ where: { domain: { id: domain.id }, name, status: constants_1.ORDER_STATUS.PENDING_RECEIVE },
724
776
  relations: ['bizplace', 'orderInventories', 'orderVass']
725
777
  });
726
778
  if (!foundReleaseGood)
@@ -769,10 +821,13 @@ async function receiveReleaseGood(name, context, tx) {
769
821
  url: context.header.referer,
770
822
  data: { url: context.header.referer }
771
823
  };
772
- await (0, notification_1.sendNotification)({
773
- receivers,
774
- message: Object.assign({}, msg)
775
- });
824
+ /**
825
+ * @notes Temporary off sendNotification due to suspect of causing wms down
826
+ */
827
+ // await sendNotification({
828
+ // receivers,
829
+ // message: { ...msg }
830
+ // })
776
831
  }
777
832
  }
778
833
  return releaseGood;
@@ -782,7 +837,7 @@ async function rejectReleaseGood(tx, context, name, remark) {
782
837
  var _a;
783
838
  const { domain, user } = context.state;
784
839
  const releaseGood = await tx.getRepository(release_good_1.ReleaseGood).findOne({
785
- where: { domain, name, status: constants_1.ORDER_STATUS.PENDING_RECEIVE },
840
+ where: { domain: { id: domain.id }, name, status: constants_1.ORDER_STATUS.PENDING_RECEIVE },
786
841
  relations: [
787
842
  'bizplace',
788
843
  'bizplace.domain',
@@ -807,7 +862,7 @@ async function rejectReleaseGood(tx, context, name, remark) {
807
862
  await tx.getRepository(order_inventory_1.OrderInventory).save(await Promise.all(foundOIs.map(async (oi) => {
808
863
  var _a;
809
864
  if ((_a = oi === null || oi === void 0 ? void 0 : oi.inventory) === null || _a === void 0 ? void 0 : _a.id) {
810
- oi.inventory = await tx.getRepository(warehouse_base_1.Inventory).findOne(oi.inventory.id);
865
+ oi.inventory = await tx.getRepository(warehouse_base_1.Inventory).findOneBy({ id: oi.inventory.id });
811
866
  await tx.getRepository(warehouse_base_1.Inventory).save(Object.assign(Object.assign({}, oi.inventory), { lockedQty: oi.inventory.lockedQty - oi.releaseQty, lockedUomValue: oi.inventory.lockedUomValue - oi.releaseUomValue, updater: user }));
812
867
  }
813
868
  oi.status = constants_1.ORDER_INVENTORY_STATUS.REJECTED;
@@ -818,7 +873,7 @@ async function rejectReleaseGood(tx, context, name, remark) {
818
873
  if (foundOPs && foundOPs.length) {
819
874
  const sellercraft = await tx
820
875
  .getRepository(integration_sellercraft_1.Sellercraft)
821
- .findOne({ domain: releaseGood.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
876
+ .findOneBy({ domain: releaseGood.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
822
877
  if (sellercraft) {
823
878
  const sellercraftCtrl = new controllers_1.SellercraftController(tx, domain, user);
824
879
  await sellercraftCtrl.updateSellercraftStock(sellercraft, foundOPs, 'REJECT_ORDER');
@@ -841,7 +896,7 @@ async function rejectReleaseGood(tx, context, name, remark) {
841
896
  if (releaseGood.shippingOrder) {
842
897
  // 2. 1) if it's yes update status of collection order
843
898
  const shippingOrder = await tx.getRepository(shipping_order_1.ShippingOrder).findOne({
844
- where: { domain, name: releaseGood.shippingOrder.name }
899
+ where: { domain: { id: domain.id }, name: releaseGood.shippingOrder.name }
845
900
  });
846
901
  shippingOrder.status = constants_1.ORDER_STATUS.REJECTED;
847
902
  shippingOrder.updater = user;
@@ -861,10 +916,13 @@ async function rejectReleaseGood(tx, context, name, remark) {
861
916
  url: context.header.referer,
862
917
  data: { url: context.header.referer }
863
918
  };
864
- await (0, notification_1.sendNotification)({
865
- receivers,
866
- message: Object.assign({}, msg)
867
- });
919
+ /**
920
+ * @notes Temporary off sendNotification due to suspect of causing wms down
921
+ */
922
+ // await sendNotification({
923
+ // receivers,
924
+ // message: { ...msg }
925
+ // })
868
926
  }
869
927
  return releaseGood;
870
928
  }
@@ -873,17 +931,28 @@ async function bulkGenerateReleaseGood(releaseGood, bizplaceId, roNoSetting, dom
873
931
  var _a, _b;
874
932
  try {
875
933
  let warehouseDomain = domain;
876
- let { orderInventories } = releaseGood;
877
- let bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne(bizplaceId);
934
+ let { orderInventories, shippingOrder } = releaseGood;
935
+ let bizplace = await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: bizplaceId });
878
936
  let newReleaseGood = Object.assign(Object.assign({}, releaseGood), { name: roNoSetting
879
937
  ? await (0, id_rule_base_1.generateId)({ domain, type: constants_1.ORDER_NUMBER_RULE_TYPE.RO_NUMBER, seed: {} })
880
- : utils_1.OrderNoGenerator.releaseGood(), domain: warehouseDomain, bizplace: bizplace, deliveryAddress1: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress1) || null, deliveryAddress2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress2) || null, deliveryAddress3: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress3) || null, deliveryAddress4: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress4) || null, attentionTo: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionTo) || null, attentionCompany: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionCompany) || null, city: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.city) || null, state: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.state) || null, postalCode: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.postalCode) || null, country: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.country) || null, phone1: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone1) || null, phone2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone2) || null, email: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.email) || null, airwayBill: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill, refNo: releaseGood.refNo, refNo2: releaseGood.refNo2, refNo3: releaseGood.refNo3, releaseDate: releaseGood.releaseDate, ownTransport: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.ownTransport) || false, status: constants_1.ORDER_STATUS.PENDING, creator: user, updater: user });
938
+ : utils_1.OrderNoGenerator.releaseGood(), domain: warehouseDomain, bizplace: bizplace, deliveryAddress1: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress1) || null, deliveryAddress2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress2) || null, deliveryAddress3: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress3) || null, deliveryAddress4: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress4) || null, attentionTo: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionTo) || null, attentionCompany: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionCompany) || null, city: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.city) || null, state: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.state) || null, postalCode: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.postalCode) || null, country: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.country) || null, phone1: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone1) || null, phone2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone2) || null, email: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.email) || null, airwayBill: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill, refNo: releaseGood.refNo, refNo2: releaseGood.refNo2, refNo3: releaseGood.refNo3, releaseDate: releaseGood.releaseDate, ownTransport: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.ownTransport) || false, orderMethod: constants_1.ORDER_METHOD.SELECT_BY_PRODUCT, status: constants_1.ORDER_STATUS.PENDING, creator: user, updater: user });
881
939
  newReleaseGood = await tx.getRepository(release_good_1.ReleaseGood).save(newReleaseGood);
940
+ /** Generate Shipping Order */
941
+ if (shippingOrder) {
942
+ shippingOrder.remark = shippingOrder.exportRemark;
943
+ if (shippingOrder.containerClosureDate !== undefined) {
944
+ shippingOrder.containerClosureDateTime = new Date(shippingOrder.containerClosureDate);
945
+ }
946
+ delete shippingOrder.exportRemark;
947
+ const createdSO = await tx.getRepository(shipping_order_1.ShippingOrder).save(Object.assign(Object.assign({}, shippingOrder), { name: utils_1.OrderNoGenerator.shippingOrder(), domain,
948
+ bizplace, status: constants_1.ORDER_STATUS.PENDING, creator: user, updater: user }));
949
+ newReleaseGood.shippingOrder = createdSO;
950
+ }
882
951
  let finalOrderInventories = [];
883
952
  // pre assign inventory to orderInventories
884
953
  for (let oi of orderInventories) {
885
954
  const pickingProductSetting = await tx.getRepository(setting_base_1.Setting).findOne({
886
- where: { domain, name: 'rule-for-picking-product' }
955
+ where: { domain: { id: domain.id }, name: 'rule-for-picking-product' }
887
956
  });
888
957
  let locationSortingRules = [];
889
958
  if (pickingProductSetting) {
@@ -892,33 +961,42 @@ async function bulkGenerateReleaseGood(releaseGood, bizplaceId, roNoSetting, dom
892
961
  locationSortingRules.push({ name: key, desc: locationSetting[key] == 'ASC' ? false : true });
893
962
  }
894
963
  }
895
- const product = await tx.getRepository(product_base_1.Product).findOne(oi.productId);
896
- finalOrderInventories.push(...(await utils_1.InventoryUtil.autoAssignInventoryForRelease(product, oi, oi.packingType, locationSortingRules, bizplace, warehouseDomain, tx)));
964
+ const product = await tx.getRepository(product_base_1.Product).findOneBy({ id: oi.productId });
965
+ let assignedResult = await utils_1.InventoryUtil.autoAssignInventoryForRelease(product, oi, oi.packingType, locationSortingRules, bizplace, warehouseDomain, tx);
966
+ finalOrderInventories.push(...assignedResult.map(itm => {
967
+ return Object.assign(Object.assign({}, itm), { orderProduct: oi === null || oi === void 0 ? void 0 : oi.orderProduct });
968
+ }));
897
969
  }
898
970
  for (let oi of finalOrderInventories) {
899
971
  let generatedOI = Object.assign(new order_inventory_1.OrderInventory(), oi);
900
972
  generatedOI = Object.assign(Object.assign({}, generatedOI), { domain: warehouseDomain, bizplace, status: constants_1.ORDER_INVENTORY_STATUS.PENDING, name: utils_1.OrderNoGenerator.orderInventory(), releaseGood: newReleaseGood, creator: user, updater: user });
901
- let newOrderProduct = {
902
- name: generatedOI.name,
903
- product: generatedOI.product,
904
- batchId: generatedOI.batchId,
905
- packingType: generatedOI.packingType,
906
- packingSize: generatedOI.packingSize,
907
- uom: generatedOI.uom,
908
- domain: warehouseDomain,
909
- bizplace,
910
- releaseQty: generatedOI.releaseQty,
911
- releaseUomValue: generatedOI.releaseUomValue,
912
- packQty: 0,
913
- actualPackQty: 0,
914
- palletQty: 0,
915
- actualPalletQty: 0,
916
- status: constants_1.ORDER_PRODUCT_STATUS.PENDING_ASSIGN,
917
- releaseGood: newReleaseGood,
918
- creator: user,
919
- updater: user
920
- };
921
- newOrderProduct = await tx.getRepository(order_product_1.OrderProduct).save(newOrderProduct);
973
+ let newOrderProduct;
974
+ if (!(oi === null || oi === void 0 ? void 0 : oi.orderProduct)) {
975
+ newOrderProduct = {
976
+ name: generatedOI.name,
977
+ product: generatedOI.product,
978
+ batchId: generatedOI.batchId,
979
+ packingType: generatedOI.packingType,
980
+ packingSize: generatedOI.packingSize,
981
+ uom: generatedOI.uom,
982
+ domain: warehouseDomain,
983
+ bizplace,
984
+ releaseQty: generatedOI.releaseQty,
985
+ releaseUomValue: generatedOI.releaseUomValue,
986
+ packQty: 0,
987
+ actualPackQty: 0,
988
+ palletQty: 0,
989
+ actualPalletQty: 0,
990
+ status: constants_1.ORDER_PRODUCT_STATUS.ASSIGNED,
991
+ releaseGood: newReleaseGood,
992
+ creator: user,
993
+ updater: user
994
+ };
995
+ newOrderProduct = await tx.getRepository(order_product_1.OrderProduct).save(newOrderProduct);
996
+ }
997
+ else {
998
+ newOrderProduct = await tx.getRepository(order_product_1.OrderProduct).save(Object.assign(Object.assign({}, oi.orderProduct), { totalUomValue: `${oi.orderProduct.releaseUomValue} ${oi.orderProduct.uom}`, status: constants_1.ORDER_PRODUCT_STATUS.ASSIGNED, updater: user }));
999
+ }
922
1000
  await tx.getRepository(order_inventory_1.OrderInventory).save(Object.assign(Object.assign({}, generatedOI), { orderProduct: newOrderProduct }));
923
1001
  // update inventory locked qty and uom value
924
1002
  await tx.getRepository(warehouse_base_1.Inventory).update(oi.inventory.id, {
@@ -944,7 +1022,7 @@ async function bulkConfirmReleaseGoods(releaseGoodsNo, domain, user, context, tx
944
1022
  throw new Error(`release good order doesn't exists.`);
945
1023
  let customerBizplace = foundReleaseGoods[0].bizplace;
946
1024
  let foundOrderInventories = await tx.getRepository(order_inventory_1.OrderInventory).find({
947
- where: { domain, releaseGood: (0, typeorm_1.In)(foundReleaseGoods.map((rg) => rg.id)) }
1025
+ where: { domain: { id: domain.id }, releaseGood: (0, typeorm_1.In)(foundReleaseGoods.map((rg) => rg.id)) }
948
1026
  });
949
1027
  await tx
950
1028
  .getRepository(release_good_1.ReleaseGood)
@@ -977,14 +1055,19 @@ async function bulkConfirmReleaseGoods(releaseGoodsNo, domain, user, context, tx
977
1055
  url: context.header.referer,
978
1056
  data: { url: context.header.referer }
979
1057
  };
980
- await (0, notification_1.sendNotification)({
981
- receivers,
982
- message
983
- });
1058
+ /**
1059
+ * @notes Temporary off sendNotification due to suspect of causing wms down
1060
+ */
1061
+ // await sendNotification({
1062
+ // receivers,
1063
+ // message
1064
+ // })
984
1065
  }
985
1066
  }
986
1067
  return Promise.all(foundReleaseGoods.map(async (releaseGood) => {
987
- return Object.assign(Object.assign({}, releaseGood), { orderInventories: await tx.getRepository(order_inventory_1.OrderInventory).find({ where: releaseGood }), status: constants_1.ORDER_STATUS.PENDING_RECEIVE, updater: user });
1068
+ return Object.assign(Object.assign({}, releaseGood), { orderInventories: await tx
1069
+ .getRepository(order_inventory_1.OrderInventory)
1070
+ .find({ where: { releaseGood: { id: releaseGood.id } } }) /* CONFIRMME regarding TYPEORM */, status: constants_1.ORDER_STATUS.PENDING_RECEIVE, updater: user });
988
1071
  }));
989
1072
  }
990
1073
  exports.bulkConfirmReleaseGoods = bulkConfirmReleaseGoods;
@@ -1044,6 +1127,11 @@ function extractRawReleaseGoods(rawReleaseGoods) {
1044
1127
  deliveryAddress2: item.deliveryAddress2,
1045
1128
  deliveryAddress3: item.deliveryAddress3,
1046
1129
  deliveryAddress4: item.deliveryAddress4,
1130
+ billingAddress: item.billingAddress,
1131
+ billingCity: item.billingPostalCode,
1132
+ billingState: item.billingState,
1133
+ billingCountry: item.billingCountry,
1134
+ billingPostalCode: item.billingPostalCode,
1047
1135
  city: item.city,
1048
1136
  postalCode: item.postalCode,
1049
1137
  state: item.state,