@things-factory/sales-base 4.3.669 → 4.3.671

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/package.json +17 -17
  2. package/server/controllers/ecommerce/powrup-controller.ts +1 -1
  3. package/dist-server/constants/attachment-type.js +0 -15
  4. package/dist-server/constants/attachment-type.js.map +0 -1
  5. package/dist-server/constants/index.js +0 -24
  6. package/dist-server/constants/index.js.map +0 -1
  7. package/dist-server/constants/load-type.js +0 -8
  8. package/dist-server/constants/load-type.js.map +0 -1
  9. package/dist-server/constants/order.js +0 -235
  10. package/dist-server/constants/order.js.map +0 -1
  11. package/dist-server/constants/product-group-type.js +0 -8
  12. package/dist-server/constants/product-group-type.js.map +0 -1
  13. package/dist-server/constants/release-good.js +0 -13
  14. package/dist-server/constants/release-good.js.map +0 -1
  15. package/dist-server/constants/transfer-order-type.js +0 -9
  16. package/dist-server/constants/transfer-order-type.js.map +0 -1
  17. package/dist-server/constants/validation-error-code.js +0 -7
  18. package/dist-server/constants/validation-error-code.js.map +0 -1
  19. package/dist-server/constants/vas-target-type.js +0 -26
  20. package/dist-server/constants/vas-target-type.js.map +0 -1
  21. package/dist-server/controllers/ecommerce/ecommerce-controller.js +0 -138
  22. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +0 -1
  23. package/dist-server/controllers/ecommerce/index.js +0 -21
  24. package/dist-server/controllers/ecommerce/index.js.map +0 -1
  25. package/dist-server/controllers/ecommerce/powrup-controller.js +0 -747
  26. package/dist-server/controllers/ecommerce/powrup-controller.js.map +0 -1
  27. package/dist-server/controllers/ecommerce/sellercraft-controller.js +0 -148
  28. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +0 -1
  29. package/dist-server/controllers/ecommerce/webspert-controller.js +0 -237
  30. package/dist-server/controllers/ecommerce/webspert-controller.js.map +0 -1
  31. package/dist-server/controllers/index.js +0 -19
  32. package/dist-server/controllers/index.js.map +0 -1
  33. package/dist-server/controllers/order-controller.js +0 -244
  34. package/dist-server/controllers/order-controller.js.map +0 -1
  35. package/dist-server/errors/index.js +0 -18
  36. package/dist-server/errors/index.js.map +0 -1
  37. package/dist-server/errors/validation-error.js +0 -41
  38. package/dist-server/errors/validation-error.js.map +0 -1
  39. package/dist-server/index.js +0 -30
  40. package/dist-server/index.js.map +0 -1
  41. package/dist-server/migrations/index.js +0 -12
  42. package/dist-server/migrations/index.js.map +0 -1
  43. package/dist-server/service/arrival-notice/arrival-notice-mutation.js +0 -1453
  44. package/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +0 -1
  45. package/dist-server/service/arrival-notice/arrival-notice-query.js +0 -638
  46. package/dist-server/service/arrival-notice/arrival-notice-query.js.map +0 -1
  47. package/dist-server/service/arrival-notice/arrival-notice-types.js +0 -443
  48. package/dist-server/service/arrival-notice/arrival-notice-types.js.map +0 -1
  49. package/dist-server/service/arrival-notice/arrival-notice.js +0 -259
  50. package/dist-server/service/arrival-notice/arrival-notice.js.map +0 -1
  51. package/dist-server/service/arrival-notice/index.js +0 -25
  52. package/dist-server/service/arrival-notice/index.js.map +0 -1
  53. package/dist-server/service/claim/claim-mutation.js +0 -243
  54. package/dist-server/service/claim/claim-mutation.js.map +0 -1
  55. package/dist-server/service/claim/claim-query.js +0 -165
  56. package/dist-server/service/claim/claim-query.js.map +0 -1
  57. package/dist-server/service/claim/claim-types.js +0 -191
  58. package/dist-server/service/claim/claim-types.js.map +0 -1
  59. package/dist-server/service/claim/claim.js +0 -176
  60. package/dist-server/service/claim/claim.js.map +0 -1
  61. package/dist-server/service/claim/index.js +0 -25
  62. package/dist-server/service/claim/index.js.map +0 -1
  63. package/dist-server/service/claim-detail/claim-detail-mutation.js +0 -110
  64. package/dist-server/service/claim-detail/claim-detail-mutation.js.map +0 -1
  65. package/dist-server/service/claim-detail/claim-detail-query.js +0 -90
  66. package/dist-server/service/claim-detail/claim-detail-query.js.map +0 -1
  67. package/dist-server/service/claim-detail/claim-detail-types.js +0 -81
  68. package/dist-server/service/claim-detail/claim-detail-types.js.map +0 -1
  69. package/dist-server/service/claim-detail/claim-detail.js +0 -102
  70. package/dist-server/service/claim-detail/claim-detail.js.map +0 -1
  71. package/dist-server/service/claim-detail/index.js +0 -25
  72. package/dist-server/service/claim-detail/index.js.map +0 -1
  73. package/dist-server/service/claim-order/claim-order-mutation.js +0 -110
  74. package/dist-server/service/claim-order/claim-order-mutation.js.map +0 -1
  75. package/dist-server/service/claim-order/claim-order-query.js +0 -86
  76. package/dist-server/service/claim-order/claim-order-query.js.map +0 -1
  77. package/dist-server/service/claim-order/claim-order-types.js +0 -65
  78. package/dist-server/service/claim-order/claim-order-types.js.map +0 -1
  79. package/dist-server/service/claim-order/claim-order.js +0 -104
  80. package/dist-server/service/claim-order/claim-order.js.map +0 -1
  81. package/dist-server/service/claim-order/index.js +0 -25
  82. package/dist-server/service/claim-order/index.js.map +0 -1
  83. package/dist-server/service/collection-order/collection-order-mutation.js +0 -241
  84. package/dist-server/service/collection-order/collection-order-mutation.js.map +0 -1
  85. package/dist-server/service/collection-order/collection-order-query.js +0 -125
  86. package/dist-server/service/collection-order/collection-order-query.js.map +0 -1
  87. package/dist-server/service/collection-order/collection-order-types.js +0 -241
  88. package/dist-server/service/collection-order/collection-order-types.js.map +0 -1
  89. package/dist-server/service/collection-order/collection-order.js +0 -183
  90. package/dist-server/service/collection-order/collection-order.js.map +0 -1
  91. package/dist-server/service/collection-order/index.js +0 -25
  92. package/dist-server/service/collection-order/index.js.map +0 -1
  93. package/dist-server/service/delivery-order/delivery-order-mutation.js +0 -746
  94. package/dist-server/service/delivery-order/delivery-order-mutation.js.map +0 -1
  95. package/dist-server/service/delivery-order/delivery-order-query.js +0 -570
  96. package/dist-server/service/delivery-order/delivery-order-query.js.map +0 -1
  97. package/dist-server/service/delivery-order/delivery-order-types.js +0 -397
  98. package/dist-server/service/delivery-order/delivery-order-types.js.map +0 -1
  99. package/dist-server/service/delivery-order/delivery-order.js +0 -365
  100. package/dist-server/service/delivery-order/delivery-order.js.map +0 -1
  101. package/dist-server/service/delivery-order/index.js +0 -25
  102. package/dist-server/service/delivery-order/index.js.map +0 -1
  103. package/dist-server/service/draft-release-good/draft-release-good-create.js +0 -647
  104. package/dist-server/service/draft-release-good/draft-release-good-create.js.map +0 -1
  105. package/dist-server/service/draft-release-good/draft-release-good-mutation.js +0 -486
  106. package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +0 -1
  107. package/dist-server/service/draft-release-good/draft-release-good-query.js +0 -372
  108. package/dist-server/service/draft-release-good/draft-release-good-query.js.map +0 -1
  109. package/dist-server/service/draft-release-good/draft-release-good-type.js +0 -424
  110. package/dist-server/service/draft-release-good/draft-release-good-type.js.map +0 -1
  111. package/dist-server/service/draft-release-good/draft-release-good.js +0 -444
  112. package/dist-server/service/draft-release-good/draft-release-good.js.map +0 -1
  113. package/dist-server/service/draft-release-good/index.js +0 -29
  114. package/dist-server/service/draft-release-good/index.js.map +0 -1
  115. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js +0 -140
  116. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js.map +0 -1
  117. package/dist-server/service/goods-receival-note/goods-receival-note-query.js +0 -273
  118. package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +0 -1
  119. package/dist-server/service/goods-receival-note/goods-receival-note-types.js +0 -159
  120. package/dist-server/service/goods-receival-note/goods-receival-note-types.js.map +0 -1
  121. package/dist-server/service/goods-receival-note/goods-receival-note.js +0 -156
  122. package/dist-server/service/goods-receival-note/goods-receival-note.js.map +0 -1
  123. package/dist-server/service/goods-receival-note/index.js +0 -25
  124. package/dist-server/service/goods-receival-note/index.js.map +0 -1
  125. package/dist-server/service/index.js +0 -282
  126. package/dist-server/service/index.js.map +0 -1
  127. package/dist-server/service/inventory-check/index.js +0 -25
  128. package/dist-server/service/inventory-check/index.js.map +0 -1
  129. package/dist-server/service/inventory-check/inventory-check-mutation.js +0 -151
  130. package/dist-server/service/inventory-check/inventory-check-mutation.js.map +0 -1
  131. package/dist-server/service/inventory-check/inventory-check-query.js +0 -138
  132. package/dist-server/service/inventory-check/inventory-check-query.js.map +0 -1
  133. package/dist-server/service/inventory-check/inventory-check-types.js +0 -82
  134. package/dist-server/service/inventory-check/inventory-check-types.js.map +0 -1
  135. package/dist-server/service/inventory-check/inventory-check.js +0 -115
  136. package/dist-server/service/inventory-check/inventory-check.js.map +0 -1
  137. package/dist-server/service/inventory-check-item/index.js +0 -25
  138. package/dist-server/service/inventory-check-item/index.js.map +0 -1
  139. package/dist-server/service/inventory-check-item/inventory-check-item-mutation.js +0 -120
  140. package/dist-server/service/inventory-check-item/inventory-check-item-mutation.js.map +0 -1
  141. package/dist-server/service/inventory-check-item/inventory-check-item-query.js +0 -196
  142. package/dist-server/service/inventory-check-item/inventory-check-item-query.js.map +0 -1
  143. package/dist-server/service/inventory-check-item/inventory-check-item-types.js +0 -157
  144. package/dist-server/service/inventory-check-item/inventory-check-item-types.js.map +0 -1
  145. package/dist-server/service/inventory-check-item/inventory-check-item.js +0 -273
  146. package/dist-server/service/inventory-check-item/inventory-check-item.js.map +0 -1
  147. package/dist-server/service/invoice/index.js +0 -25
  148. package/dist-server/service/invoice/index.js.map +0 -1
  149. package/dist-server/service/invoice/invoice-mutation.js +0 -105
  150. package/dist-server/service/invoice/invoice-mutation.js.map +0 -1
  151. package/dist-server/service/invoice/invoice-query.js +0 -94
  152. package/dist-server/service/invoice/invoice-query.js.map +0 -1
  153. package/dist-server/service/invoice/invoice-types.js +0 -388
  154. package/dist-server/service/invoice/invoice-types.js.map +0 -1
  155. package/dist-server/service/invoice/invoice.js +0 -312
  156. package/dist-server/service/invoice/invoice.js.map +0 -1
  157. package/dist-server/service/invoice-product/index.js +0 -25
  158. package/dist-server/service/invoice-product/index.js.map +0 -1
  159. package/dist-server/service/invoice-product/invoice-product-mutation.js +0 -70
  160. package/dist-server/service/invoice-product/invoice-product-mutation.js.map +0 -1
  161. package/dist-server/service/invoice-product/invoice-product-query.js +0 -95
  162. package/dist-server/service/invoice-product/invoice-product-query.js.map +0 -1
  163. package/dist-server/service/invoice-product/invoice-product-types.js +0 -131
  164. package/dist-server/service/invoice-product/invoice-product-types.js.map +0 -1
  165. package/dist-server/service/invoice-product/invoice-product.js +0 -130
  166. package/dist-server/service/invoice-product/invoice-product.js.map +0 -1
  167. package/dist-server/service/job-sheet/index.js +0 -25
  168. package/dist-server/service/job-sheet/index.js.map +0 -1
  169. package/dist-server/service/job-sheet/job-sheet-mutation.js +0 -93
  170. package/dist-server/service/job-sheet/job-sheet-mutation.js.map +0 -1
  171. package/dist-server/service/job-sheet/job-sheet-query.js +0 -134
  172. package/dist-server/service/job-sheet/job-sheet-query.js.map +0 -1
  173. package/dist-server/service/job-sheet/job-sheet-types.js +0 -113
  174. package/dist-server/service/job-sheet/job-sheet-types.js.map +0 -1
  175. package/dist-server/service/job-sheet/job-sheet.js +0 -132
  176. package/dist-server/service/job-sheet/job-sheet.js.map +0 -1
  177. package/dist-server/service/manifest/index.js +0 -9
  178. package/dist-server/service/manifest/index.js.map +0 -1
  179. package/dist-server/service/manifest/manifest-mutation.js +0 -264
  180. package/dist-server/service/manifest/manifest-mutation.js.map +0 -1
  181. package/dist-server/service/manifest/manifest-query.js +0 -228
  182. package/dist-server/service/manifest/manifest-query.js.map +0 -1
  183. package/dist-server/service/manifest/manifest-type.js +0 -183
  184. package/dist-server/service/manifest/manifest-type.js.map +0 -1
  185. package/dist-server/service/manifest/manifest.js +0 -134
  186. package/dist-server/service/manifest/manifest.js.map +0 -1
  187. package/dist-server/service/order-consignment/index.js +0 -9
  188. package/dist-server/service/order-consignment/index.js.map +0 -1
  189. package/dist-server/service/order-consignment/order-consignment-mutation.js +0 -120
  190. package/dist-server/service/order-consignment/order-consignment-mutation.js.map +0 -1
  191. package/dist-server/service/order-consignment/order-consignment-query.js +0 -87
  192. package/dist-server/service/order-consignment/order-consignment-query.js.map +0 -1
  193. package/dist-server/service/order-consignment/order-consignment-type.js +0 -69
  194. package/dist-server/service/order-consignment/order-consignment-type.js.map +0 -1
  195. package/dist-server/service/order-consignment/order-consignment.js +0 -115
  196. package/dist-server/service/order-consignment/order-consignment.js.map +0 -1
  197. package/dist-server/service/order-inventory/index.js +0 -25
  198. package/dist-server/service/order-inventory/index.js.map +0 -1
  199. package/dist-server/service/order-inventory/order-inventory-mutation.js +0 -80
  200. package/dist-server/service/order-inventory/order-inventory-mutation.js.map +0 -1
  201. package/dist-server/service/order-inventory/order-inventory-query.js +0 -592
  202. package/dist-server/service/order-inventory/order-inventory-query.js.map +0 -1
  203. package/dist-server/service/order-inventory/order-inventory-types.js +0 -341
  204. package/dist-server/service/order-inventory/order-inventory-types.js.map +0 -1
  205. package/dist-server/service/order-inventory/order-inventory.js +0 -785
  206. package/dist-server/service/order-inventory/order-inventory.js.map +0 -1
  207. package/dist-server/service/order-package/index.js +0 -9
  208. package/dist-server/service/order-package/index.js.map +0 -1
  209. package/dist-server/service/order-package/order-package-mutation.js +0 -120
  210. package/dist-server/service/order-package/order-package-mutation.js.map +0 -1
  211. package/dist-server/service/order-package/order-package-query.js +0 -142
  212. package/dist-server/service/order-package/order-package-query.js.map +0 -1
  213. package/dist-server/service/order-package/order-package-types.js +0 -113
  214. package/dist-server/service/order-package/order-package-types.js.map +0 -1
  215. package/dist-server/service/order-package/order-package.js +0 -229
  216. package/dist-server/service/order-package/order-package.js.map +0 -1
  217. package/dist-server/service/order-package-item/index.js +0 -9
  218. package/dist-server/service/order-package-item/index.js.map +0 -1
  219. package/dist-server/service/order-package-item/order-package-item-mutation.js +0 -120
  220. package/dist-server/service/order-package-item/order-package-item-mutation.js.map +0 -1
  221. package/dist-server/service/order-package-item/order-package-item-query.js +0 -127
  222. package/dist-server/service/order-package-item/order-package-item-query.js.map +0 -1
  223. package/dist-server/service/order-package-item/order-package-item-types.js +0 -99
  224. package/dist-server/service/order-package-item/order-package-item-types.js.map +0 -1
  225. package/dist-server/service/order-package-item/order-package-item.js +0 -162
  226. package/dist-server/service/order-package-item/order-package-item.js.map +0 -1
  227. package/dist-server/service/order-product/index.js +0 -25
  228. package/dist-server/service/order-product/index.js.map +0 -1
  229. package/dist-server/service/order-product/order-product-mutation.js +0 -74
  230. package/dist-server/service/order-product/order-product-mutation.js.map +0 -1
  231. package/dist-server/service/order-product/order-product-query.js +0 -125
  232. package/dist-server/service/order-product/order-product-query.js.map +0 -1
  233. package/dist-server/service/order-product/order-product-types.js +0 -545
  234. package/dist-server/service/order-product/order-product-types.js.map +0 -1
  235. package/dist-server/service/order-product/order-product.js +0 -605
  236. package/dist-server/service/order-product/order-product.js.map +0 -1
  237. package/dist-server/service/order-tote/index.js +0 -25
  238. package/dist-server/service/order-tote/index.js.map +0 -1
  239. package/dist-server/service/order-tote/order-tote-mutation.js +0 -56
  240. package/dist-server/service/order-tote/order-tote-mutation.js.map +0 -1
  241. package/dist-server/service/order-tote/order-tote-query.js +0 -123
  242. package/dist-server/service/order-tote/order-tote-query.js.map +0 -1
  243. package/dist-server/service/order-tote/order-tote-types.js +0 -79
  244. package/dist-server/service/order-tote/order-tote-types.js.map +0 -1
  245. package/dist-server/service/order-tote/order-tote.js +0 -92
  246. package/dist-server/service/order-tote/order-tote.js.map +0 -1
  247. package/dist-server/service/order-tote-item/index.js +0 -25
  248. package/dist-server/service/order-tote-item/index.js.map +0 -1
  249. package/dist-server/service/order-tote-item/order-tote-item-mutation.js +0 -56
  250. package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +0 -1
  251. package/dist-server/service/order-tote-item/order-tote-item-query.js +0 -100
  252. package/dist-server/service/order-tote-item/order-tote-item-query.js.map +0 -1
  253. package/dist-server/service/order-tote-item/order-tote-item-types.js +0 -91
  254. package/dist-server/service/order-tote-item/order-tote-item-types.js.map +0 -1
  255. package/dist-server/service/order-tote-item/order-tote-item.js +0 -118
  256. package/dist-server/service/order-tote-item/order-tote-item.js.map +0 -1
  257. package/dist-server/service/order-tote-seal/index.js +0 -25
  258. package/dist-server/service/order-tote-seal/index.js.map +0 -1
  259. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js +0 -56
  260. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +0 -1
  261. package/dist-server/service/order-tote-seal/order-tote-seal-query.js +0 -97
  262. package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +0 -1
  263. package/dist-server/service/order-tote-seal/order-tote-seal-types.js +0 -71
  264. package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +0 -1
  265. package/dist-server/service/order-tote-seal/order-tote-seal.js +0 -71
  266. package/dist-server/service/order-tote-seal/order-tote-seal.js.map +0 -1
  267. package/dist-server/service/order-vas/index.js +0 -25
  268. package/dist-server/service/order-vas/index.js.map +0 -1
  269. package/dist-server/service/order-vas/order-vas-mutation.js +0 -148
  270. package/dist-server/service/order-vas/order-vas-mutation.js.map +0 -1
  271. package/dist-server/service/order-vas/order-vas-query.js +0 -148
  272. package/dist-server/service/order-vas/order-vas-query.js.map +0 -1
  273. package/dist-server/service/order-vas/order-vas-types.js +0 -348
  274. package/dist-server/service/order-vas/order-vas-types.js.map +0 -1
  275. package/dist-server/service/order-vas/order-vas.js +0 -476
  276. package/dist-server/service/order-vas/order-vas.js.map +0 -1
  277. package/dist-server/service/order-vas-item/index.js +0 -9
  278. package/dist-server/service/order-vas-item/index.js.map +0 -1
  279. package/dist-server/service/order-vas-item/order-vas-item-mutation.js +0 -164
  280. package/dist-server/service/order-vas-item/order-vas-item-mutation.js.map +0 -1
  281. package/dist-server/service/order-vas-item/order-vas-item-query.js +0 -99
  282. package/dist-server/service/order-vas-item/order-vas-item-query.js.map +0 -1
  283. package/dist-server/service/order-vas-item/order-vas-item-type.js +0 -131
  284. package/dist-server/service/order-vas-item/order-vas-item-type.js.map +0 -1
  285. package/dist-server/service/order-vas-item/order-vas-item.js +0 -166
  286. package/dist-server/service/order-vas-item/order-vas-item.js.map +0 -1
  287. package/dist-server/service/others/index.js +0 -21
  288. package/dist-server/service/others/index.js.map +0 -1
  289. package/dist-server/service/others/other-query.js +0 -605
  290. package/dist-server/service/others/other-query.js.map +0 -1
  291. package/dist-server/service/others/other-types.js +0 -198
  292. package/dist-server/service/others/other-types.js.map +0 -1
  293. package/dist-server/service/purchase-order/index.js +0 -25
  294. package/dist-server/service/purchase-order/index.js.map +0 -1
  295. package/dist-server/service/purchase-order/purchase-order-mutation.js +0 -398
  296. package/dist-server/service/purchase-order/purchase-order-mutation.js.map +0 -1
  297. package/dist-server/service/purchase-order/purchase-order-query.js +0 -126
  298. package/dist-server/service/purchase-order/purchase-order-query.js.map +0 -1
  299. package/dist-server/service/purchase-order/purchase-order-types.js +0 -240
  300. package/dist-server/service/purchase-order/purchase-order-types.js.map +0 -1
  301. package/dist-server/service/purchase-order/purchase-order.js +0 -236
  302. package/dist-server/service/purchase-order/purchase-order.js.map +0 -1
  303. package/dist-server/service/purchase-order-other-charge/index.js +0 -25
  304. package/dist-server/service/purchase-order-other-charge/index.js.map +0 -1
  305. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js +0 -56
  306. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js.map +0 -1
  307. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js +0 -87
  308. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js.map +0 -1
  309. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js +0 -77
  310. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js.map +0 -1
  311. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js +0 -101
  312. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js.map +0 -1
  313. package/dist-server/service/release-good/index.js +0 -25
  314. package/dist-server/service/release-good/index.js.map +0 -1
  315. package/dist-server/service/release-good/release-good-mutation.js +0 -1598
  316. package/dist-server/service/release-good/release-good-mutation.js.map +0 -1
  317. package/dist-server/service/release-good/release-good-query.js +0 -1132
  318. package/dist-server/service/release-good/release-good-query.js.map +0 -1
  319. package/dist-server/service/release-good/release-good-types.js +0 -1043
  320. package/dist-server/service/release-good/release-good-types.js.map +0 -1
  321. package/dist-server/service/release-good/release-good.js +0 -817
  322. package/dist-server/service/release-good/release-good.js.map +0 -1
  323. package/dist-server/service/release-good-logs/index.js +0 -11
  324. package/dist-server/service/release-good-logs/index.js.map +0 -1
  325. package/dist-server/service/release-good-logs/release-good-logs-mutation.js +0 -126
  326. package/dist-server/service/release-good-logs/release-good-logs-mutation.js.map +0 -1
  327. package/dist-server/service/release-good-logs/release-good-logs-query.js +0 -71
  328. package/dist-server/service/release-good-logs/release-good-logs-query.js.map +0 -1
  329. package/dist-server/service/release-good-logs/release-good-logs-type.js +0 -65
  330. package/dist-server/service/release-good-logs/release-good-logs-type.js.map +0 -1
  331. package/dist-server/service/release-good-logs/release-good-logs.js +0 -96
  332. package/dist-server/service/release-good-logs/release-good-logs.js.map +0 -1
  333. package/dist-server/service/replenishment/index.js +0 -9
  334. package/dist-server/service/replenishment/index.js.map +0 -1
  335. package/dist-server/service/replenishment/replenishment-mutation.js +0 -234
  336. package/dist-server/service/replenishment/replenishment-mutation.js.map +0 -1
  337. package/dist-server/service/replenishment/replenishment-query.js +0 -185
  338. package/dist-server/service/replenishment/replenishment-query.js.map +0 -1
  339. package/dist-server/service/replenishment/replenishment-type.js +0 -119
  340. package/dist-server/service/replenishment/replenishment-type.js.map +0 -1
  341. package/dist-server/service/replenishment/replenishment.js +0 -114
  342. package/dist-server/service/replenishment/replenishment.js.map +0 -1
  343. package/dist-server/service/retail-replenishment-order/index.js +0 -25
  344. package/dist-server/service/retail-replenishment-order/index.js.map +0 -1
  345. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js +0 -314
  346. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js.map +0 -1
  347. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js +0 -89
  348. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js.map +0 -1
  349. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js +0 -148
  350. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js.map +0 -1
  351. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js +0 -141
  352. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js.map +0 -1
  353. package/dist-server/service/return-order/index.js +0 -25
  354. package/dist-server/service/return-order/index.js.map +0 -1
  355. package/dist-server/service/return-order/return-order-mutation.js +0 -451
  356. package/dist-server/service/return-order/return-order-mutation.js.map +0 -1
  357. package/dist-server/service/return-order/return-order-query.js +0 -243
  358. package/dist-server/service/return-order/return-order-query.js.map +0 -1
  359. package/dist-server/service/return-order/return-order-types.js +0 -274
  360. package/dist-server/service/return-order/return-order-types.js.map +0 -1
  361. package/dist-server/service/return-order/return-order.js +0 -159
  362. package/dist-server/service/return-order/return-order.js.map +0 -1
  363. package/dist-server/service/reverse-kitting-order/index.js +0 -25
  364. package/dist-server/service/reverse-kitting-order/index.js.map +0 -1
  365. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js +0 -407
  366. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js.map +0 -1
  367. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js +0 -222
  368. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +0 -1
  369. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js +0 -230
  370. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js.map +0 -1
  371. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js +0 -145
  372. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +0 -1
  373. package/dist-server/service/reverse-kitting-order-inventory/index.js +0 -25
  374. package/dist-server/service/reverse-kitting-order-inventory/index.js.map +0 -1
  375. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js +0 -130
  376. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js.map +0 -1
  377. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js +0 -87
  378. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js.map +0 -1
  379. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js +0 -143
  380. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js.map +0 -1
  381. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js +0 -178
  382. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +0 -1
  383. package/dist-server/service/shipping-order/index.js +0 -25
  384. package/dist-server/service/shipping-order/index.js.map +0 -1
  385. package/dist-server/service/shipping-order/shipping-order-mutation.js +0 -78
  386. package/dist-server/service/shipping-order/shipping-order-mutation.js.map +0 -1
  387. package/dist-server/service/shipping-order/shipping-order-query.js +0 -96
  388. package/dist-server/service/shipping-order/shipping-order-query.js.map +0 -1
  389. package/dist-server/service/shipping-order/shipping-order-types.js +0 -137
  390. package/dist-server/service/shipping-order/shipping-order-types.js.map +0 -1
  391. package/dist-server/service/shipping-order/shipping-order.js +0 -165
  392. package/dist-server/service/shipping-order/shipping-order.js.map +0 -1
  393. package/dist-server/service/transfer-order/index.js +0 -25
  394. package/dist-server/service/transfer-order/index.js.map +0 -1
  395. package/dist-server/service/transfer-order/transfer-order-mutation.js +0 -252
  396. package/dist-server/service/transfer-order/transfer-order-mutation.js.map +0 -1
  397. package/dist-server/service/transfer-order/transfer-order-query.js +0 -104
  398. package/dist-server/service/transfer-order/transfer-order-query.js.map +0 -1
  399. package/dist-server/service/transfer-order/transfer-order-types.js +0 -148
  400. package/dist-server/service/transfer-order/transfer-order-types.js.map +0 -1
  401. package/dist-server/service/transfer-order/transfer-order.js +0 -146
  402. package/dist-server/service/transfer-order/transfer-order.js.map +0 -1
  403. package/dist-server/service/vas/index.js +0 -25
  404. package/dist-server/service/vas/index.js.map +0 -1
  405. package/dist-server/service/vas/vas-mutation.js +0 -562
  406. package/dist-server/service/vas/vas-mutation.js.map +0 -1
  407. package/dist-server/service/vas/vas-query.js +0 -114
  408. package/dist-server/service/vas/vas-query.js.map +0 -1
  409. package/dist-server/service/vas/vas-types.js +0 -113
  410. package/dist-server/service/vas/vas-types.js.map +0 -1
  411. package/dist-server/service/vas/vas.js +0 -114
  412. package/dist-server/service/vas/vas.js.map +0 -1
  413. package/dist-server/service/vas-order/index.js +0 -25
  414. package/dist-server/service/vas-order/index.js.map +0 -1
  415. package/dist-server/service/vas-order/vas-order-mutation.js +0 -241
  416. package/dist-server/service/vas-order/vas-order-mutation.js.map +0 -1
  417. package/dist-server/service/vas-order/vas-order-query.js +0 -151
  418. package/dist-server/service/vas-order/vas-order-query.js.map +0 -1
  419. package/dist-server/service/vas-order/vas-order-types.js +0 -83
  420. package/dist-server/service/vas-order/vas-order-types.js.map +0 -1
  421. package/dist-server/service/vas-order/vas-order.js +0 -104
  422. package/dist-server/service/vas-order/vas-order.js.map +0 -1
  423. package/dist-server/utils/datetime-util.js +0 -82
  424. package/dist-server/utils/datetime-util.js.map +0 -1
  425. package/dist-server/utils/index.js +0 -20
  426. package/dist-server/utils/index.js.map +0 -1
  427. package/dist-server/utils/inventory-util.js +0 -1098
  428. package/dist-server/utils/inventory-util.js.map +0 -1
  429. package/dist-server/utils/order-no-generator.js +0 -112
  430. package/dist-server/utils/order-no-generator.js.map +0 -1
