@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
@@ -24,10 +24,10 @@ export class OtherQuery {
24
24
  @Directive('@transaction')
25
25
  @Query(returns => InventoryProductGroupList)
26
26
  async allBizplaceProductInventory(
27
- @Ctx() context: any,
27
+ @Ctx() context: ResolverContext,
28
28
  @Args() params: ListParam
29
29
  ): Promise<InventoryProductGroupList> {
30
- const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace: Bizplace } =
30
+ const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace?: Bizplace } =
31
31
  context.state
32
32
 
33
33
  let permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)
@@ -41,7 +41,8 @@ export class OtherQuery {
41
41
 
42
42
  if (foundPermittedBizplace) {
43
43
  if (!foundPermittedBizplace.company?.id) {
44
- foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(foundPermittedBizplace.id, {
44
+ foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({
45
+ where: { id: foundPermittedBizplace.id },
45
46
  relations: ['company', 'company.domain']
46
47
  })
47
48
  }
@@ -61,8 +62,11 @@ export class OtherQuery {
61
62
  @Directive('@privilege(category: "inventory", privilege: "query")')
62
63
  @Directive('@transaction')
63
64
  @Query(returns => InventoryProductGroupList)
64
- async inventoryProductGroup(@Ctx() context: any, @Args() params: ListParam): Promise<InventoryProductGroupList> {
65
- const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace: Bizplace } =
65
+ async inventoryProductGroup(
66
+ @Ctx() context: ResolverContext,
67
+ @Args() params: ListParam
68
+ ): Promise<InventoryProductGroupList> {
69
+ const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace?: Bizplace } =
66
70
  context.state
67
71
 
68
72
  let permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)
@@ -76,7 +80,8 @@ export class OtherQuery {
76
80
 
77
81
  if (foundPermittedBizplace) {
78
82
  if (!foundPermittedBizplace.company?.id) {
79
- foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(foundPermittedBizplace.id, {
83
+ foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({
84
+ where: { id: foundPermittedBizplace.id },
80
85
  relations: ['company', 'company.domain']
81
86
  })
82
87
  }
@@ -96,10 +101,10 @@ export class OtherQuery {
96
101
  @Directive('@transaction')
97
102
  @Query(returns => InventoryProductGroupList)
98
103
  async inventoryProductGroupOpenAPI(
99
- @Ctx() context: any,
104
+ @Ctx() context: ResolverContext,
100
105
  @Args() params: ListParam
101
106
  ): Promise<InventoryProductGroupList> {
102
- const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace: Bizplace } =
107
+ const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace?: Bizplace } =
103
108
  context.state
104
109
 
105
110
  let permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)
@@ -113,7 +118,8 @@ export class OtherQuery {
113
118
 
114
119
  if (foundPermittedBizplace) {
115
120
  if (!foundPermittedBizplace.company?.id) {
116
- foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(foundPermittedBizplace.id, {
121
+ foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({
122
+ where: { id: foundPermittedBizplace.id },
117
123
  relations: ['company', 'company.domain']
118
124
  })
119
125
  }
@@ -134,11 +140,12 @@ export class OtherQuery {
134
140
  @Directive('@transaction')
135
141
  @Query(returns => [OrderInventory])
136
142
  async bulkUploadValidateWarehousePartnersProductsQuantity(
137
- @Ctx() context: any,
143
+ @Ctx() context: ResolverContext,
138
144
  @Arg('partnerBizplaceId') partnerBizplaceId: string,
139
145
  @Arg('orderInventories', type => [NewOrderInventory], { nullable: true }) orderInventories?: NewOrderInventory[]
140
146
  ): Promise<OrderInventory[]> {
141
- const { domain, user, tx, bizplace } = context.state
147
+ const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace?: Bizplace } =
148
+ context.state
142
149
 
143
150
  let permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)
144
151
  let foundPermittedBizplace: Bizplace
@@ -156,7 +163,8 @@ export class OtherQuery {
156
163
 
157
164
  if (foundPermittedBizplace) {
158
165
  if (!foundPermittedBizplace.company?.id) {
159
- foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(foundPermittedBizplace.id, {
166
+ foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({
167
+ where: { id: foundPermittedBizplace.id },
160
168
  relations: ['company', 'company.domain']
161
169
  })
162
170
  }
@@ -195,47 +203,59 @@ export class OtherQuery {
195
203
 
196
204
  const { items, total } = await InventoryUtil.bizplaceInventoryProductGroup(bizplaces, params, context, tx)
197
205
 
198
- let packageUomValue = total > 0 ? items[0].remainUomValue / items[0].remainQty : null
206
+ // Filter to find for item with enough remain qty
207
+ const availableItems = items.filter(item => item.remainQty >= orderInventory.releaseQty)
208
+ let availableItem
199
209
 
210
+ if (availableItems.length > 0) {
211
+ availableItem = availableItems[0]
212
+ }
213
+
214
+ let packageUomValue = availableItem ? availableItem.remainUomValue / availableItem.remainQty : null
200
215
  const newOrderInventory: any = {
201
- product:
202
- total > 0 ? { id: items[0].productId, sku: items[0].productSKU, name: items[0].productName } : { id: null },
203
- inventory:
204
- total > 0
205
- ? {
206
- ...items[0],
207
- remainQty: total > 0 ? items[0].remainQty : null,
208
- remainUomValue: total > 0 ? items[0].remainUomValue : null,
209
- remainUomValueWithUom: total > 0 ? items[0].remainUomValueWithUom : ''
210
- }
211
- : null,
212
- productId: total > 0 ? items[0].productId : null,
213
- productSKU: total > 0 ? items[0].productSKU : orderInventory.productSKU,
214
- productName: total > 0 ? items[0].productName : null,
215
- uom: total > 0 ? items[0].uom : null,
216
- remainQty: total > 0 ? items[0].remainQty : null,
217
- remainUomValue: total > 0 ? items[0].remainUomValue : null,
218
- remainUomValueWithUom: total > 0 ? items[0].remainUomValueWithUom : '',
219
- batchId: total > 0 ? items[0].batchId : null,
220
- batchIdRef: total > 0 ? items[0].batchIdRef : null,
221
- packingType: total > 0 ? items[0].packingType : orderInventory.packingType,
222
- packingSize: total > 0 ? items[0].packingSize : 1,
216
+ product: availableItem
217
+ ? {
218
+ id: availableItem.productId,
219
+ sku: availableItem.productSKU,
220
+ name: availableItem.productName
221
+ }
222
+ : { id: null },
223
+ inventory: availableItem
224
+ ? {
225
+ ...availableItem,
226
+ remainQty: availableItem ? availableItem.remainQty : null,
227
+ remainUomValue: availableItem ? availableItem.remainUomValue : null,
228
+ remainUomValueWithUom: availableItem ? availableItem.remainUomValueWithUom : ''
229
+ }
230
+ : null,
231
+ productId: availableItem ? availableItem.productId : null,
232
+ productSKU: availableItem ? availableItem.productSKU : orderInventory.productSKU,
233
+ productName: availableItem ? availableItem.productName : null,
234
+ uom: availableItem ? availableItem.uom : null,
235
+ remainQty: availableItem ? availableItem.remainQty : null,
236
+ remainUomValue: availableItem ? availableItem.remainUomValue : null,
237
+ remainUomValueWithUom: availableItem ? availableItem.remainUomValueWithUom : '',
238
+ batchId: availableItem ? availableItem.batchId : null,
239
+ batchIdRef: availableItem ? availableItem.batchIdRef : null,
240
+ packingType: availableItem ? availableItem.packingType : orderInventory.packingType,
241
+ packingSize: availableItem ? availableItem.packingSize : 1,
223
242
  releaseQty: orderInventory.releaseQty
224
243
  ? Number.isInteger(orderInventory.releaseQty)
225
244
  ? orderInventory.releaseQty
226
245
  : null
227
246
  : null,
228
- releaseUomValue:
229
- total > 0
230
- ? Number.isInteger(orderInventory.releaseQty)
231
- ? parseFloat((orderInventory.releaseQty * packageUomValue).toFixed(2))
232
- : null
233
- : null,
234
- groupType: total > 0 ? items[0].groupType : null,
235
- isError: total <= 0 ? true : false
247
+ releaseUomValue: availableItem
248
+ ? Number.isInteger(orderInventory.releaseQty)
249
+ ? parseFloat((orderInventory.releaseQty * packageUomValue).toFixed(2))
250
+ : null
251
+ : null,
252
+ groupType: availableItem ? availableItem.groupType : null,
253
+ isError: !availableItem ? true : false
236
254
  }
237
255
 
238
256
  newOrderInventories.push(newOrderInventory)
257
+
258
+ // end loop
239
259
  }
240
260
 
241
261
  try {
@@ -280,11 +300,11 @@ export class OtherQuery {
280
300
  @Directive('@transaction')
281
301
  @Query(returns => [InventoryProductGroup])
282
302
  async bulkUploadValidateOrderProducts(
283
- @Ctx() context: any,
303
+ @Ctx() context: ResolverContext,
284
304
  @Arg('partnerBizplaceId') partnerBizplaceId: string,
285
305
  @Arg('orderProducts', type => [NewOrderProduct], { nullable: true }) orderProducts: NewOrderProduct[]
286
306
  ): Promise<OrderProduct[]> {
287
- const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace: Bizplace } =
307
+ const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace?: Bizplace } =
288
308
  context.state
289
309
 
290
310
  const productDetailRepo = tx.getRepository(ProductDetail)
@@ -298,7 +318,8 @@ export class OtherQuery {
298
318
 
299
319
  if (foundPermittedBizplace) {
300
320
  if (!foundPermittedBizplace.company?.id) {
301
- foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(foundPermittedBizplace.id, {
321
+ foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({
322
+ where: { id: foundPermittedBizplace.id },
302
323
  relations: ['domain', 'company', 'company.domain']
303
324
  })
304
325
  }
@@ -313,7 +334,7 @@ export class OtherQuery {
313
334
  let strictProduct: boolean = false
314
335
 
315
336
  const strictProductSelectionSetting: Setting = await tx.getRepository(Setting).findOne({
316
- where: { domain, category: 'id-rule', name: 'strict-product-selection' }
337
+ where: { domain: { id: domain.id }, category: 'id-rule', name: 'strict-product-selection' }
317
338
  })
318
339
 
319
340
  if (strictProductSelectionSetting) strictProduct = strictProductSelectionSetting.value
@@ -410,11 +431,11 @@ export class OtherQuery {
410
431
  @Directive('@transaction')
411
432
  @Query(returns => [InventoryProductGroup])
412
433
  async bulkUploadValidatePoOrderProducts(
413
- @Ctx() context: any,
434
+ @Ctx() context: ResolverContext,
414
435
  @Arg('partnerBizplaceId') partnerBizplaceId: string,
415
436
  @Arg('orderProducts', type => [NewOrderProduct], { nullable: true }) orderProducts: NewOrderProduct[]
416
437
  ): Promise<OrderProduct[]> {
417
- const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace: Bizplace } =
438
+ const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace?: Bizplace } =
418
439
  context.state
419
440
 
420
441
  const productDetailRepo = tx.getRepository(ProductDetail)
@@ -428,7 +449,8 @@ export class OtherQuery {
428
449
 
429
450
  if (foundPermittedBizplace) {
430
451
  if (!foundPermittedBizplace.company?.id) {
431
- foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(foundPermittedBizplace.id, {
452
+ foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({
453
+ where: { id: foundPermittedBizplace.id },
432
454
  relations: ['domain', 'company', 'company.domain']
433
455
  })
434
456
  }
@@ -443,7 +465,7 @@ export class OtherQuery {
443
465
  let strictProduct: boolean = false
444
466
 
445
467
  const strictProductSelectionSetting: Setting = await tx.getRepository(Setting).findOne({
446
- where: { domain, category: 'id-rule', name: 'strict-product-selection' }
468
+ where: { domain: { id: domain.id }, category: 'id-rule', name: 'strict-product-selection' }
447
469
  })
448
470
 
449
471
  if (strictProductSelectionSetting) strictProduct = strictProductSelectionSetting.value
@@ -472,7 +494,7 @@ export class OtherQuery {
472
494
  let productDetail: ProductDetail
473
495
  const hasConditions: boolean = Boolean(
474
496
  (orderProduct?.packingType && orderProduct?.packingType.trim() != '') ||
475
- (orderProduct?.uom && orderProduct?.uom.trim() != '')
497
+ (orderProduct?.uom && orderProduct?.uom.trim() != '')
476
498
  )
477
499
  let productDetailCondition: any = { product: foundProduct }
478
500
 
@@ -495,8 +517,8 @@ export class OtherQuery {
495
517
  ? productDetail.uomValue
496
518
  : null
497
519
  : orderProduct?.uomValue
498
- ? orderProduct.uomValue
499
- : productDetail.uomValue
520
+ ? orderProduct.uomValue
521
+ : productDetail.uomValue
500
522
 
501
523
  newOrderProduct = {
502
524
  ...orderProduct,
@@ -1,15 +1,15 @@
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, getRepository, Repository } from 'typeorm'
4
+ import { EntityManager, Repository } from 'typeorm'
5
5
 
6
6
  import { Attachment, createAttachments, deleteAttachmentsByRef } from '@things-factory/attachment-base'
7
7
  import { User } from '@things-factory/auth-base'
8
8
  import { Bizplace, ContactPoint, getPermittedBizplaces } from '@things-factory/biz-base'
9
9
  import { generateId } from '@things-factory/id-rule-base'
10
- import { Product } from '@things-factory/product-base'
10
+ import { Product, ProductDetail } from '@things-factory/product-base'
11
11
  import { Setting } from '@things-factory/setting-base'
12
- import { Domain } from '@things-factory/shell'
12
+ import { Domain, getRepository } from '@things-factory/shell'
13
13
  import { Location } from '@things-factory/warehouse-base'
14
14
 
15
15
  import {
@@ -24,15 +24,11 @@ import {
24
24
  ATTACHMENT_TYPE,
25
25
  ORDER_NUMBER_RULE_TYPE,
26
26
  ORDER_NUMBER_SETTING_KEY,
27
+ ORDER_STATUS,
27
28
  PURCHASE_ORDER_STATUS
28
29
  } from '../../constants'
29
30
  import { OrderNoGenerator } from '../../utils'
30
- import {
31
- checkArrivedNoticeFunction,
32
- confirmArrivalNoticeFunction,
33
- generateArrivalNoticeFunction,
34
- receiveArrivalNoticeFunction
35
- } from '../arrival-notice/arrival-notice-mutation'
31
+ import { checkArrivedNoticeFunction, generateArrivalNoticeFunction } from '../arrival-notice/arrival-notice-mutation'
36
32
  import { getPurchaseOrderFunction } from './purchase-order-query'
37
33
 
38
34
  @Resolver(PurchaseOrder)
@@ -41,12 +37,12 @@ export class PurchaseOrderMutation {
41
37
  @Directive('@transaction')
42
38
  @Mutation(returns => PurchaseOrder)
43
39
  async upsertPurchaseOrder(
44
- @Ctx() context: any,
40
+ @Ctx() context: ResolverContext,
45
41
  @Arg('purchaseOrder', type => PurchaseOrderPatch) purchaseOrder: PurchaseOrderPatch,
46
42
  @Arg('files', type => [GraphQLUpload], { nullable: true }) files?: FileUpload
47
43
  ): Promise<PurchaseOrder> {
48
44
  try {
49
- const { tx }: { tx: EntityManager } = context.state
45
+ const { tx } = context.state
50
46
  const createdPurchaseOrder: PurchaseOrder = await upsertPurchaseOrderFunction(
51
47
  null,
52
48
  purchaseOrder,
@@ -64,16 +60,16 @@ export class PurchaseOrderMutation {
64
60
  @Directive('@privilege(category: "order_customer", privilege: "mutation")')
65
61
  @Directive('@transaction')
66
62
  @Mutation(returns => PurchaseOrder)
67
- async approvePurchaseOrder(@Arg('id') id: string, @Ctx() context: any): Promise<PurchaseOrder> {
68
- const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
63
+ async approvePurchaseOrder(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<PurchaseOrder> {
64
+ const { tx, domain, user } = context.state
69
65
 
70
66
  const findPurchaseOrder: PurchaseOrder = await getRepository(PurchaseOrder).findOne({
71
- where: { domain, id },
67
+ where: { domain: { id: domain.id }, id },
72
68
  relations: ['orderProducts', 'orderProducts.product', 'bufferLocation', 'bizplace', 'domain']
73
69
  })
74
70
 
75
- // const findPurchaseOrder: PurchaseOrder = await tx.getRepository(PurchaseOrder).findOne({id}, { relations:['bizplace']})
76
- // const findOrderProducts: OrderProduct[] = await tx.getRepository(OrderProduct).find({purchaseOrder: findPurchaseOrder})
71
+ // const findPurchaseOrder: PurchaseOrder = await tx.getRepository(PurchaseOrder).findOne({where: {id}, relations:['bizplace']})
72
+ // const findOrderProducts: OrderProduct[] = await tx.getRepository(OrderProduct).findBy({purchaseOrder: findPurchaseOrder})
77
73
 
78
74
  // // 1. Approve purchase order
79
75
  const approvePurchaseOrder: PurchaseOrder = await tx.getRepository(PurchaseOrder).save({
@@ -110,12 +106,14 @@ export class PurchaseOrderMutation {
110
106
  }
111
107
 
112
108
  delete newGANOrder.id
109
+ //change gan status to intransit and call check arrived notice function right
110
+ newGANOrder.status = ORDER_STATUS.INTRANSIT
113
111
 
114
- const createdGAN: ArrivalNotice = await generateArrivalNoticeFunction(null, newGANOrder, [], context, tx)
112
+ const createdGAN: ArrivalNotice = await generateArrivalNoticeFunction(null, newGANOrder, true, [], context, tx)
115
113
 
116
- await confirmArrivalNoticeFunction(createdGAN.name, context, tx)
114
+ // await confirmArrivalNoticeFunction(createdGAN.name, context, tx)
117
115
 
118
- await receiveArrivalNoticeFunction(null, createdGAN.name, context)
116
+ // await receiveArrivalNoticeFunction(null, createdGAN.name, context)
119
117
 
120
118
  await checkArrivedNoticeFunction(createdGAN.name, context, tx)
121
119
 
@@ -125,11 +123,11 @@ export class PurchaseOrderMutation {
125
123
  @Directive('@privilege(category: "order_customer", privilege: "mutation")')
126
124
  @Directive('@transaction')
127
125
  @Mutation(returns => PurchaseOrder)
128
- async rejectPurchaseOrder(@Arg('id') id: string, @Ctx() context: any): Promise<PurchaseOrder> {
129
- const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
126
+ async rejectPurchaseOrder(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<PurchaseOrder> {
127
+ const { tx, domain, user } = context.state
130
128
 
131
129
  const findPurchaseOrder: PurchaseOrder = await getRepository(PurchaseOrder).findOne({
132
- where: { domain, id },
130
+ where: { domain: { id: domain.id }, id },
133
131
  relations: ['orderProducts']
134
132
  })
135
133
  // // 1. Reject purchase order
@@ -155,9 +153,9 @@ export class PurchaseOrderMutation {
155
153
  @Mutation(returns => PurchaseOrder)
156
154
  async createPurchaseOrder(
157
155
  @Arg('purchaseOrder', type => NewPurchaseOrder) purchaseOrder: NewPurchaseOrder,
158
- @Ctx() context: any
156
+ @Ctx() context: ResolverContext
159
157
  ): Promise<PurchaseOrder> {
160
- const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
158
+ const { tx, domain, user } = context.state
161
159
 
162
160
  return await tx.getRepository(PurchaseOrder).save({
163
161
  ...purchaseOrder,
@@ -172,13 +170,13 @@ export class PurchaseOrderMutation {
172
170
  async updatePurchaseOrder(
173
171
  @Arg('name') name: string,
174
172
  @Arg('patch', type => PurchaseOrderPatch) patch: PurchaseOrderPatch,
175
- @Ctx() context: any
173
+ @Ctx() context: ResolverContext
176
174
  ): Promise<PurchaseOrder> {
177
- const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
175
+ const { tx, domain, user } = context.state
178
176
 
179
177
  const repository = tx.getRepository(PurchaseOrder)
180
178
  const purchaseOrder = await repository.findOne({
181
- where: { domain, name }
179
+ where: { domain: { id: domain.id }, name }
182
180
  })
183
181
 
184
182
  return await repository.save({
@@ -190,8 +188,8 @@ export class PurchaseOrderMutation {
190
188
 
191
189
  @Directive('@transaction')
192
190
  @Mutation(returns => Boolean)
193
- async deletePurchaseOrder(@Arg('name') name: string, @Ctx() context: any): Promise<boolean> {
194
- const { tx, domain }: { tx: EntityManager; domain: Domain } = context.state
191
+ async deletePurchaseOrder(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<boolean> {
192
+ const { tx, domain } = context.state
195
193
  await tx.getRepository(PurchaseOrder).delete({ domain, name })
196
194
  return true
197
195
  }
@@ -220,7 +218,7 @@ export async function createPurchaseOrderFunction(
220
218
  context: any,
221
219
  tx?: EntityManager
222
220
  ): Promise<PurchaseOrder> {
223
- const { domain, user }: { domain: Domain; user: User } = context.state
221
+ const { domain, user } = context.state
224
222
  let orderProducts: OrderProduct[] = purchaseOrder.orderProducts
225
223
  let otherCharges: PurchaseOrderOtherCharge[] = purchaseOrder.otherCharges
226
224
 
@@ -242,13 +240,13 @@ export async function createPurchaseOrderFunction(
242
240
  }
243
241
 
244
242
  if (purchaseOrder?.supplier?.id) {
245
- purchaseOrder.supplier = await getRepository(ContactPoint).findOne({ id: purchaseOrder.supplier.id })
243
+ purchaseOrder.supplier = await getRepository(ContactPoint).findOneBy({ id: purchaseOrder.supplier.id })
246
244
  } else {
247
245
  arrError.push(`No supplier was selected`)
248
246
  }
249
247
 
250
248
  if (purchaseOrder?.bufferLocation?.id) {
251
- purchaseOrder.bufferLocation = await getRepository(Location).findOne({ id: purchaseOrder.bufferLocation.id })
249
+ purchaseOrder.bufferLocation = await getRepository(Location).findOneBy({ id: purchaseOrder.bufferLocation.id })
252
250
  } else {
253
251
  arrError.push(`No buffer location was selected`)
254
252
  }
@@ -260,16 +258,14 @@ export async function createPurchaseOrderFunction(
260
258
  // // find PO number rule setting
261
259
  const poNoSetting: Setting = await settingRepo.findOne({
262
260
  where: {
263
- domain,
261
+ domain: { id: domain.id },
264
262
  name: ORDER_NUMBER_SETTING_KEY.PO_NUMBER_RULE
265
263
  }
266
264
  })
267
265
 
268
- if (poNoSetting) {
269
- orderNo = await generateId({ domain, type: ORDER_NUMBER_RULE_TYPE.PO_NUMBER, seed: {} })
270
- } else {
271
- orderNo = OrderNoGenerator.purchaseOrder()
272
- }
266
+ orderNo = poNoSetting
267
+ ? await generateId({ domain, type: ORDER_NUMBER_RULE_TYPE.PO_NUMBER, seed: {} })
268
+ : OrderNoGenerator.purchaseOrder()
273
269
 
274
270
  // // 1. Create purchase order
275
271
  const createdPurchaseOrder: PurchaseOrder = await tx.getRepository(PurchaseOrder).save({
@@ -319,7 +315,7 @@ export async function updatePurchaseOrderFunction(
319
315
  context: any,
320
316
  tx?: EntityManager
321
317
  ): Promise<PurchaseOrder> {
322
- const { domain, user }: { domain: Domain; user: User } = context.state
318
+ const { domain, user } = context.state
323
319
 
324
320
  let existingPurchaseOrder: any = await getPurchaseOrderFunction(_, purchaseOrder.name, context, tx)
325
321
 
@@ -336,11 +332,11 @@ export async function updatePurchaseOrderFunction(
336
332
  }
337
333
 
338
334
  if (purchaseOrder?.supplier?.id) {
339
- purchaseOrder.supplier = await getRepository(ContactPoint).findOne({ id: purchaseOrder.supplier.id })
335
+ purchaseOrder.supplier = await getRepository(ContactPoint).findOneBy({ id: purchaseOrder.supplier.id })
340
336
  }
341
337
 
342
338
  if (purchaseOrder?.bufferLocation?.id) {
343
- purchaseOrder.bufferLocation = await getRepository(Location).findOne({ id: purchaseOrder.bufferLocation.id })
339
+ purchaseOrder.bufferLocation = await getRepository(Location).findOneBy({ id: purchaseOrder.bufferLocation.id })
344
340
  }
345
341
 
346
342
  // // 1. Update purchase order
@@ -380,7 +376,7 @@ export async function updatePurchaseOrderFunction(
380
376
  // // 5. Remove Purchase Order Products
381
377
  const foundAttachments: Attachment[] = await getRepository(Attachment).find({
382
378
  where: {
383
- domain,
379
+ domain: { id: domain.id },
384
380
  refBy: purchaseOrder.id,
385
381
  category: ATTACHMENT_TYPE.PO
386
382
  }
@@ -426,22 +422,26 @@ export async function upsertPurchaseOrderProducts(
426
422
  existingOP => (orderProducts.filter(inOP => inOP.id == existingOP.id).length = 0)
427
423
  )
428
424
  removeOP.forEach(async op => {
429
- await orderProductRepo.delete(op)
425
+ await orderProductRepo.delete(op.id)
430
426
  })
431
427
 
432
- purchaseOrder = await purchaseOrderRepo.findOne(purchaseOrder.id)
428
+ purchaseOrder = await purchaseOrderRepo.findOneBy({ id: purchaseOrder.id })
433
429
 
434
- bizplace = await bizplaceRepo.findOne(bizplace.id)
430
+ bizplace = await bizplaceRepo.findOneBy({ id: bizplace.id })
435
431
 
436
432
  orderProducts = await Promise.all(
437
433
  orderProducts.map(async (op: OrderProduct) => {
438
434
  if (!op?.id) delete op.id
435
+ let foundProductDetail: ProductDetail = await tx
436
+ .getRepository(ProductDetail)
437
+ .findOne({ where: { product: op.product.id, packingType: op.packingType } })
439
438
  return {
440
439
  ...op,
441
440
  domain,
442
441
  bizplace: bizplace,
443
442
  name: op?.id ? op.name : OrderNoGenerator.orderProduct(),
444
- product: await productRepo.findOne(op.product.id),
443
+ product: await productRepo.findOneBy({ id: op.product.id }),
444
+ packingSize: foundProductDetail?.packingSize || 1,
445
445
  purchaseOrder: purchaseOrder,
446
446
  status: purchaseOrder.status,
447
447
  creator: op?.id ? op.creator : user,
@@ -1,9 +1,11 @@
1
+ import { Arg, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
+ import { EntityManager, In } from 'typeorm'
3
+
1
4
  import { Attachment } from '@things-factory/attachment-base'
2
5
  import { User } from '@things-factory/auth-base'
3
6
  import { Bizplace, getPermittedBizplaceIds } from '@things-factory/biz-base'
4
- import { buildQuery, Domain, Filter, Pagination, Sorting } from '@things-factory/shell'
5
- import { Arg, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
6
- import { EntityManager, getRepository, In } from 'typeorm'
7
+ import { buildQuery, Domain, Filter, getRepository, Pagination, Sorting } from '@things-factory/shell'
8
+
7
9
  import { PurchaseOrderList } from '../'
8
10
  import { ATTACHMENT_TYPE } from '../../constants'
9
11
  import { PurchaseOrder } from './purchase-order'
@@ -12,7 +14,7 @@ import { PurchaseOrder } from './purchase-order'
12
14
  export class PurchaseOrderQuery {
13
15
  @Query(returns => PurchaseOrderList)
14
16
  async purchaseOrders(
15
- @Ctx() context: any,
17
+ @Ctx() context: ResolverContext,
16
18
  @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],
17
19
  @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,
18
20
  @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]
@@ -31,24 +33,24 @@ export class PurchaseOrderQuery {
31
33
  }
32
34
 
33
35
  @Query(returns => PurchaseOrder)
34
- async purchaseOrder(@Arg('name') name: string, @Ctx() context: any): Promise<PurchaseOrder> {
35
- const { tx }: { tx: EntityManager } = context.state
36
+ async purchaseOrder(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<PurchaseOrder> {
37
+ const { tx } = context.state
36
38
  return getPurchaseOrderFunction(null, name, context, tx)
37
39
  }
38
40
 
39
41
  @FieldResolver(type => Domain)
40
42
  async domain(@Root() purchaseOrder: PurchaseOrder): Promise<Domain> {
41
- return await getRepository(Domain).findOne(purchaseOrder.domainId)
43
+ return await getRepository(Domain).findOneBy({ id: purchaseOrder.domainId })
42
44
  }
43
45
 
44
46
  @FieldResolver(type => User)
45
47
  async creator(@Root() purchaseOrder: PurchaseOrder): Promise<User> {
46
- return await getRepository(User).findOne(purchaseOrder.creatorId)
48
+ return await getRepository(User).findOneBy({ id: purchaseOrder.creatorId })
47
49
  }
48
50
 
49
51
  @FieldResolver(type => User)
50
52
  async updater(@Root() purchaseOrder: PurchaseOrder): Promise<User> {
51
- return await getRepository(User).findOne(purchaseOrder.updaterId)
53
+ return await getRepository(User).findOneBy({ id: purchaseOrder.updaterId })
52
54
  }
53
55
  }
54
56
 
@@ -56,7 +58,7 @@ export async function getPurchaseOrderFunction(_: any, name: any, context: any,
56
58
  const { domain, user, bizplace }: { domain: Domain; user: User; bizplace: Bizplace } = context.state
57
59
 
58
60
  let result = await getRepository(PurchaseOrder).findOne({
59
- where: { domain, name, bizplace: In(await getPermittedBizplaceIds(domain, user)) },
61
+ where: { domain: { id: domain.id }, name, bizplace: In(await getPermittedBizplaceIds(domain, user)) },
60
62
  relations: [
61
63
  'arrivalNotice',
62
64
  'supplier',
@@ -75,7 +77,7 @@ export async function getPurchaseOrderFunction(_: any, name: any, context: any,
75
77
 
76
78
  const foundAttachments: Attachment[] = await getRepository(Attachment).find({
77
79
  where: {
78
- domain,
80
+ domain: { id: domain.id },
79
81
  refBy: result.id,
80
82
  category: ATTACHMENT_TYPE.PO
81
83
  }
@@ -1,14 +1,14 @@
1
- import { Domain } from '@things-factory/shell'
2
1
  import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
3
- import { EntityManager, In } from 'typeorm'
2
+ import { In } from 'typeorm'
3
+
4
4
  import { PurchaseOrderOtherCharge } from './purchase-order-other-charge'
5
5
 
6
6
  @Resolver(PurchaseOrderOtherCharge)
7
7
  export class PurchaseOrderOtherChargeMutation {
8
8
  @Directive('@transaction')
9
9
  @Mutation(returns => Boolean)
10
- async deletePurchaseOrderOtherCharge(@Arg('name') name: string, @Ctx() context: any): Promise<boolean> {
11
- const { tx, domain }: { tx: EntityManager; domain: Domain } = context.state
10
+ async deletePurchaseOrderOtherCharge(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<boolean> {
11
+ const { tx, domain } = context.state
12
12
 
13
13
  await tx.getRepository(PurchaseOrderOtherCharge).delete({ domain, name })
14
14
  return true
@@ -18,12 +18,12 @@ export class PurchaseOrderOtherChargeMutation {
18
18
  @Mutation(returns => Boolean)
19
19
  async deletePurchaseOrderOtherCharges(
20
20
  @Arg('names', type => [String]) names: string[],
21
- @Ctx() context: any
21
+ @Ctx() context: ResolverContext
22
22
  ): Promise<boolean> {
23
- const { tx, domain }: { tx: EntityManager; domain: Domain } = context.state
23
+ const { tx, domain } = context.state
24
24
 
25
25
  await tx.getRepository(PurchaseOrderOtherCharge).delete({
26
- domain,
26
+ domain: { id: domain.id },
27
27
  name: In(names)
28
28
  })
29
29
  return true