@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,27 +1,26 @@
1
- import orderBy from 'lodash/orderBy'
2
1
  import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
3
- import { EntityManager, getRepository, In, Repository, SelectQueryBuilder } from 'typeorm'
2
+ import { EntityManager, In, OrderByCondition, Repository, SelectQueryBuilder } from 'typeorm'
4
3
 
5
4
  import { Attachment } from '@things-factory/attachment-base'
6
5
  import { checkUserBelongsDomain, User } from '@things-factory/auth-base'
7
6
  import { Bizplace, getCompanyBizplace, getMyBizplace, getPermittedBizplaceIds } from '@things-factory/biz-base'
8
- import { Product } from '@things-factory/product-base'
9
- import { buildQuery, Domain, Filter, ListParam, Pagination, Sorting } from '@things-factory/shell'
7
+ import { logger } from '@things-factory/env'
8
+ import { buildQuery, Domain, Filter, getRepository, ListParam, Pagination, Sorting } from '@things-factory/shell'
10
9
  import { Inventory, LOCATION_TYPE } from '@things-factory/warehouse-base'
11
10
 
12
11
  import { ATTACHMENT_TYPE, ORDER_INVENTORY_STATUS, ORDER_STATUS } from '../../constants'
13
12
  import { OrderInventory } from '../order-inventory/order-inventory'
14
13
  import { ShippingOrder } from '../shipping-order/shipping-order'
15
14
  import { ReleaseGood } from './release-good'
16
- import { InventoryInfos, NewReleaseGood, ReleasableInventoryList, ReleaseGoodList } from './release-good-types'
15
+ import { NewReleaseGood, ReleasableInventoryList, ReleaseGoodList } from './release-good-types'
17
16
 
18
17
  @Resolver(ReleaseGood)
