@things-factory/sales-base 4.3.650 → 4.3.651

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 (429) hide show
  1. package/package.json +5 -5
  2. package/dist-server/constants/attachment-type.js +0 -15
  3. package/dist-server/constants/attachment-type.js.map +0 -1
  4. package/dist-server/constants/index.js +0 -24
  5. package/dist-server/constants/index.js.map +0 -1
  6. package/dist-server/constants/load-type.js +0 -8
  7. package/dist-server/constants/load-type.js.map +0 -1
  8. package/dist-server/constants/order.js +0 -235
  9. package/dist-server/constants/order.js.map +0 -1
  10. package/dist-server/constants/product-group-type.js +0 -8
  11. package/dist-server/constants/product-group-type.js.map +0 -1
  12. package/dist-server/constants/release-good.js +0 -13
  13. package/dist-server/constants/release-good.js.map +0 -1
  14. package/dist-server/constants/transfer-order-type.js +0 -9
  15. package/dist-server/constants/transfer-order-type.js.map +0 -1
  16. package/dist-server/constants/validation-error-code.js +0 -7
  17. package/dist-server/constants/validation-error-code.js.map +0 -1
  18. package/dist-server/constants/vas-target-type.js +0 -26
  19. package/dist-server/constants/vas-target-type.js.map +0 -1
  20. package/dist-server/controllers/ecommerce/ecommerce-controller.js +0 -138
  21. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +0 -1
  22. package/dist-server/controllers/ecommerce/index.js +0 -21
  23. package/dist-server/controllers/ecommerce/index.js.map +0 -1
  24. package/dist-server/controllers/ecommerce/powrup-controller.js +0 -690
  25. package/dist-server/controllers/ecommerce/powrup-controller.js.map +0 -1
  26. package/dist-server/controllers/ecommerce/sellercraft-controller.js +0 -148
  27. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +0 -1
  28. package/dist-server/controllers/ecommerce/webspert-controller.js +0 -237
  29. package/dist-server/controllers/ecommerce/webspert-controller.js.map +0 -1
  30. package/dist-server/controllers/index.js +0 -19
  31. package/dist-server/controllers/index.js.map +0 -1
  32. package/dist-server/controllers/order-controller.js +0 -244
  33. package/dist-server/controllers/order-controller.js.map +0 -1
  34. package/dist-server/errors/index.js +0 -18
  35. package/dist-server/errors/index.js.map +0 -1
  36. package/dist-server/errors/validation-error.js +0 -41
  37. package/dist-server/errors/validation-error.js.map +0 -1
  38. package/dist-server/index.js +0 -30
  39. package/dist-server/index.js.map +0 -1
  40. package/dist-server/migrations/index.js +0 -12
  41. package/dist-server/migrations/index.js.map +0 -1
  42. package/dist-server/service/arrival-notice/arrival-notice-mutation.js +0 -1085
  43. package/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +0 -1
  44. package/dist-server/service/arrival-notice/arrival-notice-query.js +0 -634
  45. package/dist-server/service/arrival-notice/arrival-notice-query.js.map +0 -1
  46. package/dist-server/service/arrival-notice/arrival-notice-types.js +0 -443
  47. package/dist-server/service/arrival-notice/arrival-notice-types.js.map +0 -1
  48. package/dist-server/service/arrival-notice/arrival-notice.js +0 -259
  49. package/dist-server/service/arrival-notice/arrival-notice.js.map +0 -1
  50. package/dist-server/service/arrival-notice/index.js +0 -25
  51. package/dist-server/service/arrival-notice/index.js.map +0 -1
  52. package/dist-server/service/claim/claim-mutation.js +0 -243
  53. package/dist-server/service/claim/claim-mutation.js.map +0 -1
  54. package/dist-server/service/claim/claim-query.js +0 -165
  55. package/dist-server/service/claim/claim-query.js.map +0 -1
  56. package/dist-server/service/claim/claim-types.js +0 -191
  57. package/dist-server/service/claim/claim-types.js.map +0 -1
  58. package/dist-server/service/claim/claim.js +0 -176
  59. package/dist-server/service/claim/claim.js.map +0 -1
  60. package/dist-server/service/claim/index.js +0 -25
  61. package/dist-server/service/claim/index.js.map +0 -1
  62. package/dist-server/service/claim-detail/claim-detail-mutation.js +0 -110
  63. package/dist-server/service/claim-detail/claim-detail-mutation.js.map +0 -1
  64. package/dist-server/service/claim-detail/claim-detail-query.js +0 -90
  65. package/dist-server/service/claim-detail/claim-detail-query.js.map +0 -1
  66. package/dist-server/service/claim-detail/claim-detail-types.js +0 -81
  67. package/dist-server/service/claim-detail/claim-detail-types.js.map +0 -1
  68. package/dist-server/service/claim-detail/claim-detail.js +0 -102
  69. package/dist-server/service/claim-detail/claim-detail.js.map +0 -1
  70. package/dist-server/service/claim-detail/index.js +0 -25
  71. package/dist-server/service/claim-detail/index.js.map +0 -1
  72. package/dist-server/service/claim-order/claim-order-mutation.js +0 -110
  73. package/dist-server/service/claim-order/claim-order-mutation.js.map +0 -1
  74. package/dist-server/service/claim-order/claim-order-query.js +0 -86
  75. package/dist-server/service/claim-order/claim-order-query.js.map +0 -1
  76. package/dist-server/service/claim-order/claim-order-types.js +0 -65
  77. package/dist-server/service/claim-order/claim-order-types.js.map +0 -1
  78. package/dist-server/service/claim-order/claim-order.js +0 -104
  79. package/dist-server/service/claim-order/claim-order.js.map +0 -1
  80. package/dist-server/service/claim-order/index.js +0 -25
  81. package/dist-server/service/claim-order/index.js.map +0 -1
  82. package/dist-server/service/collection-order/collection-order-mutation.js +0 -241
  83. package/dist-server/service/collection-order/collection-order-mutation.js.map +0 -1
  84. package/dist-server/service/collection-order/collection-order-query.js +0 -125
  85. package/dist-server/service/collection-order/collection-order-query.js.map +0 -1
  86. package/dist-server/service/collection-order/collection-order-types.js +0 -241
  87. package/dist-server/service/collection-order/collection-order-types.js.map +0 -1
  88. package/dist-server/service/collection-order/collection-order.js +0 -183
  89. package/dist-server/service/collection-order/collection-order.js.map +0 -1
  90. package/dist-server/service/collection-order/index.js +0 -25
  91. package/dist-server/service/collection-order/index.js.map +0 -1
  92. package/dist-server/service/delivery-order/delivery-order-mutation.js +0 -746
  93. package/dist-server/service/delivery-order/delivery-order-mutation.js.map +0 -1
  94. package/dist-server/service/delivery-order/delivery-order-query.js +0 -570
  95. package/dist-server/service/delivery-order/delivery-order-query.js.map +0 -1
  96. package/dist-server/service/delivery-order/delivery-order-types.js +0 -397
  97. package/dist-server/service/delivery-order/delivery-order-types.js.map +0 -1
  98. package/dist-server/service/delivery-order/delivery-order.js +0 -365
  99. package/dist-server/service/delivery-order/delivery-order.js.map +0 -1
  100. package/dist-server/service/delivery-order/index.js +0 -25
  101. package/dist-server/service/delivery-order/index.js.map +0 -1
  102. package/dist-server/service/draft-release-good/draft-release-good-create.js +0 -647
  103. package/dist-server/service/draft-release-good/draft-release-good-create.js.map +0 -1
  104. package/dist-server/service/draft-release-good/draft-release-good-mutation.js +0 -486
  105. package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +0 -1
  106. package/dist-server/service/draft-release-good/draft-release-good-query.js +0 -366
  107. package/dist-server/service/draft-release-good/draft-release-good-query.js.map +0 -1
  108. package/dist-server/service/draft-release-good/draft-release-good-type.js +0 -424
  109. package/dist-server/service/draft-release-good/draft-release-good-type.js.map +0 -1
  110. package/dist-server/service/draft-release-good/draft-release-good.js +0 -444
  111. package/dist-server/service/draft-release-good/draft-release-good.js.map +0 -1
  112. package/dist-server/service/draft-release-good/index.js +0 -29
  113. package/dist-server/service/draft-release-good/index.js.map +0 -1
  114. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js +0 -140
  115. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js.map +0 -1
  116. package/dist-server/service/goods-receival-note/goods-receival-note-query.js +0 -273
  117. package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +0 -1
  118. package/dist-server/service/goods-receival-note/goods-receival-note-types.js +0 -159
  119. package/dist-server/service/goods-receival-note/goods-receival-note-types.js.map +0 -1
  120. package/dist-server/service/goods-receival-note/goods-receival-note.js +0 -156
  121. package/dist-server/service/goods-receival-note/goods-receival-note.js.map +0 -1
  122. package/dist-server/service/goods-receival-note/index.js +0 -25
  123. package/dist-server/service/goods-receival-note/index.js.map +0 -1
  124. package/dist-server/service/index.js +0 -282
  125. package/dist-server/service/index.js.map +0 -1
  126. package/dist-server/service/inventory-check/index.js +0 -25
  127. package/dist-server/service/inventory-check/index.js.map +0 -1
  128. package/dist-server/service/inventory-check/inventory-check-mutation.js +0 -151
  129. package/dist-server/service/inventory-check/inventory-check-mutation.js.map +0 -1
  130. package/dist-server/service/inventory-check/inventory-check-query.js +0 -138
  131. package/dist-server/service/inventory-check/inventory-check-query.js.map +0 -1
  132. package/dist-server/service/inventory-check/inventory-check-types.js +0 -82
  133. package/dist-server/service/inventory-check/inventory-check-types.js.map +0 -1
  134. package/dist-server/service/inventory-check/inventory-check.js +0 -115
  135. package/dist-server/service/inventory-check/inventory-check.js.map +0 -1
  136. package/dist-server/service/inventory-check-item/index.js +0 -25
  137. package/dist-server/service/inventory-check-item/index.js.map +0 -1
  138. package/dist-server/service/inventory-check-item/inventory-check-item-mutation.js +0 -120
  139. package/dist-server/service/inventory-check-item/inventory-check-item-mutation.js.map +0 -1
  140. package/dist-server/service/inventory-check-item/inventory-check-item-query.js +0 -196
  141. package/dist-server/service/inventory-check-item/inventory-check-item-query.js.map +0 -1
  142. package/dist-server/service/inventory-check-item/inventory-check-item-types.js +0 -157
  143. package/dist-server/service/inventory-check-item/inventory-check-item-types.js.map +0 -1
  144. package/dist-server/service/inventory-check-item/inventory-check-item.js +0 -273
  145. package/dist-server/service/inventory-check-item/inventory-check-item.js.map +0 -1
  146. package/dist-server/service/invoice/index.js +0 -25
  147. package/dist-server/service/invoice/index.js.map +0 -1
  148. package/dist-server/service/invoice/invoice-mutation.js +0 -105
  149. package/dist-server/service/invoice/invoice-mutation.js.map +0 -1
  150. package/dist-server/service/invoice/invoice-query.js +0 -94
  151. package/dist-server/service/invoice/invoice-query.js.map +0 -1
  152. package/dist-server/service/invoice/invoice-types.js +0 -388
  153. package/dist-server/service/invoice/invoice-types.js.map +0 -1
  154. package/dist-server/service/invoice/invoice.js +0 -312
  155. package/dist-server/service/invoice/invoice.js.map +0 -1
  156. package/dist-server/service/invoice-product/index.js +0 -25
  157. package/dist-server/service/invoice-product/index.js.map +0 -1
  158. package/dist-server/service/invoice-product/invoice-product-mutation.js +0 -70
  159. package/dist-server/service/invoice-product/invoice-product-mutation.js.map +0 -1
  160. package/dist-server/service/invoice-product/invoice-product-query.js +0 -95
  161. package/dist-server/service/invoice-product/invoice-product-query.js.map +0 -1
  162. package/dist-server/service/invoice-product/invoice-product-types.js +0 -131
  163. package/dist-server/service/invoice-product/invoice-product-types.js.map +0 -1
  164. package/dist-server/service/invoice-product/invoice-product.js +0 -130
  165. package/dist-server/service/invoice-product/invoice-product.js.map +0 -1
  166. package/dist-server/service/job-sheet/index.js +0 -25
  167. package/dist-server/service/job-sheet/index.js.map +0 -1
  168. package/dist-server/service/job-sheet/job-sheet-mutation.js +0 -93
  169. package/dist-server/service/job-sheet/job-sheet-mutation.js.map +0 -1
  170. package/dist-server/service/job-sheet/job-sheet-query.js +0 -134
  171. package/dist-server/service/job-sheet/job-sheet-query.js.map +0 -1
  172. package/dist-server/service/job-sheet/job-sheet-types.js +0 -113
  173. package/dist-server/service/job-sheet/job-sheet-types.js.map +0 -1
  174. package/dist-server/service/job-sheet/job-sheet.js +0 -132
  175. package/dist-server/service/job-sheet/job-sheet.js.map +0 -1
  176. package/dist-server/service/manifest/index.js +0 -9
  177. package/dist-server/service/manifest/index.js.map +0 -1
  178. package/dist-server/service/manifest/manifest-mutation.js +0 -264
  179. package/dist-server/service/manifest/manifest-mutation.js.map +0 -1
  180. package/dist-server/service/manifest/manifest-query.js +0 -228
  181. package/dist-server/service/manifest/manifest-query.js.map +0 -1
  182. package/dist-server/service/manifest/manifest-type.js +0 -183
  183. package/dist-server/service/manifest/manifest-type.js.map +0 -1
  184. package/dist-server/service/manifest/manifest.js +0 -134
  185. package/dist-server/service/manifest/manifest.js.map +0 -1
  186. package/dist-server/service/order-consignment/index.js +0 -9
  187. package/dist-server/service/order-consignment/index.js.map +0 -1
  188. package/dist-server/service/order-consignment/order-consignment-mutation.js +0 -120
  189. package/dist-server/service/order-consignment/order-consignment-mutation.js.map +0 -1
  190. package/dist-server/service/order-consignment/order-consignment-query.js +0 -87
  191. package/dist-server/service/order-consignment/order-consignment-query.js.map +0 -1
  192. package/dist-server/service/order-consignment/order-consignment-type.js +0 -69
  193. package/dist-server/service/order-consignment/order-consignment-type.js.map +0 -1
  194. package/dist-server/service/order-consignment/order-consignment.js +0 -115
  195. package/dist-server/service/order-consignment/order-consignment.js.map +0 -1
  196. package/dist-server/service/order-inventory/index.js +0 -25
  197. package/dist-server/service/order-inventory/index.js.map +0 -1
  198. package/dist-server/service/order-inventory/order-inventory-mutation.js +0 -80
  199. package/dist-server/service/order-inventory/order-inventory-mutation.js.map +0 -1
  200. package/dist-server/service/order-inventory/order-inventory-query.js +0 -592
  201. package/dist-server/service/order-inventory/order-inventory-query.js.map +0 -1
  202. package/dist-server/service/order-inventory/order-inventory-types.js +0 -341
  203. package/dist-server/service/order-inventory/order-inventory-types.js.map +0 -1
  204. package/dist-server/service/order-inventory/order-inventory.js +0 -785
  205. package/dist-server/service/order-inventory/order-inventory.js.map +0 -1
  206. package/dist-server/service/order-package/index.js +0 -9
  207. package/dist-server/service/order-package/index.js.map +0 -1
  208. package/dist-server/service/order-package/order-package-mutation.js +0 -120
  209. package/dist-server/service/order-package/order-package-mutation.js.map +0 -1
  210. package/dist-server/service/order-package/order-package-query.js +0 -142
  211. package/dist-server/service/order-package/order-package-query.js.map +0 -1
  212. package/dist-server/service/order-package/order-package-types.js +0 -113
  213. package/dist-server/service/order-package/order-package-types.js.map +0 -1
  214. package/dist-server/service/order-package/order-package.js +0 -229
  215. package/dist-server/service/order-package/order-package.js.map +0 -1
  216. package/dist-server/service/order-package-item/index.js +0 -9
  217. package/dist-server/service/order-package-item/index.js.map +0 -1
  218. package/dist-server/service/order-package-item/order-package-item-mutation.js +0 -120
  219. package/dist-server/service/order-package-item/order-package-item-mutation.js.map +0 -1
  220. package/dist-server/service/order-package-item/order-package-item-query.js +0 -127
  221. package/dist-server/service/order-package-item/order-package-item-query.js.map +0 -1
  222. package/dist-server/service/order-package-item/order-package-item-types.js +0 -99
  223. package/dist-server/service/order-package-item/order-package-item-types.js.map +0 -1
  224. package/dist-server/service/order-package-item/order-package-item.js +0 -162
  225. package/dist-server/service/order-package-item/order-package-item.js.map +0 -1
  226. package/dist-server/service/order-product/index.js +0 -25
  227. package/dist-server/service/order-product/index.js.map +0 -1
  228. package/dist-server/service/order-product/order-product-mutation.js +0 -74
  229. package/dist-server/service/order-product/order-product-mutation.js.map +0 -1
  230. package/dist-server/service/order-product/order-product-query.js +0 -125
  231. package/dist-server/service/order-product/order-product-query.js.map +0 -1
  232. package/dist-server/service/order-product/order-product-types.js +0 -489
  233. package/dist-server/service/order-product/order-product-types.js.map +0 -1
  234. package/dist-server/service/order-product/order-product.js +0 -559
  235. package/dist-server/service/order-product/order-product.js.map +0 -1
  236. package/dist-server/service/order-tote/index.js +0 -25
  237. package/dist-server/service/order-tote/index.js.map +0 -1
  238. package/dist-server/service/order-tote/order-tote-mutation.js +0 -56
  239. package/dist-server/service/order-tote/order-tote-mutation.js.map +0 -1
  240. package/dist-server/service/order-tote/order-tote-query.js +0 -123
  241. package/dist-server/service/order-tote/order-tote-query.js.map +0 -1
  242. package/dist-server/service/order-tote/order-tote-types.js +0 -79
  243. package/dist-server/service/order-tote/order-tote-types.js.map +0 -1
  244. package/dist-server/service/order-tote/order-tote.js +0 -92
  245. package/dist-server/service/order-tote/order-tote.js.map +0 -1
  246. package/dist-server/service/order-tote-item/index.js +0 -25
  247. package/dist-server/service/order-tote-item/index.js.map +0 -1
  248. package/dist-server/service/order-tote-item/order-tote-item-mutation.js +0 -56
  249. package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +0 -1
  250. package/dist-server/service/order-tote-item/order-tote-item-query.js +0 -100
  251. package/dist-server/service/order-tote-item/order-tote-item-query.js.map +0 -1
  252. package/dist-server/service/order-tote-item/order-tote-item-types.js +0 -91
  253. package/dist-server/service/order-tote-item/order-tote-item-types.js.map +0 -1
  254. package/dist-server/service/order-tote-item/order-tote-item.js +0 -118
  255. package/dist-server/service/order-tote-item/order-tote-item.js.map +0 -1
  256. package/dist-server/service/order-tote-seal/index.js +0 -25
  257. package/dist-server/service/order-tote-seal/index.js.map +0 -1
  258. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js +0 -56
  259. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +0 -1
  260. package/dist-server/service/order-tote-seal/order-tote-seal-query.js +0 -97
  261. package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +0 -1
  262. package/dist-server/service/order-tote-seal/order-tote-seal-types.js +0 -71
  263. package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +0 -1
  264. package/dist-server/service/order-tote-seal/order-tote-seal.js +0 -71
  265. package/dist-server/service/order-tote-seal/order-tote-seal.js.map +0 -1
  266. package/dist-server/service/order-vas/index.js +0 -25
  267. package/dist-server/service/order-vas/index.js.map +0 -1
  268. package/dist-server/service/order-vas/order-vas-mutation.js +0 -148
  269. package/dist-server/service/order-vas/order-vas-mutation.js.map +0 -1
  270. package/dist-server/service/order-vas/order-vas-query.js +0 -148
  271. package/dist-server/service/order-vas/order-vas-query.js.map +0 -1
  272. package/dist-server/service/order-vas/order-vas-types.js +0 -348
  273. package/dist-server/service/order-vas/order-vas-types.js.map +0 -1
  274. package/dist-server/service/order-vas/order-vas.js +0 -476
  275. package/dist-server/service/order-vas/order-vas.js.map +0 -1
  276. package/dist-server/service/order-vas-item/index.js +0 -9
  277. package/dist-server/service/order-vas-item/index.js.map +0 -1
  278. package/dist-server/service/order-vas-item/order-vas-item-mutation.js +0 -164
  279. package/dist-server/service/order-vas-item/order-vas-item-mutation.js.map +0 -1
  280. package/dist-server/service/order-vas-item/order-vas-item-query.js +0 -99
  281. package/dist-server/service/order-vas-item/order-vas-item-query.js.map +0 -1
  282. package/dist-server/service/order-vas-item/order-vas-item-type.js +0 -131
  283. package/dist-server/service/order-vas-item/order-vas-item-type.js.map +0 -1
  284. package/dist-server/service/order-vas-item/order-vas-item.js +0 -166
  285. package/dist-server/service/order-vas-item/order-vas-item.js.map +0 -1
  286. package/dist-server/service/others/index.js +0 -21
  287. package/dist-server/service/others/index.js.map +0 -1
  288. package/dist-server/service/others/other-query.js +0 -536
  289. package/dist-server/service/others/other-query.js.map +0 -1
  290. package/dist-server/service/others/other-types.js +0 -181
  291. package/dist-server/service/others/other-types.js.map +0 -1
  292. package/dist-server/service/purchase-order/index.js +0 -25
  293. package/dist-server/service/purchase-order/index.js.map +0 -1
  294. package/dist-server/service/purchase-order/purchase-order-mutation.js +0 -398
  295. package/dist-server/service/purchase-order/purchase-order-mutation.js.map +0 -1
  296. package/dist-server/service/purchase-order/purchase-order-query.js +0 -126
  297. package/dist-server/service/purchase-order/purchase-order-query.js.map +0 -1
  298. package/dist-server/service/purchase-order/purchase-order-types.js +0 -240
  299. package/dist-server/service/purchase-order/purchase-order-types.js.map +0 -1
  300. package/dist-server/service/purchase-order/purchase-order.js +0 -236
  301. package/dist-server/service/purchase-order/purchase-order.js.map +0 -1
  302. package/dist-server/service/purchase-order-other-charge/index.js +0 -25
  303. package/dist-server/service/purchase-order-other-charge/index.js.map +0 -1
  304. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js +0 -56
  305. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js.map +0 -1
  306. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js +0 -87
  307. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js.map +0 -1
  308. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js +0 -77
  309. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js.map +0 -1
  310. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js +0 -101
  311. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js.map +0 -1
  312. package/dist-server/service/release-good/index.js +0 -25
  313. package/dist-server/service/release-good/index.js.map +0 -1
  314. package/dist-server/service/release-good/release-good-mutation.js +0 -1598
  315. package/dist-server/service/release-good/release-good-mutation.js.map +0 -1
  316. package/dist-server/service/release-good/release-good-query.js +0 -1131
  317. package/dist-server/service/release-good/release-good-query.js.map +0 -1
  318. package/dist-server/service/release-good/release-good-types.js +0 -1043
  319. package/dist-server/service/release-good/release-good-types.js.map +0 -1
  320. package/dist-server/service/release-good/release-good.js +0 -817
  321. package/dist-server/service/release-good/release-good.js.map +0 -1
  322. package/dist-server/service/release-good-logs/index.js +0 -11
  323. package/dist-server/service/release-good-logs/index.js.map +0 -1
  324. package/dist-server/service/release-good-logs/release-good-logs-mutation.js +0 -126
  325. package/dist-server/service/release-good-logs/release-good-logs-mutation.js.map +0 -1
  326. package/dist-server/service/release-good-logs/release-good-logs-query.js +0 -71
  327. package/dist-server/service/release-good-logs/release-good-logs-query.js.map +0 -1
  328. package/dist-server/service/release-good-logs/release-good-logs-type.js +0 -65
  329. package/dist-server/service/release-good-logs/release-good-logs-type.js.map +0 -1
  330. package/dist-server/service/release-good-logs/release-good-logs.js +0 -96
  331. package/dist-server/service/release-good-logs/release-good-logs.js.map +0 -1
  332. package/dist-server/service/replenishment/index.js +0 -9
  333. package/dist-server/service/replenishment/index.js.map +0 -1
  334. package/dist-server/service/replenishment/replenishment-mutation.js +0 -234
  335. package/dist-server/service/replenishment/replenishment-mutation.js.map +0 -1
  336. package/dist-server/service/replenishment/replenishment-query.js +0 -185
  337. package/dist-server/service/replenishment/replenishment-query.js.map +0 -1
  338. package/dist-server/service/replenishment/replenishment-type.js +0 -119
  339. package/dist-server/service/replenishment/replenishment-type.js.map +0 -1
  340. package/dist-server/service/replenishment/replenishment.js +0 -114
  341. package/dist-server/service/replenishment/replenishment.js.map +0 -1
  342. package/dist-server/service/retail-replenishment-order/index.js +0 -25
  343. package/dist-server/service/retail-replenishment-order/index.js.map +0 -1
  344. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js +0 -314
  345. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js.map +0 -1
  346. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js +0 -89
  347. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js.map +0 -1
  348. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js +0 -148
  349. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js.map +0 -1
  350. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js +0 -141
  351. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js.map +0 -1
  352. package/dist-server/service/return-order/index.js +0 -25
  353. package/dist-server/service/return-order/index.js.map +0 -1
  354. package/dist-server/service/return-order/return-order-mutation.js +0 -451
  355. package/dist-server/service/return-order/return-order-mutation.js.map +0 -1
  356. package/dist-server/service/return-order/return-order-query.js +0 -243
  357. package/dist-server/service/return-order/return-order-query.js.map +0 -1
  358. package/dist-server/service/return-order/return-order-types.js +0 -274
  359. package/dist-server/service/return-order/return-order-types.js.map +0 -1
  360. package/dist-server/service/return-order/return-order.js +0 -159
  361. package/dist-server/service/return-order/return-order.js.map +0 -1
  362. package/dist-server/service/reverse-kitting-order/index.js +0 -25
  363. package/dist-server/service/reverse-kitting-order/index.js.map +0 -1
  364. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js +0 -407
  365. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js.map +0 -1
  366. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js +0 -222
  367. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +0 -1
  368. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js +0 -230
  369. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js.map +0 -1
  370. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js +0 -145
  371. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +0 -1
  372. package/dist-server/service/reverse-kitting-order-inventory/index.js +0 -25
  373. package/dist-server/service/reverse-kitting-order-inventory/index.js.map +0 -1
  374. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js +0 -130
  375. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js.map +0 -1
  376. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js +0 -87
  377. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js.map +0 -1
  378. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js +0 -143
  379. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js.map +0 -1
  380. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js +0 -178
  381. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +0 -1
  382. package/dist-server/service/shipping-order/index.js +0 -25
  383. package/dist-server/service/shipping-order/index.js.map +0 -1
  384. package/dist-server/service/shipping-order/shipping-order-mutation.js +0 -78
  385. package/dist-server/service/shipping-order/shipping-order-mutation.js.map +0 -1
  386. package/dist-server/service/shipping-order/shipping-order-query.js +0 -96
  387. package/dist-server/service/shipping-order/shipping-order-query.js.map +0 -1
  388. package/dist-server/service/shipping-order/shipping-order-types.js +0 -137
  389. package/dist-server/service/shipping-order/shipping-order-types.js.map +0 -1
  390. package/dist-server/service/shipping-order/shipping-order.js +0 -165
  391. package/dist-server/service/shipping-order/shipping-order.js.map +0 -1
  392. package/dist-server/service/transfer-order/index.js +0 -25
  393. package/dist-server/service/transfer-order/index.js.map +0 -1
  394. package/dist-server/service/transfer-order/transfer-order-mutation.js +0 -252
  395. package/dist-server/service/transfer-order/transfer-order-mutation.js.map +0 -1
  396. package/dist-server/service/transfer-order/transfer-order-query.js +0 -104
  397. package/dist-server/service/transfer-order/transfer-order-query.js.map +0 -1
  398. package/dist-server/service/transfer-order/transfer-order-types.js +0 -148
  399. package/dist-server/service/transfer-order/transfer-order-types.js.map +0 -1
  400. package/dist-server/service/transfer-order/transfer-order.js +0 -146
  401. package/dist-server/service/transfer-order/transfer-order.js.map +0 -1
  402. package/dist-server/service/vas/index.js +0 -25
  403. package/dist-server/service/vas/index.js.map +0 -1
  404. package/dist-server/service/vas/vas-mutation.js +0 -560
  405. package/dist-server/service/vas/vas-mutation.js.map +0 -1
  406. package/dist-server/service/vas/vas-query.js +0 -114
  407. package/dist-server/service/vas/vas-query.js.map +0 -1
  408. package/dist-server/service/vas/vas-types.js +0 -113
  409. package/dist-server/service/vas/vas-types.js.map +0 -1
  410. package/dist-server/service/vas/vas.js +0 -114
  411. package/dist-server/service/vas/vas.js.map +0 -1
  412. package/dist-server/service/vas-order/index.js +0 -25
  413. package/dist-server/service/vas-order/index.js.map +0 -1
  414. package/dist-server/service/vas-order/vas-order-mutation.js +0 -241
  415. package/dist-server/service/vas-order/vas-order-mutation.js.map +0 -1
  416. package/dist-server/service/vas-order/vas-order-query.js +0 -151
  417. package/dist-server/service/vas-order/vas-order-query.js.map +0 -1
  418. package/dist-server/service/vas-order/vas-order-types.js +0 -83
  419. package/dist-server/service/vas-order/vas-order-types.js.map +0 -1
  420. package/dist-server/service/vas-order/vas-order.js +0 -104
  421. package/dist-server/service/vas-order/vas-order.js.map +0 -1
  422. package/dist-server/utils/datetime-util.js +0 -82
  423. package/dist-server/utils/datetime-util.js.map +0 -1
  424. package/dist-server/utils/index.js +0 -20
  425. package/dist-server/utils/index.js.map +0 -1
  426. package/dist-server/utils/inventory-util.js +0 -1098
  427. package/dist-server/utils/inventory-util.js.map +0 -1
  428. package/dist-server/utils/order-no-generator.js +0 -112
  429. package/dist-server/utils/order-no-generator.js.map +0 -1
