@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
@@ -1,7 +1,7 @@
1
1
  import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'
2
2
  import GraphQLUpload from 'graphql-upload/GraphQLUpload.js'
3
3
  import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
4
- import { EntityManager, getConnection, getRepository, In, Repository } from 'typeorm'
4
+ import { EntityManager, getConnection, In, Repository } from 'typeorm'
5
5
 
6
6
  import { Attachment, createAttachments } from '@things-factory/attachment-base'
7
7
  import { Role, User } from '@things-factory/auth-base'
@@ -14,10 +14,9 @@ import {
14
14
  getPermittedBizplaces
15
15
  } from '@things-factory/biz-base'
16
16
  import { generateId } from '@things-factory/id-rule-base'
17
- import { sendNotification } from '@things-factory/notification'
18
17
  import { Product } from '@things-factory/product-base'
19
- import { Setting } from '@things-factory/setting-base'
20
- import { Domain } from '@things-factory/shell'
18
+ import { PartnerSetting, Setting } from '@things-factory/setting-base'
19
+ import { Domain, getRepository } from '@things-factory/shell'
21
20
 
22
21
  import {
23
22
  ORDER_NUMBER_RULE_TYPE,
@@ -50,8 +49,8 @@ export class ArrivalNoticeMutation {
50
49
  @Directive('@privilege(category: "order_customer", privilege: "mutation")')
51
50
  @Directive('@transaction')
52
51
  @Mutation(returns => Boolean)
53
- async deleteArrivalNotice(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {
54
- const { tx, user, domain }: { tx: EntityManager; user: User; domain: Domain } = context.state
52
+ async deleteArrivalNotice(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {
53
+ const { tx, user, domain } = context.state
55
54
 
56
55
  return await deleteArrivalNotice(tx, name, user, domain)
57
56
  }
@@ -60,14 +59,15 @@ export class ArrivalNoticeMutation {
60
59
  @Directive('@transaction')
61
60
  @Mutation(returns => ArrivalNotice)
62
61
  async generateArrivalNotice(
63
- @Ctx() context: any,
62
+ @Ctx() context: ResolverContext,
64
63
  @Arg('arrivalNotice', type => NewArrivalNotice) arrivalNotice: NewArrivalNotice,
65
64
  @Arg('files', type => [GraphQLUpload], { nullable: true }) files?: FileUpload[]
66
65
  ): Promise<ArrivalNotice> {
67
- const { tx }: { tx: EntityManager } = context.state
66
+ const { tx } = context.state
68
67
  const createdArrivalNotice: ArrivalNotice = await generateArrivalNoticeFunction(
69
68
  null,
70
69
  arrivalNotice,
70
+ false,
71
71
  files,
72
72
  context,
73
73
  tx
@@ -79,13 +79,14 @@ export class ArrivalNoticeMutation {
79
79
  @Directive('@privilege(category: "order_customer", privilege: "mutation")')
80
80
  @Directive('@transaction')
81
81
  @Mutation(returns => ArrivalNotice)
82
- async confirmArrivalNotice(@Arg('name') name: string, @Ctx() context: any): Promise<ArrivalNotice> {
83
- const { tx }: { tx: EntityManager } = context.state
82
+ async confirmArrivalNotice(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<ArrivalNotice> {
83
+ const { tx } = context.state
84
84
  const arrivalNotice: ArrivalNotice = await confirmArrivalNoticeFunction(name, context, tx)
85
85
 
86
86
  // If current GAN has cross docking
87
87
  if (arrivalNotice.crossDocking) {
88
- const { releaseGood } = await tx.getRepository(ArrivalNotice).findOne(arrivalNotice.id, {
88
+ const { releaseGood } = await tx.getRepository(ArrivalNotice).findOne({
89
+ where: { id: arrivalNotice.id },
89
90
  relations: ['releaseGood']
90
91
  })
91
92
 
@@ -101,7 +102,7 @@ export class ArrivalNoticeMutation {
101
102
  @Directive('@privilege(category: "order_warehouse", privilege: "mutation")')
102
103
  @Directive('@transaction')
103
104
  @Mutation(returns => ArrivalNotice)
104
- async receiveArrivalNotice(@Arg('name') name: string, @Ctx() context: any): Promise<ArrivalNotice> {
105
+ async receiveArrivalNotice(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<ArrivalNotice> {
105
106
  const receiveArrivalNotice: ArrivalNotice = await receiveArrivalNoticeFunction(null, name, context)
106
107
 
107
108
  return receiveArrivalNotice
@@ -110,8 +111,8 @@ export class ArrivalNoticeMutation {
110
111
  @Directive('@privilege(category: "order_warehouse", privilege: "mutation")')
111
112
  @Directive('@transaction')
112
113
  @Mutation(returns => ArrivalNotice)
113
- async checkArrivedNotice(@Arg('name') name: string, @Ctx() context: any): Promise<ArrivalNotice> {
114
- const { tx }: { tx: EntityManager } = context.state
114
+ async checkArrivedNotice(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<ArrivalNotice> {
115
+ const { tx } = context.state
115
116
 
116
117
  return await checkArrivedNoticeFunction(name, context, tx)
117
118
  }
@@ -122,21 +123,20 @@ export class ArrivalNoticeMutation {
122
123
  async rejectArrivalNotice(
123
124
  @Arg('name') name: string,
124
125
  @Arg('patch', type => ArrivalNoticePatch) patch: ArrivalNoticePatch,
125
- @Ctx() context: any
126
+ @Ctx() context: ResolverContext
126
127
  ): Promise<ArrivalNotice> {
127
- const { tx }: { tx: EntityManager } = context.state
128
+ const { tx } = context.state
128
129
 
129
130
  const arrivalNotice: ArrivalNotice = await rejectArrivalNotice(tx, name, patch.remark, context)
130
131
 
131
132
  if (arrivalNotice.crossDocking) {
132
- const { releaseGood }: { releaseGood: ReleaseGood } = await tx
133
- .getRepository(ArrivalNotice)
134
- .findOne(arrivalNotice.id, {
135
- relations: ['releaseGood']
136
- })
133
+ const { releaseGood }: { releaseGood: ReleaseGood } = await tx.getRepository(ArrivalNotice).findOne({
134
+ where: { id: arrivalNotice.id },
135
+ relations: ['releaseGood']
136
+ })
137
137
 
138
138
  if (releaseGood.status !== ORDER_STATUS.REJECTED) {
139
- await rejectReleaseGood(tx, releaseGood.name, patch.remark, context)
139
+ await rejectReleaseGood(tx, context, releaseGood.name, patch.remark)
140
140
  }
141
141
  }
142
142
 
@@ -147,13 +147,13 @@ export class ArrivalNoticeMutation {
147
147
  @Directive('@transaction')
148
148
  @Mutation(returns => Boolean)
149
149
  async addEditArrivalNoticeProducts(
150
- @Ctx() context: any,
150
+ @Ctx() context: ResolverContext,
151
151
  @Arg('ganNo') ganNo: string,
152
152
  @Arg('newOrderProducts', type => [NewOrderProduct], { nullable: true }) newOrderProducts?: NewOrderProduct[],
153
153
  @Arg('existingOrderProducts', type => [OrderProductPatch], { nullable: true })
154
154
  existingOrderProducts?: OrderProductPatch[]
155
155
  ): Promise<Boolean> {
156
- const { user, domain, tx }: { user: User; domain: Domain; tx: EntityManager } = context.state
156
+ const { user, domain, tx } = context.state
157
157
 
158
158
  let arrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).findOne({
159
159
  where: { name: ganNo },
@@ -182,10 +182,14 @@ export class ArrivalNoticeMutation {
182
182
  url: context.header.referer,
183
183
  data: { url: context.header.referer }
184
184
  }
185
- await sendNotification({
186
- receivers,
187
- message: { ...msg }
188
- })
185
+ /**
186
+ * @notes Temporary off sendNotification due to suspect of causing wms down
187
+ */
188
+
189
+ // await sendNotification({
190
+ // receivers,
191
+ // message: { ...msg }
192
+ // })
189
193
  }
190
194
 
191
195
  return true
@@ -195,12 +199,12 @@ export class ArrivalNoticeMutation {
195
199
  @Directive('@transaction')
196
200
  @Mutation(returns => ArrivalNotice)
197
201
  async addArrivalNotice(
198
- @Ctx() context: any,
202
+ @Ctx() context: ResolverContext,
199
203
  @Arg('arrivalNotice', type => NewArrivalNotice) arrivalNotice: NewArrivalNotice,
200
204
  @Arg('file', type => GraphQLUpload, { nullable: true }) file?: FileUpload
201
205
  ): Promise<ArrivalNotice> {
202
- const { tx }: { tx: EntityManager } = context.state
203
- const createdGAN: ArrivalNotice = await generateArrivalNoticeFunction(null, arrivalNotice, file, context, tx)
206
+ const { tx } = context.state
207
+ const createdGAN: ArrivalNotice = await generateArrivalNoticeFunction(null, arrivalNotice, false, file, context, tx)
204
208
 
205
209
  debug('createdGAN', createdGAN)
206
210
 
@@ -215,7 +219,7 @@ export class ArrivalNoticeMutation {
215
219
  @Directive('@transaction')
216
220
  @Mutation(returns => ArrivalNotice)
217
221
  async updateArrivalNoticeDetails(
218
- @Ctx() context: any,
222
+ @Ctx() context: ResolverContext,
219
223
  @Arg('arrivalNotice', type => ArrivalNoticePatch) arrivalNotice: ArrivalNoticePatch
220
224
  ): Promise<ArrivalNotice> {
221
225
  const { domain, tx } = context.state
@@ -228,24 +232,29 @@ export class ArrivalNoticeMutation {
228
232
  }
229
233
 
230
234
  await tx.getRepository(ArrivalNotice).update(existingArrivalNotice.id, arrivalNotice)
231
- return await tx.getRepository(ArrivalNotice).findOne(existingArrivalNotice.id)
235
+ return await tx.getRepository(ArrivalNotice).findOneBy({ id: existingArrivalNotice.id })
232
236
  }
233
237
 
234
238
  @Directive('@privilege(category: "order_customer", privilege: "mutation")')
235
239
  @Directive('@transaction')
236
240
  @Mutation(returns => ArrivalNoticeList)
237
241
  async bulkGenerateArrivalNotices(
238
- @Ctx() context: any,
242
+ @Ctx() context: ResolverContext,
239
243
  @Arg('rawArrivalNotices', type => [NewArrivalNotice], { nullable: true }) rawArrivalNotices: NewArrivalNotice[],
240
- @Arg('bizplaceId', type => String) bizplaceId: string
244
+ @Arg('bizplaceId', type => String) bizplaceId: string,
245
+ @Arg('bufferLocation', type => String, { nullable: true }) bufferLocation: string
241
246
  ): Promise<ArrivalNoticeList> {
242
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
247
+ const { domain, user, tx } = context.state
243
248
  let createdArrivalNoticeIds: string[] = [],
244
249
  createdOrderProductIds: string[] = [],
245
250
  errorsCaught: any[] = [],
246
251
  finalArrivalNoticeList: ArrivalNotice[] = []
252
+ let opStatus = ORDER_PRODUCT_STATUS.PENDING_RECEIVE
253
+ let anStatus = ORDER_STATUS.PENDING_RECEIVE
247
254
 
248
- const foundBizplace: Bizplace = await tx.getRepository(Bizplace).findOne(bizplaceId)
255
+ const foundBizplace: Bizplace = await tx
256
+ .getRepository(Bizplace)
257
+ .findOne({ where: { id: bizplaceId }, relations: ['domain'] })
249
258
 
250
259
  if (!foundBizplace) throw new Error('company not found')
251
260
 
@@ -259,11 +268,32 @@ export class ArrivalNoticeMutation {
259
268
  // check for custom GAN order no setting
260
269
  const ganNoSetting: Setting = await tx.getRepository(Setting).findOne({
261
270
  where: {
262
- domain,
271
+ domain: { id: domain.id },
263
272
  name: ORDER_NUMBER_SETTING_KEY.GAN_NUMBER_RULE
264
273
  }
265
274
  })
266
275
 
276
+ const ganProcessingSetting: Setting = await tx.getRepository(Setting).findOne({
277
+ where: { domain: { id: domain.id }, category: 'id-rule', name: 'gan-order-processing' }
278
+ })
279
+
280
+ const partnerGanProcessingSetting: PartnerSetting = await tx.getRepository(PartnerSetting).findOne({
281
+ where: { setting: ganProcessingSetting, domain, partnerDomain: foundBizplace.domain.id }
282
+ })
283
+
284
+ // If status of GAN is PENDING_RECEIVE then directly to assign warehouse
285
+ if (ganProcessingSetting) {
286
+ let setting = !isNaN(partnerGanProcessingSetting?.value)
287
+ ? partnerGanProcessingSetting?.value
288
+ : ganProcessingSetting.value
289
+
290
+ // CONFIRM to assign if setting value is 1
291
+ if (setting == 1) {
292
+ opStatus = ORDER_PRODUCT_STATUS.ARRIVED
293
+ anStatus = ORDER_STATUS.ARRIVED
294
+ }
295
+ }
296
+
267
297
  // extract rawArrivalNotices data into normal ArrivalNotice format
268
298
  let arrivalNotices: Partial<ArrivalNotice[]> = extractArrivalNotices(validatedArrivalNotices)
269
299
 
@@ -310,7 +340,7 @@ export class ArrivalNoticeMutation {
310
340
  domain,
311
341
  bizplace: foundBizplace,
312
342
  name: OrderNoGenerator.orderProduct(),
313
- // product: await childTx.getRepository(Product).findOne(op.product.id),
343
+ // product: await childTx.getRepository(Product).findOneBy({ id: op.product.id }),
314
344
  status: ORDER_PRODUCT_STATUS.PENDING,
315
345
  arrivalNotice: createdArrivalNotice,
316
346
  creator: user
@@ -338,12 +368,12 @@ export class ArrivalNoticeMutation {
338
368
  // update arrivalNotices status to PENDING_RECEIVE
339
369
  await childTx
340
370
  .getRepository(ArrivalNotice)
341
- .update({ id: In(createdArrivalNoticeIds) }, { status: ORDER_STATUS.PENDING_RECEIVE, updater: user })
371
+ .update({ id: In(createdArrivalNoticeIds) }, { status: anStatus, updater: user })
342
372
 
343
373
  // update orderProducts status to PENDING_RECEIVE
344
374
  await childTx
345
375
  .getRepository(OrderProduct)
346
- .update({ id: In(createdOrderProductIds) }, { status: ORDER_PRODUCT_STATUS.PENDING_RECEIVE, updater: user })
376
+ .update({ id: In(createdOrderProductIds) }, { status: opStatus, updater: user })
347
377
 
348
378
  finalArrivalNoticeList = await childTx.getRepository(ArrivalNotice).find({
349
379
  where: { id: In(createdArrivalNoticeIds) },
@@ -372,7 +402,7 @@ export async function deleteArrivalNotice(
372
402
  domain: Domain
373
403
  ): Promise<boolean> {
374
404
  let foundArrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).findOne({
375
- where: { domain, name },
405
+ where: { domain: { id: domain.id }, name },
376
406
  relations: ['bizplace', 'releaseGood', 'orderProducts', 'orderVass', 'collectionOrders', 'creator', 'updater']
377
407
  })
378
408
 
@@ -425,11 +455,12 @@ export async function deleteArrivalNotice(
425
455
  export async function generateArrivalNoticeFunction(
426
456
  _: any,
427
457
  arrivalNotice: any,
458
+ fromPo: Boolean,
428
459
  files: FileUpload[],
429
460
  context: any,
430
461
  tx?: EntityManager
431
462
  ): Promise<ArrivalNotice> {
432
- const { domain, user }: { domain: Domain; user: User } = context.state
463
+ const { domain, user } = context.state
433
464
  let orderProducts: OrderProduct[] = arrivalNotice.orderProducts
434
465
  let orderVass: OrderVas[] = arrivalNotice.orderVass
435
466
  let myBizplace: Bizplace
@@ -458,7 +489,7 @@ export async function generateArrivalNoticeFunction(
458
489
  if (arrivalNotice.supplier) {
459
490
  const supplier: ContactPoint = await tx
460
491
  .getRepository(ContactPoint)
461
- .findOne({ where: { bizplace: arrivalNotice.supplier, domain }, relation: ['bizplace'] })
492
+ .findOne({ where: { bizplace: arrivalNotice.supplier, domain }, relations: ['bizplace'] })
462
493
 
463
494
  if (!supplier) throw new Error('contact point does not exist')
464
495
 
@@ -467,7 +498,7 @@ export async function generateArrivalNoticeFunction(
467
498
  // find GAN number rule setting
468
499
  const ganNoSetting: Setting = await settingRepo.findOne({
469
500
  where: {
470
- domain,
501
+ domain: { id: domain.id },
471
502
  name: ORDER_NUMBER_SETTING_KEY.GAN_NUMBER_RULE
472
503
  }
473
504
  })
@@ -485,7 +516,7 @@ export async function generateArrivalNoticeFunction(
485
516
  domain,
486
517
  bizplace: myBizplace,
487
518
  looseItem: arrivalNotice?.looseItem ? arrivalNotice.looseItem : false,
488
- status: ORDER_STATUS.PENDING,
519
+ status: fromPo ? ORDER_STATUS.INTRANSIT : ORDER_STATUS.PENDING,
489
520
  creator: user,
490
521
  updater: user
491
522
  })
@@ -495,7 +526,7 @@ export async function generateArrivalNoticeFunction(
495
526
  domain,
496
527
  createdArrivalNotice,
497
528
  orderProducts.map((op: OrderProduct) => {
498
- return { ...op, status: ORDER_PRODUCT_STATUS.PENDING }
529
+ return { ...op, status: fromPo ? ORDER_PRODUCT_STATUS.INTRANSIT : ORDER_PRODUCT_STATUS.PENDING }
499
530
  }),
500
531
  user,
501
532
  tx
@@ -508,7 +539,7 @@ export async function generateArrivalNoticeFunction(
508
539
  orderVass = await Promise.all(
509
540
  orderVass.map(async (ov: OrderVas) => {
510
541
  if (ov.targetProduct) {
511
- ov.targetProduct = await tx.getRepository(Product).findOne(ov.targetProduct.id)
542
+ ov.targetProduct = await tx.getRepository(Product).findOneBy({ id: ov.targetProduct.id })
512
543
  }
513
544
 
514
545
  return {
@@ -516,10 +547,10 @@ export async function generateArrivalNoticeFunction(
516
547
  domain,
517
548
  bizplace: myBizplace,
518
549
  name: OrderNoGenerator.orderVas(),
519
- vas: await tx.getRepository(Vas).findOne({ domain, id: ov.vas.id }),
550
+ vas: await tx.getRepository(Vas).findOneBy({ domain: { id: domain.id }, id: ov.vas.id }),
520
551
  type: ORDER_TYPES.ARRIVAL_NOTICE,
521
552
  arrivalNotice: createdArrivalNotice,
522
- status: ORDER_VAS_STATUS.PENDING,
553
+ status: fromPo ? ORDER_VAS_STATUS.INTRANSIT : ORDER_VAS_STATUS.PENDING,
523
554
  creator: user,
524
555
  updater: user
525
556
  }
@@ -548,12 +579,13 @@ export async function confirmArrivalNoticeFunction(
548
579
  context: any,
549
580
  tx?: EntityManager
550
581
  ): Promise<ArrivalNotice> {
551
- const { user, domain }: { user: User; domain: Domain } = context.state
582
+ const { user, domain } = context.state
552
583
 
553
584
  const foundArrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).findOne({
554
- where: { domain, name, status: ORDER_STATUS.PENDING },
585
+ where: { domain: { id: domain.id }, name, status: ORDER_STATUS.PENDING },
555
586
  relations: [
556
587
  'bizplace',
588
+ 'bizplace.domain',
557
589
  'releaseGood',
558
590
  'orderProducts',
559
591
  'orderProducts.product',
@@ -567,25 +599,56 @@ export async function confirmArrivalNoticeFunction(
567
599
  let foundOPs: OrderProduct[] = foundArrivalNotice.orderProducts
568
600
  let foundOVs: OrderVas[] = foundArrivalNotice.orderVass
569
601
  let customerBizplace: Bizplace = foundArrivalNotice.bizplace
602
+ let opStatus = ORDER_PRODUCT_STATUS.PENDING_RECEIVE
603
+ let anStatus = ORDER_STATUS.PENDING_RECEIVE
604
+ let ovStatus = ORDER_VAS_STATUS.PENDING_RECEIVE
605
+ let acceptedByUser = null
606
+ let acceptedTime = null
607
+
608
+ const ganProcessingSetting: Setting = await tx.getRepository(Setting).findOne({
609
+ where: { domain: { id: domain.id }, category: 'id-rule', name: 'gan-order-processing' }
610
+ })
611
+
612
+ const partnerGanProcessingSetting: PartnerSetting = await tx.getRepository(PartnerSetting).findOne({
613
+ where: { setting: ganProcessingSetting, domain, partnerDomain: customerBizplace?.domain }
614
+ })
615
+
616
+ // If status of GAN is PENDING_RECEIVE then directly to assign warehouse
617
+ if (ganProcessingSetting) {
618
+ let setting = !isNaN(partnerGanProcessingSetting?.value)
619
+ ? partnerGanProcessingSetting?.value
620
+ : ganProcessingSetting.value
621
+
622
+ // CONFIRM to assign if setting value is 1
623
+ if (setting == 1) {
624
+ opStatus = ORDER_PRODUCT_STATUS.ARRIVED
625
+ anStatus = ORDER_STATUS.ARRIVED
626
+ ovStatus = ORDER_VAS_STATUS.ARRIVED
627
+ acceptedByUser = user
628
+ acceptedTime = new Date()
629
+ }
630
+ }
570
631
 
571
632
  if (!foundArrivalNotice) throw new Error(`Arrival notice doesn't exists.`)
572
633
 
573
634
  // 1. GAN Status change (PENDING => PENDING_RECEIVE)
574
- const arrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).save({
635
+ let arrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).save({
575
636
  ...foundArrivalNotice,
576
- status: ORDER_STATUS.PENDING_RECEIVE,
577
- updater: user
637
+ status: anStatus,
638
+ updater: user,
639
+ acceptedBy: acceptedByUser,
640
+ acceptedAt: acceptedTime
578
641
  })
579
642
 
580
643
  foundOPs = foundOPs.map((op: OrderProduct) => {
581
- return { ...op, status: ORDER_PRODUCT_STATUS.PENDING_RECEIVE }
644
+ return { ...op, status: opStatus }
582
645
  })
583
646
  await tx.getRepository(OrderProduct).save(foundOPs)
584
647
 
585
648
  // 2. Update order vas status if it exists.
586
649
  if (foundOVs && foundOVs.length) {
587
650
  foundOVs = foundOVs.map((ov: OrderVas) => {
588
- return { ...ov, status: ORDER_VAS_STATUS.PENDING_RECEIVE }
651
+ return { ...ov, status: ovStatus }
589
652
  })
590
653
 
591
654
  await tx.getRepository(OrderVas).save(foundOVs)
@@ -620,37 +683,73 @@ export async function confirmArrivalNoticeFunction(
620
683
  data: { url: context.header.referer }
621
684
  }
622
685
 
623
- await sendNotification({
624
- receivers,
625
- message: { ...msg }
626
- })
686
+ /**
687
+ * @notes Temporary off sendNotification due to suspect of causing wms down
688
+ */
689
+
690
+ // await sendNotification({
691
+ // receivers,
692
+ // message: { ...msg }
693
+ // })
627
694
  }
628
695
  }
629
696
 
630
697
  return arrivalNotice
631
698
  }
632
699
 
633
- export async function receiveArrivalNoticeFunction(_: any, name: String, context: any): Promise<ArrivalNotice> {
634
- const { user, domain, tx }: { user: User; domain: Domain; tx: EntityManager } = context.state
700
+ export async function receiveArrivalNoticeFunction(
701
+ _: any,
702
+ name: string,
703
+ context: ResolverContext
704
+ ): Promise<ArrivalNotice> {
705
+ const { user, domain, tx } = context.state
635
706
  try {
636
707
  const foundArrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).findOne({
637
- where: { domain, name, status: ORDER_STATUS.PENDING_RECEIVE },
638
- relations: ['bizplace', 'collectionOrders', 'orderProducts', 'orderVass']
708
+ where: { domain: { id: domain.id }, name, status: ORDER_STATUS.PENDING_RECEIVE },
709
+ relations: ['bizplace', 'bizplace.domain', 'collectionOrders', 'orderProducts', 'orderVass']
639
710
  })
640
711
 
641
- if (!foundArrivalNotice) throw new Error(`Arrival notice doesn't exists.`)
642
-
643
712
  let foundOPs: OrderProduct[] = foundArrivalNotice.orderProducts
644
713
  let foundOVs: OrderVas[] = foundArrivalNotice.orderVass
645
714
  let foundCOs: CollectionOrder[] = await tx.getRepository(CollectionOrder).find({
646
- where: { domain, refNo: foundArrivalNotice.name }
715
+ where: { domain: { id: domain.id }, refNo: foundArrivalNotice.name }
716
+ })
717
+ let customerBizplace: Bizplace = foundArrivalNotice.bizplace
718
+ let opStatus = ORDER_PRODUCT_STATUS.INTRANSIT
719
+ let anStatus = ORDER_STATUS.INTRANSIT
720
+ let ovStatus = ORDER_VAS_STATUS.INTRANSIT
721
+ let coStatus = ORDER_STATUS.READY_TO_DISPATCH
722
+
723
+ const ganProcessingSetting: Setting = await tx.getRepository(Setting).findOne({
724
+ where: { domain: { id: domain.id }, category: 'id-rule', name: 'gan-order-processing' }
647
725
  })
648
726
 
727
+ const partnerGanProcessingSetting: PartnerSetting = await tx.getRepository(PartnerSetting).findOne({
728
+ where: { setting: ganProcessingSetting, domain, partnerDomain: customerBizplace?.domain }
729
+ })
730
+
731
+ // If status of GAN is INTRANSIT then directly to assign warehouse
732
+ if (ganProcessingSetting) {
733
+ let setting = !isNaN(partnerGanProcessingSetting?.value)
734
+ ? partnerGanProcessingSetting?.value
735
+ : ganProcessingSetting.value
736
+
737
+ // RECEIVE to assign if setting value is 2
738
+ if (setting == 2) {
739
+ opStatus = ORDER_PRODUCT_STATUS.ARRIVED
740
+ anStatus = ORDER_STATUS.ARRIVED
741
+ ovStatus = ORDER_VAS_STATUS.ARRIVED
742
+ coStatus = ORDER_STATUS.READY_TO_DISPATCH
743
+ }
744
+ }
745
+
746
+ if (!foundArrivalNotice) throw new Error(`Arrival notice doesn't exists.`)
747
+
649
748
  // 1. Update status of order products (PENDING_RECEIVE => INTRANSIT)
650
749
  foundOPs = foundOPs.map((op: OrderProduct) => {
651
750
  return {
652
751
  ...op,
653
- status: ORDER_PRODUCT_STATUS.INTRANSIT,
752
+ status: opStatus,
654
753
  updater: user
655
754
  }
656
755
  })
@@ -661,7 +760,7 @@ export async function receiveArrivalNoticeFunction(_: any, name: String, context
661
760
  foundOVs = foundOVs.map((ov: OrderVas) => {
662
761
  return {
663
762
  ...ov,
664
- status: ORDER_VAS_STATUS.INTRANSIT,
763
+ status: ovStatus,
665
764
  updater: user
666
765
  }
667
766
  })
@@ -673,7 +772,7 @@ export async function receiveArrivalNoticeFunction(_: any, name: String, context
673
772
  foundCOs = foundCOs.map((co: CollectionOrder) => {
674
773
  return {
675
774
  ...co,
676
- status: ORDER_STATUS.READY_TO_DISPATCH,
775
+ status: coStatus,
677
776
  updater: user
678
777
  }
679
778
  })
@@ -691,16 +790,21 @@ export async function receiveArrivalNoticeFunction(_: any, name: String, context
691
790
  url: context.header.referer,
692
791
  data: { url: context.header.referer }
693
792
  }
694
- await sendNotification({
695
- receivers,
696
- message: { ...msg }
697
- })
793
+
794
+ /**
795
+ * @notes Temporary off sendNotification due to suspect of causing wms down
796
+ */
797
+
798
+ // await sendNotification({
799
+ // receivers,
800
+ // message: { ...msg }
801
+ // })
698
802
  }
699
803
 
700
804
  // 4. Update status of arrival notice (PENDING_RECEIVE => INTRANSIT)
701
- await tx.getRepository(ArrivalNotice).save({
805
+ let rcvArrivalNotice = await tx.getRepository(ArrivalNotice).save({
702
806
  ...foundArrivalNotice,
703
- status: ORDER_STATUS.INTRANSIT,
807
+ status: anStatus,
704
808
  acceptedBy: user,
705
809
  acceptedAt: new Date(),
706
810
  updater: user
@@ -717,10 +821,10 @@ export async function checkArrivedNoticeFunction(
717
821
  context: any,
718
822
  tx?: EntityManager
719
823
  ): Promise<ArrivalNotice> {
720
- const { user, domain }: { user: User; domain: Domain } = context.state
824
+ const { user, domain } = context.state
721
825
  try {
722
826
  const foundArrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).findOne({
723
- where: { domain, name, status: ORDER_STATUS.INTRANSIT },
827
+ where: { domain: { id: domain.id }, name, status: ORDER_STATUS.INTRANSIT },
724
828
  relations: ['bizplace', 'collectionOrders', 'orderProducts', 'orderVass']
725
829
  })
726
830
 
@@ -781,10 +885,15 @@ export async function checkArrivedNoticeFunction(
781
885
  url: context.header.referer,
782
886
  data: { url: context.header.referer }
783
887
  }
784
- await sendNotification({
785
- receivers,
786
- message: { ...msg }
787
- })
888
+
889
+ /**
890
+ * @notes Temporary off sendNotification due to suspect of causing wms down
891
+ */
892
+
893
+ // await sendNotification({
894
+ // receivers,
895
+ // message: { ...msg }
896
+ // })
788
897
  }
789
898
 
790
899
  return foundArrivalNotice
@@ -799,10 +908,10 @@ export async function rejectArrivalNotice(
799
908
  remark: string,
800
909
  context: any
801
910
  ): Promise<ArrivalNotice> {
802
- const { user, domain }: { user: User; domain: Domain } = context.state
911
+ const { user, domain } = context.state
803
912
 
804
913
  const foundArrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).findOne({
805
- where: { domain, name, status: ORDER_STATUS.PENDING_RECEIVE },
914
+ where: { domain: { id: domain.id }, name, status: ORDER_STATUS.PENDING_RECEIVE },
806
915
  relations: ['bizplace', 'orderProducts', 'orderVass', 'collectionOrders']
807
916
  })
808
917
 
@@ -859,10 +968,14 @@ export async function rejectArrivalNotice(
859
968
  data: { url: context.header.referer }
860
969
  }
861
970
 
862
- await sendNotification({
863
- receivers,
864
- message: { ...msg }
865
- })
971
+ /**
972
+ * @notes Temporary off sendNotification due to suspect of causing wms down
973
+ */
974
+
975
+ // await sendNotification({
976
+ // receivers,
977
+ // message: { ...msg }
978
+ // })
866
979
  }
867
980
 
868
981
  return foundArrivalNotice
@@ -880,7 +993,7 @@ export async function addArrivalNoticeProducts(
880
993
 
881
994
  if (!arrivalNotice?.bizplace || !arrivalNotice?.orderProducts?.length) {
882
995
  arrivalNotice = await tx.getRepository(ArrivalNotice).findOne({
883
- where: { domain, name: arrivalNotice.name },
996
+ where: { domain: { id: domain.id }, name: arrivalNotice.name },
884
997
  relations: ['bizplace', 'orderProducts']
885
998
  })
886
999
  }
@@ -892,7 +1005,7 @@ export async function addArrivalNoticeProducts(
892
1005
  domain,
893
1006
  bizplace: arrivalNotice.bizplace,
894
1007
  name: OrderNoGenerator.orderProduct(),
895
- product: await productRepo.findOne(op.product.id),
1008
+ product: await productRepo.findOneBy({ id: op.product.id }),
896
1009
  arrivalNotice,
897
1010
  creator: user
898
1011
  }