@@ -1,1132 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- var _a, _b, _c;
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.bulkReleaseGoodsAvailableItemsFunction = exports.ReleaseGoodQuery = void 0;
17
- const type_graphql_1 = require("type-graphql");
18
- const typeorm_1 = require("typeorm");
19
- const attachment_base_1 = require("@things-factory/attachment-base");
20
- const auth_base_1 = require("@things-factory/auth-base");
21
- const biz_base_1 = require("@things-factory/biz-base");
22
- const env_1 = require("@things-factory/env");
23
- const shell_1 = require("@things-factory/shell");
24
- const warehouse_base_1 = require("@things-factory/warehouse-base");
25
- const constants_1 = require("../../constants");
26
- const datetime_util_1 = require("../../utils/datetime-util");
27
- const order_inventory_1 = require("../order-inventory/order-inventory");
28
- const order_package_1 = require("../order-package/order-package");
29
- const release_good_1 = require("./release-good");
30
- const release_good_types_1 = require("./release-good-types");
31
- let ReleaseGoodQuery = class ReleaseGoodQuery {
32
- async releaseGoods(context, params) {
33
- try {
34
- const { domain, user } = context.state;
35
- if (!params.filters.find((filter) => filter.name === 'bizplace')) {
36
- params.filters.push({
37
- name: 'bizplaceId',
38
- operator: 'in',
39
- value: await (0, biz_base_1.getPermittedBizplaceIds)(domain, user),
40
- relation: false
41
- });
42
- }
43
- const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate');
44
- if (fromDateParamIdx >= 0) {
45
- let fromDateVal = new Date(params.filters[fromDateParamIdx].value);
46
- params.filters.splice(fromDateParamIdx, 1);
47
- params.filters.push({
48
- name: 'createdAt',
49
- operator: 'gte',
50
- value: fromDateVal.toISOString(),
51
- relation: false
52
- });
53
- }
54
- const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate');
55
- if (toDateParamIdx >= 0) {
56
- let toDateVal = new Date(params.filters[toDateParamIdx].value);
57
- params.filters.splice(toDateParamIdx, 1);
58
- params.filters.push({
59
- name: 'createdAt',
60
- operator: 'lt',
61
- value: new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),
62
- relation: false
63
- });
64
- }
65
- const qb = (0, typeorm_1.getRepository)(release_good_1.ReleaseGood).createQueryBuilder('rg');
66
- (0, shell_1.buildQuery)(qb, params, context);
67
- let items;
68
- let total;
69
- qb.addSelect('COALESCE("cc".rank, 99999)', 'rank');
70
- qb.leftJoinAndSelect('rg.domain', 'domain');
71
- qb.leftJoinAndSelect('rg.bizplace', 'bizplace');
72
- qb.leftJoinAndSelect('rg.orderInventories', 'oi');
73
- qb.leftJoinAndSelect('rg.orderProducts', 'op');
74
- qb.leftJoinAndSelect('oi.inventory', 'inv');
75
- qb.leftJoinAndSelect('oi.product', 'prod');
76
- qb.leftJoinAndSelect('rg.arrivalNotice', 'an');
77
- qb.leftJoinAndSelect('rg.creator', 'creator');
78
- qb.leftJoinAndSelect('rg.updater', 'updater');
79
- qb.leftJoin(subQuery => {
80
- return subQuery
81
- .select(`ccd.rank`, 'rank')
82
- .addSelect(`ccd.name`, 'status')
83
- .from(`common_code_details`, 'ccd')
84
- .innerJoin(`ccd.commonCode`, 'cc')
85
- .where(`ccd.domain_id = :domainId`, { domainId: domain.id })
86
- .andWhere(`cc.name = 'RO_LIST_STATUS'`);
87
- }, 'cc', 'cc.status = rg.status');
88
- const arrChildSortData = ['bizplace'];
89
- const sort = (params.sortings || []).reduce((acc, sort) => (Object.assign(Object.assign({}, acc), { [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'rg.' + sort.name]: sort.desc
90
- ? 'DESC'
91
- : 'ASC' })), !params.sortings.some(e => e.name === 'status') ? { rank: 'ASC' } : {});
92
- qb.orderBy(sort);
93
- let [itemsRes, totalRes] = await qb.getManyAndCount();
94
- items = itemsRes;
95
- total = totalRes;
96
- return { items, total };
97
- }
98
- catch (error) {
99
- throw error;
100
- }
101
- }
102
- async releaseGood(context, name, trackingNo) {
103
- const { domain, user } = context.state;
104
- if (name) {
105
- return await (0, typeorm_1.getRepository)(release_good_1.ReleaseGood).findOne({
106
- where: {
107
- domain,
108
- name,
109
- bizplace: (0, typeorm_1.In)(await (0, biz_base_1.getPermittedBizplaceIds)(domain, user))
110
- },
111
- relations: [
112
- 'domain',
113
- 'bizplace',
114
- 'shippingOrder',
115
- 'arrivalNotice',
116
- 'orderInventories',
117
- 'orderInventories.product',
118
- 'orderInventories.inventory',
119
- 'orderInventories.inventory.product',
120
- 'orderInventories.inventory.product.productDetails',
121
- 'orderVass',
122
- 'orderVass.vas',
123
- 'creator',
124
- 'updater'
125
- ]
126
- });
127
- }
128
- else if (trackingNo) {
129
- let releaseGood = await (0, typeorm_1.getRepository)(release_good_1.ReleaseGood).findOne({
130
- where: {
131
- domain,
132
- trackingNo,
133
- bizplace: (0, typeorm_1.In)(await (0, biz_base_1.getPermittedBizplaceIds)(domain, user))
134
- },
135
- relations: ['bizplace']
136
- });
137
- if (!releaseGood) {
138
- throw new Error('Tracking No not found in any orders');
139
- }
140
- else {
141
- return releaseGood;
142
- }
143
- }
144
- }
145
- async releaseGoodDetail(context, refNo, name) {
146
- try {
147
- const { domain, tx } = context.state;
148
- let param;
149
- if (name)
150
- param = { domain, name };
151
- else
152
- param = { domain, refNo };
153
- const releaseGood = await tx.getRepository(release_good_1.ReleaseGood).findOne({
154
- where: Object.assign({}, param),
155
- relations: [
156
- 'domain',
157
- 'bizplace',
158
- 'draftReleaseGood',
159
- 'shippingOrder',
160
- 'arrivalNotice',
161
- 'orderProducts',
162
- 'orderProducts.product',
163
- 'orderProducts.productDetail',
164
- 'orderProducts.productBundle',
165
- 'orderPackages',
166
- 'orderVass',
167
- 'orderVass.vas',
168
- 'orderVass.newProduct',
169
- 'orderVass.newProductDetail',
170
- 'orderVass.adjustedNewProduct',
171
- 'orderVass.adjustedNewProductDetail',
172
- 'orderVass.product',
173
- 'orderVass.productDetail',
174
- 'orderVass.adjustedProduct',
175
- 'orderVass.adjustedProductDetail',
176
- 'orderVass.inventory',
177
- 'orderVass.orderVasItems',
178
- 'orderVass.orderVasItems.vas',
179
- 'creator',
180
- 'updater'
181
- ]
182
- });
183
- if (releaseGood) {
184
- let oiQb = tx
185
- .getRepository(order_inventory_1.OrderInventory)
186
- .createQueryBuilder('oi')
187
- .leftJoinAndSelect('oi.inventory', 'inventory')
188
- .leftJoinAndSelect('oi.product', 'product')
189
- .leftJoinAndSelect('oi.productDetail', 'productDetail')
190
- .leftJoinAndSelect('oi.orderProduct', 'orderProduct')
191
- .leftJoinAndSelect('orderProduct.productBundle', 'productBundle')
192
- .leftJoinAndSelect('inventory.location', 'location')
193
- .where('oi.domain_id = :domainId', { domainId: domain.id })
194
- .andWhere('oi.release_good_id = :releaseGoodId', { releaseGoodId: releaseGood.id })
195
- .andWhere('oi.status NOT IN (:...orderInventoryStatus)', {
196
- orderInventoryStatus: [constants_1.ORDER_INVENTORY_STATUS.COMPLETE_SPLIT, constants_1.ORDER_INVENTORY_STATUS.REPLACED]
197
- })
198
- .orderBy('product.sku', 'ASC');
199
- let orderInventories = await oiQb.getMany();
200
- const shippingOrder = releaseGood.shippingOrder;
201
- const foundAttachments = await tx.getRepository(attachment_base_1.Attachment).find({
202
- where: {
203
- domain,
204
- refBy: releaseGood.id,
205
- category: constants_1.ATTACHMENT_TYPE.DELIVERY_ORDER
206
- }
207
- });
208
- const foundInvoiceAttachments = await tx.getRepository(attachment_base_1.Attachment).findOne({
209
- where: {
210
- domain,
211
- refBy: releaseGood.id,
212
- category: constants_1.ATTACHMENT_TYPE.INVOICE
213
- }
214
- });
215
- const foundAwbAttachments = await tx.getRepository(attachment_base_1.Attachment).findOne({
216
- where: {
217
- domain,
218
- refBy: releaseGood.id,
219
- category: constants_1.ATTACHMENT_TYPE.AWB
220
- }
221
- });
222
- let invInfos = await Promise.all(orderInventories.map(async (orderInv) => {
223
- var _a, _b;
224
- if ((_a = orderInv === null || orderInv === void 0 ? void 0 : orderInv.inventory) === null || _a === void 0 ? void 0 : _a.id) {
225
- const inventory = orderInv.inventory;
226
- return {
227
- id: inventory.id,
228
- name: inventory.name,
229
- batchId: inventory.batchId,
230
- batchIdRef: inventory.batchIdRef,
231
- palletId: inventory.palletId,
232
- product: orderInv.product,
233
- productDetail: orderInv.productDetail,
234
- productIdRef: orderInv.product.id,
235
- productName: `${orderInv.product.name} (${orderInv.product.description})`,
236
- packingType: orderInv.packingType,
237
- packingSize: orderInv.packingSize,
238
- orderProduct: orderInv.orderProduct,
239
- productBundle: ((_b = orderInv.orderProduct) === null || _b === void 0 ? void 0 : _b.productBundle) || '',
240
- location: inventory.location,
241
- qty: inventory.qty,
242
- lockedQty: inventory.lockedQty,
243
- lockedUomValue: inventory.lockedUomValue,
244
- uom: inventory.uom,
245
- uomValue: inventory.uomValue,
246
- invStatus: inventory.status,
247
- releaseQty: orderInv.releaseQty,
248
- releaseUomValue: orderInv.releaseUomValue || 0,
249
- status: orderInv.status,
250
- refWorksheetId: orderInv.refWorksheetId
251
- };
252
- }
253
- }));
254
- const result = Object.assign(Object.assign({}, releaseGood), { orderProducts: releaseGood.orderProducts.map(op => (Object.assign(Object.assign({}, op), { releaseUomValue: op.releaseUomValue || 0 }))), attachment: foundAttachments, invoiceAttachment: foundInvoiceAttachments, awbAttachment: foundAwbAttachments, shippingOrderInfo: {
255
- containerNo: (shippingOrder === null || shippingOrder === void 0 ? void 0 : shippingOrder.containerNo) || '',
256
- containerSize: (shippingOrder === null || shippingOrder === void 0 ? void 0 : shippingOrder.containerSize) || '',
257
- containerLeavingDate: (shippingOrder === null || shippingOrder === void 0 ? void 0 : shippingOrder.containerLeavingDate) || '',
258
- containerArrivalDate: (shippingOrder === null || shippingOrder === void 0 ? void 0 : shippingOrder.containerArrivalDate) || '',
259
- containerClosureDate: (shippingOrder === null || shippingOrder === void 0 ? void 0 : shippingOrder.containerClosureDate) || '',
260
- shipName: (shippingOrder === null || shippingOrder === void 0 ? void 0 : shippingOrder.shipName) || '',
261
- remark: (shippingOrder === null || shippingOrder === void 0 ? void 0 : shippingOrder.remark) || '',
262
- remindContainerDeparture: (shippingOrder === null || shippingOrder === void 0 ? void 0 : shippingOrder.remindContainerDeparture) || null
263
- }, inventoryInfos: invInfos });
264
- return result;
265
- }
266
- }
267
- catch (error) {
268
- env_1.logger.error(`release-good-query[releaseGoodDetail]: ${error}`);
269
- throw new Error(error);
270
- }
271
- }
272
- async releaseGoodRequests(context, params) {
273
- var _a, _b, _c;
274
- try {
275
- console.time('t1');
276
- const { domain, user } = context.state;
277
- const statusFilter = params.filters.some(e => e.name === 'status');
278
- const vasStatusFilter = params.filters.find(e => e.name === 'vasStatus');
279
- const bizplaceFilter = params.filters.find(param => param.name === 'bizplaceId');
280
- const noOfItemsFilter = params.filters.find(param => param.name === 'noOfItems');
281
- const transporterFilter = params.filters.find(param => param.name === 'transporter');
282
- const skuFilter = params.filters.find(param => param.name === 'sku');
283
- const routeId = params.filters.find(param => param.name === 'routeId');
284
- const orderRemarkFilter = params.filters.find(param => param.name === 'orderRemark');
285
- const manifestedFilter = params.filters.find(param => param.name === 'manifested');
286
- const orderInfoFilter = params.filters.find(param => param.name === 'name');
287
- const typeFilter = (_a = params.filters.find(param => param.name === 'type')) === null || _a === void 0 ? void 0 : _a.value;
288
- const lmdFilter = params.filters.find(param => param.name === 'lmdOption');
289
- const priorityDeliveryFilter = params.filters.find(param => param.name === 'priorityDelivery');
290
- const platformCodeFilter = params.filters.find(param => param.name === 'platformCode');
291
- const hasVas = params.filters.find(param => param.name === 'hasVas');
292
- //remove vas from params
293
- if (hasVas) {
294
- const vasIdx = params.filters.findIndex(param => param.name === 'hasVas');
295
- params.filters.splice(vasIdx, 1);
296
- }
297
- if (vasStatusFilter) {
298
- const vasStatusIdx = params.filters.findIndex(param => param.name === 'vasStatus');
299
- params.filters.splice(vasStatusIdx, 1);
300
- }
301
- if (await (0, auth_base_1.checkUserBelongsDomain)(domain, user)) {
302
- if (!statusFilter && !params.filters.some(e => e.name === 'name')) {
303
- params.filters.push({
304
- name: 'status',
305
- operator: 'notin',
306
- value: [constants_1.ORDER_STATUS.PENDING, constants_1.ORDER_STATUS.EDITING, ''],
307
- relation: false
308
- });
309
- }
310
- }
311
- if (!bizplaceFilter) {
312
- params.filters.push({
313
- name: 'bizplaceId',
314
- operator: 'in',
315
- value: await (0, biz_base_1.getPermittedBizplaceIds)(domain, user),
316
- relation: false
317
- });
318
- }
319
- if (transporterFilter) {
320
- params.filters = params.filters.filter(param => param.name !== 'transporter');
321
- }
322
- if (platformCodeFilter) {
323
- params.filters = params.filters.filter(param => param.name !== 'platformCode');
324
- }
325
- if (skuFilter) {
326
- params.filters = params.filters.filter(param => param.name !== 'sku');
327
- }
328
- if (orderInfoFilter) {
329
- params.filters = params.filters.filter(param => param.name !== 'name');
330
- }
331
- if (routeId) {
332
- if (routeId.value == true) {
333
- params.filters.find(param => param.name === 'routeId').value = 'null';
334
- }
335
- else {
336
- params.filters.find(param => param.name === 'routeId').operator = 'is_null';
337
- params.filters.find(param => param.name === 'routeId').value = null;
338
- }
339
- }
340
- if (orderRemarkFilter) {
341
- const orderRemarkIdx = params.filters.findIndex(param => param.name === 'orderRemark');
342
- if (orderRemarkFilter.value == true) {
343
- params.filters.splice(orderRemarkIdx, 1);
344
- params.filters.push({
345
- name: 'remark',
346
- operator: 'is_not_null',
347
- value: null,
348
- relation: false
349
- });
350
- }
351
- else {
352
- params.filters.splice(orderRemarkIdx, 1);
353
- params.filters.push({
354
- name: 'remark',
355
- operator: 'is_null',
356
- value: null,
357
- relation: false
358
- });
359
- }
360
- }
361
- if (manifestedFilter) {
362
- const manifestedIdx = params.filters.findIndex(param => param.name === 'manifested');
363
- if (manifestedFilter.value == true) {
364
- params.filters.splice(manifestedIdx, 1);
365
- params.filters.push({
366
- name: 'manifestId',
367
- operator: 'is_not_null',
368
- value: null,
369
- relation: false
370
- });
371
- }
372
- else {
373
- params.filters.splice(manifestedIdx, 1);
374
- params.filters.push({
375
- name: 'manifestId',
376
- operator: 'is_null',
377
- value: null,
378
- relation: false
379
- });
380
- }
381
- }
382
- if (lmdFilter) {
383
- const lmdIdx = params.filters.findIndex(param => param.name === 'lmdOption');
384
- if (lmdFilter.value == true) {
385
- params.filters.splice(lmdIdx, 1);
386
- params.filters.push({
387
- name: 'lmdOption',
388
- operator: 'eq',
389
- value: true,
390
- relation: false
391
- });
392
- }
393
- else {
394
- params.filters.splice(lmdIdx, 1);
395
- params.filters.push({
396
- name: 'lmdOption',
397
- operator: 'eq',
398
- value: false,
399
- relation: false
400
- });
401
- }
402
- }
403
- if (priorityDeliveryFilter) {
404
- const priorityDeliveryIdx = params.filters.findIndex(param => param.name === 'priorityDelivery');
405
- if (priorityDeliveryFilter.value == true) {
406
- params.filters.splice(priorityDeliveryIdx, 1);
407
- params.filters.push({
408
- name: 'priorityDelivery',
409
- operator: 'eq',
410
- value: true,
411
- relation: false
412
- });
413
- }
414
- else {
415
- params.filters.splice(priorityDeliveryIdx, 1);
416
- params.filters.push({
417
- name: 'priorityDelivery',
418
- operator: 'eq',
419
- value: false,
420
- relation: false
421
- });
422
- }
423
- }
424
- const isReleaseDateSearch = params.filters.find(param => param.name === 'isReleaseDateSearch');
425
- const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate');
426
- if (fromDateParamIdx >= 0) {
427
- let fromDateVal = new Date(params.filters[fromDateParamIdx].value);
428
- let releaseDateFrom = (_b = params.filters.find(param => param.name === 'fromDate')) === null || _b === void 0 ? void 0 : _b.value;
429
- params.filters.splice(fromDateParamIdx, 1);
430
- params.filters.push({
431
- name: typeFilter == 'b2c' || isReleaseDateSearch.value ? 'releaseDate' : 'createdAt',
432
- operator: 'gte',
433
- value: typeFilter == 'b2c' || isReleaseDateSearch.value ? releaseDateFrom : fromDateVal.toISOString(),
434
- relation: false
435
- });
436
- }
437
- const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate');
438
- if (toDateParamIdx >= 0) {
439
- let toDateVal = new Date(params.filters[toDateParamIdx].value);
440
- let releaseDateTo = (_c = params.filters.find(param => param.name === 'toDate')) === null || _c === void 0 ? void 0 : _c.value;
441
- params.filters.splice(toDateParamIdx, 1);
442
- params.filters.push({
443
- name: typeFilter == 'b2c' || isReleaseDateSearch.value ? 'releaseDate' : 'createdAt',
444
- operator: typeFilter == 'b2c' || isReleaseDateSearch.value ? 'lte' : 'lt',
445
- value: typeFilter == 'b2c' || isReleaseDateSearch.value
446
- ? releaseDateTo
447
- : new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),
448
- relation: false
449
- });
450
- }
451
- if (!!isReleaseDateSearch)
452
- params.filters.splice(params.filters.findIndex(param => param.name == 'isReleaseDateSearch'), 1);
453
- if (noOfItemsFilter && noOfItemsFilter.value == 1) {
454
- params.filters.find(param => param.name === 'noOfItems').operator = 'eq';
455
- }
456
- const qb = (0, typeorm_1.getRepository)(release_good_1.ReleaseGood).createQueryBuilder('rg');
457
- (0, shell_1.buildQuery)(qb, params, context);
458
- qb.addSelect('COALESCE("cc".rank, 99999)', 'rank');
459
- qb.leftJoinAndSelect('rg.domain', 'domain');
460
- qb.leftJoinAndSelect('rg.bizplace', 'bizplace');
461
- qb.leftJoinAndSelect('rg.arrivalNotice', 'an');
462
- qb.leftJoinAndSelect('rg.sortedBy', 'sorter');
463
- qb.leftJoinAndSelect('rg.creator', 'creator');
464
- qb.leftJoinAndSelect('rg.updater', 'updater');
465
- qb.leftJoinAndSelect('rg.acceptedBy', 'acceptedBy');
466
- qb.leftJoinAndSelect('rg.draftReleaseGood', 'draftReleaseGood');
467
- qb.leftJoinAndSelect('rg.lastMileDelivery', 'lmd');
468
- qb.leftJoinAndSelect('rg.deliverTo', 'deliverTo');
469
- qb.leftJoinAndSelect('rg.orderVass', 'ov');
470
- qb.leftJoin(subQuery => {
471
- return subQuery
472
- .select(`ccd.rank`, 'rank')
473
- .addSelect(`ccd.name`, 'status')
474
- .from(`common_code_details`, 'ccd')
475
- .innerJoin(`ccd.commonCode`, 'cc')
476
- .where(`ccd.domain_id = :domainId`, { domainId: domain.id })
477
- .andWhere(`cc.name = 'RO_REQUESTS_STATUS'`);
478
- }, 'cc', 'cc.status = rg.status');
479
- if (hasVas) {
480
- if (hasVas.value == true) {
481
- qb.andWhere(`ov.release_good_id notnull`);
482
- }
483
- else if (hasVas.value == false && !vasStatusFilter) {
484
- qb.andWhere(`ov.release_good_id is null`);
485
- }
486
- }
487
- if (vasStatusFilter) {
488
- if (vasStatusFilter.value === constants_1.ORDER_VAS_STATUS.PENDING_APPROVE) {
489
- qb.andWhere(`ov.status = :vasStatus`, { vasStatus: vasStatusFilter.value });
490
- }
491
- else {
492
- qb.andWhere(`
493
- ov.status = :vasStatus
494
- AND rg.id not IN (
495
- SELECT
496
- rg2.id
497
- FROM
498
- release_goods rg2
499
- LEFT JOIN order_vass ov2 on ov2.release_good_id = rg2.id
500
- WHERE ov2.status = 'PENDING_APPROVE'
501
- )`, { vasStatus: vasStatusFilter.value });
502
- }
503
- }
504
- if (transporterFilter) {
505
- qb.andWhere(`exists (select id from order_packages op where
506
- op.release_good_id = rg.id
507
- and op.transporter ilike :transporter)`, { transporter: transporterFilter.value });
508
- }
509
- if (platformCodeFilter) {
510
- qb.andWhere(`
511
- rg.platform_code = :platformCode`, { platformCode: platformCodeFilter.value });
512
- }
513
- if (skuFilter) {
514
- let removeSymbol = skuFilter.value
515
- .split('')
516
- .filter(res => res !== '%')
517
- .join('');
518
- let products = removeSymbol
519
- .toLowerCase()
520
- .split(',')
521
- .map(prod => {
522
- return "'%" + prod.trim().replace(/'/g, "''") + "%'";
523
- })
524
- .join(',');
525
- qb.andWhere(`
526
- exists (
527
- select oi.id from order_inventories oi
528
- inner join products p on oi.product_id = p.id
529
- where oi.release_good_id = rg.id
530
- and (lower(p.sku) like any(array[${products}])
531
- or lower(p.brand_sku) like any(array[${products}])
532
- or lower(p.name) like any(array[${products}])
533
- or lower(p.description) like any(array[${products}]))
534
- )
535
- `);
536
- }
537
- if (orderInfoFilter) {
538
- let removeSymbol = orderInfoFilter.value
539
- .split('')
540
- .filter(res => res !== '%')
541
- .join('');
542
- let orderInfos = removeSymbol
543
- .toLowerCase()
544
- .split(',')
545
- .map(prod => {
546
- return "'%" + prod.trim().replace(/'/g, "''") + "%'";
547
- })
548
- .join(',');
549
- qb.andWhere(`(
550
- lower(rg.name) like any(array[${orderInfos}])
551
- or lower(rg.ref_no) like any(array[${orderInfos}])
552
- or lower(rg.ref_no_2) like any(array[${orderInfos}])
553
- or lower(rg.ref_no_3) like any(array[${orderInfos}])
554
- or lower(draftReleaseGood.name) like any(array[${orderInfos}])
555
- )`);
556
- }
557
- const arrChildSortData = ['bizplace', 'creator'];
558
- const sort = (params.sortings || []).reduce((acc, sort) => (Object.assign(Object.assign({}, acc), { [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'rg.' + sort.name]: sort.desc
559
- ? 'DESC'
560
- : 'ASC' })), params.sortings.length < 1 ? { rank: 'ASC', 'rg.createdAt': 'DESC' } : {});
561
- qb.orderBy(sort);
562
- let [items, total] = await qb.getManyAndCount();
563
- items = await Promise.all(items
564
- .filter(item => {
565
- return item.domainId === domain.id;
566
- })
567
- .map(async (item) => {
568
- const orderPackages = await (0, typeorm_1.getRepository)(order_package_1.OrderPackage).find({
569
- where: { releaseGood: item, domain, bizplace: item.bizplace }
570
- });
571
- let newPlatformCode;
572
- if (item.platformCode) {
573
- if (item.platformCode == 'LZD') {
574
- newPlatformCode = 'Lazada';
575
- }
576
- else if (item.platformCode == 'SHP') {
577
- newPlatformCode = 'Shopee';
578
- }
579
- else if (item.platformCode == 'TTK') {
580
- newPlatformCode = 'Tiktok';
581
- }
582
- else if (item.platformCode == 'SPF') {
583
- newPlatformCode = 'Shopify';
584
- }
585
- }
586
- if (item.lastMileDelivery &&
587
- item.lastMileDelivery.isTms &&
588
- item.lastMileDelivery.platform === 'VERSA_FLEET') {
589
- item.refNo2 = item.vehicleNo ? item.vehicleNo : item.refNo2;
590
- }
591
- return Object.assign(Object.assign({}, item), { platformCode: newPlatformCode ? newPlatformCode : item.platformCode, transporter: (orderPackages === null || orderPackages === void 0 ? void 0 : orderPackages.length)
592
- ? [
593
- ...new Set(orderPackages.map(op => {
594
- return op.transporter;
595
- }))
596
- ].join(', ')
597
- : null, orderRemark: (item === null || item === void 0 ? void 0 : item.remark) ? true : false });
598
- }));
599
- console.timeEnd('t1');
600
- return { items, total };
601
- }
602
- catch (error) {
603
- env_1.logger.error(`release-good-query[releaseGoodRequests]: ${error}`);
604
- throw error;
605
- }
606
- }
607
- async releasableInventories(context, filters, pagination, sortings) {
608
- const myBizplace = await (0, biz_base_1.getMyBizplace)(context.state.domain, context.state.user);
609
- const INV_ALIAS = 'INV';
610
- const PROD_ALIAS = 'PROD';
611
- const GAN_ALIAS = 'GAN';
612
- const conditions = filters;
613
- let { batchId = null, containerNo = null, product = [], packingType = null, inventory = [] } = getConditionValues(conditions);
614
- const SELECT = `
615
- SELECT
616
- ${INV_ALIAS}.batch_id,
617
- ${INV_ALIAS}.packing_type,
618
- (SUM(COALESCE(${INV_ALIAS}.qty, 0)) - SUM(COALESCE(${INV_ALIAS}.locked_qty, 0))) as remain_qty,
619
- (SUM(COALESCE(${INV_ALIAS}.uomValue, 0)) - SUM(COALESCE(${INV_ALIAS}.locked_uom_value, 0))) as remain_uom_value,
620
- ${PROD_ALIAS}.id as product_id,
621
- ${PROD_ALIAS}.name as product_name,
622
- ${GAN_ALIAS}.container_no
623
- `;
624
- const FROM = `
625
- FROM
626
- inventories ${INV_ALIAS}
627
- LEFT JOIN
628
- products ${PROD_ALIAS}
629
- ON
630
- ${PROD_ALIAS}.id = ${INV_ALIAS}.product_id
631
- LEFT JOIN
632
- arrival_notices ${GAN_ALIAS}
633
- ON
634
- ${GAN_ALIAS}.id = CAST(${INV_ALIAS}.ref_order_id as uuid)
635
- `;
636
- const WHERE = `
637
- WHERE
638
- ${INV_ALIAS}.status = 'STORED'
639
- AND ${INV_ALIAS}.qty > 0
640
- AND ${INV_ALIAS}.bizplace_id = '${myBizplace.id}'
641
- ${batchId ? `AND LOWER(${INV_ALIAS}.batch_id) LIKE '%${batchId.toLowerCase()}%'` : ''}
642
- ${packingType ? `AND LOWER(${INV_ALIAS}.packing_type) LIKE '%${packingType.toLowerCase()}%'` : ''}
643
- ${containerNo ? `AND LOWER(${GAN_ALIAS}.container_no) LIKE '%${containerNo.toLowerCase()}%'` : ''}
644
- ${(product === null || product === void 0 ? void 0 : product.length) > 0 && product[0]
645
- ? `AND ${PROD_ALIAS}.id IN (${product.map((id) => `'${id}'`).join(', ')})`
646
- : product[0] === null
647
- ? `AND ${PROD_ALIAS}.id isnull`
648
- : ''}
649
- ${(inventory === null || inventory === void 0 ? void 0 : inventory.length) > 0
650
- ? `
651
- AND (${INV_ALIAS}.batch_id, ${PROD_ALIAS}.id) ${filters.find((filter) => filter.name === 'inventory')
652
- .operator} (
653
- ${inventory
654
- .map((inv) => `('${inv.batchId}', '${inv.productId}')`)
655
- .join(', ')}
656
- )
657
- `
658
- : ''}
659
- `;
660
- // ${product?.length > 0 ? `AND ${PROD_ALIAS}.id IN (${product.map((id: string) => id ? `'${id}'` : null).join(', ')})` : ''}
661
- const GROUP_BY = `
662
- GROUP BY
663
- ${INV_ALIAS}.batch_id,
664
- ${INV_ALIAS}.packing_type,
665
- ${GAN_ALIAS}.container_no,
666
- ${PROD_ALIAS}.id
667
- `;
668
- const OFFSET_LIMIT = `
669
- OFFSET ${pagination.limit * (pagination.page - 1)}
670
- LIMIT ${pagination.limit}
671
- `;
672
- const invRepo = (0, typeorm_1.getRepository)(warehouse_base_1.Inventory);
673
- let items = await invRepo.query(`
674
- ${SELECT} ${FROM} ${WHERE} ${GROUP_BY} ${OFFSET_LIMIT}
675
- `);
676
- items = items.map((item) => {
677
- return {
678
- batchId: item.batch_id,
679
- packingType: item.packing_type,
680
- remainQty: item.remain_qty,
681
- remainUomValue: item.remain_uom_value,
682
- productName: item.product_name,
683
- product: {
684
- id: item.product_id,
685
- name: item.product_name
686
- },
687
- containerNo: item.container_no
688
- };
689
- });
690
- const results = await invRepo.query(`
691
- SELECT max(cnt.cnt) as total FROM (
692
- SELECT (ROW_NUMBER() OVER()) as cnt ${FROM} ${WHERE} ${GROUP_BY}
693
- ) as cnt
694
- `);
695
- return {
696
- items,
697
- total: Number(results[0].total)
698
- };
699
- }
700
- async bulkReleaseGoodsAvailableItems(context, rawReleaseGoods, bizplaceId) {
701
- const { tx } = context.state;
702
- const availableItems = await bulkReleaseGoodsAvailableItemsFunction(rawReleaseGoods, bizplaceId, context, tx);
703
- return availableItems;
704
- }
705
- async domain(releaseGood) {
706
- return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(releaseGood.domainId);
707
- }
708
- async creator(releaseGood) {
709
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(releaseGood.creatorId);
710
- }
711
- async updater(releaseGood) {
712
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(releaseGood.updaterId);
713
- }
714
- };
715
- __decorate([
716
- (0, type_graphql_1.Directive)('@privilege(category: "order_customer", privilege: "query")'),
717
- (0, type_graphql_1.Query)(returns => release_good_types_1.ReleaseGoodList),
718
- __param(0, (0, type_graphql_1.Ctx)()),
719
- __param(1, (0, type_graphql_1.Args)()),
720
- __metadata("design:type", Function),
721
- __metadata("design:paramtypes", [Object, typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object]),
722
- __metadata("design:returntype", Promise)
723
- ], ReleaseGoodQuery.prototype, "releaseGoods", null);
724
- __decorate([
725
- (0, type_graphql_1.Directive)('@privilege(category: "order", privilege: "query")'),
726
- (0, type_graphql_1.Query)(returns => release_good_1.ReleaseGood),
727
- __param(0, (0, type_graphql_1.Ctx)()),
728
- __param(1, (0, type_graphql_1.Arg)('name', { nullable: true })),
729
- __param(2, (0, type_graphql_1.Arg)('trackingNo', { nullable: true })),
730
- __metadata("design:type", Function),
731
- __metadata("design:paramtypes", [Object, String, String]),
732
- __metadata("design:returntype", Promise)
733
- ], ReleaseGoodQuery.prototype, "releaseGood", null);
734
- __decorate([
735
- (0, type_graphql_1.Directive)('@privilege(category: "order", privilege: "query")'),
736
- (0, type_graphql_1.Directive)('@transaction'),
737
- (0, type_graphql_1.Query)(returns => release_good_1.ReleaseGood),
738
- __param(0, (0, type_graphql_1.Ctx)()),
739
- __param(1, (0, type_graphql_1.Arg)('refNo', { nullable: true })),
740
- __param(2, (0, type_graphql_1.Arg)('name', { nullable: true })),
741
- __metadata("design:type", Function),
742
- __metadata("design:paramtypes", [Object, String, String]),
743
- __metadata("design:returntype", Promise)
744
- ], ReleaseGoodQuery.prototype, "releaseGoodDetail", null);
745
- __decorate([
746
- (0, type_graphql_1.Directive)('@privilege(category: "order_warehouse", privilege: "query")'),
747
- (0, type_graphql_1.Query)(returns => release_good_types_1.ReleaseGoodList),
748
- __param(0, (0, type_graphql_1.Ctx)()),
749
- __param(1, (0, type_graphql_1.Args)()),
750
- __metadata("design:type", Function),
751
- __metadata("design:paramtypes", [Object, typeof (_b = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _b : Object]),
752
- __metadata("design:returntype", Promise)
753
- ], ReleaseGoodQuery.prototype, "releaseGoodRequests", null);
754
- __decorate([
755
- (0, type_graphql_1.Directive)('@privilege(category: "order", privilege: "query")'),
756
- (0, type_graphql_1.Query)(returns => release_good_types_1.ReleasableInventoryList),
757
- __param(0, (0, type_graphql_1.Ctx)()),
758
- __param(1, (0, type_graphql_1.Arg)('filters', type => [shell_1.Filter], { nullable: true })),
759
- __param(2, (0, type_graphql_1.Arg)('pagination', type => shell_1.Pagination, { nullable: true })),
760
- __param(3, (0, type_graphql_1.Arg)('sortings', type => [shell_1.Sorting], { nullable: true })),
761
- __metadata("design:type", Function),
762
- __metadata("design:paramtypes", [Object, Array, typeof (_c = typeof shell_1.Pagination !== "undefined" && shell_1.Pagination) === "function" ? _c : Object, Array]),
763
- __metadata("design:returntype", Promise)
764
- ], ReleaseGoodQuery.prototype, "releasableInventories", null);
765
- __decorate([
766
- (0, type_graphql_1.Directive)('@transaction'),
767
- (0, type_graphql_1.Query)(returns => [release_good_1.ReleaseGood]),
768
- __param(0, (0, type_graphql_1.Ctx)()),
769
- __param(1, (0, type_graphql_1.Arg)('rawReleaseGoods', type => [release_good_types_1.NewReleaseGood], { nullable: true })),
770
- __param(2, (0, type_graphql_1.Arg)('bizplaceId', type => String)),
771
- __metadata("design:type", Function),
772
- __metadata("design:paramtypes", [Object, Array, String]),
773
- __metadata("design:returntype", Promise)
774
- ], ReleaseGoodQuery.prototype, "bulkReleaseGoodsAvailableItems", null);
775
- __decorate([
776
- (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
777
- __param(0, (0, type_graphql_1.Root)()),
778
- __metadata("design:type", Function),
779
- __metadata("design:paramtypes", [release_good_1.ReleaseGood]),
780
- __metadata("design:returntype", Promise)
781
- ], ReleaseGoodQuery.prototype, "domain", null);
782
- __decorate([
783
- (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
784
- __param(0, (0, type_graphql_1.Root)()),
785
- __metadata("design:type", Function),
786
- __metadata("design:paramtypes", [release_good_1.ReleaseGood]),
787
- __metadata("design:returntype", Promise)
788
- ], ReleaseGoodQuery.prototype, "creator", null);
789
- __decorate([
790
- (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
791
- __param(0, (0, type_graphql_1.Root)()),
792
- __metadata("design:type", Function),
793
- __metadata("design:paramtypes", [release_good_1.ReleaseGood]),
794
- __metadata("design:returntype", Promise)
795
- ], ReleaseGoodQuery.prototype, "updater", null);
796
- ReleaseGoodQuery = __decorate([
797
- (0, type_graphql_1.Resolver)(release_good_1.ReleaseGood)
798
- ], ReleaseGoodQuery);
799
- exports.ReleaseGoodQuery = ReleaseGoodQuery;
800
- async function prepOITempTable(domain, tx) {
801
- await tx.query(`
802
- CREATE TEMP TABLE oi ON COMMIT DROP AS (
803
- SELECT
804
- SUM(oi.release_qty) as release_qty,
805
- SUM(oi.release_uom_value) as release_uom_value,
806
- oi.batch_id,
807
- p.id as product_id,
808
- oi.packing_type
809
- FROM
810
- order_inventories oi
811
- LEFT JOIN
812
- products p
813
- ON
814
- oi.product_id = p.id
815
- WHERE
816
- oi.status IN ('PENDING', 'PENDING_RECEIVE', 'PENDING_WORKSHEET', 'PENDING_SPLIT')
817
- AND oi.batch_id NOTNULL
818
- AND oi.product_id NOTNULL
819
- AND oi.packing_type NOTNULL
820
- AND oi.inventory_id IS NULL
821
- AND oi.domain_id = $1
822
- GROUP BY
823
- oi.product_id,
824
- oi.batch_id,
825
- oi.packing_type,
826
- p.id
827
- )`, [domain.id]);
828
- }
829
- async function getAvailableAmount(roBizId, productIdRef, batchId, packingType, tx) {
830
- const result = await tx.getRepository(warehouse_base_1.Inventory).query(`
831
- SELECT
832
- SUM(COALESCE(i.qty, 0)) - SUM(COALESCE(i.locked_qty, 0)) - MAX(COALESCE(oi.release_qty, 0)) as "qty",
833
- SUM(COALESCE(i.uom_value, 0)) - SUM(COALESCE(i.locked_uom_value, 0)) - MAX(COALESCE(oi.release_uom_value, 0)) as "uom_value",
834
- uom
835
- FROM
836
- inventories i
837
- LEFT JOIN products p on i.product_id = p.id
838
- LEFT JOIN oi on i.batch_id = oi.batch_id
839
- AND p.id = oi.product_id
840
- AND i.packing_type = oi.packing_type
841
- WHERE
842
- i.bizplace_id = '${roBizId}'
843
- AND i.status = 'STORED'
844
- AND i.batch_id = '${batchId}'
845
- AND p.id = '${productIdRef}'
846
- AND i.packing_type = '${packingType}'
847
- GROUP BY
848
- i.batch_id,
849
- p.id,
850
- i.packing_type,
851
- i.uom
852
- `);
853
- let qty = 0;
854
- let uomValue = 0;
855
- let uom = '';
856
- if (result === null || result === void 0 ? void 0 : result.length) {
857
- qty = result[0].qty;
858
- uomValue = result[0].uom_value;
859
- uom = result[0].uom;
860
- }
861
- return { qty, uomValue, uom };
862
- }
863
- async function dropOITempTable(domain, tx) {
864
- await tx.query(`DROP TABLE oi`);
865
- }
866
- async function bulkReleaseGoodsAvailableItemsFunction(rawReleaseGoods, bizplaceId, context, tx) {
867
- const { domain } = context.state;
868
- const companyBizplaceId = await (0, biz_base_1.getCompanyBizplace)(null, null, bizplaceId);
869
- if (!rawReleaseGoods)
870
- return;
871
- const json_oi = JSON.stringify(rawReleaseGoods.map(raw => {
872
- return {
873
- sku: raw.sku,
874
- packing_type: raw.packingType,
875
- packing_size: raw.packingSize,
876
- uom: raw.uom,
877
- releaseQty: raw.releaseQty,
878
- release_qty: raw.releaseQty
879
- };
880
- }));
881
- await tx.query(`
882
- CREATE TEMP TABLE raw_release_goods(
883
- product_id VARCHAR(50),
884
- product_detail_id VARCHAR(50),
885
- sku VARCHAR(150),
886
- product_info VARCHAR(250),
887
- packing_type VARCHAR(50),
888
- packing_size FLOAT,
889
- uom VARCHAR(10),
890
- release_qty NUMERIC(15,3)
891
- );
892
- `);
893
- await tx.query(`
894
- INSERT INTO raw_release_goods
895
- SELECT p.id AS product_id,
896
- pd.id AS product_detail_id,
897
- js.sku,
898
- CASE WHEN p.description NOT IN (NULL, '', '-') THEN CONCAT(p.name, '(', p.description, ')')
899
- ELSE p.name END AS product_info,
900
- pd.packing_type,
901
- pd.packing_size,
902
- pd.uom
903
- FROM JSON_POPULATE_RECORDSET(NULL::raw_release_goods, $1) js
904
- LEFT JOIN products p ON LOWER(js.sku) = LOWER(p.sku) AND p.bizplace_id = $2
905
- LEFT JOIN product_details pd ON p.id = pd.product_id and pd.deleted_at ISNULL
906
- AND CASE WHEN js.packing_type NOTNULL AND js.packing_size NOTNULL AND js.uom NOTNULL
907
- THEN LOWER(pd.packing_type) = LOWER(js.packing_type) AND pd.packing_size = js.packing_size AND LOWER(pd.uom) = LOWER(js.uom)
908
- WHEN js.packing_type NOTNULL AND js.packing_size NOTNULL AND js.uom ISNULL
909
- THEN LOWER(pd.packing_type) = LOWER(js.packing_type) AND pd.packing_size = js.packing_size AND pd.is_default IS TRUE
910
- WHEN js.packing_type ISNULL AND js.packing_size ISNULL AND js.uom NOTNULL
911
- THEN LOWER(pd.uom) = LOWER(js.uom) AND pd.is_default IS TRUE ELSE pd.is_default IS TRUE
912
- END;
913
- `, [json_oi, companyBizplaceId.id]);
914
- const useDetailedQuery = rawReleaseGoods.some(raw => raw.batchId || raw.cartonId || raw.expirationDate);
915
- let availableItems = await tx.query(`
916
- WITH inv AS (
917
- SELECT i.product_id, foo.product_detail_id, foo.sku, foo.product_info, i.packing_type, i.packing_size, i.uom,
918
- ${useDetailedQuery ? ' i.batch_id, i.carton_id, i.expiration_date,' : ''}
919
- SUM(i.qty - COALESCE(i.locked_qty, 0)) - COALESCE(
920
- (
921
- SELECT SUM(oi.release_qty) FROM order_inventories oi
922
- WHERE oi.status IN ('PENDING', 'PENDING_RECEIVE', 'PENDING_WORKSHEET', 'PENDING_SPLIT')
923
- AND oi.inventory_id IS null
924
- AND oi.product_id = i.product_id::uuid
925
- AND oi.packing_type = i.packing_type
926
- AND oi.uom = i.uom
927
- AND oi.domain_id = $1
928
- AND oi.bizplace_id = $2
929
- ), 0) as "remain_qty",
930
- SUM(i.uom_value - COALESCE(i.locked_uom_value, 0)) - COALESCE(
931
- (
932
- SELECT SUM(oi.release_uom_value) FROM order_inventories oi
933
- WHERE oi.status IN ('PENDING', 'PENDING_RECEIVE', 'PENDING_WORKSHEET', 'PENDING_SPLIT')
934
- AND oi.inventory_id IS null
935
- AND oi.product_id = i.product_id::uuid
936
- AND oi.packing_type = i.packing_type
937
- AND oi.uom = i.uom
938
- AND oi.domain_id = $1
939
- AND oi.bizplace_id = $2
940
- ), 0) as "remain_uom_value",
941
- p.is_inventory_decimal
942
- FROM inventories i
943
- INNER JOIN locations l ON i.location_id = l.id
944
- LEFT JOIN products p ON i.product_id = p.id
945
- INNER JOIN (
946
- SELECT rrg.product_id, rrg.product_detail_id, rrg.sku, rrg.product_info, rrg.packing_type, rrg.packing_size, rrg.uom
947
- FROM raw_release_goods rrg
948
- GROUP BY rrg.product_id, rrg.product_detail_id, rrg.sku, rrg.product_info, rrg.packing_type, rrg.packing_size, rrg.uom
949
- ) AS foo
950
- ON i.product_id = foo.product_id::uuid
951
- AND i.packing_type = foo.packing_type
952
- AND i.packing_size = foo.packing_size
953
- AND i.uom = foo.uom
954
- AND i.domain_id = $1
955
- AND i.bizplace_id = $2
956
- WHERE l.type NOT IN ($3, $4)
957
- AND i.status = 'STORED'
958
- AND i.obsolete = false
959
- AND i.transfer_qty <= 0
960
- AND i.transfer_uom_value <= 0
961
- GROUP BY i.product_id, foo.product_detail_id, foo.sku, foo.product_info, i.packing_type, i.packing_size, i.uom, p.is_inventory_decimal
962
- ${useDetailedQuery ? ', i.batch_id, i.carton_id, i.expiration_date' : ''}
963
- ORDER BY foo.sku, remain_qty DESC
964
- ) SELECT * FROM inv WHERE remain_qty > 0
965
- `, [domain.id, bizplaceId, warehouse_base_1.LOCATION_TYPE.QUARANTINE, warehouse_base_1.LOCATION_TYPE.RESERVE]);
966
- await tx.query(`DROP TABLE raw_release_goods`);
967
- availableItems = availableItems.map(item => {
968
- const mappedItem = {
969
- productId: item.product_id,
970
- productDetailId: item.product_detail_id,
971
- productInfo: item.product_info,
972
- sku: item.sku,
973
- packingType: item.packing_type,
974
- packingSize: Number(item.packing_size || 0),
975
- uom: item.uom,
976
- remainQty: item.remain_qty,
977
- remainUomValue: item.remain_uom_value,
978
- batchId: item.batch_id ? item.batch_id : null,
979
- cartonId: item.carton_id ? item.carton_id : null,
980
- expirationDate: item.expiration_date ? _getStdDateStr(new Date(item.expiration_date)) : null,
981
- isInventoryDecimal: item.is_inventory_decimal === true
982
- };
983
- return mappedItem;
984
- });
985
- return _extractData(rawReleaseGoods, availableItems);
986
- }
987
- exports.bulkReleaseGoodsAvailableItemsFunction = bulkReleaseGoodsAvailableItemsFunction;
988
- function _extractData(rawData, validatedData) {
989
- return rawData.map(raw => {
990
- var _a, _b;
991
- let errMsg;
992
- let comparison = ['packingType', 'packingSize', 'uom'];
993
- let data = validatedData;
994
- raw.releaseDate = raw.releaseDate ? (0, datetime_util_1.convertExcelDateToISO)(raw.releaseDate) : null;
995
- raw.expirationDate = raw.expirationDate ? (0, datetime_util_1.convertExcelDateToISO)(raw.expirationDate) : null;
996
- if (raw.batchId) {
997
- data = data.filter(val => val.batchId === raw.batchId);
998
- comparison.push('batchId');
999
- if (!data.length)
1000
- errMsg = errMsg ? errMsg : 'batch no not matched';
1001
- }
1002
- if (raw.cartonId) {
1003
- data = data.filter(val => val.cartonId === raw.cartonId);
1004
- comparison.push('cartonId');
1005
- if (!data.length)
1006
- errMsg = errMsg ? errMsg : 'carton id not matched';
1007
- }
1008
- if (raw.expirationDate) {
1009
- data = data.filter(val => val.expirationDate === raw.expirationDate);
1010
- comparison.push('expirationDate');
1011
- if (!data.length)
1012
- errMsg = errMsg ? errMsg : 'expiration date not matched';
1013
- }
1014
- const idx = data.findIndex(val => {
1015
- let a = {}, b = {};
1016
- comparison.forEach(cc => {
1017
- if (raw[cc]) {
1018
- a[cc] = raw[cc];
1019
- b[cc] = val[cc];
1020
- }
1021
- });
1022
- a = JSON.stringify(Object.fromEntries(Object.entries(a).sort()));
1023
- b = JSON.stringify(Object.fromEntries(Object.entries(b).sort()));
1024
- return val.sku.toLowerCase() == raw.sku.toLowerCase() && a === b;
1025
- });
1026
- let releaseUomValue = 0;
1027
- // if sku is matched, assign qty and product id
1028
- if (idx >= 0) {
1029
- // assign qty to rawData as much as possible
1030
- releaseUomValue = (Math.round((((_a = data[idx]) === null || _a === void 0 ? void 0 : _a.remainUomValue) / ((_b = data[idx]) === null || _b === void 0 ? void 0 : _b.remainQty)) * 1000) / 1000) * raw.releaseQty;
1031
- raw.assignedQty =
1032
- Math.round((data[idx].remainQty >= raw.releaseQty
1033
- ? raw.releaseQty > 0
1034
- ? raw.releaseQty
1035
- : 0
1036
- : data[idx].remainQty) * 1000) / 1000;
1037
- raw.assignedUomValue =
1038
- Math.round((data[idx].remainUomValue >= releaseUomValue
1039
- ? releaseUomValue > 0
1040
- ? releaseUomValue
1041
- : 0
1042
- : data[idx].remainUomValue) * 1000) / 1000;
1043
- // deduct qty & uomValue from validateData
1044
- data[idx].remainQty -= raw.assignedQty;
1045
- data[idx].remainUomValue -= raw.assignedUomValue;
1046
- raw.productId = data[idx].productId;
1047
- raw.productDetailId = data[idx].productDetailId;
1048
- raw.productInfo = data[idx].productInfo;
1049
- raw.packingType = data[idx].packingType;
1050
- raw.packingSize = data[idx].packingSize;
1051
- raw.uom = data[idx].uom;
1052
- raw.isInventoryDecimal = data[idx].isInventoryDecimal === true;
1053
- }
1054
- else {
1055
- raw.assignedQty = 0;
1056
- raw.assignedUomValue = 0;
1057
- raw.productId = null;
1058
- }
1059
- const dateRegex = /^\d{4}-\d{2}-\d{2}$/;
1060
- return Object.assign(Object.assign({}, raw), { releaseUomValue, errorMsg: (() => {
1061
- const errors = [];
1062
- if (errMsg) {
1063
- errors.push(errMsg);
1064
- }
1065
- if (!raw.productId || !raw.productDetailId) {
1066
- errors.push('inventory or product not found');
1067
- }
1068
- if (raw.releaseQty <= 0) {
1069
- errors.push('invalid release qty');
1070
- }
1071
- if (raw.releaseQty % 1 !== 0 && raw.isInventoryDecimal !== true) {
1072
- errors.push('decimal quantities are not allowed for this product');
1073
- }
1074
- if (raw.assignedQty < raw.releaseQty) {
1075
- errors.push('insufficient stock');
1076
- }
1077
- if (!dateRegex.test(raw.releaseDate)) {
1078
- errors.push('invalid release date format. please use dd/mm/yyyy');
1079
- }
1080
- if (raw.releaseDate === '') {
1081
- errors.push('release date is empty');
1082
- }
1083
- if (raw.releaseDate < _getStdDateStr(new Date())) {
1084
- errors.push('backdate is not allowed');
1085
- }
1086
- if (!raw.refNo || raw.refNo === '') {
1087
- errors.push('ref no is empty');
1088
- }
1089
- if ((raw === null || raw === void 0 ? void 0 : raw.type) === 'b2c') {
1090
- if (!raw.attentionTo)
1091
- errors.push('attention to is empty');
1092
- if (!raw.postalCode)
1093
- errors.push('postal code is empty');
1094
- if (!raw.country)
1095
- errors.push('country is empty');
1096
- if (!raw.deliveryAddress1)
1097
- errors.push('delivery address 1 is empty');
1098
- if (!raw.city)
1099
- errors.push('city is empty');
1100
- if (!raw.phone1)
1101
- errors.push('contact is empty');
1102
- if (!raw.state)
1103
- errors.push('state is empty');
1104
- if ((raw.codOption && !raw.paidAmount) || raw.paidAmount < 0 || raw.paidAmount == null) {
1105
- errors.push('invalid paid amount');
1106
- }
1107
- if ((raw === null || raw === void 0 ? void 0 : raw.expirationDate) != null && !dateRegex.test(raw === null || raw === void 0 ? void 0 : raw.expirationDate)) {
1108
- errors.push('invalid expiration date format. please use dd/mm/yyyy');
1109
- }
1110
- if (raw.airwayBill && raw.lmdOption === true) {
1111
- errors.push('kindly remove AWB as LMD is marked as true');
1112
- }
1113
- }
1114
- return errors.length > 0 ? errors.join(', ') : ''; // Combine all errors into a single string
1115
- })() });
1116
- });
1117
- }
1118
- function getConditionValues(conditions) {
1119
- return conditions.reduce((condition, cond) => {
1120
- condition = Object.assign(Object.assign({}, condition), { [cond.name]: cond.value });
1121
- return condition;
1122
- }, {});
1123
- }
1124
- function _getStdDateStr(date) {
1125
- if (isNaN(date.getFullYear()))
1126
- return '';
1127
- else {
1128
- date.setHours(date.getHours() + 8);
1129
- return date.toISOString().split('T')[0];
1130
- }
1131
- }
1132
- //# sourceMappingURL=release-good-query.js.map