@things-factory/sales-base 4.3.651 → 4.3.652

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/dist-server/constants/attachment-type.js +15 -0
  2. package/dist-server/constants/attachment-type.js.map +1 -0
  3. package/dist-server/constants/index.js +24 -0
  4. package/dist-server/constants/index.js.map +1 -0
  5. package/dist-server/constants/load-type.js +8 -0
  6. package/dist-server/constants/load-type.js.map +1 -0
  7. package/dist-server/constants/order.js +235 -0
  8. package/dist-server/constants/order.js.map +1 -0
  9. package/dist-server/constants/product-group-type.js +8 -0
  10. package/dist-server/constants/product-group-type.js.map +1 -0
  11. package/dist-server/constants/release-good.js +13 -0
  12. package/dist-server/constants/release-good.js.map +1 -0
  13. package/dist-server/constants/transfer-order-type.js +9 -0
  14. package/dist-server/constants/transfer-order-type.js.map +1 -0
  15. package/dist-server/constants/validation-error-code.js +7 -0
  16. package/dist-server/constants/validation-error-code.js.map +1 -0
  17. package/dist-server/constants/vas-target-type.js +26 -0
  18. package/dist-server/constants/vas-target-type.js.map +1 -0
  19. package/dist-server/controllers/ecommerce/ecommerce-controller.js +138 -0
  20. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -0
  21. package/dist-server/controllers/ecommerce/index.js +21 -0
  22. package/dist-server/controllers/ecommerce/index.js.map +1 -0
  23. package/dist-server/controllers/ecommerce/powrup-controller.js +690 -0
  24. package/dist-server/controllers/ecommerce/powrup-controller.js.map +1 -0
  25. package/dist-server/controllers/ecommerce/sellercraft-controller.js +148 -0
  26. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -0
  27. package/dist-server/controllers/ecommerce/webspert-controller.js +237 -0
  28. package/dist-server/controllers/ecommerce/webspert-controller.js.map +1 -0
  29. package/dist-server/controllers/index.js +19 -0
  30. package/dist-server/controllers/index.js.map +1 -0
  31. package/dist-server/controllers/order-controller.js +244 -0
  32. package/dist-server/controllers/order-controller.js.map +1 -0
  33. package/dist-server/errors/index.js +18 -0
  34. package/dist-server/errors/index.js.map +1 -0
  35. package/dist-server/errors/validation-error.js +41 -0
  36. package/dist-server/errors/validation-error.js.map +1 -0
  37. package/dist-server/index.js +30 -0
  38. package/dist-server/index.js.map +1 -0
  39. package/dist-server/migrations/index.js +12 -0
  40. package/dist-server/migrations/index.js.map +1 -0
  41. package/dist-server/service/arrival-notice/arrival-notice-mutation.js +1085 -0
  42. package/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +1 -0
  43. package/dist-server/service/arrival-notice/arrival-notice-query.js +634 -0
  44. package/dist-server/service/arrival-notice/arrival-notice-query.js.map +1 -0
  45. package/dist-server/service/arrival-notice/arrival-notice-types.js +443 -0
  46. package/dist-server/service/arrival-notice/arrival-notice-types.js.map +1 -0
  47. package/dist-server/service/arrival-notice/arrival-notice.js +259 -0
  48. package/dist-server/service/arrival-notice/arrival-notice.js.map +1 -0
  49. package/dist-server/service/arrival-notice/index.js +25 -0
  50. package/dist-server/service/arrival-notice/index.js.map +1 -0
  51. package/dist-server/service/claim/claim-mutation.js +243 -0
  52. package/dist-server/service/claim/claim-mutation.js.map +1 -0
  53. package/dist-server/service/claim/claim-query.js +165 -0
  54. package/dist-server/service/claim/claim-query.js.map +1 -0
  55. package/dist-server/service/claim/claim-types.js +191 -0
  56. package/dist-server/service/claim/claim-types.js.map +1 -0
  57. package/dist-server/service/claim/claim.js +176 -0
  58. package/dist-server/service/claim/claim.js.map +1 -0
  59. package/dist-server/service/claim/index.js +25 -0
  60. package/dist-server/service/claim/index.js.map +1 -0
  61. package/dist-server/service/claim-detail/claim-detail-mutation.js +110 -0
  62. package/dist-server/service/claim-detail/claim-detail-mutation.js.map +1 -0
  63. package/dist-server/service/claim-detail/claim-detail-query.js +90 -0
  64. package/dist-server/service/claim-detail/claim-detail-query.js.map +1 -0
  65. package/dist-server/service/claim-detail/claim-detail-types.js +81 -0
  66. package/dist-server/service/claim-detail/claim-detail-types.js.map +1 -0
  67. package/dist-server/service/claim-detail/claim-detail.js +102 -0
  68. package/dist-server/service/claim-detail/claim-detail.js.map +1 -0
  69. package/dist-server/service/claim-detail/index.js +25 -0
  70. package/dist-server/service/claim-detail/index.js.map +1 -0
  71. package/dist-server/service/claim-order/claim-order-mutation.js +110 -0
  72. package/dist-server/service/claim-order/claim-order-mutation.js.map +1 -0
  73. package/dist-server/service/claim-order/claim-order-query.js +86 -0
  74. package/dist-server/service/claim-order/claim-order-query.js.map +1 -0
  75. package/dist-server/service/claim-order/claim-order-types.js +65 -0
  76. package/dist-server/service/claim-order/claim-order-types.js.map +1 -0
  77. package/dist-server/service/claim-order/claim-order.js +104 -0
  78. package/dist-server/service/claim-order/claim-order.js.map +1 -0
  79. package/dist-server/service/claim-order/index.js +25 -0
  80. package/dist-server/service/claim-order/index.js.map +1 -0
  81. package/dist-server/service/collection-order/collection-order-mutation.js +241 -0
  82. package/dist-server/service/collection-order/collection-order-mutation.js.map +1 -0
  83. package/dist-server/service/collection-order/collection-order-query.js +125 -0
  84. package/dist-server/service/collection-order/collection-order-query.js.map +1 -0
  85. package/dist-server/service/collection-order/collection-order-types.js +241 -0
  86. package/dist-server/service/collection-order/collection-order-types.js.map +1 -0
  87. package/dist-server/service/collection-order/collection-order.js +183 -0
  88. package/dist-server/service/collection-order/collection-order.js.map +1 -0
  89. package/dist-server/service/collection-order/index.js +25 -0
  90. package/dist-server/service/collection-order/index.js.map +1 -0
  91. package/dist-server/service/delivery-order/delivery-order-mutation.js +746 -0
  92. package/dist-server/service/delivery-order/delivery-order-mutation.js.map +1 -0
  93. package/dist-server/service/delivery-order/delivery-order-query.js +570 -0
  94. package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -0
  95. package/dist-server/service/delivery-order/delivery-order-types.js +397 -0
  96. package/dist-server/service/delivery-order/delivery-order-types.js.map +1 -0
  97. package/dist-server/service/delivery-order/delivery-order.js +365 -0
  98. package/dist-server/service/delivery-order/delivery-order.js.map +1 -0
  99. package/dist-server/service/delivery-order/index.js +25 -0
  100. package/dist-server/service/delivery-order/index.js.map +1 -0
  101. package/dist-server/service/draft-release-good/draft-release-good-create.js +647 -0
  102. package/dist-server/service/draft-release-good/draft-release-good-create.js.map +1 -0
  103. package/dist-server/service/draft-release-good/draft-release-good-mutation.js +486 -0
  104. package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +1 -0
  105. package/dist-server/service/draft-release-good/draft-release-good-query.js +366 -0
  106. package/dist-server/service/draft-release-good/draft-release-good-query.js.map +1 -0
  107. package/dist-server/service/draft-release-good/draft-release-good-type.js +424 -0
  108. package/dist-server/service/draft-release-good/draft-release-good-type.js.map +1 -0
  109. package/dist-server/service/draft-release-good/draft-release-good.js +444 -0
  110. package/dist-server/service/draft-release-good/draft-release-good.js.map +1 -0
  111. package/dist-server/service/draft-release-good/index.js +29 -0
  112. package/dist-server/service/draft-release-good/index.js.map +1 -0
  113. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js +140 -0
  114. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js.map +1 -0
  115. package/dist-server/service/goods-receival-note/goods-receival-note-query.js +273 -0
  116. package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +1 -0
  117. package/dist-server/service/goods-receival-note/goods-receival-note-types.js +159 -0
  118. package/dist-server/service/goods-receival-note/goods-receival-note-types.js.map +1 -0
  119. package/dist-server/service/goods-receival-note/goods-receival-note.js +156 -0
  120. package/dist-server/service/goods-receival-note/goods-receival-note.js.map +1 -0
  121. package/dist-server/service/goods-receival-note/index.js +25 -0
  122. package/dist-server/service/goods-receival-note/index.js.map +1 -0
  123. package/dist-server/service/index.js +282 -0
  124. package/dist-server/service/index.js.map +1 -0
  125. package/dist-server/service/inventory-check/index.js +25 -0
  126. package/dist-server/service/inventory-check/index.js.map +1 -0
  127. package/dist-server/service/inventory-check/inventory-check-mutation.js +151 -0
  128. package/dist-server/service/inventory-check/inventory-check-mutation.js.map +1 -0
  129. package/dist-server/service/inventory-check/inventory-check-query.js +138 -0
  130. package/dist-server/service/inventory-check/inventory-check-query.js.map +1 -0
  131. package/dist-server/service/inventory-check/inventory-check-types.js +82 -0
  132. package/dist-server/service/inventory-check/inventory-check-types.js.map +1 -0
  133. package/dist-server/service/inventory-check/inventory-check.js +115 -0
  134. package/dist-server/service/inventory-check/inventory-check.js.map +1 -0
  135. package/dist-server/service/inventory-check-item/index.js +25 -0
  136. package/dist-server/service/inventory-check-item/index.js.map +1 -0
  137. package/dist-server/service/inventory-check-item/inventory-check-item-mutation.js +120 -0
  138. package/dist-server/service/inventory-check-item/inventory-check-item-mutation.js.map +1 -0
  139. package/dist-server/service/inventory-check-item/inventory-check-item-query.js +196 -0
  140. package/dist-server/service/inventory-check-item/inventory-check-item-query.js.map +1 -0
  141. package/dist-server/service/inventory-check-item/inventory-check-item-types.js +157 -0
  142. package/dist-server/service/inventory-check-item/inventory-check-item-types.js.map +1 -0
  143. package/dist-server/service/inventory-check-item/inventory-check-item.js +273 -0
  144. package/dist-server/service/inventory-check-item/inventory-check-item.js.map +1 -0
  145. package/dist-server/service/invoice/index.js +25 -0
  146. package/dist-server/service/invoice/index.js.map +1 -0
  147. package/dist-server/service/invoice/invoice-mutation.js +105 -0
  148. package/dist-server/service/invoice/invoice-mutation.js.map +1 -0
  149. package/dist-server/service/invoice/invoice-query.js +94 -0
  150. package/dist-server/service/invoice/invoice-query.js.map +1 -0
  151. package/dist-server/service/invoice/invoice-types.js +388 -0
  152. package/dist-server/service/invoice/invoice-types.js.map +1 -0
  153. package/dist-server/service/invoice/invoice.js +312 -0
  154. package/dist-server/service/invoice/invoice.js.map +1 -0
  155. package/dist-server/service/invoice-product/index.js +25 -0
  156. package/dist-server/service/invoice-product/index.js.map +1 -0
  157. package/dist-server/service/invoice-product/invoice-product-mutation.js +70 -0
  158. package/dist-server/service/invoice-product/invoice-product-mutation.js.map +1 -0
  159. package/dist-server/service/invoice-product/invoice-product-query.js +95 -0
  160. package/dist-server/service/invoice-product/invoice-product-query.js.map +1 -0
  161. package/dist-server/service/invoice-product/invoice-product-types.js +131 -0
  162. package/dist-server/service/invoice-product/invoice-product-types.js.map +1 -0
  163. package/dist-server/service/invoice-product/invoice-product.js +130 -0
  164. package/dist-server/service/invoice-product/invoice-product.js.map +1 -0
  165. package/dist-server/service/job-sheet/index.js +25 -0
  166. package/dist-server/service/job-sheet/index.js.map +1 -0
  167. package/dist-server/service/job-sheet/job-sheet-mutation.js +93 -0
  168. package/dist-server/service/job-sheet/job-sheet-mutation.js.map +1 -0
  169. package/dist-server/service/job-sheet/job-sheet-query.js +134 -0
  170. package/dist-server/service/job-sheet/job-sheet-query.js.map +1 -0
  171. package/dist-server/service/job-sheet/job-sheet-types.js +113 -0
  172. package/dist-server/service/job-sheet/job-sheet-types.js.map +1 -0
  173. package/dist-server/service/job-sheet/job-sheet.js +132 -0
  174. package/dist-server/service/job-sheet/job-sheet.js.map +1 -0
  175. package/dist-server/service/manifest/index.js +9 -0
  176. package/dist-server/service/manifest/index.js.map +1 -0
  177. package/dist-server/service/manifest/manifest-mutation.js +264 -0
  178. package/dist-server/service/manifest/manifest-mutation.js.map +1 -0
  179. package/dist-server/service/manifest/manifest-query.js +228 -0
  180. package/dist-server/service/manifest/manifest-query.js.map +1 -0
  181. package/dist-server/service/manifest/manifest-type.js +183 -0
  182. package/dist-server/service/manifest/manifest-type.js.map +1 -0
  183. package/dist-server/service/manifest/manifest.js +134 -0
  184. package/dist-server/service/manifest/manifest.js.map +1 -0
  185. package/dist-server/service/order-consignment/index.js +9 -0
  186. package/dist-server/service/order-consignment/index.js.map +1 -0
  187. package/dist-server/service/order-consignment/order-consignment-mutation.js +120 -0
  188. package/dist-server/service/order-consignment/order-consignment-mutation.js.map +1 -0
  189. package/dist-server/service/order-consignment/order-consignment-query.js +87 -0
  190. package/dist-server/service/order-consignment/order-consignment-query.js.map +1 -0
  191. package/dist-server/service/order-consignment/order-consignment-type.js +69 -0
  192. package/dist-server/service/order-consignment/order-consignment-type.js.map +1 -0
  193. package/dist-server/service/order-consignment/order-consignment.js +115 -0
  194. package/dist-server/service/order-consignment/order-consignment.js.map +1 -0
  195. package/dist-server/service/order-inventory/index.js +25 -0
  196. package/dist-server/service/order-inventory/index.js.map +1 -0
  197. package/dist-server/service/order-inventory/order-inventory-mutation.js +80 -0
  198. package/dist-server/service/order-inventory/order-inventory-mutation.js.map +1 -0
  199. package/dist-server/service/order-inventory/order-inventory-query.js +592 -0
  200. package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -0
  201. package/dist-server/service/order-inventory/order-inventory-types.js +341 -0
  202. package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -0
  203. package/dist-server/service/order-inventory/order-inventory.js +785 -0
  204. package/dist-server/service/order-inventory/order-inventory.js.map +1 -0
  205. package/dist-server/service/order-package/index.js +9 -0
  206. package/dist-server/service/order-package/index.js.map +1 -0
  207. package/dist-server/service/order-package/order-package-mutation.js +120 -0
  208. package/dist-server/service/order-package/order-package-mutation.js.map +1 -0
  209. package/dist-server/service/order-package/order-package-query.js +142 -0
  210. package/dist-server/service/order-package/order-package-query.js.map +1 -0
  211. package/dist-server/service/order-package/order-package-types.js +113 -0
  212. package/dist-server/service/order-package/order-package-types.js.map +1 -0
  213. package/dist-server/service/order-package/order-package.js +229 -0
  214. package/dist-server/service/order-package/order-package.js.map +1 -0
  215. package/dist-server/service/order-package-item/index.js +9 -0
  216. package/dist-server/service/order-package-item/index.js.map +1 -0
  217. package/dist-server/service/order-package-item/order-package-item-mutation.js +120 -0
  218. package/dist-server/service/order-package-item/order-package-item-mutation.js.map +1 -0
  219. package/dist-server/service/order-package-item/order-package-item-query.js +127 -0
  220. package/dist-server/service/order-package-item/order-package-item-query.js.map +1 -0
  221. package/dist-server/service/order-package-item/order-package-item-types.js +99 -0
  222. package/dist-server/service/order-package-item/order-package-item-types.js.map +1 -0
  223. package/dist-server/service/order-package-item/order-package-item.js +162 -0
  224. package/dist-server/service/order-package-item/order-package-item.js.map +1 -0
  225. package/dist-server/service/order-product/index.js +25 -0
  226. package/dist-server/service/order-product/index.js.map +1 -0
  227. package/dist-server/service/order-product/order-product-mutation.js +74 -0
  228. package/dist-server/service/order-product/order-product-mutation.js.map +1 -0
  229. package/dist-server/service/order-product/order-product-query.js +125 -0
  230. package/dist-server/service/order-product/order-product-query.js.map +1 -0
  231. package/dist-server/service/order-product/order-product-types.js +489 -0
  232. package/dist-server/service/order-product/order-product-types.js.map +1 -0
  233. package/dist-server/service/order-product/order-product.js +559 -0
  234. package/dist-server/service/order-product/order-product.js.map +1 -0
  235. package/dist-server/service/order-tote/index.js +25 -0
  236. package/dist-server/service/order-tote/index.js.map +1 -0
  237. package/dist-server/service/order-tote/order-tote-mutation.js +56 -0
  238. package/dist-server/service/order-tote/order-tote-mutation.js.map +1 -0
  239. package/dist-server/service/order-tote/order-tote-query.js +123 -0
  240. package/dist-server/service/order-tote/order-tote-query.js.map +1 -0
  241. package/dist-server/service/order-tote/order-tote-types.js +79 -0
  242. package/dist-server/service/order-tote/order-tote-types.js.map +1 -0
  243. package/dist-server/service/order-tote/order-tote.js +92 -0
  244. package/dist-server/service/order-tote/order-tote.js.map +1 -0
  245. package/dist-server/service/order-tote-item/index.js +25 -0
  246. package/dist-server/service/order-tote-item/index.js.map +1 -0
  247. package/dist-server/service/order-tote-item/order-tote-item-mutation.js +56 -0
  248. package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +1 -0
  249. package/dist-server/service/order-tote-item/order-tote-item-query.js +100 -0
  250. package/dist-server/service/order-tote-item/order-tote-item-query.js.map +1 -0
  251. package/dist-server/service/order-tote-item/order-tote-item-types.js +91 -0
  252. package/dist-server/service/order-tote-item/order-tote-item-types.js.map +1 -0
  253. package/dist-server/service/order-tote-item/order-tote-item.js +118 -0
  254. package/dist-server/service/order-tote-item/order-tote-item.js.map +1 -0
  255. package/dist-server/service/order-tote-seal/index.js +25 -0
  256. package/dist-server/service/order-tote-seal/index.js.map +1 -0
  257. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js +56 -0
  258. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +1 -0
  259. package/dist-server/service/order-tote-seal/order-tote-seal-query.js +97 -0
  260. package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +1 -0
  261. package/dist-server/service/order-tote-seal/order-tote-seal-types.js +71 -0
  262. package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +1 -0
  263. package/dist-server/service/order-tote-seal/order-tote-seal.js +71 -0
  264. package/dist-server/service/order-tote-seal/order-tote-seal.js.map +1 -0
  265. package/dist-server/service/order-vas/index.js +25 -0
  266. package/dist-server/service/order-vas/index.js.map +1 -0
  267. package/dist-server/service/order-vas/order-vas-mutation.js +148 -0
  268. package/dist-server/service/order-vas/order-vas-mutation.js.map +1 -0
  269. package/dist-server/service/order-vas/order-vas-query.js +148 -0
  270. package/dist-server/service/order-vas/order-vas-query.js.map +1 -0
  271. package/dist-server/service/order-vas/order-vas-types.js +348 -0
  272. package/dist-server/service/order-vas/order-vas-types.js.map +1 -0
  273. package/dist-server/service/order-vas/order-vas.js +476 -0
  274. package/dist-server/service/order-vas/order-vas.js.map +1 -0
  275. package/dist-server/service/order-vas-item/index.js +9 -0
  276. package/dist-server/service/order-vas-item/index.js.map +1 -0
  277. package/dist-server/service/order-vas-item/order-vas-item-mutation.js +164 -0
  278. package/dist-server/service/order-vas-item/order-vas-item-mutation.js.map +1 -0
  279. package/dist-server/service/order-vas-item/order-vas-item-query.js +99 -0
  280. package/dist-server/service/order-vas-item/order-vas-item-query.js.map +1 -0
  281. package/dist-server/service/order-vas-item/order-vas-item-type.js +131 -0
  282. package/dist-server/service/order-vas-item/order-vas-item-type.js.map +1 -0
  283. package/dist-server/service/order-vas-item/order-vas-item.js +166 -0
  284. package/dist-server/service/order-vas-item/order-vas-item.js.map +1 -0
  285. package/dist-server/service/others/index.js +21 -0
  286. package/dist-server/service/others/index.js.map +1 -0
  287. package/dist-server/service/others/other-query.js +536 -0
  288. package/dist-server/service/others/other-query.js.map +1 -0
  289. package/dist-server/service/others/other-types.js +181 -0
  290. package/dist-server/service/others/other-types.js.map +1 -0
  291. package/dist-server/service/purchase-order/index.js +25 -0
  292. package/dist-server/service/purchase-order/index.js.map +1 -0
  293. package/dist-server/service/purchase-order/purchase-order-mutation.js +398 -0
  294. package/dist-server/service/purchase-order/purchase-order-mutation.js.map +1 -0
  295. package/dist-server/service/purchase-order/purchase-order-query.js +126 -0
  296. package/dist-server/service/purchase-order/purchase-order-query.js.map +1 -0
  297. package/dist-server/service/purchase-order/purchase-order-types.js +240 -0
  298. package/dist-server/service/purchase-order/purchase-order-types.js.map +1 -0
  299. package/dist-server/service/purchase-order/purchase-order.js +236 -0
  300. package/dist-server/service/purchase-order/purchase-order.js.map +1 -0
  301. package/dist-server/service/purchase-order-other-charge/index.js +25 -0
  302. package/dist-server/service/purchase-order-other-charge/index.js.map +1 -0
  303. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js +56 -0
  304. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js.map +1 -0
  305. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js +87 -0
  306. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js.map +1 -0
  307. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js +77 -0
  308. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js.map +1 -0
  309. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js +101 -0
  310. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js.map +1 -0
  311. package/dist-server/service/release-good/index.js +25 -0
  312. package/dist-server/service/release-good/index.js.map +1 -0
  313. package/dist-server/service/release-good/release-good-mutation.js +1598 -0
  314. package/dist-server/service/release-good/release-good-mutation.js.map +1 -0
  315. package/dist-server/service/release-good/release-good-query.js +1131 -0
  316. package/dist-server/service/release-good/release-good-query.js.map +1 -0
  317. package/dist-server/service/release-good/release-good-types.js +1043 -0
  318. package/dist-server/service/release-good/release-good-types.js.map +1 -0
  319. package/dist-server/service/release-good/release-good.js +817 -0
  320. package/dist-server/service/release-good/release-good.js.map +1 -0
  321. package/dist-server/service/release-good-logs/index.js +11 -0
  322. package/dist-server/service/release-good-logs/index.js.map +1 -0
  323. package/dist-server/service/release-good-logs/release-good-logs-mutation.js +126 -0
  324. package/dist-server/service/release-good-logs/release-good-logs-mutation.js.map +1 -0
  325. package/dist-server/service/release-good-logs/release-good-logs-query.js +71 -0
  326. package/dist-server/service/release-good-logs/release-good-logs-query.js.map +1 -0
  327. package/dist-server/service/release-good-logs/release-good-logs-type.js +65 -0
  328. package/dist-server/service/release-good-logs/release-good-logs-type.js.map +1 -0
  329. package/dist-server/service/release-good-logs/release-good-logs.js +96 -0
  330. package/dist-server/service/release-good-logs/release-good-logs.js.map +1 -0
  331. package/dist-server/service/replenishment/index.js +9 -0
  332. package/dist-server/service/replenishment/index.js.map +1 -0
  333. package/dist-server/service/replenishment/replenishment-mutation.js +234 -0
  334. package/dist-server/service/replenishment/replenishment-mutation.js.map +1 -0
  335. package/dist-server/service/replenishment/replenishment-query.js +185 -0
  336. package/dist-server/service/replenishment/replenishment-query.js.map +1 -0
  337. package/dist-server/service/replenishment/replenishment-type.js +119 -0
  338. package/dist-server/service/replenishment/replenishment-type.js.map +1 -0
  339. package/dist-server/service/replenishment/replenishment.js +114 -0
  340. package/dist-server/service/replenishment/replenishment.js.map +1 -0
  341. package/dist-server/service/retail-replenishment-order/index.js +25 -0
  342. package/dist-server/service/retail-replenishment-order/index.js.map +1 -0
  343. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js +314 -0
  344. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js.map +1 -0
  345. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js +89 -0
  346. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js.map +1 -0
  347. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js +148 -0
  348. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js.map +1 -0
  349. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js +141 -0
  350. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js.map +1 -0
  351. package/dist-server/service/return-order/index.js +25 -0
  352. package/dist-server/service/return-order/index.js.map +1 -0
  353. package/dist-server/service/return-order/return-order-mutation.js +451 -0
  354. package/dist-server/service/return-order/return-order-mutation.js.map +1 -0
  355. package/dist-server/service/return-order/return-order-query.js +243 -0
  356. package/dist-server/service/return-order/return-order-query.js.map +1 -0
  357. package/dist-server/service/return-order/return-order-types.js +274 -0
  358. package/dist-server/service/return-order/return-order-types.js.map +1 -0
  359. package/dist-server/service/return-order/return-order.js +159 -0
  360. package/dist-server/service/return-order/return-order.js.map +1 -0
  361. package/dist-server/service/reverse-kitting-order/index.js +25 -0
  362. package/dist-server/service/reverse-kitting-order/index.js.map +1 -0
  363. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js +407 -0
  364. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js.map +1 -0
  365. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js +222 -0
  366. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +1 -0
  367. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js +230 -0
  368. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js.map +1 -0
  369. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js +145 -0
  370. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +1 -0
  371. package/dist-server/service/reverse-kitting-order-inventory/index.js +25 -0
  372. package/dist-server/service/reverse-kitting-order-inventory/index.js.map +1 -0
  373. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js +130 -0
  374. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js.map +1 -0
  375. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js +87 -0
  376. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js.map +1 -0
  377. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js +143 -0
  378. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js.map +1 -0
  379. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js +178 -0
  380. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +1 -0
  381. package/dist-server/service/shipping-order/index.js +25 -0
  382. package/dist-server/service/shipping-order/index.js.map +1 -0
  383. package/dist-server/service/shipping-order/shipping-order-mutation.js +78 -0
  384. package/dist-server/service/shipping-order/shipping-order-mutation.js.map +1 -0
  385. package/dist-server/service/shipping-order/shipping-order-query.js +96 -0
  386. package/dist-server/service/shipping-order/shipping-order-query.js.map +1 -0
  387. package/dist-server/service/shipping-order/shipping-order-types.js +137 -0
  388. package/dist-server/service/shipping-order/shipping-order-types.js.map +1 -0
  389. package/dist-server/service/shipping-order/shipping-order.js +165 -0
  390. package/dist-server/service/shipping-order/shipping-order.js.map +1 -0
  391. package/dist-server/service/transfer-order/index.js +25 -0
  392. package/dist-server/service/transfer-order/index.js.map +1 -0
  393. package/dist-server/service/transfer-order/transfer-order-mutation.js +252 -0
  394. package/dist-server/service/transfer-order/transfer-order-mutation.js.map +1 -0
  395. package/dist-server/service/transfer-order/transfer-order-query.js +104 -0
  396. package/dist-server/service/transfer-order/transfer-order-query.js.map +1 -0
  397. package/dist-server/service/transfer-order/transfer-order-types.js +148 -0
  398. package/dist-server/service/transfer-order/transfer-order-types.js.map +1 -0
  399. package/dist-server/service/transfer-order/transfer-order.js +146 -0
  400. package/dist-server/service/transfer-order/transfer-order.js.map +1 -0
  401. package/dist-server/service/vas/index.js +25 -0
  402. package/dist-server/service/vas/index.js.map +1 -0
  403. package/dist-server/service/vas/vas-mutation.js +562 -0
  404. package/dist-server/service/vas/vas-mutation.js.map +1 -0
  405. package/dist-server/service/vas/vas-query.js +114 -0
  406. package/dist-server/service/vas/vas-query.js.map +1 -0
  407. package/dist-server/service/vas/vas-types.js +113 -0
  408. package/dist-server/service/vas/vas-types.js.map +1 -0
  409. package/dist-server/service/vas/vas.js +114 -0
  410. package/dist-server/service/vas/vas.js.map +1 -0
  411. package/dist-server/service/vas-order/index.js +25 -0
  412. package/dist-server/service/vas-order/index.js.map +1 -0
  413. package/dist-server/service/vas-order/vas-order-mutation.js +241 -0
  414. package/dist-server/service/vas-order/vas-order-mutation.js.map +1 -0
  415. package/dist-server/service/vas-order/vas-order-query.js +151 -0
  416. package/dist-server/service/vas-order/vas-order-query.js.map +1 -0
  417. package/dist-server/service/vas-order/vas-order-types.js +83 -0
  418. package/dist-server/service/vas-order/vas-order-types.js.map +1 -0
  419. package/dist-server/service/vas-order/vas-order.js +104 -0
  420. package/dist-server/service/vas-order/vas-order.js.map +1 -0
  421. package/dist-server/utils/datetime-util.js +82 -0
  422. package/dist-server/utils/datetime-util.js.map +1 -0
  423. package/dist-server/utils/index.js +20 -0
  424. package/dist-server/utils/index.js.map +1 -0
  425. package/dist-server/utils/inventory-util.js +1098 -0
  426. package/dist-server/utils/inventory-util.js.map +1 -0
  427. package/dist-server/utils/order-no-generator.js +112 -0
  428. package/dist-server/utils/order-no-generator.js.map +1 -0
  429. package/package.json +8 -8
  430. package/server/service/vas/vas-mutation.ts +222 -225