@@ -1,1131 +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.obsolete = false
958
- AND i.transfer_qty <= 0
959
- AND i.transfer_uom_value <= 0
960
- 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
961
- ${useDetailedQuery ? ', i.batch_id, i.carton_id, i.expiration_date' : ''}
962
- ORDER BY foo.sku, remain_qty DESC
963
- ) SELECT * FROM inv WHERE remain_qty > 0
964
- `, [domain.id, bizplaceId, warehouse_base_1.LOCATION_TYPE.QUARANTINE, warehouse_base_1.LOCATION_TYPE.RESERVE]);
965
- await tx.query(`DROP TABLE raw_release_goods`);
966
- availableItems = availableItems.map(item => {
967
- const mappedItem = {
968
- productId: item.product_id,
969
- productDetailId: item.product_detail_id,
970
- productInfo: item.product_info,
971
- sku: item.sku,
972
- packingType: item.packing_type,
973
- packingSize: Number(item.packing_size || 0),
974
- uom: item.uom,
975
- remainQty: item.remain_qty,
976
- remainUomValue: item.remain_uom_value,
977
- batchId: item.batch_id ? item.batch_id : null,
978
- cartonId: item.carton_id ? item.carton_id : null,
979
- expirationDate: item.expiration_date ? _getStdDateStr(new Date(item.expiration_date)) : null,
980
- isInventoryDecimal: item.is_inventory_decimal === true
981
- };
982
- return mappedItem;
983
- });
984
- return _extractData(rawReleaseGoods, availableItems);
985
- }
986
- exports.bulkReleaseGoodsAvailableItemsFunction = bulkReleaseGoodsAvailableItemsFunction;
987
- function _extractData(rawData, validatedData) {
988
- return rawData.map(raw => {
989
- var _a, _b;
990
- let errMsg;
991
- let comparison = ['packingType', 'packingSize', 'uom'];
992
- let data = validatedData;
993
- raw.releaseDate = raw.releaseDate ? (0, datetime_util_1.convertExcelDateToISO)(raw.releaseDate) : null;
994
- raw.expirationDate = raw.expirationDate ? (0, datetime_util_1.convertExcelDateToISO)(raw.expirationDate) : null;
995
- if (raw.batchId) {
996
- data = data.filter(val => val.batchId === raw.batchId);
997
- comparison.push('batchId');
998
- if (!data.length)
999
- errMsg = errMsg ? errMsg : 'batch no not matched';
1000
- }
1001
- if (raw.cartonId) {
1002
- data = data.filter(val => val.cartonId === raw.cartonId);
1003
- comparison.push('cartonId');
1004
- if (!data.length)
1005
- errMsg = errMsg ? errMsg : 'carton id not matched';
1006
- }
1007
- if (raw.expirationDate) {
1008
- data = data.filter(val => val.expirationDate === raw.expirationDate);
1009
- comparison.push('expirationDate');
1010
- if (!data.length)
1011
- errMsg = errMsg ? errMsg : 'expiration date not matched';
1012
- }
1013
- const idx = data.findIndex(val => {
1014
- let a = {}, b = {};
1015
- comparison.forEach(cc => {
1016
- if (raw[cc]) {
1017
- a[cc] = raw[cc];
1018
- b[cc] = val[cc];
1019
- }
1020
- });
1021
- a = JSON.stringify(Object.fromEntries(Object.entries(a).sort()));
1022
- b = JSON.stringify(Object.fromEntries(Object.entries(b).sort()));
1023
- return val.sku.toLowerCase() == raw.sku.toLowerCase() && a === b;
1024
- });
1025
- let releaseUomValue = 0;
1026
- // if sku is matched, assign qty and product id
1027
- if (idx >= 0) {
1028
- // assign qty to rawData as much as possible
1029
- 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;
1030
- raw.assignedQty =
1031
- Math.round((data[idx].remainQty >= raw.releaseQty
1032
- ? raw.releaseQty > 0
1033
- ? raw.releaseQty
1034
- : 0
1035
- : data[idx].remainQty) * 1000) / 1000;
1036
- raw.assignedUomValue =
1037
- Math.round((data[idx].remainUomValue >= releaseUomValue
1038
- ? releaseUomValue > 0
1039
- ? releaseUomValue
1040
- : 0
1041
- : data[idx].remainUomValue) * 1000) / 1000;
1042
- // deduct qty & uomValue from validateData
1043
- data[idx].remainQty -= raw.assignedQty;
1044
- data[idx].remainUomValue -= raw.assignedUomValue;
1045
- raw.productId = data[idx].productId;
1046
- raw.productDetailId = data[idx].productDetailId;
1047
- raw.productInfo = data[idx].productInfo;
1048
- raw.packingType = data[idx].packingType;
1049
- raw.packingSize = data[idx].packingSize;
1050
- raw.uom = data[idx].uom;
1051
- raw.isInventoryDecimal = data[idx].isInventoryDecimal === true;
1052
- }
1053
- else {
1054
- raw.assignedQty = 0;
1055
- raw.assignedUomValue = 0;
1056
- raw.productId = null;
1057
- }
1058
- const dateRegex = /^\d{4}-\d{2}-\d{2}$/;
1059
- return Object.assign(Object.assign({}, raw), { releaseUomValue, errorMsg: (() => {
1060
- const errors = [];
1061
- if (errMsg) {
1062
- errors.push(errMsg);
1063
- }
1064
- if (!raw.productId || !raw.productDetailId) {
1065
- errors.push('inventory or product not found');
1066
- }
1067
- if (raw.releaseQty <= 0) {
1068
- errors.push('invalid release qty');
1069
- }
1070
- if (raw.releaseQty % 1 !== 0 && raw.isInventoryDecimal !== true) {
1071
- errors.push('decimal quantities are not allowed for this product');
1072
- }
1073
- if (raw.assignedQty < raw.releaseQty) {
1074
- errors.push('insufficient stock');
1075
- }
1076
- if (!dateRegex.test(raw.releaseDate)) {
1077
- errors.push('invalid release date format. please use dd/mm/yyyy');
1078
- }
1079
- if (raw.releaseDate === '') {
1080
- errors.push('release date is empty');
1081
- }
1082
- if (raw.releaseDate < _getStdDateStr(new Date())) {
1083
- errors.push('backdate is not allowed');
1084
- }
1085
- if (!raw.refNo || raw.refNo === '') {
1086
- errors.push('ref no is empty');
1087
- }
1088
- if ((raw === null || raw === void 0 ? void 0 : raw.type) === 'b2c') {
1089
- if (!raw.attentionTo)
1090
- errors.push('attention to is empty');
1091
- if (!raw.postalCode)
1092
- errors.push('postal code is empty');
1093
- if (!raw.country)
1094
- errors.push('country is empty');
1095
- if (!raw.deliveryAddress1)
1096
- errors.push('delivery address 1 is empty');
1097
- if (!raw.city)
1098
- errors.push('city is empty');
1099
- if (!raw.phone1)
1100
- errors.push('contact is empty');
1101
- if (!raw.state)
1102
- errors.push('state is empty');
1103
- if ((raw.codOption && !raw.paidAmount) || raw.paidAmount < 0 || raw.paidAmount == null) {
1104
- errors.push('invalid paid amount');
1105
- }
1106
- if ((raw === null || raw === void 0 ? void 0 : raw.expirationDate) != null && !dateRegex.test(raw === null || raw === void 0 ? void 0 : raw.expirationDate)) {
1107
- errors.push('invalid expiration date format. please use dd/mm/yyyy');
1108
- }
1109
- if (raw.airwayBill && raw.lmdOption === true) {
1110
- errors.push('kindly remove AWB as LMD is marked as true');
1111
- }
1112
- }
1113
- return errors.length > 0 ? errors.join(', ') : ''; // Combine all errors into a single string
1114
- })() });
1115
- });
1116
- }
1117
- function getConditionValues(conditions) {
1118
- return conditions.reduce((condition, cond) => {
1119
- condition = Object.assign(Object.assign({}, condition), { [cond.name]: cond.value });
1120
- return condition;
1121
- }, {});
1122
- }
1123
- function _getStdDateStr(date) {
1124
- if (isNaN(date.getFullYear()))
1125
- return '';
1126
- else {
1127
- date.setHours(date.getHours() + 8);
1128
- return date.toISOString().split('T')[0];
1129
- }
1130
- }
1131
- //# sourceMappingURL=release-good-query.js.map