19
18
  export class ReleaseGoodQuery {
20
19
  @Directive('@privilege(category: "order_customer", privilege: "query")')
21
20
  @Query(returns => ReleaseGoodList)
22
- async releaseGoods(@Ctx() context: any, @Args() params: ListParam): Promise<ReleaseGoodList> {
21
+ async releaseGoods(@Ctx() context: ResolverContext, @Args() params: ListParam): Promise<ReleaseGoodList> {
23
22
  try {
24
- const { domain, user }: { domain: Domain; user: User } = context.state
23
+ const { domain, user } = context.state
25
24
 
26
25
  if (!params.filters.find((filter: any) => filter.name === 'bizplace')) {
27
26
  params.filters.push({
@@ -62,52 +61,47 @@ export class ReleaseGoodQuery {
62
61
  buildQuery(qb, params, context)
63
62
  let items: any
64
63
  let total: number
65
- if (!params.filters.find((filter: any) => filter.name === 'releaseGoodOnly')) {
66
- qb.addSelect('COALESCE("cc".rank, 99999)', 'rank')
67
- qb.leftJoinAndSelect('rg.domain', 'domain')
68
- qb.leftJoinAndSelect('rg.bizplace', 'bizplace')
69
- qb.leftJoinAndSelect('rg.orderInventories', 'oi')
70
- qb.leftJoinAndSelect('rg.orderProducts', 'op')
71
- qb.leftJoinAndSelect('oi.inventory', 'inv')
72
- qb.leftJoinAndSelect('oi.product', 'prod')
73
- qb.leftJoinAndSelect('rg.arrivalNotice', 'an')
74
- qb.leftJoinAndSelect('rg.creator', 'creator')
75
- qb.leftJoinAndSelect('rg.updater', 'updater')
76
- qb.leftJoin(
77
- subQuery => {
78
- return subQuery
79
- .select(`ccd.rank`, 'rank')
80
- .addSelect(`ccd.name`, 'status')
81
- .from(`common_code_details`, 'ccd')
82
- .innerJoin(`ccd.commonCode`, 'cc')
83
- .where(`ccd.domain_id = :domainId`, { domainId: domain.id })
84
- .andWhere(`cc.name = 'RO_LIST_STATUS'`)
85
- },
86
- 'cc',
87
- 'cc.status = rg.status'
88
- )
64
+ qb.addSelect('COALESCE("cc".rank, 99999)', 'rank')
65
+ qb.leftJoinAndSelect('rg.domain', 'domain')
66
+ qb.leftJoinAndSelect('rg.bizplace', 'bizplace')
67
+ qb.leftJoinAndSelect('rg.orderInventories', 'oi')
68
+ qb.leftJoinAndSelect('rg.orderProducts', 'op')
69
+ qb.leftJoinAndSelect('oi.inventory', 'inv')
70
+ qb.leftJoinAndSelect('oi.product', 'prod')
71
+ qb.leftJoinAndSelect('rg.arrivalNotice', 'an')
72
+ qb.leftJoinAndSelect('rg.creator', 'creator')
73
+ qb.leftJoinAndSelect('rg.updater', 'updater')
74
+ qb.leftJoin(
75
+ subQuery => {
76
+ return subQuery
77
+ .select(`ccd.rank`, 'rank')
78
+ .addSelect(`ccd.name`, 'status')
79
+ .from(`common_code_details`, 'ccd')
80
+ .innerJoin(`ccd.commonCode`, 'cc')
81
+ .where(`ccd.domain_id = :domainId`, { domainId: domain.id })
82
+ .andWhere(`cc.name = 'RO_LIST_STATUS'`)
83
+ },
84
+ 'cc',
85
+ 'cc.status = rg.status'
86
+ )
89
87
 
90
- const arrChildSortData = ['bizplace']
91
- const sort = (params.sortings || []).reduce(
92
- (acc, sort) => ({
93
- ...acc,
94
- [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'rg.' + sort.name]: sort.desc
95
- ? 'DESC'
96
- : 'ASC'
97
- }),
98
- !params.sortings.some(e => e.name === 'status') ? { rank: 'ASC' } : {}
99
- )
88
+ const arrChildSortData = ['bizplace']
89
+ const sort: OrderByCondition = (params.sortings || []).reduce(
90
+ (acc, sort) => ({
91
+ ...acc,
92
+ [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'rg.' + sort.name]: sort.desc
93
+ ? 'DESC'
94
+ : 'ASC'
95
+ }),
96
+ !params.sortings.some(e => e.name === 'status') ? { rank: 'ASC' } : {}
97
+ )
100
98
 
101
- qb.orderBy(sort)
99
+ qb.orderBy(sort)
100
+
101
+ let [itemsRes, totalRes] = await qb.getManyAndCount()
102
+ items = itemsRes
103
+ total = totalRes
102
104
 
103
- let [itemsRes, totalRes] = await qb.getManyAndCount()
104
- items = itemsRes
105
- total = totalRes
106
- } else {
107
- let itemsRes = await qb.getOne()
108
- items = itemsRes ? [itemsRes] : []
109
- total = items.length
110
- }
111
105
  return { items, total }
112
106
  } catch (error) {
113
107
  throw error
@@ -116,88 +110,113 @@ export class ReleaseGoodQuery {
116
110
 
117
111
  @Directive('@privilege(category: "order", privilege: "query")')
118
112
  @Query(returns => ReleaseGood)
119
- async releaseGood(@Ctx() context: any, @Arg('name') name: string): Promise<ReleaseGood> {
120
- const { domain, user }: { domain: Domain; user: User } = context.state
121
-
122
- return await getRepository(ReleaseGood).findOne({
123
- where: {
124
- domain,
125
- name,
126
- bizplace: In(await getPermittedBizplaceIds(domain, user))
127
- },
128
- relations: [
129
- 'domain',
130
- 'bizplace',
131
- 'shippingOrder',
132
- 'arrivalNotice',
133
- 'orderInventories',
134
- 'orderInventories.product',
135
- 'orderInventories.inventory',
136
- 'orderInventories.inventory.product',
137
- 'orderVass',
138
- 'orderVass.vas',
139
- 'creator',
140
- 'updater'
141
- ]
142
- })
113
+ async releaseGood(
114
+ @Ctx() context: ResolverContext,
115
+ @Arg('name', { nullable: true }) name: string,
116
+ @Arg('trackingNo', { nullable: true }) trackingNo: string
117
+ ): Promise<ReleaseGood> {
118
+ const { domain, user } = context.state
119
+
120
+ if (name) {
121
+ return await getRepository(ReleaseGood).findOne({
122
+ where: {
123
+ domain: { id: domain.id },
124
+ name,
125
+ bizplace: In(await getPermittedBizplaceIds(domain, user))
126
+ },
127
+ relations: [
128
+ 'domain',
129
+ 'bizplace',
130
+ 'shippingOrder',
131
+ 'arrivalNotice',
132
+ 'orderInventories',
133
+ 'orderInventories.product',
134
+ 'orderInventories.inventory',
135
+ 'orderInventories.inventory.product',
136
+ 'orderVass',
137
+ 'orderVass.vas',
138
+ 'creator',
139
+ 'updater'
140
+ ]
141
+ })
142
+ } else if (trackingNo) {
143
+ let releaseGood = await getRepository(ReleaseGood).findOne({
144
+ where: {
145
+ domain: { id: domain.id },
146
+ trackingNo,
147
+ bizplace: In(await getPermittedBizplaceIds(domain, user))
148
+ },
149
+ relations: ['bizplace']
150
+ })
151
+
152
+ if (!releaseGood) {
153
+ throw new Error('Tracking No not found in any orders')
154
+ } else {
155
+ return releaseGood
156
+ }
157
+ }
143
158
  }
144
159
 
145
160
  @Directive('@privilege(category: "order", privilege: "query")')
146
161
  @Directive('@transaction')
147
162
  @Query(returns => ReleaseGood)
148
163
  async releaseGoodDetail(
149
- @Ctx() context: any,
164
+ @Ctx() context: ResolverContext,
150
165
  @Arg('refNo', { nullable: true }) refNo?: string,
151
166
  @Arg('name', { nullable: true }) name?: string
152
167
  ): Promise<ReleaseGood> {
153
- const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state
154
- let param: any
155
-
156
- if (name) param = { domain, name }
157
- else param = { domain, refNo }
158
-
159
- const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
160
- where: { ...param },
161
- relations: [
162
- 'domain',
163
- 'bizplace',
164
- 'shippingOrder',
165
- 'arrivalNotice',
166
- 'orderInventories',
167
- 'orderInventories.inventory',
168
- 'orderInventories.product',
169
- 'orderInventories.inventory.product',
170
- 'orderInventories.inventory.location',
171
- 'orderVass',
172
- 'orderVass.vas',
173
- 'orderVass.targetProduct',
174
- 'orderVass.inventory',
175
- 'creator',
176
- 'updater',
177
- 'deliverTo'
178
- ]
179
- })
180
-
181
- if (releaseGood) {
182
- const roBizId: string = releaseGood.bizplace.id
183
- const shippingOrder: ShippingOrder = releaseGood.shippingOrder
184
- const foundAttachments: Attachment[] = await tx.getRepository(Attachment).find({
185
- where: {
186
- domain,
187
- refBy: releaseGood.id,
188
- category: ATTACHMENT_TYPE.DELIVERY_ORDER
189
- }
168
+ try {
169
+ const { domain, tx } = context.state
170
+ let param: any
171
+
172
+ if (name) param = { domain, name }
173
+ else param = { domain, refNo }
174
+
175
+ const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
176
+ where: { ...param },
177
+ relations: [
178
+ 'domain',
179
+ 'bizplace',
180
+ 'shippingOrder',
181
+ 'arrivalNotice',
182
+ 'orderProducts',
183
+ 'orderProducts.product',
184
+ 'orderVass',
185
+ 'orderVass.vas',
186
+ 'orderVass.targetProduct',
187
+ 'orderVass.inventory',
188
+ 'creator',
189
+ 'updater'
190
+ ]
190
191
  })
191
192
 
192
- await prepOITempTable(domain, tx)
193
+ if (releaseGood) {
194
+ let oiQb: SelectQueryBuilder<OrderInventory> = tx
195
+ .getRepository(OrderInventory)
196
+ .createQueryBuilder('oi')
197
+ .leftJoinAndSelect('oi.inventory', 'inventory')
198
+ .leftJoinAndSelect('oi.product', 'product')
199
+ .leftJoinAndSelect('inventory.location', 'location')
200
+ .where('oi.domain_id = :domainId', { domainId: domain.id })
201
+ .andWhere('oi.release_good_id = :releaseGoodId', { releaseGoodId: releaseGood.id })
202
+ .andWhere('oi.status NOT IN (:...orderInventoryStatus)', {
203
+ orderInventoryStatus: [ORDER_INVENTORY_STATUS.COMPLETE_SPLIT, ORDER_INVENTORY_STATUS.REPLACED]
204
+ })
205
+ .orderBy('product.sku', 'ASC')
206
+
207
+ let orderInventories: OrderInventory[] = await oiQb.getMany()
193
208
 
194
- let invInfos = await Promise.all(
195
- releaseGood.orderInventories
196
- .filter(
197
- itm =>
198
- itm.status !== ORDER_INVENTORY_STATUS.COMPLETE_SPLIT && itm.status !== ORDER_INVENTORY_STATUS.REPLACED
199
- )
200
- .map(async (orderInv: OrderInventory) => {
209
+ const shippingOrder: ShippingOrder = releaseGood.shippingOrder
210
+ const foundAttachments: Attachment[] = await tx.getRepository(Attachment).find({
211
+ where: {
212
+ domain,
213
+ refBy: releaseGood.id,
214
+ category: ATTACHMENT_TYPE.DELIVERY_ORDER
215
+ }
216
+ })
217
+
218
+ let invInfos = await Promise.all(
219
+ orderInventories.map(async (orderInv: OrderInventory) => {
201
220
  if (orderInv?.inventory?.id) {
202
221
  const inventory: Inventory = orderInv.inventory
203
222
  return {
@@ -206,11 +225,11 @@ export class ReleaseGoodQuery {
206
225
  batchId: inventory.batchId,
207
226
  batchIdRef: inventory.batchIdRef,
208
227
  palletId: inventory.palletId,
209
- product: inventory.product,
210
- productIdRef: inventory.product.id,
211
- productName: `${inventory.product.name} (${inventory.product.description})`,
212
- packingType: inventory.packingType,
213
- packingSize: inventory.packingSize,
228
+ product: orderInv.product,
229
+ productIdRef: orderInv.product.id,
230
+ productName: `${orderInv.product.name} (${orderInv.product.description})`,
231
+ packingType: orderInv.packingType,
232
+ packingSize: orderInv.packingSize,
214
233
  location: inventory.location,
215
234
  qty: inventory.qty,
216
235
  lockedQty: inventory.lockedQty,
@@ -220,54 +239,43 @@ export class ReleaseGoodQuery {
220
239
  invStatus: inventory.status,
221
240
  releaseQty: orderInv.releaseQty,
222
241
  releaseUomValue: orderInv.releaseUomValue,
223
- status: orderInv.status
224
- }
225
- } else {
226
- const { batchId, batchIdRef, product, packingType, packingSize, releaseQty, releaseUomValue } = orderInv
227
- const { id: productIdRef, name: productName }: Product = product
228
- const { qty, uomValue, uom } = await getAvailableAmount(roBizId, productIdRef, batchId, packingType, tx)
229
-
230
- return {
231
- batchId,
232
- batchIdRef,
233
- productIdRef,
234
- product,
235
- productName,
236
- packingType,
237
- packingSize,
238
- qty,
239
- uom,
240
- uomValue,
241
- releaseQty,
242
- releaseUomValue
242
+ status: orderInv.status,
243
+ refWorksheetId: orderInv.refWorksheetId
243
244
  }
244
245
  }
245
246
  })
246
- )
247
-
248
- const result = {
249
- ...releaseGood,
250
- attachment: foundAttachments,
251
- shippingOrderInfo: {
252
- containerNo: shippingOrder?.containerNo || '',
253
- containerLeavingDate: shippingOrder?.containerLeavingDate || '',
254
- containerArrivalDate: shippingOrder?.containerArrivalDate || '',
255
- shipName: shippingOrder?.shipName || ''
256
- },
257
- inventoryInfos: orderBy<InventoryInfos>(invInfos, ['product.sku'], ['asc'])
258
- }
247
+ )
259
248
 
260
- dropOITempTable(domain, tx)
249
+ const result = {
250
+ ...releaseGood,
251
+ attachment: foundAttachments,
252
+ shippingOrderInfo: {
253
+ containerNo: shippingOrder?.containerNo || '',
254
+ containerSize: shippingOrder?.containerSize || '',
255
+ containerLeavingDate: shippingOrder?.containerLeavingDate || '',
256
+ containerArrivalDate: shippingOrder?.containerArrivalDate || '',
257
+ containerClosureDate: shippingOrder?.containerClosureDate || '',
258
+ shipName: shippingOrder?.shipName || '',
259
+ remark: shippingOrder?.remark || '',
260
+ remindContainerDeparture: shippingOrder?.remindContainerDeparture || null
261
+ },
262
+ inventoryInfos: invInfos
263
+ }
261
264
 
262
- return result
265
+ return result
266
+ }
267
+ } catch (error) {
268
+ logger.error(`release-good-query[releaseGoodDetail]: ${error}`)
269
+ throw new Error(error)
263
270
  }
264
271
  }
265
272
 
266
273
  @Directive('@privilege(category: "order_warehouse", privilege: "query")')
267
274
  @Query(returns => ReleaseGoodList)
268
- async releaseGoodRequests(@Ctx() context: any, @Args() params: ListParam): Promise<ReleaseGoodList> {
275
+ async releaseGoodRequests(@Ctx() context: ResolverContext, @Args() params: ListParam): Promise<ReleaseGoodList> {
269
276
  try {
270
- const { domain, user }: { domain: Domain; user: User } = context.state
277
+ console.time('t1')
278
+ const { domain, user } = context.state
271
279
 
272
280
  const statusFilter = params.filters.some(e => e.name === 'status')
273
281
  const bizplaceFilter = params.filters.find(param => param.name === 'bizplaceId')
@@ -275,6 +283,9 @@ export class ReleaseGoodQuery {
275
283
  const skuFilter = params.filters.find(param => param.name === 'sku')
276
284
  const routeId = params.filters.find(param => param.name === 'routeId')
277
285
  const orderRemarkFilter = params.filters.find(param => param.name === 'orderRemark')
286
+ const manifestedFilter = params.filters.find(param => param.name === 'manifested')
287
+ const orderInfoFilter = params.filters.find(param => param.name === 'name')
288
+ const typeFilter = params.filters.find(param => param.name === 'type')?.value
278
289
 
279
290
  if (await checkUserBelongsDomain(domain, user)) {
280
291
  if (!statusFilter && !params.filters.some(e => e.name === 'name')) {
@@ -300,6 +311,10 @@ export class ReleaseGoodQuery {
300
311
  params.filters = params.filters.filter(param => param.name !== 'sku')
301
312
  }
302
313
 
314
+ if (orderInfoFilter) {
315
+ params.filters = params.filters.filter(param => param.name !== 'name')
316
+ }
317
+
303
318
  if (routeId) {
304
319
  if (routeId.value == true) {
305
320
  params.filters.find(param => param.name === 'routeId').value = 'null'
@@ -330,15 +345,37 @@ export class ReleaseGoodQuery {
330
345
  }
331
346
  }
332
347
 
348
+ if (manifestedFilter) {
349
+ const manifestedIdx = params.filters.findIndex(param => param.name === 'manifested')
350
+ if (manifestedFilter.value == true) {
351
+ params.filters.splice(manifestedIdx, 1)
352
+ params.filters.push({
353
+ name: 'manifestId',
354
+ operator: 'is_not_null',
355
+ value: null,
356
+ relation: false
357
+ })
358
+ } else {
359
+ params.filters.splice(manifestedIdx, 1)
360
+ params.filters.push({
361
+ name: 'manifestId',
362
+ operator: 'is_null',
363
+ value: null,
364
+ relation: false
365
+ })
366
+ }
367
+ }
368
+
333
369
  const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate')
334
370
  if (fromDateParamIdx >= 0) {
335
371
  let fromDateVal = new Date(params.filters[fromDateParamIdx].value)
372
+ let releaseDateFrom = params.filters.find(param => param.name === 'fromDate')?.value
336
373
  params.filters.splice(fromDateParamIdx, 1)
337
374
 
338
375
  params.filters.push({
339
- name: 'createdAt',
376
+ name: typeFilter == 'b2c' ? 'releaseDate' : 'createdAt',
340
377
  operator: 'gte',
341
- value: fromDateVal.toISOString(),
378
+ value: typeFilter == 'b2c' ? releaseDateFrom : fromDateVal.toISOString(),
342
379
  relation: false
343
380
  })
344
381
  }
@@ -346,12 +383,14 @@ export class ReleaseGoodQuery {
346
383
  const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate')
347
384
  if (toDateParamIdx >= 0) {
348
385
  let toDateVal = new Date(params.filters[toDateParamIdx].value)
386
+ let releaseDateTo = params.filters.find(param => param.name === 'toDate')?.value
349
387
  params.filters.splice(toDateParamIdx, 1)
350
388
 
351
389
  params.filters.push({
352
- name: 'createdAt',
353
- operator: 'lt',
354
- value: new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),
390
+ name: typeFilter == 'b2c' ? 'releaseDate' : 'createdAt',
391
+ operator: typeFilter == 'b2c' ? 'lte' : 'lt',
392
+ value:
393
+ typeFilter == 'b2c' ? releaseDateTo : new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),
355
394
  relation: false
356
395
  })
357
396
  }
@@ -385,20 +424,58 @@ export class ReleaseGoodQuery {
385
424
  )
386
425
 
387
426
  if (skuFilter) {
427
+ let removeSymbol = skuFilter.value
428
+ .split('')
429
+ .filter(res => res !== '%')
430
+ .join('')
431
+
432
+ let products = removeSymbol
433
+ .toLowerCase()
434
+ .split(',')
435
+ .map(prod => {
436
+ return "'%" + prod.trim().replace(/'/g, "''") + "%'"
437
+ })
438
+ .join(',')
439
+
388
440
  qb.andWhere(
389
441
  `
390
442
  exists (select * from order_inventories oi
391
443
  inner join products p on oi.product_id = p.id
392
444
  inner join inventories i on i.product_id = p.id
393
445
  where oi.release_good_id = rg.id
394
- and lower(p.sku) like :sku)
395
- `,
396
- { sku: skuFilter.value.toLowerCase() }
446
+ and (lower(p.sku) like any(array[${products}])
447
+ or lower(p.brand_sku) like any(array[${products}])
448
+ or lower(p.name) like any(array[${products}])
449
+ or lower(p.description) like any(array[${products}]))
397
450
  )
451
+ `
452
+ )
453
+ }
454
+
455
+ if (orderInfoFilter) {
456
+ let removeSymbol = orderInfoFilter.value
457
+ .split('')
458
+ .filter(res => res !== '%')
459
+ .join('')
460
+
461
+ let orderInfos = removeSymbol
462
+ .toLowerCase()
463
+ .split(',')
464
+ .map(prod => {
465
+ return "'%" + prod.trim().replace(/'/g, "''") + "%'"
466
+ })
467
+ .join(',')
468
+
469
+ qb.andWhere(`(
470
+ lower(rg.name) like any(array[${orderInfos}])
471
+ or lower(rg.ref_no) like any(array[${orderInfos}])
472
+ or lower(rg.ref_no_2) like any(array[${orderInfos}])
473
+ or lower(rg.ref_no_3) like any(array[${orderInfos}])
474
+ )`)
398
475
  }
399
476
 
400
477
  const arrChildSortData = ['bizplace', 'creator']
401
- const sort = (params.sortings || []).reduce(
478
+ const sort: OrderByCondition = (params.sortings || []).reduce(
402
479
  (acc, sort) => ({
403
480
  ...acc,
404
481
  [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'rg.' + sort.name]: sort.desc
@@ -412,15 +489,20 @@ export class ReleaseGoodQuery {
412
489
 
413
490
  let [items, total] = await qb.getManyAndCount()
414
491
 
415
- items = items.map(item => {
416
- return {
417
- ...item,
418
- orderRemark: item?.remark ? true : false
419
- }
420
- })
421
-
492
+ items = items
493
+ .filter(item => {
494
+ return item.domainId === domain.id
495
+ })
496
+ .map(item => {
497
+ return {
498
+ ...item,
499
+ orderRemark: item?.remark ? true : false
500
+ }
501
+ })
502
+ console.timeEnd('t1')
422
503
  return { items, total }
423
504
  } catch (error) {
505
+ logger.error(`release-good-query[releaseGoodRequests]: ${error}`)
424
506
  throw error
425
507
  }
426
508
  }
@@ -428,7 +510,7 @@ export class ReleaseGoodQuery {
428
510
  @Directive('@privilege(category: "order", privilege: "query")')
429
511
  @Query(returns => ReleasableInventoryList)
430
512
  async releasableInventories(
431
- @Ctx() context: any,
513
+ @Ctx() context: ResolverContext,
432
514
  @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],
433
515
  @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,
434
516
  @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]
@@ -548,11 +630,11 @@ export class ReleaseGoodQuery {
548
630
  @Directive('@transaction')
549
631
  @Query(returns => [ReleaseGood])
550
632
  async bulkReleaseGoodsAvailableItems(
551
- @Ctx() context: any,
633
+ @Ctx() context: ResolverContext,
552
634
  @Arg('rawReleaseGoods', type => [NewReleaseGood], { nullable: true }) rawReleaseGoods: NewReleaseGood[],
553
635
  @Arg('bizplaceId', type => String) bizplaceId: string
554
636
  ): Promise<ReleaseGood[]> {
555
- const { tx }: { tx: EntityManager } = context.state
637
+ const { tx } = context.state
556
638
  const availableItems: any[] = await bulkReleaseGoodsAvailableItemsFunction(rawReleaseGoods, bizplaceId, context, tx)
557
639
 
558
640
  return availableItems
@@ -560,24 +642,24 @@ export class ReleaseGoodQuery {
560
642
 
561
643
  @FieldResolver(type => Domain)
562
644
  async domain(@Root() releaseGood: ReleaseGood): Promise<Domain> {
563
- return await getRepository(Domain).findOne(releaseGood.domainId)
645
+ return await getRepository(Domain).findOneBy({ id: releaseGood.domainId })
564
646
  }
565
647
 
566
648
  @FieldResolver(type => User)
567
649
  async creator(@Root() releaseGood: ReleaseGood): Promise<User> {
568
- return await getRepository(User).findOne(releaseGood.creatorId)
650
+ return await getRepository(User).findOneBy({ id: releaseGood.creatorId })
569
651
  }
570
652
 
571
653
  @FieldResolver(type => User)
572
654
  async updater(@Root() releaseGood: ReleaseGood): Promise<User> {
573
- return await getRepository(User).findOne(releaseGood.updaterId)
655
+ return await getRepository(User).findOneBy({ id: releaseGood.updaterId })
574
656
  }
575
657
  }
576
658
 
577
659
  async function prepOITempTable(domain: Domain, tx: EntityManager) {
578
660
  await tx.query(
579
661
  `
580
- CREATE TEMP TABLE oi AS (
662
+ CREATE TEMP TABLE oi ON COMMIT DROP AS (
581
663
  SELECT
582
664
  SUM(oi.release_qty) as release_qty,
583
665
  SUM(oi.release_uom_value) as release_uom_value,
@@ -660,7 +742,7 @@ export async function bulkReleaseGoodsAvailableItemsFunction(
660
742
  context: any,
661
743
  tx?: EntityManager
662
744
  ): Promise<any[]> {
663
- const { domain }: { domain: Domain } = context.state
745
+ const { domain } = context.state
664
746
  const companyBizplaceId: Bizplace = await getCompanyBizplace(null, null, bizplaceId)
665
747
 
666
748
  if (!rawReleaseGoods) return