@@ -0,0 +1,746 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var _a, _b, _c, _d;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.generateDeliveryOrder = exports.createDeliveryOrder = exports.DeliveryOrderMutation = void 0;
17
+ const graphql_upload_1 = require("graphql-upload");
18
+ const type_graphql_1 = require("type-graphql");
19
+ const typeorm_1 = require("typeorm");
20
+ const attachment_base_1 = require("@things-factory/attachment-base");
21
+ const auth_base_1 = require("@things-factory/auth-base");
22
+ const biz_base_1 = require("@things-factory/biz-base");
23
+ const env_1 = require("@things-factory/env");
24
+ const id_rule_base_1 = require("@things-factory/id-rule-base");
25
+ const integration_accounting_1 = require("@things-factory/integration-accounting");
26
+ const product_base_1 = require("@things-factory/product-base");
27
+ const setting_base_1 = require("@things-factory/setting-base");
28
+ const shell_1 = require("@things-factory/shell");
29
+ const transport_base_1 = require("@things-factory/transport-base");
30
+ const constants_1 = require("../../constants");
31
+ const order_no_generator_1 = require("../../utils/order-no-generator");
32
+ const order_inventory_1 = require("../order-inventory/order-inventory");
33
+ const order_inventory_types_1 = require("../order-inventory/order-inventory-types");
34
+ const release_good_1 = require("../release-good/release-good");
35
+ const release_good_types_1 = require("../release-good/release-good-types");
36
+ const shipping_order_1 = require("../shipping-order/shipping-order");
37
+ const delivery_order_1 = require("./delivery-order");
38
+ const delivery_order_types_1 = require("./delivery-order-types");
39
+ let DeliveryOrderMutation = class DeliveryOrderMutation {
40
+ async createDeliveryOrder(context, orderInfo, customerBizplace, targetInventories, file) {
41
+ const { tx, domain, user } = context.state;
42
+ return await createDeliveryOrder(orderInfo, customerBizplace, targetInventories, file, domain, user, tx);
43
+ }
44
+ async updateDeliveryOrder(name, patch, context) {
45
+ const { tx, domain, user } = context.state;
46
+ const deliveryOrder = await tx.getRepository(delivery_order_1.DeliveryOrder).findOne({
47
+ where: {
48
+ domain,
49
+ name,
50
+ bizplace: (0, typeorm_1.In)(await (0, biz_base_1.getPermittedBizplaceIds)(domain, user))
51
+ }
52
+ });
53
+ return await tx.getRepository(delivery_order_1.DeliveryOrder).save(Object.assign(Object.assign(Object.assign({}, deliveryOrder), patch), { updater: user }));
54
+ }
55
+ async deleteDeliveryOrder(name, context) {
56
+ const { tx, domain } = context.state;
57
+ const foundDO = await tx.getRepository(delivery_order_1.DeliveryOrder).findOne({
58
+ where: { domain, name }
59
+ });
60
+ if (foundDO) {
61
+ const previousAttachment = await tx.getRepository(attachment_base_1.Attachment).findOne({
62
+ where: { domain, refBy: foundDO.id }
63
+ });
64
+ if (previousAttachment)
65
+ await (0, attachment_base_1.deleteAttachment)(null, { id: previousAttachment.id }, context);
66
+ await tx.getRepository(delivery_order_1.DeliveryOrder).delete({ domain, name });
67
+ }
68
+ return true;
69
+ }
70
+ async generateDeliveryOrder(context, orderInfo, customerBizplace, releaseGood, targetInventories) {
71
+ const { tx, domain, user } = context.state;
72
+ return await generateDeliveryOrder(orderInfo, targetInventories, customerBizplace, releaseGood, domain, user, tx);
73
+ }
74
+ async confirmDeliveryOrder(name, context) {
75
+ const { tx, domain, user } = context.state;
76
+ const foundDeliveryOrder = await tx.getRepository(delivery_order_1.DeliveryOrder).findOne({
77
+ where: { domain, name },
78
+ relations: ['creator', 'updater']
79
+ });
80
+ let deliveryOrder;
81
+ if (!foundDeliveryOrder)
82
+ throw new Error(`Delivery Order doesn't exists.`);
83
+ if (foundDeliveryOrder.status !== constants_1.ORDER_STATUS.PENDING)
84
+ throw new Error('Not confirmable status.');
85
+ // delivery Order Status change (PENDING => PENDING_RECEIVE)
86
+ deliveryOrder = await tx.getRepository(delivery_order_1.DeliveryOrder).save(Object.assign(Object.assign({}, foundDeliveryOrder), { status: constants_1.ORDER_STATUS.PENDING_RECEIVE, updater: user }));
87
+ return deliveryOrder;
88
+ }
89
+ async receiveDeliveryOrder(name, context) {
90
+ try {
91
+ const { tx, domain, user } = context.state;
92
+ const deliveryOrder = await tx.getRepository(delivery_order_1.DeliveryOrder).findOne({
93
+ where: { domain, name }
94
+ });
95
+ if (!deliveryOrder)
96
+ throw new Error(`Delivery order doesn't exists.`);
97
+ if (deliveryOrder.status !== constants_1.ORDER_STATUS.PENDING_RECEIVE)
98
+ throw new Error(`Status is not receivable.`);
99
+ await tx.getRepository(delivery_order_1.DeliveryOrder).save(Object.assign(Object.assign({}, deliveryOrder), { status: constants_1.ORDER_STATUS.READY_TO_DISPATCH, updater: user }));
100
+ return deliveryOrder;
101
+ }
102
+ catch (e) {
103
+ throw e;
104
+ }
105
+ }
106
+ async checkDeliveredOrder(context, name, patch) {
107
+ try {
108
+ const { tx, domain, user } = context.state;
109
+ const deliveryOrder = await tx.getRepository(delivery_order_1.DeliveryOrder).findOne({
110
+ where: { domain, name },
111
+ relations: ['bizplace', 'transportDriver', 'transportVehicle']
112
+ });
113
+ if (!deliveryOrder)
114
+ throw new Error(`Delivery order doesn't exists.`);
115
+ if (deliveryOrder.status !== constants_1.ORDER_STATUS.DELIVERING)
116
+ throw new Error(`Status is not receivable.`);
117
+ let orderInventories = await tx.getRepository(order_inventory_1.OrderInventory).find({
118
+ where: { domain, deliveryOrder: deliveryOrder },
119
+ relations: ['product']
120
+ });
121
+ // update order inventory status for manual DO only
122
+ orderInventories = orderInventories.map((orderInventory) => {
123
+ if (orderInventory.type === constants_1.ORDER_TYPES.DELIVERY &&
124
+ orderInventory.status === constants_1.ORDER_INVENTORY_STATUS.DELIVERING) {
125
+ return Object.assign(Object.assign({}, orderInventory), { status: constants_1.ORDER_INVENTORY_STATUS.DONE });
126
+ }
127
+ else
128
+ return orderInventory;
129
+ });
130
+ await tx.getRepository(order_inventory_1.OrderInventory).save(orderInventories);
131
+ await tx.getRepository(delivery_order_1.DeliveryOrder).save(Object.assign(Object.assign(Object.assign({}, deliveryOrder), patch), { status: constants_1.ORDER_STATUS.DONE, updater: user }));
132
+ if (!(deliveryOrder === null || deliveryOrder === void 0 ? void 0 : deliveryOrder.ownCollection)) {
133
+ const foundTruck = deliveryOrder.transportVehicle;
134
+ await tx.getRepository(transport_base_1.TransportVehicle).save(Object.assign(Object.assign({}, foundTruck), { status: transport_base_1.TRUCK_STATUS.IDLE, updater: user }));
135
+ }
136
+ return deliveryOrder;
137
+ }
138
+ catch (e) {
139
+ throw e;
140
+ }
141
+ }
142
+ /**
143
+ * comment start
144
+ * detailed review needed 06 Aug 2022 by @ChrisLim-git
145
+ * @param context
146
+ * @param orderInfo
147
+ * @param orderItems
148
+ * @param shippingOrderInfo
149
+ * @param exportInfo
150
+ * @returns DeliveryOrder
151
+ */
152
+ async dispatchDeliveryOrder(context, orderInfo, orderItems, shippingOrderInfo, exportInfo) {
153
+ try {
154
+ const { tx, domain, user } = context.state;
155
+ const foundDeliveryOrder = await tx.getRepository(delivery_order_1.DeliveryOrder).findOne({
156
+ where: { domain, name: orderInfo.name },
157
+ relations: ['transportVehicle', 'bizplace', 'bizplace.domain']
158
+ });
159
+ const foundReleaseGood = await tx.getRepository(release_good_1.ReleaseGood).findOne({
160
+ where: {
161
+ name: orderInfo.releaseGoodNo,
162
+ domain
163
+ },
164
+ relations: ['shippingOrder']
165
+ });
166
+ if (!foundDeliveryOrder)
167
+ throw new Error(`Delivery order doesn't exists.`);
168
+ if (foundDeliveryOrder.status === constants_1.ORDER_STATUS.PENDING_CANCEL)
169
+ throw new Error('Release order is pending for cancel');
170
+ foundDeliveryOrder.ownCollection = orderInfo.transportType == 'Own Transport' ? true : false;
171
+ let deliveryOrderStatus = foundDeliveryOrder.status;
172
+ let orderInventories;
173
+ orderInventories = await tx.getRepository(order_inventory_1.OrderInventory).find({
174
+ where: { domain, deliveryOrder: foundDeliveryOrder },
175
+ relations: ['inventory', 'inventory.product', 'inventory.reusablePallet']
176
+ });
177
+ orderInventories = orderInventories.map((orderInventory) => {
178
+ var _a, _b;
179
+ const inventory = orderInventory.inventory;
180
+ const product = inventory.product;
181
+ const foundItem = inventory.reusablePallet
182
+ ? orderItems.filter((item) => item.productName === `${product.name} (${product.description})` &&
183
+ item.batchId === orderInventory.batchId &&
184
+ item.pallet === inventory.reusablePallet.name)
185
+ : orderItems.filter((item) => item.productName === `${product.name} (${product.description})` &&
186
+ item.batchId === orderInventory.batchId);
187
+ if (((_a = foundItem[0]) === null || _a === void 0 ? void 0 : _a.remark) !== '')
188
+ orderInventory.remark = (_b = foundItem[0]) === null || _b === void 0 ? void 0 : _b.remark;
189
+ return orderInventory;
190
+ });
191
+ await tx.getRepository(order_inventory_1.OrderInventory).save(orderInventories);
192
+ // if there is other destination value, create a new contact point
193
+ let foundCP = {};
194
+ if (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.otherDestination) {
195
+ foundCP = {
196
+ domain,
197
+ name: orderInfo.contactName,
198
+ bizplace: foundDeliveryOrder.bizplace,
199
+ address: orderInfo.otherDestination,
200
+ billingAddress: orderInfo.billingAddress,
201
+ phone: orderInfo.contactPhone,
202
+ email: orderInfo.contactEmail,
203
+ companyName: orderInfo.contactCompany,
204
+ type: orderInfo.contactType,
205
+ creator: user
206
+ };
207
+ foundCP = await tx.getRepository(biz_base_1.ContactPoint).save(foundCP);
208
+ }
209
+ else {
210
+ foundCP = await tx.getRepository(biz_base_1.ContactPoint).findOne({
211
+ where: { domain, id: orderInfo.contactPoint, bizplace: foundDeliveryOrder.bizplace }
212
+ });
213
+ }
214
+ let transportDriver = null;
215
+ let transportVehicle = null;
216
+ if (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.ownDriver) {
217
+ transportDriver = await tx.getRepository(transport_base_1.TransportDriver).findOne({
218
+ where: { domain, name: orderInfo.ownDriver }
219
+ });
220
+ }
221
+ if (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.ownTruck) {
222
+ transportVehicle = await tx.getRepository(transport_base_1.TransportVehicle).findOne({
223
+ where: { domain, name: orderInfo.ownTruck }
224
+ });
225
+ await tx.getRepository(transport_base_1.TransportVehicle).save(Object.assign(Object.assign({}, transportVehicle), { status: transport_base_1.TRUCK_STATUS.IN_USE, updater: user }));
226
+ }
227
+ if (foundDeliveryOrder.status === constants_1.ORDER_STATUS.READY_TO_DISPATCH) {
228
+ // update status to DELIVERING if current status is READY_TO_DISPATCH
229
+ deliveryOrderStatus = constants_1.ORDER_STATUS.DELIVERING;
230
+ }
231
+ // save export option information
232
+ if (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.exportOption) {
233
+ let savedShippingOrder = '';
234
+ /**
235
+ * Could potentially override important data
236
+ */
237
+ if (foundReleaseGood.shippingOrder == null) {
238
+ savedShippingOrder = await tx.getRepository(shipping_order_1.ShippingOrder).save({
239
+ name: order_no_generator_1.OrderNoGenerator.shippingOrder(),
240
+ shipName: exportInfo.shipName,
241
+ containerNo: exportInfo.containerNo,
242
+ containerArrivalDate: exportInfo.containerArrivalDate,
243
+ containerLeavingDate: exportInfo.containerLeavingDate,
244
+ status: constants_1.ORDER_STATUS.PENDING,
245
+ domain,
246
+ bizplace: foundDeliveryOrder.bizplace,
247
+ creator: user,
248
+ updater: user
249
+ });
250
+ }
251
+ /**
252
+ * @oscarchuaweiwen-fsd
253
+ * I think the expectation here is to update instead of save
254
+ * Should use .update instead of .save as it will override data that was not meant to be updated
255
+ * example:
256
+ *
257
+ * savedShippingOrder = await tx.getRepository(ShippingOrder).update({
258
+ * shipName: exportInfo.shipName,
259
+ * containerNo: exportInfo.containerNo,
260
+ * containerArrivalDate: exportInfo.containerArrivalDate,
261
+ * containerLeavingDate: exportInfo.containerLeavingDate,
262
+ * status: ORDER_STATUS.PENDING,
263
+ * updater: user
264
+ * })
265
+ *
266
+ * Unless the intention was not to update but to insert
267
+ */
268
+ savedShippingOrder = await tx.getRepository(shipping_order_1.ShippingOrder).save(Object.assign(Object.assign({}, foundReleaseGood.shippingOrder), { name: order_no_generator_1.OrderNoGenerator.shippingOrder(), shipName: exportInfo.shipName, containerNo: exportInfo.containerNo, containerArrivalDate: exportInfo.containerArrivalDate, containerLeavingDate: exportInfo.containerLeavingDate, status: constants_1.ORDER_STATUS.PENDING, domain, bizplace: foundDeliveryOrder.bizplace, creator: user, updater: user }));
269
+ /** */
270
+ exportInfo = savedShippingOrder;
271
+ foundReleaseGood.exportOption = true;
272
+ }
273
+ else {
274
+ foundReleaseGood.exportOption = false;
275
+ foundReleaseGood.collectionOrderNo = '';
276
+ }
277
+ await tx.getRepository(release_good_1.ReleaseGood).save(Object.assign(Object.assign({}, foundReleaseGood), { shippingOrder: Object.assign({}, exportInfo), collectionOrderNo: orderInfo.coNo }));
278
+ await tx.getRepository(delivery_order_1.DeliveryOrder).save(Object.assign(Object.assign({}, foundDeliveryOrder), { transportDriver, palletQty: orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.totalPalletQty, transportVehicle, contactPointRefId: (foundCP === null || foundCP === void 0 ? void 0 : foundCP.id) || null, otherDriver: (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.otherDriver) || null, otherDriverCode: (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.otherDriverCode) || null, truckNo: (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.otherTruck) || (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.ownTruck), to: foundCP === null || foundCP === void 0 ? void 0 : foundCP.address, deliveryDate: orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.deliveryDate, deliveryDateTime: new Date(), remark: orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.remark, status: deliveryOrderStatus, reusablePallet: orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.reusablePallet, attentionTo: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.attentionTo) || null, attentionCompany: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.attentionCompany) || null, city: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.city) || null, state: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.state) || null, postalCode: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.postalCode) || null, country: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.country) || null, phone1: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.phone1) || null, deliveryAddress1: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.deliveryAddress1) || null, deliveryAddress2: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.deliveryAddress2) || null, deliveryAddress3: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.deliveryAddress3) || null, deliveryAddress4: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.deliveryAddress4) || null, deliveryAddress5: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.deliveryAddress5) || null, billingAddress: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.billingAddress) || null, billingAddress2: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.billingAddress2) || null, billingAddress3: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.billingAddress3) || null, billingAddress4: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.billingAddress4) || null, billingAddress5: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.billingAddress5) || null, billingCountry: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.billingCountry) || null, billingPostalCode: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.billingPostalCode) || null, billingState: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.billingState) || null, billingCity: (shippingOrderInfo === null || shippingOrderInfo === void 0 ? void 0 : shippingOrderInfo.billingCity) || null, updater: user }));
279
+ const orderSource = foundReleaseGood.source;
280
+ switch (orderSource) {
281
+ case auth_base_1.ApplicationType.XILNEX:
282
+ if (foundDeliveryOrder.status === constants_1.ORDER_STATUS.READY_TO_DISPATCH) {
283
+ const xilnex = await tx.getRepository(integration_accounting_1.Account).findOne({
284
+ where: {
285
+ domain: foundDeliveryOrder.bizplace.domain,
286
+ status: 'active',
287
+ platform: 'xilnex'
288
+ },
289
+ relations: ['domain']
290
+ });
291
+ if (xilnex) {
292
+ try {
293
+ await integration_accounting_1.AccountingAPI.createTransferNote(xilnex, {
294
+ releaseGood: foundReleaseGood,
295
+ deliveryOrder: foundDeliveryOrder,
296
+ orderInventories
297
+ });
298
+ }
299
+ catch (error) {
300
+ env_1.logger.error(`delivery-order-mutation[dispatchDeliveryOrder]: ${error}`);
301
+ }
302
+ }
303
+ }
304
+ break;
305
+ default:
306
+ break;
307
+ }
308
+ return foundDeliveryOrder;
309
+ }
310
+ catch (e) {
311
+ throw e;
312
+ }
313
+ }
314
+ /** */
315
+ async dispatchManualDeliveryOrder(context, orderInfo, orderItems) {
316
+ try {
317
+ const { tx, domain, user } = context.state;
318
+ const foundDeliveryOrder = await tx.getRepository(delivery_order_1.DeliveryOrder).findOne({
319
+ where: { domain, name: orderInfo.name },
320
+ relations: ['transportVehicle', 'bizplace']
321
+ });
322
+ if (!foundDeliveryOrder)
323
+ throw new Error(`Delivery order doesn't exists.`);
324
+ if (foundDeliveryOrder.status === constants_1.ORDER_STATUS.PENDING_CANCEL)
325
+ throw new Error('Release order is pending for cancel');
326
+ let deliveryOrderStatus = foundDeliveryOrder.status;
327
+ let orderInventories;
328
+ orderInventories = await tx.getRepository(order_inventory_1.OrderInventory).find({
329
+ where: { domain, deliveryOrder: foundDeliveryOrder },
330
+ relations: ['product']
331
+ });
332
+ // if there is other destination value, create a new contact point
333
+ let foundCP = {};
334
+ if (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.otherDestination) {
335
+ foundCP = {
336
+ domain,
337
+ name: orderInfo.contactName,
338
+ bizplace: foundDeliveryOrder.bizplace,
339
+ address: orderInfo.otherDestination,
340
+ billingAddress: orderInfo.billingAddress,
341
+ phone: orderInfo.contactPhone,
342
+ email: orderInfo.contactEmail,
343
+ companyName: orderInfo.contactCompany,
344
+ type: orderInfo.contactType,
345
+ creator: user
346
+ };
347
+ foundCP = await tx.getRepository(biz_base_1.ContactPoint).save(foundCP);
348
+ }
349
+ else {
350
+ foundCP = await tx.getRepository(biz_base_1.ContactPoint).findOne({
351
+ where: { domain, id: orderInfo.contactPoint }
352
+ });
353
+ }
354
+ let transportDriver = null;
355
+ let transportVehicle = null;
356
+ if (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.ownDriver) {
357
+ transportDriver = await tx.getRepository(transport_base_1.TransportDriver).findOne({
358
+ where: { domain, name: orderInfo.ownDriver }
359
+ });
360
+ }
361
+ if (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.ownTruck) {
362
+ transportVehicle = await tx.getRepository(transport_base_1.TransportVehicle).findOne({
363
+ where: { domain, name: orderInfo.ownTruck }
364
+ });
365
+ await tx.getRepository(transport_base_1.TransportVehicle).save(Object.assign(Object.assign({}, transportVehicle), { status: transport_base_1.TRUCK_STATUS.IN_USE, updater: user }));
366
+ }
367
+ orderInventories = orderInventories.map((orderInventory) => {
368
+ const remark = orderItems.find((item) => item.productId === orderInventory.product.id && item.batchId === orderInventory.batchId).remark;
369
+ // add remark if found, else remain existing remark
370
+ if (remark) {
371
+ orderInventory.remark = remark;
372
+ }
373
+ // update status of DO and order inventory to DELIVERING if current status is READY_TO_DISPATCH
374
+ if (foundDeliveryOrder.status === constants_1.ORDER_STATUS.READY_TO_DISPATCH) {
375
+ deliveryOrderStatus = constants_1.ORDER_STATUS.DELIVERING;
376
+ orderInventory.status = constants_1.ORDER_STATUS.DELIVERING;
377
+ }
378
+ return orderInventory;
379
+ });
380
+ await tx.getRepository(order_inventory_1.OrderInventory).save(orderInventories);
381
+ await tx.getRepository(delivery_order_1.DeliveryOrder).save(Object.assign(Object.assign({}, foundDeliveryOrder), { transportDriver,
382
+ transportVehicle, contactPointRefId: foundCP.id || null, otherDriver: (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.otherDriver) || null, otherDriverCode: (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.otherDriverCode) || null, truckNo: (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.otherTruck) || (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.ownTruck), to: foundCP.address, deliveryDate: orderInfo.deliveryDate, deliveryDateTime: new Date(), remark: orderInfo.remark, status: deliveryOrderStatus, reusablePallet: orderInfo.reusablePallet, updater: user }));
383
+ return foundDeliveryOrder;
384
+ }
385
+ catch (e) {
386
+ throw e;
387
+ }
388
+ }
389
+ async rejectDeliveryOrder(name, patch, context) {
390
+ try {
391
+ const { tx, domain, user } = context.state;
392
+ const deliveryOrder = await tx.getRepository(delivery_order_1.DeliveryOrder).findOne({
393
+ where: { domain, name }
394
+ });
395
+ if (!deliveryOrder)
396
+ throw new Error(`Delivery order doesn't exists.`);
397
+ if (deliveryOrder.status !== constants_1.ORDER_STATUS.PENDING_RECEIVE)
398
+ throw new Error(`Status is not receivable.`);
399
+ await tx.getRepository(delivery_order_1.DeliveryOrder).save(Object.assign(Object.assign({}, deliveryOrder), { status: constants_1.ORDER_STATUS.READY_TO_DISPATCH, updater: user }));
400
+ return deliveryOrder;
401
+ }
402
+ catch (e) {
403
+ throw e;
404
+ }
405
+ }
406
+ async submitGoodsDeliveryNote(context, name, file) {
407
+ const { tx, domain, user } = context.state;
408
+ const foundDO = await tx.getRepository(delivery_order_1.DeliveryOrder).findOne({
409
+ where: { domain, name },
410
+ relations: ['bizplace']
411
+ });
412
+ if (!foundDO)
413
+ throw new Error(`DO doesn't exists.`);
414
+ const foundAttachment = await tx.getRepository(attachment_base_1.Attachment).findOne({
415
+ where: { domain, refBy: foundDO.id }
416
+ });
417
+ const attachment = {
418
+ refBy: foundDO.id,
419
+ file: file,
420
+ category: 'DO'
421
+ };
422
+ if (!foundAttachment) {
423
+ await (0, attachment_base_1.createAttachment)(null, { attachment }, context);
424
+ }
425
+ else {
426
+ const id = foundAttachment.id;
427
+ await (0, attachment_base_1.deleteAttachment)(null, { id }, context);
428
+ await (0, attachment_base_1.createAttachment)(null, { attachment }, context);
429
+ }
430
+ return await tx.getRepository(delivery_order_1.DeliveryOrder).save(Object.assign(Object.assign({}, foundDO), { status: constants_1.ORDER_STATUS.DONE, updater: user }));
431
+ }
432
+ };
433
+ __decorate([
434
+ (0, type_graphql_1.Directive)('@transaction'),
435
+ (0, type_graphql_1.Mutation)(returns => delivery_order_1.DeliveryOrder),
436
+ __param(0, (0, type_graphql_1.Ctx)()),
437
+ __param(1, (0, type_graphql_1.Arg)('orderInfo', type => delivery_order_types_1.NewDeliveryOrder, { nullable: true })),
438
+ __param(2, (0, type_graphql_1.Arg)('customerBizplace', type => shell_1.ObjectRef, { nullable: true })),
439
+ __param(3, (0, type_graphql_1.Arg)('targetInventories', type => [order_inventory_types_1.NewOrderInventory], { nullable: true })),
440
+ __param(4, (0, type_graphql_1.Arg)('file', type => [graphql_upload_1.GraphQLUpload], { nullable: true })),
441
+ __metadata("design:type", Function),
442
+ __metadata("design:paramtypes", [Object, delivery_order_types_1.NewDeliveryOrder, typeof (_a = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _a : Object, Array, Array]),
443
+ __metadata("design:returntype", Promise)
444
+ ], DeliveryOrderMutation.prototype, "createDeliveryOrder", null);
445
+ __decorate([
446
+ (0, type_graphql_1.Directive)('@transaction'),
447
+ (0, type_graphql_1.Mutation)(returns => delivery_order_1.DeliveryOrder),
448
+ __param(0, (0, type_graphql_1.Arg)('name')),
449
+ __param(1, (0, type_graphql_1.Arg)('patch', type => delivery_order_types_1.DeliveryOrderPatch)),
450
+ __param(2, (0, type_graphql_1.Ctx)()),
451
+ __metadata("design:type", Function),
452
+ __metadata("design:paramtypes", [String, delivery_order_types_1.DeliveryOrderPatch, Object]),
453
+ __metadata("design:returntype", Promise)
454
+ ], DeliveryOrderMutation.prototype, "updateDeliveryOrder", null);
455
+ __decorate([
456
+ (0, type_graphql_1.Directive)('@transaction'),
457
+ (0, type_graphql_1.Mutation)(returns => Boolean),
458
+ __param(0, (0, type_graphql_1.Arg)('name')),
459
+ __param(1, (0, type_graphql_1.Ctx)()),
460
+ __metadata("design:type", Function),
461
+ __metadata("design:paramtypes", [String, Object]),
462
+ __metadata("design:returntype", Promise)
463
+ ], DeliveryOrderMutation.prototype, "deleteDeliveryOrder", null);
464
+ __decorate([
465
+ (0, type_graphql_1.Directive)('@transaction'),
466
+ (0, type_graphql_1.Mutation)(returns => delivery_order_1.DeliveryOrder),
467
+ __param(0, (0, type_graphql_1.Ctx)()),
468
+ __param(1, (0, type_graphql_1.Arg)('orderInfo', type => delivery_order_types_1.DeliveryOrderPatch, { nullable: true })),
469
+ __param(2, (0, type_graphql_1.Arg)('customerBizplace', type => shell_1.ObjectRef, { nullable: true })),
470
+ __param(3, (0, type_graphql_1.Arg)('releaseGood', type => shell_1.ObjectRef, { nullable: true })),
471
+ __param(4, (0, type_graphql_1.Arg)('targetInventories', type => [shell_1.ObjectRef], { nullable: true })),
472
+ __metadata("design:type", Function),
473
+ __metadata("design:paramtypes", [Object, delivery_order_types_1.DeliveryOrderPatch, typeof (_b = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _b : Object, typeof (_c = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _c : Object, Array]),
474
+ __metadata("design:returntype", Promise)
475
+ ], DeliveryOrderMutation.prototype, "generateDeliveryOrder", null);
476
+ __decorate([
477
+ (0, type_graphql_1.Directive)('@transaction'),
478
+ (0, type_graphql_1.Mutation)(returns => delivery_order_1.DeliveryOrder),
479
+ __param(0, (0, type_graphql_1.Arg)('name')),
480
+ __param(1, (0, type_graphql_1.Ctx)()),
481
+ __metadata("design:type", Function),
482
+ __metadata("design:paramtypes", [String, Object]),
483
+ __metadata("design:returntype", Promise)
484
+ ], DeliveryOrderMutation.prototype, "confirmDeliveryOrder", null);
485
+ __decorate([
486
+ (0, type_graphql_1.Directive)('@transaction'),
487
+ (0, type_graphql_1.Mutation)(returns => delivery_order_1.DeliveryOrder),
488
+ __param(0, (0, type_graphql_1.Arg)('name')),
489
+ __param(1, (0, type_graphql_1.Ctx)()),
490
+ __metadata("design:type", Function),
491
+ __metadata("design:paramtypes", [String, Object]),
492
+ __metadata("design:returntype", Promise)
493
+ ], DeliveryOrderMutation.prototype, "receiveDeliveryOrder", null);
494
+ __decorate([
495
+ (0, type_graphql_1.Directive)('@transaction'),
496
+ (0, type_graphql_1.Mutation)(returns => delivery_order_1.DeliveryOrder),
497
+ __param(0, (0, type_graphql_1.Ctx)()),
498
+ __param(1, (0, type_graphql_1.Arg)('name')),
499
+ __param(2, (0, type_graphql_1.Arg)('patch', type => delivery_order_types_1.DeliveryOrderPatch, { nullable: true })),
500
+ __metadata("design:type", Function),
501
+ __metadata("design:paramtypes", [Object, String, delivery_order_types_1.DeliveryOrderPatch]),
502
+ __metadata("design:returntype", Promise)
503
+ ], DeliveryOrderMutation.prototype, "checkDeliveredOrder", null);
504
+ __decorate([
505
+ (0, type_graphql_1.Directive)('@transaction'),
506
+ (0, type_graphql_1.Mutation)(returns => delivery_order_1.DeliveryOrder),
507
+ __param(0, (0, type_graphql_1.Ctx)()),
508
+ __param(1, (0, type_graphql_1.Arg)('orderInfo', type => delivery_order_types_1.DeliveryOrderPatch, { nullable: true })),
509
+ __param(2, (0, type_graphql_1.Arg)('orderItems', type => [order_inventory_types_1.OrderInventoryPatch], { nullable: true })),
510
+ __param(3, (0, type_graphql_1.Arg)('shippingInfo', type => release_good_types_1.ShippingOrderInfoPatch, { nullable: true })),
511
+ __param(4, (0, type_graphql_1.Arg)('exportInfo', type => release_good_types_1.ExportInformationPatch, { nullable: true })),
512
+ __metadata("design:type", Function),
513
+ __metadata("design:paramtypes", [Object, delivery_order_types_1.DeliveryOrderPatch, Array, release_good_types_1.ShippingOrderInfoPatch,
514
+ release_good_types_1.ExportInformationPatch]),
515
+ __metadata("design:returntype", Promise)
516
+ ], DeliveryOrderMutation.prototype, "dispatchDeliveryOrder", null);
517
+ __decorate([
518
+ (0, type_graphql_1.Directive)('@transaction'),
519
+ (0, type_graphql_1.Mutation)(returns => delivery_order_1.DeliveryOrder),
520
+ __param(0, (0, type_graphql_1.Ctx)()),
521
+ __param(1, (0, type_graphql_1.Arg)('orderInfo', type => delivery_order_types_1.DeliveryOrderPatch, { nullable: true })),
522
+ __param(2, (0, type_graphql_1.Arg)('orderItems', type => [order_inventory_types_1.OrderInventoryPatch], { nullable: true })),
523
+ __metadata("design:type", Function),
524
+ __metadata("design:paramtypes", [Object, delivery_order_types_1.DeliveryOrderPatch, Array]),
525
+ __metadata("design:returntype", Promise)
526
+ ], DeliveryOrderMutation.prototype, "dispatchManualDeliveryOrder", null);
527
+ __decorate([
528
+ (0, type_graphql_1.Directive)('@transaction'),
529
+ (0, type_graphql_1.Mutation)(returns => delivery_order_1.DeliveryOrder),
530
+ __param(0, (0, type_graphql_1.Arg)('name')),
531
+ __param(1, (0, type_graphql_1.Arg)('patch', type => delivery_order_types_1.DeliveryOrderPatch)),
532
+ __param(2, (0, type_graphql_1.Ctx)()),
533
+ __metadata("design:type", Function),
534
+ __metadata("design:paramtypes", [String, delivery_order_types_1.DeliveryOrderPatch, Object]),
535
+ __metadata("design:returntype", Promise)
536
+ ], DeliveryOrderMutation.prototype, "rejectDeliveryOrder", null);
537
+ __decorate([
538
+ (0, type_graphql_1.Directive)('@transaction'),
539
+ (0, type_graphql_1.Mutation)(returns => delivery_order_1.DeliveryOrder),
540
+ __param(0, (0, type_graphql_1.Ctx)()),
541
+ __param(1, (0, type_graphql_1.Arg)('name')),
542
+ __param(2, (0, type_graphql_1.Arg)('file', type => graphql_upload_1.GraphQLUpload, { nullable: true })),
543
+ __metadata("design:type", Function),
544
+ __metadata("design:paramtypes", [Object, String, typeof (_d = typeof graphql_upload_1.FileUpload !== "undefined" && graphql_upload_1.FileUpload) === "function" ? _d : Object]),
545
+ __metadata("design:returntype", Promise)
546
+ ], DeliveryOrderMutation.prototype, "submitGoodsDeliveryNote", null);
547
+ DeliveryOrderMutation = __decorate([
548
+ (0, type_graphql_1.Resolver)(delivery_order_1.DeliveryOrder)
549
+ ], DeliveryOrderMutation);
550
+ exports.DeliveryOrderMutation = DeliveryOrderMutation;
551
+ async function createDeliveryOrder(orderInfo, customerBizplace, targetInventories, file, domain, user, tx) {
552
+ const bizplaceRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(biz_base_1.Bizplace)) || (0, typeorm_1.getRepository)(biz_base_1.Bizplace);
553
+ const deliveryOrderRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(delivery_order_1.DeliveryOrder)) || (0, typeorm_1.getRepository)(delivery_order_1.DeliveryOrder);
554
+ const productRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(product_base_1.Product)) || (0, typeorm_1.getRepository)(product_base_1.Product);
555
+ const transportVehicleRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(transport_base_1.TransportVehicle)) || (0, typeorm_1.getRepository)(transport_base_1.TransportVehicle);
556
+ const transportDriverRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(transport_base_1.TransportDriver)) || (0, typeorm_1.getRepository)(transport_base_1.TransportDriver);
557
+ const orderInventoryRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(order_inventory_1.OrderInventory)) || (0, typeorm_1.getRepository)(order_inventory_1.OrderInventory);
558
+ const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, typeorm_1.getRepository)(setting_base_1.Setting);
559
+ const foundBizplace = await bizplaceRepo.findOne({
560
+ where: {
561
+ id: customerBizplace.id,
562
+ name: customerBizplace.name
563
+ }
564
+ });
565
+ if (!foundBizplace)
566
+ throw new Error(`customer not found`);
567
+ // #1 find order number setting and set as DO name
568
+ const doNoSetting = await settingRepo.findOne({
569
+ where: {
570
+ domain,
571
+ name: constants_1.ORDER_NUMBER_SETTING_KEY.DO_NUMBER_RULE
572
+ }
573
+ });
574
+ let orderNo = '';
575
+ if (doNoSetting) {
576
+ orderNo = await (0, id_rule_base_1.generateId)({ domain, type: constants_1.ORDER_NUMBER_RULE_TYPE.DO_NUMBER, seed: {} });
577
+ }
578
+ else {
579
+ orderNo = order_no_generator_1.OrderNoGenerator.deliveryOrder();
580
+ }
581
+ // #2 update truck vehicle status to IN_USE (only if using warehouse truck)
582
+ let transportVehicle = null;
583
+ let transportDriver = null;
584
+ if (!orderInfo.ownCollection) {
585
+ transportVehicle = await transportVehicleRepo.findOne({
586
+ where: {
587
+ domain,
588
+ id: orderInfo.transportVehicle
589
+ }
590
+ });
591
+ transportDriver = await transportDriverRepo.findOne({
592
+ where: {
593
+ domain,
594
+ id: orderInfo.transportDriver
595
+ }
596
+ });
597
+ transportVehicle = Object.assign(Object.assign({}, transportVehicle), { status: transport_base_1.TRUCK_STATUS.IN_USE, updater: user });
598
+ await transportVehicleRepo.save(transportVehicle);
599
+ }
600
+ // #3 save other destination info in Contact Point if there's any
601
+ let foundCP = {};
602
+ if (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.otherDestination) {
603
+ foundCP = {
604
+ domain,
605
+ name: orderInfo.contactName,
606
+ bizplace: foundBizplace,
607
+ address: orderInfo.otherDestination,
608
+ billingAddress: orderInfo.otherBillingAddress ? orderInfo.otherBillingAddress : orderInfo.otherDestination,
609
+ phone: orderInfo.contactPhone || '-',
610
+ email: orderInfo.contactEmail || '-',
611
+ companyName: orderInfo.contactCompany || '-',
612
+ type: orderInfo.contactType,
613
+ creator: user,
614
+ updater: user
615
+ };
616
+ foundCP = await tx.getRepository(biz_base_1.ContactPoint).save(foundCP);
617
+ }
618
+ else {
619
+ foundCP = await tx.getRepository(biz_base_1.ContactPoint).findOne({
620
+ where: { domain, id: orderInfo.contactPointRefId, bizplace: foundBizplace }
621
+ });
622
+ }
623
+ // #4 save the delivery order info
624
+ let totalPalletQty = 0;
625
+ targetInventories.forEach(oi => (totalPalletQty += oi.palletQty));
626
+ let deliveryOrder = {
627
+ domain,
628
+ name: orderNo,
629
+ refNo: orderInfo.refNo,
630
+ bizplace: foundBizplace,
631
+ deliveryDate: orderInfo.deliveryDate,
632
+ ownCollection: orderInfo.ownCollection,
633
+ truckNo: orderInfo.truckNo,
634
+ palletQty: totalPalletQty,
635
+ status: constants_1.ORDER_STATUS.READY_TO_DISPATCH,
636
+ contactPointRefId: foundCP.id,
637
+ remark: orderInfo.remark,
638
+ transportDriver,
639
+ transportVehicle,
640
+ otherDriver: orderInfo.otherDriver,
641
+ otherDriverCode: orderInfo.otherDriverCode,
642
+ creator: user,
643
+ updater: user
644
+ };
645
+ deliveryOrder = await deliveryOrderRepo.save(deliveryOrder);
646
+ // #5 save order inventories
647
+ targetInventories = await Promise.all(targetInventories.map(async (orderInventory) => {
648
+ const product = await productRepo.findOne({
649
+ where: {
650
+ id: orderInventory.product.id
651
+ }
652
+ });
653
+ if (!product)
654
+ throw new Error(`product not found`);
655
+ return Object.assign(Object.assign({}, orderInventory), { domain,
656
+ product, name: order_no_generator_1.OrderNoGenerator.orderInventory(), bizplace: foundBizplace, status: constants_1.ORDER_INVENTORY_STATUS.READY_TO_DISPATCH, type: constants_1.ORDER_TYPES.DELIVERY, deliveryOrder, creator: user, updater: user });
657
+ }));
658
+ await orderInventoryRepo.save(targetInventories);
659
+ // if (file?.length) {
660
+ // const attachments: Attachment[] = file.map(attachment => {
661
+ // return {
662
+ // file: attachment,
663
+ // refBy: deliveryOrder.id,
664
+ // category: ATTACHMENT_TYPE.GAN
665
+ // }
666
+ // })
667
+ // await createAttachments(_, { attachments }, context)
668
+ // }
669
+ return deliveryOrder;
670
+ }
671
+ exports.createDeliveryOrder = createDeliveryOrder;
672
+ async function generateDeliveryOrder(orderInfo, targetInventories, customerBizplace, releaseGood, domain, user, tx) {
673
+ /**
674
+ * 1. Validation for creating DO - data existing
675
+ */
676
+ const deliveryOrderRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(delivery_order_1.DeliveryOrder)) || (0, typeorm_1.getRepository)(delivery_order_1.DeliveryOrder);
677
+ const transportVehicleRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(transport_base_1.TransportVehicle)) || (0, typeorm_1.getRepository)(transport_base_1.TransportVehicle);
678
+ const orderInventoryRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(order_inventory_1.OrderInventory)) || (0, typeorm_1.getRepository)(order_inventory_1.OrderInventory);
679
+ const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, typeorm_1.getRepository)(setting_base_1.Setting);
680
+ let transportVehicle = null;
681
+ if (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.truckNo) {
682
+ transportVehicle = await transportVehicleRepo.findOne({
683
+ where: { domain, name: orderInfo.truckNo }
684
+ });
685
+ }
686
+ const doNoSetting = await settingRepo.findOne({
687
+ where: {
688
+ domain,
689
+ name: constants_1.ORDER_NUMBER_SETTING_KEY.DO_NUMBER_RULE
690
+ }
691
+ });
692
+ let orderNo = '';
693
+ if (doNoSetting) {
694
+ orderNo = await (0, id_rule_base_1.generateId)({ domain, type: constants_1.ORDER_NUMBER_RULE_TYPE.DO_NUMBER, seed: {} });
695
+ }
696
+ else {
697
+ orderNo = order_no_generator_1.OrderNoGenerator.deliveryOrder();
698
+ }
699
+ // insert shipping information from r/o to d/o
700
+ let deliveryOrder = {
701
+ domain,
702
+ name: orderNo,
703
+ bizplace: customerBizplace,
704
+ releaseGood,
705
+ refNo: releaseGood.refNo,
706
+ ownCollection: orderInfo.ownCollection,
707
+ truckNo: (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.truckNo) || (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.vehicleNo) || null,
708
+ palletQty: (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.palletQty) || null,
709
+ transportVehicle,
710
+ status: constants_1.ORDER_STATUS.READY_TO_DISPATCH,
711
+ contactPointRefId: (orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.contactPointRefId) || null,
712
+ attentionTo: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionTo) || null,
713
+ attentionCompany: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionCompany) || null,
714
+ city: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.city) || null,
715
+ state: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.state) || null,
716
+ postalCode: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.postalCode) || null,
717
+ country: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.country) || null,
718
+ phone1: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone1) || null,
719
+ deliveryAddress1: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress1) || null,
720
+ deliveryAddress2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress2) || null,
721
+ deliveryAddress3: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress3) || null,
722
+ deliveryAddress4: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress4) || null,
723
+ deliveryAddress5: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress5) || null,
724
+ billingAddress: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingAddress) || null,
725
+ billingAddress2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingAddress2) || null,
726
+ billingAddress3: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingAddress3) || null,
727
+ billingAddress4: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingAddress4) || null,
728
+ billingAddress5: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingAddress5) || null,
729
+ billingCountry: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingCountry) || null,
730
+ billingPostalCode: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingPostalCode) || null,
731
+ billingState: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingState) || null,
732
+ billingCity: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingCity) || null,
733
+ taskId: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.taskId) || null,
734
+ otherDriver: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.driverName) || null,
735
+ creator: user,
736
+ updater: user
737
+ };
738
+ deliveryOrder = await deliveryOrderRepo.save(deliveryOrder);
739
+ targetInventories = targetInventories.map((targetInventory) => {
740
+ return Object.assign(Object.assign({}, targetInventory), { deliveryOrder, updater: user });
741
+ });
742
+ await orderInventoryRepo.save(targetInventories);
743
+ return deliveryOrder;
744
+ }
745
+ exports.generateDeliveryOrder = generateDeliveryOrder;
746
+ //# sourceMappingURL=delivery-order-mutation.js.map