@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,5 +1,4 @@
1
1
  "use strict";
2
- var _a, _b, _c, _d, _e;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.OrderInventoryQuery = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -17,55 +16,82 @@ const release_good_1 = require("../release-good/release-good");
17
16
  const order_inventory_1 = require("./order-inventory");
18
17
  let OrderInventoryQuery = class OrderInventoryQuery {
19
18
  async orderInventories(context, params) {
19
+ var _a, _b;
20
20
  const { domain } = context.state;
21
- let filters = params.filters;
22
- // in case client side passes arrival notice or release good number as filter (single value only)
23
- const anParam = filters.find((filter) => filter.name === 'arrivalNoticeNo' && filter.operator === 'eq');
24
- const rgParam = filters.find((filter) => filter.name === 'releaseGoodNo' && filter.operator === 'eq');
25
- if (anParam && !filters.some((filter) => filter.name === 'arrivalNotice')) {
26
- const foundArrivalNotice = await (0, typeorm_1.getRepository)(arrival_notice_1.ArrivalNotice).findOne({
21
+ const arrivalNoticeNoParam = params.filters.find((param) => param.name === 'arrivalNoticeNo');
22
+ const releaseGoodNoParam = params.filters.find((param) => param.name === 'releaseGoodNo');
23
+ if (arrivalNoticeNoParam && (arrivalNoticeNoParam === null || arrivalNoticeNoParam === void 0 ? void 0 : arrivalNoticeNoParam.value)) {
24
+ const foundArrivalNotice = await (0, shell_1.getRepository)(arrival_notice_1.ArrivalNotice).findOne({
27
25
  where: {
28
- name: anParam.value,
26
+ name: arrivalNoticeNoParam.value,
29
27
  domain
30
28
  }
31
29
  });
32
30
  if (foundArrivalNotice) {
33
- filters = params.filters.filter((filter) => filter.name !== 'arrivalNoticeNo');
34
- params.filters = [...filters, { name: 'arrivalNotice', operator: 'eq', value: foundArrivalNotice.id }];
31
+ params.filters.splice(params.filters.findIndex(item => item.name == 'arrivalNoticeNo'), 1);
32
+ params.filters.push({ name: 'arrivalNoticeId', operator: 'eq', value: foundArrivalNotice.id });
33
+ }
34
+ else {
35
+ throw new Error(`Cannot find result for order "${arrivalNoticeNoParam.value}"`);
35
36
  }
36
- else
37
- throw new Error(`Cannot find result for order "${anParam.value}"`);
38
37
  }
39
- if (rgParam && !filters.some(filter => filter.name === 'releaseGood')) {
40
- const foundReleaseGood = await (0, typeorm_1.getRepository)(release_good_1.ReleaseGood).findOne({
38
+ if (releaseGoodNoParam && (releaseGoodNoParam === null || releaseGoodNoParam === void 0 ? void 0 : releaseGoodNoParam.value)) {
39
+ const foundReleaseGood = await (0, shell_1.getRepository)(release_good_1.ReleaseGood).findOne({
41
40
  where: {
42
- name: rgParam.value,
41
+ name: releaseGoodNoParam.value,
43
42
  domain
44
43
  }
45
44
  });
46
45
  if (foundReleaseGood) {
47
- filters = params.filters.filter(filter => filter.name !== 'releaseGoodNo');
48
- params.filters = [...filters, { name: 'releaseGood', operator: 'eq', value: foundReleaseGood.id }];
46
+ params.filters.splice(params.filters.findIndex(item => item.name == 'releaseGoodNo'), 1);
47
+ params.filters.push({ name: 'releaseGoodId', operator: 'eq', value: foundReleaseGood.id });
48
+ }
49
+ else {
50
+ throw new Error(`Cannot find result for order "${releaseGoodNoParam.value}"`);
49
51
  }
50
- else
51
- throw new Error(`Cannot find result for order "${rgParam.value}"`);
52
52
  }
53
- const convertedParams = (0, shell_1.convertListParams)(params);
54
- const [items, total] = await (0, typeorm_1.getRepository)(order_inventory_1.OrderInventory).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: [
55
- 'domain',
56
- 'arrivalNotice',
57
- 'inventory',
58
- 'inventory.product',
59
- 'releaseGood',
60
- 'deliveryOrder',
61
- 'creator',
62
- 'updater'
63
- ] }));
53
+ const qb = (0, shell_1.getRepository)(order_inventory_1.OrderInventory).createQueryBuilder('oi');
54
+ (0, shell_1.buildQuery)(qb, params, context);
55
+ qb.leftJoinAndSelect('oi.domain', 'domain');
56
+ qb.leftJoinAndSelect('oi.arrivalNotice', 'arrivalNotice');
57
+ qb.leftJoinAndSelect('oi.orderProduct', 'orderProduct');
58
+ qb.leftJoinAndSelect('oi.inventory', 'inventory');
59
+ qb.leftJoinAndSelect('inventory.product', 'product');
60
+ qb.leftJoinAndSelect('inventory.location', 'location');
61
+ qb.leftJoinAndSelect('oi.releaseGood', 'releaseGood');
62
+ qb.leftJoinAndSelect('oi.deliveryOrder', 'deliveryOrder');
63
+ qb.leftJoinAndSelect('oi.creator', 'creator');
64
+ qb.leftJoinAndSelect('oi.updater', 'updater');
65
+ let sort = {};
66
+ if (params === null || params === void 0 ? void 0 : params.sortings) {
67
+ if (params.sortings.some(e => e.name === 'inventoryPalletId')) {
68
+ // overwrite the worksheet status sorting since inventory check status is needed
69
+ sort = {
70
+ 'inventory.palletId': params.sortings[params.sortings.findIndex(item => item.name == 'inventoryPalletId')]
71
+ .desc
72
+ ? 'DESC'
73
+ : 'ASC',
74
+ 'oi.createdAt': ((_a = params.sortings[params.sortings.findIndex(item => item.name == 'createdAt')]) === null || _a === void 0 ? void 0 : _a.desc)
75
+ ? 'DESC'
76
+ : 'ASC'
77
+ };
78
+ }
79
+ else if (params.sortings.some(e => e.name === 'createdAt')) {
80
+ sort = Object.assign(Object.assign({}, sort), { 'oi.createdAt': ((_b = params.sortings[params.sortings.findIndex(item => item.name == 'createdAt')]) === null || _b === void 0 ? void 0 : _b.desc)
81
+ ? 'DESC'
82
+ : 'ASC' });
83
+ }
84
+ }
85
+ else {
86
+ sort = { 'oi.createdAt': 'ASC' };
87
+ }
88
+ qb.orderBy(sort);
89
+ let [items, total] = await qb.getManyAndCount();
64
90
  return { items, total };
65
91
  }
66
92
  async mergedProductOrderInventories(context, filters, pagination, sortings) {
67
93
  const convertedParams = (0, shell_1.convertListParams)({ filters, pagination, sortings });
68
- let [items, total] = await (0, typeorm_1.getRepository)(order_inventory_1.OrderInventory).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: [
94
+ let [items, total] = await (0, shell_1.getRepository)(order_inventory_1.OrderInventory).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: [
69
95
  'domain',
70
96
  'arrivalNotice',
71
97
  'inventory',
@@ -126,9 +152,9 @@ let OrderInventoryQuery = class OrderInventoryQuery {
126
152
  }
127
153
  async orderInventory(id, context) {
128
154
  const { domain } = context.state;
129
- return await (0, typeorm_1.getRepository)(order_inventory_1.OrderInventory).findOne({
155
+ return await (0, shell_1.getRepository)(order_inventory_1.OrderInventory).findOne({
130
156
  where: {
131
- domain,
157
+ domain: { id: domain.id },
132
158
  id
133
159
  },
134
160
  relations: ['domain', 'releaseGood', 'inventory', 'creator', 'updater']
@@ -139,16 +165,16 @@ let OrderInventoryQuery = class OrderInventoryQuery {
139
165
  const { domain, user, tx } = context.state;
140
166
  let error = [];
141
167
  for (let i = 0; i < patches.length; i++) {
142
- let foundExistingPallet = await (0, typeorm_1.getRepository)(warehouse_base_1.Inventory).findOne({
143
- where: { domain, palletId: (_a = patches[i]) === null || _a === void 0 ? void 0 : _a.palletId }
168
+ let foundExistingPallet = await (0, shell_1.getRepository)(warehouse_base_1.Inventory).findOne({
169
+ where: { domain: { id: domain.id }, palletId: (_a = patches[i]) === null || _a === void 0 ? void 0 : _a.palletId }
144
170
  });
145
171
  if (!foundExistingPallet) {
146
- foundExistingPallet = await (0, typeorm_1.getRepository)(warehouse_base_1.Inventory).findOne({
172
+ foundExistingPallet = await (0, shell_1.getRepository)(warehouse_base_1.Inventory).findOne({
147
173
  where: { id: (_b = patches[i]) === null || _b === void 0 ? void 0 : _b.id }
148
174
  });
149
175
  }
150
176
  if (((_c = patches[i]) === null || _c === void 0 ? void 0 : _c.batchId) != null) {
151
- const worksheet = await (0, typeorm_1.getRepository)(order_inventory_1.OrderInventory).find({
177
+ const worksheet = await (0, shell_1.getRepository)(order_inventory_1.OrderInventory).find({
152
178
  where: { inventory: foundExistingPallet === null || foundExistingPallet === void 0 ? void 0 : foundExistingPallet.id, status: 'PICKING' }
153
179
  });
154
180
  if (worksheet.length > 0) {
@@ -180,7 +206,7 @@ let OrderInventoryQuery = class OrderInventoryQuery {
180
206
  params.filters.find(filter => filter.name === 'bizplaceId').relation = true;
181
207
  }
182
208
  if ((_a = params.filters.find((filter) => filter.name === 'releaseGoodName')) === null || _a === void 0 ? void 0 : _a.value) {
183
- let releaseGood = await (0, typeorm_1.getRepository)(release_good_1.ReleaseGood).findOne({
209
+ let releaseGood = await (0, shell_1.getRepository)(release_good_1.ReleaseGood).findOne({
184
210
  where: {
185
211
  name: (0, typeorm_1.Like)(params.filters.find(filter => filter.name === 'releaseGoodName').value)
186
212
  }
@@ -195,7 +221,7 @@ let OrderInventoryQuery = class OrderInventoryQuery {
195
221
  });
196
222
  }
197
223
  }
198
- const qb = (0, typeorm_1.getRepository)(order_inventory_1.OrderInventory).createQueryBuilder('oi');
224
+ const qb = (0, shell_1.getRepository)(order_inventory_1.OrderInventory).createQueryBuilder('oi');
199
225
  (0, shell_1.buildQuery)(qb, params, context);
200
226
  qb.innerJoinAndSelect('oi.releaseGood', 'releaseGood')
201
227
  .leftJoinAndSelect('oi.domain', 'domain')
@@ -222,13 +248,13 @@ let OrderInventoryQuery = class OrderInventoryQuery {
222
248
  const cartonIdFilter = filters.find(x => x.name == 'cartonId');
223
249
  filters = filters.filter(filter => ['productInfo', 'roNo', 'refNo', 'binLocation', 'palletId', 'cartonId'].indexOf(filter.name) == -1);
224
250
  const params = { filters, pagination };
225
- const qb = (0, typeorm_1.getRepository)(order_inventory_1.OrderInventory).createQueryBuilder('oi');
251
+ const qb = (0, shell_1.getRepository)(order_inventory_1.OrderInventory).createQueryBuilder('oi');
226
252
  (0, shell_1.buildQuery)(qb, params, context);
227
253
  qb.select('oi')
228
254
  .addSelect('(oi.release_uom_value / oi.release_qty) * oi.picked_qty', 'picked_uom_value')
229
255
  .innerJoinAndSelect('oi.inventory', 'inv')
230
256
  .innerJoinAndSelect('oi.releaseGood', 'rg')
231
- .innerJoinAndSelect('oi.product', 'Product')
257
+ .innerJoinAndSelect('oi.product', 'product')
232
258
  .leftJoinAndSelect('oi.binLocation', 'bin_loc')
233
259
  .andWhere('rg.status IN (:...releaseGoodStatus)', {
234
260
  releaseGoodStatus: [constants_1.ORDER_STATUS.PICKING, constants_1.ORDER_STATUS.LOADING]
@@ -278,13 +304,13 @@ let OrderInventoryQuery = class OrderInventoryQuery {
278
304
  const order = sort.desc ? 'DESC' : 'ASC';
279
305
  switch (sort.name) {
280
306
  case 'productSku':
281
- acc = Object.assign(Object.assign({}, acc), { ['Product.sku']: order });
307
+ acc = Object.assign(Object.assign({}, acc), { ['product.sku']: order });
282
308
  break;
283
309
  case 'productName':
284
- acc = Object.assign(Object.assign({}, acc), { ['Product.name']: order });
310
+ acc = Object.assign(Object.assign({}, acc), { ['product.name']: order });
285
311
  break;
286
312
  case 'productBrand':
287
- acc = Object.assign(Object.assign({}, acc), { ['Product.brand']: order });
313
+ acc = Object.assign(Object.assign({}, acc), { ['product.brand']: order });
288
314
  case 'binLocation':
289
315
  acc = Object.assign(Object.assign({}, acc), { ['bin_loc.name']: order });
290
316
  break;
@@ -340,167 +366,143 @@ let OrderInventoryQuery = class OrderInventoryQuery {
340
366
  throw error;
341
367
  }
342
368
  }
343
- async orderInventoriesOfMultipleReleaseOrders(context, partnerId, filters, sortings) {
369
+ async orderInventoriesOfMultipleReleaseOrders(context, partnerId, priority, binNumber, filters, sortings) {
344
370
  try {
345
- const { domain } = context.state;
346
- const binNumberParam = filters.find((param) => param.name === 'binNumber');
347
- let arrFilters = [];
348
- if (binNumberParam) {
349
- let binLocation = await (0, typeorm_1.getRepository)(warehouse_base_1.Location).findOne({
350
- where: { domain, name: binNumberParam.value }
351
- });
352
- filters.splice(filters.findIndex(item => item.name == 'binNumber'), 1);
353
- arrFilters.push(Object.assign(Object.assign({}, binNumberParam), { name: 'binLocationId', value: binLocation.id }));
354
- }
355
- const releaseGoodsList = await (0, typeorm_1.getRepository)(release_good_1.ReleaseGood).query(`select id from release_goods where domain_id = '${domain.id}' and bizplace_id = '${partnerId}' and route_id is not null and status = 'PICKING'`);
356
- if (releaseGoodsList && releaseGoodsList.length) {
357
- arrFilters.push({
358
- name: 'releaseGoodId',
359
- operator: 'in',
360
- value: releaseGoodsList.map((foundRG) => foundRG.id),
361
- relation: false
362
- });
371
+ const { domain, tx } = context.state;
372
+ const withSkuParam = filters.find((param) => param.name === 'withSku');
373
+ const withToteParam = filters.find((param) => param.name === 'withTote');
374
+ const mergedPageParam = filters.find((param) => param.name === 'merged');
375
+ let sort = '';
376
+ let prioritySort = '';
377
+ let releaseOrderIdQuery = '';
378
+ // Require further evaluation. Potential performance issue.
379
+ if (mergedPageParam) {
380
+ releaseOrderIdQuery = `
381
+ select rg.id from release_goods rg
382
+ inner join order_inventories oi on oi.release_good_id = rg.id
383
+ inner join worksheet_details wd on wd.target_inventory_id = oi.id
384
+ inner join worksheets w on w.id = wd.worksheet_id
385
+ where rg.route_id is not null and rg.type = 'b2b'
386
+ and rg.domain_id = $1 and rg.bizplace_id = $2
387
+ and w.type in ('BATCH_PICKING', 'SORTING', 'LOADING') and w.status = 'EXECUTING'
388
+ and rg.id not in (select rg2.id from release_goods rg2
389
+ inner join worksheets w2 on w2.release_good_id = rg2.id
390
+ where rg2.domain_id = $1 and rg2.bizplace_id = $2
391
+ and rg2.route_id is not null and rg2.type = 'b2b'
392
+ and w2.type in ('PICKING'))
393
+ group by rg.id
394
+ `;
363
395
  }
364
396
  else {
365
- arrFilters.push({
366
- name: 'releaseGoodId',
367
- operator: 'is_null',
368
- relation: false
369
- });
397
+ releaseOrderIdQuery = `
398
+ select rg.id from release_goods rg
399
+ inner join worksheets w on w.release_good_id = rg.id
400
+ where rg.domain_id = $1 and rg.bizplace_id = $2
401
+ and rg.route_id is not null and rg.type = 'b2b'
402
+ and w.type in ('PICKING', 'LOADING') and w.status = 'EXECUTING'
403
+ and rg.id not in (select rg2.id from release_goods rg2
404
+ inner join order_inventories oi2 on oi2.release_good_id = rg2.id
405
+ inner join worksheet_details wd2 on wd2.target_inventory_id = oi2.id
406
+ inner join worksheets w2 on w2.id = wd2.worksheet_id
407
+ where rg2.route_id is not null and rg2.type = 'b2b'
408
+ and rg2.domain_id = $1 and rg2.bizplace_id = $2
409
+ and w2.type in ('BATCH_PICKING'))
410
+ group by rg.id
411
+ `;
370
412
  }
371
- const params = { filters: arrFilters };
372
- const qb = (0, typeorm_1.getRepository)(order_inventory_1.OrderInventory).createQueryBuilder('oi');
373
- (0, shell_1.buildQuery)(qb, params, context);
374
- qb.select('oi');
375
- qb.innerJoinAndSelect('oi.releaseGood', 'rg');
376
- qb.innerJoinAndSelect('oi.product', 'Product');
377
- qb.leftJoinAndSelect('oi.binLocation', 'bin_loc');
378
- qb.leftJoinAndSelect('oi.domain', 'domain');
379
- qb.leftJoinAndSelect('oi.creator', 'creator');
380
- qb.leftJoinAndSelect('oi.updater', 'updater');
381
- if ((sortings === null || sortings === void 0 ? void 0 : sortings.length) !== 0) {
382
- const sorter = (sortings || []).reduce((acc, sort) => {
383
- const order = sort.desc ? 'DESC' : 'ASC';
384
- switch (sort.name) {
385
- case 'roName':
386
- acc = Object.assign(Object.assign({}, acc), { ['rg.name']: order });
387
- break;
388
- case 'productSku':
389
- acc = Object.assign(Object.assign({}, acc), { ['Product.sku']: order });
390
- break;
391
- case 'binNumber':
392
- acc = Object.assign(Object.assign({}, acc), { ['bin_loc.name']: order });
393
- break;
394
- }
395
- return acc;
396
- }, {});
397
- qb.orderBy(sorter);
413
+ await tx.query(`
414
+ create temp table temp_route_label ON COMMIT drop as (
415
+ select distinct(ot.name) as "toteNumber", oi.id, rg3.name as "releaseGoodName", (case when ot.name is null then oi.release_qty else null end) as "releaseQty",
416
+ (case when ot.name is null then p.sku else null end) as "productSKU", (case when ot.name is null then p.name else null end) as "productName", (case when ot.name is null then l.name else null end) as "binNumber",
417
+ rg3.route_id as "routeId", rg3.store_id as "storeId", rg3.store_name as "storeName", rg3.stop_id as "stopId",
418
+ rg3.created_at as "createdAt" from order_inventories oi
419
+ inner join release_goods rg3 on rg3.id = oi.release_good_id
420
+ inner join products p on p.id = oi.product_id
421
+ left join locations l on l.id = oi.bin_location_id
422
+ left join order_tote_items oti on oti.order_inventory_id = oi.id
423
+ left join order_totes ot on ot.id = oti.order_tote_id
424
+ where oi.release_good_id in
425
+ (${releaseOrderIdQuery})
426
+ )
427
+ `, [domain.id, partnerId]);
428
+ let withSkuQuery = (withSkuParam === null || withSkuParam === void 0 ? void 0 : withSkuParam.value) == true ? `AND tmp."binNumber" is null AND tmp."toteNumber" is null` : '';
429
+ let withBinQuery = '';
430
+ let withToteQuery = (withToteParam === null || withToteParam === void 0 ? void 0 : withToteParam.value) == true
431
+ ? ((withSkuParam === null || withSkuParam === void 0 ? void 0 : withSkuParam.value) == true || binNumber ? `OR ` : 'AND ') + `tmp."toteNumber" is not null`
432
+ : '';
433
+ if (binNumber) {
434
+ if (binNumber !== 'all' && binNumber !== '') {
435
+ withBinQuery =
436
+ ((withSkuParam === null || withSkuParam === void 0 ? void 0 : withSkuParam.value) == true || (withToteParam === null || withToteParam === void 0 ? void 0 : withToteParam.value) == false ? `OR ` : `AND `) +
437
+ `tmp."binNumber" = '` +
438
+ binNumber +
439
+ `'`;
440
+ }
441
+ else if (binNumber == 'all') {
442
+ withBinQuery =
443
+ ((withSkuParam === null || withSkuParam === void 0 ? void 0 : withSkuParam.value) == true || (withToteParam === null || withToteParam === void 0 ? void 0 : withToteParam.value) == false ? `OR ` : `AND `) +
444
+ `tmp."binNumber" is not null`;
445
+ }
398
446
  }
399
- const [items, total] = await qb.getManyAndCount();
400
- return { items, total };
401
- }
402
- catch (e) {
403
- throw e;
404
- }
405
- }
406
- async orderInventoriesOfMergedReleaseOrders(context, partnerId, filters, sortings) {
407
- try {
408
- const { domain } = context.state;
409
- const binNumberParam = filters.find((param) => param.name === 'binNumber');
410
- const priorityParam = filters.find((param) => param.name === 'priority');
411
- let arrFilters = [];
412
- if (priorityParam) {
413
- filters.splice(filters.findIndex(item => item.name == 'priority'), 1);
414
- switch (priorityParam.value) {
447
+ if (priority) {
448
+ prioritySort = ' order by ';
449
+ switch (priority) {
415
450
  case 'roSku':
416
- sortings.push({ name: 'releaseGood', desc: true });
417
- sortings.push({ name: 'productSku', desc: false });
451
+ prioritySort = prioritySort + '"createdAt" desc, "productSKU" asc';
418
452
  break;
419
453
  case 'roBin':
420
- sortings.push({ name: 'releaseGood', desc: true });
421
- sortings.push({ name: 'binNumber', desc: false });
454
+ prioritySort = prioritySort + '"createdAt" desc, "binNumber" asc';
455
+ break;
456
+ case 'roTote':
457
+ prioritySort = prioritySort + '"createdAt" desc, "toteNumber" asc';
422
458
  break;
423
459
  case 'skuRo':
424
- sortings.push({ name: 'productSku', desc: false });
425
- sortings.push({ name: 'releaseGood', desc: true });
460
+ prioritySort = prioritySort + '"productSKU" asc, "createdAt" desc';
426
461
  break;
427
462
  case 'skuBin':
428
- sortings.push({ name: 'productSku', desc: false });
429
- sortings.push({ name: 'binNumber', desc: false });
463
+ prioritySort = prioritySort + '"productSKU" asc, "binNumber" asc';
430
464
  break;
431
465
  case 'binSku':
432
- sortings.push({ name: 'binNumber', desc: false });
433
- sortings.push({ name: 'productSku', desc: false });
466
+ prioritySort = prioritySort + '"binNumber" asc, "productSKU" asc';
434
467
  break;
435
468
  case 'binRo':
436
- sortings.push({ name: 'binNumber', desc: false });
437
- sortings.push({ name: 'releaseGood', desc: true });
469
+ prioritySort = prioritySort + '"binNumber" asc, "createdAt" desc';
470
+ break;
471
+ case 'toteRo':
472
+ prioritySort = prioritySort + '"toteNumber" asc, "createdAt" desc';
438
473
  break;
439
474
  }
440
475
  }
441
- const releaseGoodsList = await (0, typeorm_1.getRepository)(release_good_1.ReleaseGood).query(`select oi.release_good_id as id from worksheets w
442
- inner join worksheet_details wd on wd.worksheet_id =w.id
443
- inner join order_inventories oi on oi.id =wd.target_inventory_id
444
- inner join release_goods rg on rg.id = oi.release_good_id
445
- and oi.status in ('PICKING', 'PICKED', 'SORTING', 'SORTED')
446
- and w.type = 'BATCH_PICKING' and w.status != 'DEACTIVATED'
447
- and rg.domain_id = '${domain.id}' and rg.bizplace_id = '${partnerId}'
448
- and rg.route_id is not null
449
- group by oi.release_good_id`);
450
- if (releaseGoodsList && releaseGoodsList.length) {
451
- arrFilters.push({
452
- name: 'releaseGoodId',
453
- operator: 'in',
454
- value: releaseGoodsList.map((foundRG) => foundRG.id),
455
- relation: false
456
- });
457
- }
458
- else {
459
- arrFilters.push({
460
- name: 'releaseGoodId',
461
- operator: 'is_null',
462
- relation: false
463
- });
464
- }
465
- const params = { filters: arrFilters };
466
- const qb = (0, typeorm_1.getRepository)(order_inventory_1.OrderInventory).createQueryBuilder('oi');
467
- (0, shell_1.buildQuery)(qb, params, context);
468
- qb.select('oi');
469
- qb.innerJoinAndSelect('oi.releaseGood', 'rg');
470
- qb.innerJoinAndSelect('oi.product', 'Product');
471
- qb.leftJoinAndSelect('oi.binLocation', 'bin_loc');
472
- qb.leftJoinAndSelect('oi.domain', 'domain');
473
- qb.leftJoinAndSelect('oi.creator', 'creator');
474
- qb.leftJoinAndSelect('oi.updater', 'updater');
475
- if (binNumberParam) {
476
- let binLocation = await (0, typeorm_1.getRepository)(warehouse_base_1.Location).findOne({
477
- where: { domain, name: binNumberParam.value }
478
- });
479
- filters.splice(filters.findIndex(item => item.name == 'binNumber'), 1);
480
- qb.andWhere('bin_loc.id = :id', { id: binLocation.id });
481
- }
482
476
  if ((sortings === null || sortings === void 0 ? void 0 : sortings.length) !== 0) {
483
477
  const sorter = (sortings || []).reduce((acc, sort) => {
484
478
  const order = sort.desc ? 'DESC' : 'ASC';
485
479
  switch (sort.name) {
486
480
  case 'roName':
487
- acc = Object.assign(Object.assign({}, acc), { ['rg.name']: order });
488
- break;
489
- case 'releaseGood':
490
- acc = Object.assign(Object.assign({}, acc), { ['rg.created_at']: order });
481
+ acc = [...acc, '"releaseGoodName" ' + order];
491
482
  break;
492
483
  case 'productSku':
493
- acc = Object.assign(Object.assign({}, acc), { ['Product.sku']: order });
484
+ acc = [...acc, '"productSKU" ' + order];
494
485
  break;
495
486
  case 'binNumber':
496
- acc = Object.assign(Object.assign({}, acc), { ['bin_loc.name']: order });
487
+ acc = [...acc, '"binNumber" ' + order];
488
+ break;
489
+ case 'toteNumber':
490
+ acc = [...acc, '"toteNumber" ' + order];
497
491
  break;
498
492
  }
499
493
  return acc;
500
- }, {});
501
- qb.orderBy(sorter);
494
+ }, []);
495
+ sort = (priority ? ', ' : ' order by ') + sorter.toString();
502
496
  }
503
- const [items, total] = await qb.getManyAndCount();
497
+ let items = await tx.query(`
498
+ select * from temp_route_label tmp where 1 = 1
499
+ ${withSkuQuery}
500
+ ${withBinQuery}
501
+ ${withToteQuery}
502
+ ${prioritySort}
503
+ ${sort}
504
+ `);
505
+ let total = items.length;
504
506
  return { items, total };
505
507
  }
506
508
  catch (e) {
@@ -509,55 +511,41 @@ let OrderInventoryQuery = class OrderInventoryQuery {
509
511
  }
510
512
  async orderInventoriesForReleaseGood(context, params, productTypes) {
511
513
  const { domain } = context.state;
512
- let filters = params.filters;
513
- const rgParam = filters.find((filter) => filter.name === 'releaseGoodNo' && filter.operator === 'eq');
514
- if (rgParam && !filters.some(filter => filter.name === 'releaseGood')) {
515
- if (!rgParam.value)
516
- filters = params.filters.filter(filter => filter.name !== 'releaseGoodNo');
517
- else {
518
- const foundReleaseGood = await (0, typeorm_1.getRepository)(release_good_1.ReleaseGood).findOne({
519
- where: {
520
- name: rgParam.value,
521
- domain
522
- }
523
- });
524
- if (foundReleaseGood) {
525
- filters = params.filters.filter(filter => filter.name !== 'releaseGoodNo');
526
- params.filters = [...filters, { name: 'releaseGood', operator: 'eq', value: foundReleaseGood.id }];
527
- }
528
- else
529
- throw new Error(`Cannot find result for order "${rgParam.value}"`);
530
- }
531
- }
532
514
  const qb = (0, shell_1.getQueryBuilderFromListParams)({
533
- repository: (0, typeorm_1.getRepository)(order_inventory_1.OrderInventory),
515
+ repository: (0, shell_1.getRepository)(order_inventory_1.OrderInventory),
534
516
  params,
535
517
  domain,
536
518
  alias: 'oi',
537
- searchables: ['bizplace', 'product']
519
+ searchables: ['bizplace', 'product', 'releaseGood', 'lot'],
520
+ filtersMap: {
521
+ lot: {
522
+ /* 조인 테이블의 필터대상 컬럼이름을 디폴트('name')에서 다른 컬럼('sku')로 변경 */
523
+ relationColumn: 'inventory',
524
+ columnName: 'palletId'
525
+ }
526
+ }
538
527
  });
539
- const [items, total] = await qb
540
- .leftJoinAndSelect('oi.releaseGood', 'rg')
528
+ qb.leftJoinAndSelect('oi.releaseGood', 'rg')
541
529
  .leftJoinAndSelect('rg.deliverTo', 'deliverTo')
542
530
  .leftJoinAndSelect('deliverTo.bizplace', 'deliverToBizplace')
543
- .leftJoinAndSelect('oi.product', 'p')
544
531
  .leftJoinAndSelect('oi.inventory', 'i')
532
+ .leftJoinAndSelect('oi.product', 'p')
545
533
  .leftJoinAndSelect('oi.bizplace', 'b')
546
534
  .andWhere('oi.type = :oiType', { oiType: 'RELEASE_OF_GOODS' })
547
535
  .andWhere('p.type IN (:...productTypes)', {
548
536
  productTypes: productTypes
549
- })
550
- .getManyAndCount();
537
+ });
538
+ const [items, total] = await qb.getManyAndCount();
551
539
  return { items, total };
552
540
  }
553
541
  async domain(orderInventory) {
554
- return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(orderInventory.domainId);
542
+ return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: orderInventory.domainId });
555
543
  }
556
544
  async creator(orderInventory) {
557
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(orderInventory.creatorId);
545
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: orderInventory.creatorId });
558
546
  }
559
547
  async updater(orderInventory) {
560
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(orderInventory.updaterId);
548
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: orderInventory.updaterId });
561
549
  }
562
550
  };
563
551
  tslib_1.__decorate([
@@ -565,7 +553,7 @@ tslib_1.__decorate([
565
553
  tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
566
554
  tslib_1.__param(1, (0, type_graphql_1.Args)()),
567
555
  tslib_1.__metadata("design:type", Function),
568
- tslib_1.__metadata("design:paramtypes", [Object, typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object]),
556
+ tslib_1.__metadata("design:paramtypes", [Object, shell_1.ListParam]),
569
557
  tslib_1.__metadata("design:returntype", Promise)
570
558
  ], OrderInventoryQuery.prototype, "orderInventories", null);
571
559
  tslib_1.__decorate([
@@ -575,7 +563,7 @@ tslib_1.__decorate([
575
563
  tslib_1.__param(2, (0, type_graphql_1.Arg)('pagination', type => shell_1.Pagination, { nullable: true })),
576
564
  tslib_1.__param(3, (0, type_graphql_1.Arg)('sortings', type => [shell_1.Sorting], { nullable: true })),
577
565
  tslib_1.__metadata("design:type", Function),
578
- tslib_1.__metadata("design:paramtypes", [Object, Array, typeof (_b = typeof shell_1.Pagination !== "undefined" && shell_1.Pagination) === "function" ? _b : Object, Array]),
566
+ tslib_1.__metadata("design:paramtypes", [Object, Array, shell_1.Pagination, Array]),
579
567
  tslib_1.__metadata("design:returntype", Promise)
580
568
  ], OrderInventoryQuery.prototype, "mergedProductOrderInventories", null);
581
569
  tslib_1.__decorate([
@@ -599,7 +587,7 @@ tslib_1.__decorate([
599
587
  tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
600
588
  tslib_1.__param(1, (0, type_graphql_1.Args)()),
601
589
  tslib_1.__metadata("design:type", Function),
602
- tslib_1.__metadata("design:paramtypes", [Object, typeof (_c = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _c : Object]),
590
+ tslib_1.__metadata("design:paramtypes", [Object, shell_1.ListParam]),
603
591
  tslib_1.__metadata("design:returntype", Promise)
604
592
  ], OrderInventoryQuery.prototype, "inventoriesByOrder", null);
605
593
  tslib_1.__decorate([
@@ -609,36 +597,29 @@ tslib_1.__decorate([
609
597
  tslib_1.__param(2, (0, type_graphql_1.Arg)('pagination', type => shell_1.Pagination, { nullable: true })),
610
598
  tslib_1.__param(3, (0, type_graphql_1.Arg)('sortings', type => [shell_1.Sorting], { nullable: true })),
611
599
  tslib_1.__metadata("design:type", Function),
612
- tslib_1.__metadata("design:paramtypes", [Object, Array, typeof (_d = typeof shell_1.Pagination !== "undefined" && shell_1.Pagination) === "function" ? _d : Object, Array]),
600
+ tslib_1.__metadata("design:paramtypes", [Object, Array, shell_1.Pagination, Array]),
613
601
  tslib_1.__metadata("design:returntype", Promise)
614
602
  ], OrderInventoryQuery.prototype, "nonLoadedOrderInventories", null);
615
603
  tslib_1.__decorate([
604
+ (0, type_graphql_1.Directive)('@transaction'),
616
605
  (0, type_graphql_1.Query)(returns => order_inventory_types_1.OrderInventoryList),
617
606
  tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
618
607
  tslib_1.__param(1, (0, type_graphql_1.Arg)('partnerId')),
619
- tslib_1.__param(2, (0, type_graphql_1.Arg)('filters', type => [shell_1.Filter], { nullable: true })),
620
- tslib_1.__param(3, (0, type_graphql_1.Arg)('sortings', type => [shell_1.Sorting], { nullable: true })),
608
+ tslib_1.__param(2, (0, type_graphql_1.Arg)('priority', { nullable: true })),
609
+ tslib_1.__param(3, (0, type_graphql_1.Arg)('binNumber', { nullable: true })),
610
+ tslib_1.__param(4, (0, type_graphql_1.Arg)('filters', type => [shell_1.Filter], { nullable: true })),
611
+ tslib_1.__param(5, (0, type_graphql_1.Arg)('sortings', type => [shell_1.Sorting], { nullable: true })),
621
612
  tslib_1.__metadata("design:type", Function),
622
- tslib_1.__metadata("design:paramtypes", [Object, String, Array, Array]),
613
+ tslib_1.__metadata("design:paramtypes", [Object, String, String, String, Array, Array]),
623
614
  tslib_1.__metadata("design:returntype", Promise)
624
615
  ], OrderInventoryQuery.prototype, "orderInventoriesOfMultipleReleaseOrders", null);
625
- tslib_1.__decorate([
626
- (0, type_graphql_1.Query)(returns => order_inventory_types_1.OrderInventoryList),
627
- tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
628
- tslib_1.__param(1, (0, type_graphql_1.Arg)('partnerId')),
629
- tslib_1.__param(2, (0, type_graphql_1.Arg)('filters', type => [shell_1.Filter], { nullable: true })),
630
- tslib_1.__param(3, (0, type_graphql_1.Arg)('sortings', type => [shell_1.Sorting], { nullable: true })),
631
- tslib_1.__metadata("design:type", Function),
632
- tslib_1.__metadata("design:paramtypes", [Object, String, Array, Array]),
633
- tslib_1.__metadata("design:returntype", Promise)
634
- ], OrderInventoryQuery.prototype, "orderInventoriesOfMergedReleaseOrders", null);
635
616
  tslib_1.__decorate([
636
617
  (0, type_graphql_1.Query)(returns => order_inventory_types_1.OrderInventoryList),
637
618
  tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
638
619
  tslib_1.__param(1, (0, type_graphql_1.Args)()),
639
620
  tslib_1.__param(2, (0, type_graphql_1.Arg)('productTypes', type => [String], { nullable: true })),
640
621
  tslib_1.__metadata("design:type", Function),
641
- tslib_1.__metadata("design:paramtypes", [Object, typeof (_e = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _e : Object, Array]),
622
+ tslib_1.__metadata("design:paramtypes", [Object, shell_1.ListParam, Array]),
642
623
  tslib_1.__metadata("design:returntype", Promise)
643
624
  ], OrderInventoryQuery.prototype, "orderInventoriesForReleaseGood", null);
644
625
  tslib_1.__decorate([