@things-factory/sales-base 4.3.651 → 4.3.653

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/dist-server/constants/attachment-type.js +15 -0
  2. package/dist-server/constants/attachment-type.js.map +1 -0
  3. package/dist-server/constants/index.js +24 -0
  4. package/dist-server/constants/index.js.map +1 -0
  5. package/dist-server/constants/load-type.js +8 -0
  6. package/dist-server/constants/load-type.js.map +1 -0
  7. package/dist-server/constants/order.js +235 -0
  8. package/dist-server/constants/order.js.map +1 -0
  9. package/dist-server/constants/product-group-type.js +8 -0
  10. package/dist-server/constants/product-group-type.js.map +1 -0
  11. package/dist-server/constants/release-good.js +13 -0
  12. package/dist-server/constants/release-good.js.map +1 -0
  13. package/dist-server/constants/transfer-order-type.js +9 -0
  14. package/dist-server/constants/transfer-order-type.js.map +1 -0
  15. package/dist-server/constants/validation-error-code.js +7 -0
  16. package/dist-server/constants/validation-error-code.js.map +1 -0
  17. package/dist-server/constants/vas-target-type.js +26 -0
  18. package/dist-server/constants/vas-target-type.js.map +1 -0
  19. package/dist-server/controllers/ecommerce/ecommerce-controller.js +138 -0
  20. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -0
  21. package/dist-server/controllers/ecommerce/index.js +21 -0
  22. package/dist-server/controllers/ecommerce/index.js.map +1 -0
  23. package/dist-server/controllers/ecommerce/powrup-controller.js +690 -0
  24. package/dist-server/controllers/ecommerce/powrup-controller.js.map +1 -0
  25. package/dist-server/controllers/ecommerce/sellercraft-controller.js +148 -0
  26. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -0
  27. package/dist-server/controllers/ecommerce/webspert-controller.js +237 -0
  28. package/dist-server/controllers/ecommerce/webspert-controller.js.map +1 -0
  29. package/dist-server/controllers/index.js +19 -0
  30. package/dist-server/controllers/index.js.map +1 -0
  31. package/dist-server/controllers/order-controller.js +244 -0
  32. package/dist-server/controllers/order-controller.js.map +1 -0
  33. package/dist-server/errors/index.js +18 -0
  34. package/dist-server/errors/index.js.map +1 -0
  35. package/dist-server/errors/validation-error.js +41 -0
  36. package/dist-server/errors/validation-error.js.map +1 -0
  37. package/dist-server/index.js +30 -0
  38. package/dist-server/index.js.map +1 -0
  39. package/dist-server/migrations/index.js +12 -0
  40. package/dist-server/migrations/index.js.map +1 -0
  41. package/dist-server/service/arrival-notice/arrival-notice-mutation.js +1085 -0
  42. package/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +1 -0
  43. package/dist-server/service/arrival-notice/arrival-notice-query.js +634 -0
  44. package/dist-server/service/arrival-notice/arrival-notice-query.js.map +1 -0
  45. package/dist-server/service/arrival-notice/arrival-notice-types.js +443 -0
  46. package/dist-server/service/arrival-notice/arrival-notice-types.js.map +1 -0
  47. package/dist-server/service/arrival-notice/arrival-notice.js +259 -0
  48. package/dist-server/service/arrival-notice/arrival-notice.js.map +1 -0
  49. package/dist-server/service/arrival-notice/index.js +25 -0
  50. package/dist-server/service/arrival-notice/index.js.map +1 -0
  51. package/dist-server/service/claim/claim-mutation.js +243 -0
  52. package/dist-server/service/claim/claim-mutation.js.map +1 -0
  53. package/dist-server/service/claim/claim-query.js +165 -0
  54. package/dist-server/service/claim/claim-query.js.map +1 -0
  55. package/dist-server/service/claim/claim-types.js +191 -0
  56. package/dist-server/service/claim/claim-types.js.map +1 -0
  57. package/dist-server/service/claim/claim.js +176 -0
  58. package/dist-server/service/claim/claim.js.map +1 -0
  59. package/dist-server/service/claim/index.js +25 -0
  60. package/dist-server/service/claim/index.js.map +1 -0
  61. package/dist-server/service/claim-detail/claim-detail-mutation.js +110 -0
  62. package/dist-server/service/claim-detail/claim-detail-mutation.js.map +1 -0
  63. package/dist-server/service/claim-detail/claim-detail-query.js +90 -0
  64. package/dist-server/service/claim-detail/claim-detail-query.js.map +1 -0
  65. package/dist-server/service/claim-detail/claim-detail-types.js +81 -0
  66. package/dist-server/service/claim-detail/claim-detail-types.js.map +1 -0
  67. package/dist-server/service/claim-detail/claim-detail.js +102 -0
  68. package/dist-server/service/claim-detail/claim-detail.js.map +1 -0
  69. package/dist-server/service/claim-detail/index.js +25 -0
  70. package/dist-server/service/claim-detail/index.js.map +1 -0
  71. package/dist-server/service/claim-order/claim-order-mutation.js +110 -0
  72. package/dist-server/service/claim-order/claim-order-mutation.js.map +1 -0
  73. package/dist-server/service/claim-order/claim-order-query.js +86 -0
  74. package/dist-server/service/claim-order/claim-order-query.js.map +1 -0
  75. package/dist-server/service/claim-order/claim-order-types.js +65 -0
  76. package/dist-server/service/claim-order/claim-order-types.js.map +1 -0
  77. package/dist-server/service/claim-order/claim-order.js +104 -0
  78. package/dist-server/service/claim-order/claim-order.js.map +1 -0
  79. package/dist-server/service/claim-order/index.js +25 -0
  80. package/dist-server/service/claim-order/index.js.map +1 -0
  81. package/dist-server/service/collection-order/collection-order-mutation.js +241 -0
  82. package/dist-server/service/collection-order/collection-order-mutation.js.map +1 -0
  83. package/dist-server/service/collection-order/collection-order-query.js +125 -0
  84. package/dist-server/service/collection-order/collection-order-query.js.map +1 -0
  85. package/dist-server/service/collection-order/collection-order-types.js +241 -0
  86. package/dist-server/service/collection-order/collection-order-types.js.map +1 -0
  87. package/dist-server/service/collection-order/collection-order.js +183 -0
  88. package/dist-server/service/collection-order/collection-order.js.map +1 -0
  89. package/dist-server/service/collection-order/index.js +25 -0
  90. package/dist-server/service/collection-order/index.js.map +1 -0
  91. package/dist-server/service/delivery-order/delivery-order-mutation.js +746 -0
  92. package/dist-server/service/delivery-order/delivery-order-mutation.js.map +1 -0
  93. package/dist-server/service/delivery-order/delivery-order-query.js +570 -0
  94. package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -0
  95. package/dist-server/service/delivery-order/delivery-order-types.js +397 -0
  96. package/dist-server/service/delivery-order/delivery-order-types.js.map +1 -0
  97. package/dist-server/service/delivery-order/delivery-order.js +365 -0
  98. package/dist-server/service/delivery-order/delivery-order.js.map +1 -0
  99. package/dist-server/service/delivery-order/index.js +25 -0
  100. package/dist-server/service/delivery-order/index.js.map +1 -0
  101. package/dist-server/service/draft-release-good/draft-release-good-create.js +647 -0
  102. package/dist-server/service/draft-release-good/draft-release-good-create.js.map +1 -0
  103. package/dist-server/service/draft-release-good/draft-release-good-mutation.js +486 -0
  104. package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +1 -0
  105. package/dist-server/service/draft-release-good/draft-release-good-query.js +366 -0
  106. package/dist-server/service/draft-release-good/draft-release-good-query.js.map +1 -0
  107. package/dist-server/service/draft-release-good/draft-release-good-type.js +424 -0
  108. package/dist-server/service/draft-release-good/draft-release-good-type.js.map +1 -0
  109. package/dist-server/service/draft-release-good/draft-release-good.js +444 -0
  110. package/dist-server/service/draft-release-good/draft-release-good.js.map +1 -0
  111. package/dist-server/service/draft-release-good/index.js +29 -0
  112. package/dist-server/service/draft-release-good/index.js.map +1 -0
  113. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js +140 -0
  114. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js.map +1 -0
  115. package/dist-server/service/goods-receival-note/goods-receival-note-query.js +273 -0
  116. package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +1 -0
  117. package/dist-server/service/goods-receival-note/goods-receival-note-types.js +159 -0
  118. package/dist-server/service/goods-receival-note/goods-receival-note-types.js.map +1 -0
  119. package/dist-server/service/goods-receival-note/goods-receival-note.js +156 -0
  120. package/dist-server/service/goods-receival-note/goods-receival-note.js.map +1 -0
  121. package/dist-server/service/goods-receival-note/index.js +25 -0
  122. package/dist-server/service/goods-receival-note/index.js.map +1 -0
  123. package/dist-server/service/index.js +282 -0
  124. package/dist-server/service/index.js.map +1 -0
  125. package/dist-server/service/inventory-check/index.js +25 -0
  126. package/dist-server/service/inventory-check/index.js.map +1 -0
  127. package/dist-server/service/inventory-check/inventory-check-mutation.js +151 -0
  128. package/dist-server/service/inventory-check/inventory-check-mutation.js.map +1 -0
  129. package/dist-server/service/inventory-check/inventory-check-query.js +138 -0
  130. package/dist-server/service/inventory-check/inventory-check-query.js.map +1 -0
  131. package/dist-server/service/inventory-check/inventory-check-types.js +82 -0
  132. package/dist-server/service/inventory-check/inventory-check-types.js.map +1 -0
  133. package/dist-server/service/inventory-check/inventory-check.js +115 -0
  134. package/dist-server/service/inventory-check/inventory-check.js.map +1 -0
  135. package/dist-server/service/inventory-check-item/index.js +25 -0
  136. package/dist-server/service/inventory-check-item/index.js.map +1 -0
  137. package/dist-server/service/inventory-check-item/inventory-check-item-mutation.js +120 -0
  138. package/dist-server/service/inventory-check-item/inventory-check-item-mutation.js.map +1 -0
  139. package/dist-server/service/inventory-check-item/inventory-check-item-query.js +196 -0
  140. package/dist-server/service/inventory-check-item/inventory-check-item-query.js.map +1 -0
  141. package/dist-server/service/inventory-check-item/inventory-check-item-types.js +157 -0
  142. package/dist-server/service/inventory-check-item/inventory-check-item-types.js.map +1 -0
  143. package/dist-server/service/inventory-check-item/inventory-check-item.js +273 -0
  144. package/dist-server/service/inventory-check-item/inventory-check-item.js.map +1 -0
  145. package/dist-server/service/invoice/index.js +25 -0
  146. package/dist-server/service/invoice/index.js.map +1 -0
  147. package/dist-server/service/invoice/invoice-mutation.js +105 -0
  148. package/dist-server/service/invoice/invoice-mutation.js.map +1 -0
  149. package/dist-server/service/invoice/invoice-query.js +94 -0
  150. package/dist-server/service/invoice/invoice-query.js.map +1 -0
  151. package/dist-server/service/invoice/invoice-types.js +388 -0
  152. package/dist-server/service/invoice/invoice-types.js.map +1 -0
  153. package/dist-server/service/invoice/invoice.js +312 -0
  154. package/dist-server/service/invoice/invoice.js.map +1 -0
  155. package/dist-server/service/invoice-product/index.js +25 -0
  156. package/dist-server/service/invoice-product/index.js.map +1 -0
  157. package/dist-server/service/invoice-product/invoice-product-mutation.js +70 -0
  158. package/dist-server/service/invoice-product/invoice-product-mutation.js.map +1 -0
  159. package/dist-server/service/invoice-product/invoice-product-query.js +95 -0
  160. package/dist-server/service/invoice-product/invoice-product-query.js.map +1 -0
  161. package/dist-server/service/invoice-product/invoice-product-types.js +131 -0
  162. package/dist-server/service/invoice-product/invoice-product-types.js.map +1 -0
  163. package/dist-server/service/invoice-product/invoice-product.js +130 -0
  164. package/dist-server/service/invoice-product/invoice-product.js.map +1 -0
  165. package/dist-server/service/job-sheet/index.js +25 -0
  166. package/dist-server/service/job-sheet/index.js.map +1 -0
  167. package/dist-server/service/job-sheet/job-sheet-mutation.js +93 -0
  168. package/dist-server/service/job-sheet/job-sheet-mutation.js.map +1 -0
  169. package/dist-server/service/job-sheet/job-sheet-query.js +134 -0
  170. package/dist-server/service/job-sheet/job-sheet-query.js.map +1 -0
  171. package/dist-server/service/job-sheet/job-sheet-types.js +113 -0
  172. package/dist-server/service/job-sheet/job-sheet-types.js.map +1 -0
  173. package/dist-server/service/job-sheet/job-sheet.js +132 -0
  174. package/dist-server/service/job-sheet/job-sheet.js.map +1 -0
  175. package/dist-server/service/manifest/index.js +9 -0
  176. package/dist-server/service/manifest/index.js.map +1 -0
  177. package/dist-server/service/manifest/manifest-mutation.js +264 -0
  178. package/dist-server/service/manifest/manifest-mutation.js.map +1 -0
  179. package/dist-server/service/manifest/manifest-query.js +228 -0
  180. package/dist-server/service/manifest/manifest-query.js.map +1 -0
  181. package/dist-server/service/manifest/manifest-type.js +183 -0
  182. package/dist-server/service/manifest/manifest-type.js.map +1 -0
  183. package/dist-server/service/manifest/manifest.js +134 -0
  184. package/dist-server/service/manifest/manifest.js.map +1 -0
  185. package/dist-server/service/order-consignment/index.js +9 -0
  186. package/dist-server/service/order-consignment/index.js.map +1 -0
  187. package/dist-server/service/order-consignment/order-consignment-mutation.js +120 -0
  188. package/dist-server/service/order-consignment/order-consignment-mutation.js.map +1 -0
  189. package/dist-server/service/order-consignment/order-consignment-query.js +87 -0
  190. package/dist-server/service/order-consignment/order-consignment-query.js.map +1 -0
  191. package/dist-server/service/order-consignment/order-consignment-type.js +69 -0
  192. package/dist-server/service/order-consignment/order-consignment-type.js.map +1 -0
  193. package/dist-server/service/order-consignment/order-consignment.js +115 -0
  194. package/dist-server/service/order-consignment/order-consignment.js.map +1 -0
  195. package/dist-server/service/order-inventory/index.js +25 -0
  196. package/dist-server/service/order-inventory/index.js.map +1 -0
  197. package/dist-server/service/order-inventory/order-inventory-mutation.js +80 -0
  198. package/dist-server/service/order-inventory/order-inventory-mutation.js.map +1 -0
  199. package/dist-server/service/order-inventory/order-inventory-query.js +592 -0
  200. package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -0
  201. package/dist-server/service/order-inventory/order-inventory-types.js +341 -0
  202. package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -0
  203. package/dist-server/service/order-inventory/order-inventory.js +785 -0
  204. package/dist-server/service/order-inventory/order-inventory.js.map +1 -0
  205. package/dist-server/service/order-package/index.js +9 -0
  206. package/dist-server/service/order-package/index.js.map +1 -0
  207. package/dist-server/service/order-package/order-package-mutation.js +120 -0
  208. package/dist-server/service/order-package/order-package-mutation.js.map +1 -0
  209. package/dist-server/service/order-package/order-package-query.js +142 -0
  210. package/dist-server/service/order-package/order-package-query.js.map +1 -0
  211. package/dist-server/service/order-package/order-package-types.js +113 -0
  212. package/dist-server/service/order-package/order-package-types.js.map +1 -0
  213. package/dist-server/service/order-package/order-package.js +229 -0
  214. package/dist-server/service/order-package/order-package.js.map +1 -0
  215. package/dist-server/service/order-package-item/index.js +9 -0
  216. package/dist-server/service/order-package-item/index.js.map +1 -0
  217. package/dist-server/service/order-package-item/order-package-item-mutation.js +120 -0
  218. package/dist-server/service/order-package-item/order-package-item-mutation.js.map +1 -0
  219. package/dist-server/service/order-package-item/order-package-item-query.js +127 -0
  220. package/dist-server/service/order-package-item/order-package-item-query.js.map +1 -0
  221. package/dist-server/service/order-package-item/order-package-item-types.js +99 -0
  222. package/dist-server/service/order-package-item/order-package-item-types.js.map +1 -0
  223. package/dist-server/service/order-package-item/order-package-item.js +162 -0
  224. package/dist-server/service/order-package-item/order-package-item.js.map +1 -0
  225. package/dist-server/service/order-product/index.js +25 -0
  226. package/dist-server/service/order-product/index.js.map +1 -0
  227. package/dist-server/service/order-product/order-product-mutation.js +74 -0
  228. package/dist-server/service/order-product/order-product-mutation.js.map +1 -0
  229. package/dist-server/service/order-product/order-product-query.js +125 -0
  230. package/dist-server/service/order-product/order-product-query.js.map +1 -0
  231. package/dist-server/service/order-product/order-product-types.js +489 -0
  232. package/dist-server/service/order-product/order-product-types.js.map +1 -0
  233. package/dist-server/service/order-product/order-product.js +559 -0
  234. package/dist-server/service/order-product/order-product.js.map +1 -0
  235. package/dist-server/service/order-tote/index.js +25 -0
  236. package/dist-server/service/order-tote/index.js.map +1 -0
  237. package/dist-server/service/order-tote/order-tote-mutation.js +56 -0
  238. package/dist-server/service/order-tote/order-tote-mutation.js.map +1 -0
  239. package/dist-server/service/order-tote/order-tote-query.js +123 -0
  240. package/dist-server/service/order-tote/order-tote-query.js.map +1 -0
  241. package/dist-server/service/order-tote/order-tote-types.js +79 -0
  242. package/dist-server/service/order-tote/order-tote-types.js.map +1 -0
  243. package/dist-server/service/order-tote/order-tote.js +92 -0
  244. package/dist-server/service/order-tote/order-tote.js.map +1 -0
  245. package/dist-server/service/order-tote-item/index.js +25 -0
  246. package/dist-server/service/order-tote-item/index.js.map +1 -0
  247. package/dist-server/service/order-tote-item/order-tote-item-mutation.js +56 -0
  248. package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +1 -0
  249. package/dist-server/service/order-tote-item/order-tote-item-query.js +100 -0
  250. package/dist-server/service/order-tote-item/order-tote-item-query.js.map +1 -0
  251. package/dist-server/service/order-tote-item/order-tote-item-types.js +91 -0
  252. package/dist-server/service/order-tote-item/order-tote-item-types.js.map +1 -0
  253. package/dist-server/service/order-tote-item/order-tote-item.js +118 -0
  254. package/dist-server/service/order-tote-item/order-tote-item.js.map +1 -0
  255. package/dist-server/service/order-tote-seal/index.js +25 -0
  256. package/dist-server/service/order-tote-seal/index.js.map +1 -0
  257. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js +56 -0
  258. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +1 -0
  259. package/dist-server/service/order-tote-seal/order-tote-seal-query.js +97 -0
  260. package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +1 -0
  261. package/dist-server/service/order-tote-seal/order-tote-seal-types.js +71 -0
  262. package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +1 -0
  263. package/dist-server/service/order-tote-seal/order-tote-seal.js +71 -0
  264. package/dist-server/service/order-tote-seal/order-tote-seal.js.map +1 -0
  265. package/dist-server/service/order-vas/index.js +25 -0
  266. package/dist-server/service/order-vas/index.js.map +1 -0
  267. package/dist-server/service/order-vas/order-vas-mutation.js +148 -0
  268. package/dist-server/service/order-vas/order-vas-mutation.js.map +1 -0
  269. package/dist-server/service/order-vas/order-vas-query.js +148 -0
  270. package/dist-server/service/order-vas/order-vas-query.js.map +1 -0
  271. package/dist-server/service/order-vas/order-vas-types.js +348 -0
  272. package/dist-server/service/order-vas/order-vas-types.js.map +1 -0
  273. package/dist-server/service/order-vas/order-vas.js +476 -0
  274. package/dist-server/service/order-vas/order-vas.js.map +1 -0
  275. package/dist-server/service/order-vas-item/index.js +9 -0
  276. package/dist-server/service/order-vas-item/index.js.map +1 -0
  277. package/dist-server/service/order-vas-item/order-vas-item-mutation.js +164 -0
  278. package/dist-server/service/order-vas-item/order-vas-item-mutation.js.map +1 -0
  279. package/dist-server/service/order-vas-item/order-vas-item-query.js +99 -0
  280. package/dist-server/service/order-vas-item/order-vas-item-query.js.map +1 -0
  281. package/dist-server/service/order-vas-item/order-vas-item-type.js +131 -0
  282. package/dist-server/service/order-vas-item/order-vas-item-type.js.map +1 -0
  283. package/dist-server/service/order-vas-item/order-vas-item.js +166 -0
  284. package/dist-server/service/order-vas-item/order-vas-item.js.map +1 -0
  285. package/dist-server/service/others/index.js +21 -0
  286. package/dist-server/service/others/index.js.map +1 -0
  287. package/dist-server/service/others/other-query.js +536 -0
  288. package/dist-server/service/others/other-query.js.map +1 -0
  289. package/dist-server/service/others/other-types.js +181 -0
  290. package/dist-server/service/others/other-types.js.map +1 -0
  291. package/dist-server/service/purchase-order/index.js +25 -0
  292. package/dist-server/service/purchase-order/index.js.map +1 -0
  293. package/dist-server/service/purchase-order/purchase-order-mutation.js +398 -0
  294. package/dist-server/service/purchase-order/purchase-order-mutation.js.map +1 -0
  295. package/dist-server/service/purchase-order/purchase-order-query.js +126 -0
  296. package/dist-server/service/purchase-order/purchase-order-query.js.map +1 -0
  297. package/dist-server/service/purchase-order/purchase-order-types.js +240 -0
  298. package/dist-server/service/purchase-order/purchase-order-types.js.map +1 -0
  299. package/dist-server/service/purchase-order/purchase-order.js +236 -0
  300. package/dist-server/service/purchase-order/purchase-order.js.map +1 -0
  301. package/dist-server/service/purchase-order-other-charge/index.js +25 -0
  302. package/dist-server/service/purchase-order-other-charge/index.js.map +1 -0
  303. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js +56 -0
  304. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js.map +1 -0
  305. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js +87 -0
  306. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js.map +1 -0
  307. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js +77 -0
  308. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js.map +1 -0
  309. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js +101 -0
  310. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js.map +1 -0
  311. package/dist-server/service/release-good/index.js +25 -0
  312. package/dist-server/service/release-good/index.js.map +1 -0
  313. package/dist-server/service/release-good/release-good-mutation.js +1598 -0
  314. package/dist-server/service/release-good/release-good-mutation.js.map +1 -0
  315. package/dist-server/service/release-good/release-good-query.js +1131 -0
  316. package/dist-server/service/release-good/release-good-query.js.map +1 -0
  317. package/dist-server/service/release-good/release-good-types.js +1043 -0
  318. package/dist-server/service/release-good/release-good-types.js.map +1 -0
  319. package/dist-server/service/release-good/release-good.js +817 -0
  320. package/dist-server/service/release-good/release-good.js.map +1 -0
  321. package/dist-server/service/release-good-logs/index.js +11 -0
  322. package/dist-server/service/release-good-logs/index.js.map +1 -0
  323. package/dist-server/service/release-good-logs/release-good-logs-mutation.js +126 -0
  324. package/dist-server/service/release-good-logs/release-good-logs-mutation.js.map +1 -0
  325. package/dist-server/service/release-good-logs/release-good-logs-query.js +71 -0
  326. package/dist-server/service/release-good-logs/release-good-logs-query.js.map +1 -0
  327. package/dist-server/service/release-good-logs/release-good-logs-type.js +65 -0
  328. package/dist-server/service/release-good-logs/release-good-logs-type.js.map +1 -0
  329. package/dist-server/service/release-good-logs/release-good-logs.js +96 -0
  330. package/dist-server/service/release-good-logs/release-good-logs.js.map +1 -0
  331. package/dist-server/service/replenishment/index.js +9 -0
  332. package/dist-server/service/replenishment/index.js.map +1 -0
  333. package/dist-server/service/replenishment/replenishment-mutation.js +234 -0
  334. package/dist-server/service/replenishment/replenishment-mutation.js.map +1 -0
  335. package/dist-server/service/replenishment/replenishment-query.js +185 -0
  336. package/dist-server/service/replenishment/replenishment-query.js.map +1 -0
  337. package/dist-server/service/replenishment/replenishment-type.js +119 -0
  338. package/dist-server/service/replenishment/replenishment-type.js.map +1 -0
  339. package/dist-server/service/replenishment/replenishment.js +114 -0
  340. package/dist-server/service/replenishment/replenishment.js.map +1 -0
  341. package/dist-server/service/retail-replenishment-order/index.js +25 -0
  342. package/dist-server/service/retail-replenishment-order/index.js.map +1 -0
  343. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js +314 -0
  344. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js.map +1 -0
  345. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js +89 -0
  346. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js.map +1 -0
  347. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js +148 -0
  348. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js.map +1 -0
  349. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js +141 -0
  350. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js.map +1 -0
  351. package/dist-server/service/return-order/index.js +25 -0
  352. package/dist-server/service/return-order/index.js.map +1 -0
  353. package/dist-server/service/return-order/return-order-mutation.js +451 -0
  354. package/dist-server/service/return-order/return-order-mutation.js.map +1 -0
  355. package/dist-server/service/return-order/return-order-query.js +243 -0
  356. package/dist-server/service/return-order/return-order-query.js.map +1 -0
  357. package/dist-server/service/return-order/return-order-types.js +274 -0
  358. package/dist-server/service/return-order/return-order-types.js.map +1 -0
  359. package/dist-server/service/return-order/return-order.js +159 -0
  360. package/dist-server/service/return-order/return-order.js.map +1 -0
  361. package/dist-server/service/reverse-kitting-order/index.js +25 -0
  362. package/dist-server/service/reverse-kitting-order/index.js.map +1 -0
  363. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js +407 -0
  364. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js.map +1 -0
  365. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js +222 -0
  366. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +1 -0
  367. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js +230 -0
  368. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js.map +1 -0
  369. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js +145 -0
  370. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +1 -0
  371. package/dist-server/service/reverse-kitting-order-inventory/index.js +25 -0
  372. package/dist-server/service/reverse-kitting-order-inventory/index.js.map +1 -0
  373. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js +130 -0
  374. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js.map +1 -0
  375. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js +87 -0
  376. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js.map +1 -0
  377. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js +143 -0
  378. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js.map +1 -0
  379. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js +178 -0
  380. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +1 -0
  381. package/dist-server/service/shipping-order/index.js +25 -0
  382. package/dist-server/service/shipping-order/index.js.map +1 -0
  383. package/dist-server/service/shipping-order/shipping-order-mutation.js +78 -0
  384. package/dist-server/service/shipping-order/shipping-order-mutation.js.map +1 -0
  385. package/dist-server/service/shipping-order/shipping-order-query.js +96 -0
  386. package/dist-server/service/shipping-order/shipping-order-query.js.map +1 -0
  387. package/dist-server/service/shipping-order/shipping-order-types.js +137 -0
  388. package/dist-server/service/shipping-order/shipping-order-types.js.map +1 -0
  389. package/dist-server/service/shipping-order/shipping-order.js +165 -0
  390. package/dist-server/service/shipping-order/shipping-order.js.map +1 -0
  391. package/dist-server/service/transfer-order/index.js +25 -0
  392. package/dist-server/service/transfer-order/index.js.map +1 -0
  393. package/dist-server/service/transfer-order/transfer-order-mutation.js +252 -0
  394. package/dist-server/service/transfer-order/transfer-order-mutation.js.map +1 -0
  395. package/dist-server/service/transfer-order/transfer-order-query.js +104 -0
  396. package/dist-server/service/transfer-order/transfer-order-query.js.map +1 -0
  397. package/dist-server/service/transfer-order/transfer-order-types.js +148 -0
  398. package/dist-server/service/transfer-order/transfer-order-types.js.map +1 -0
  399. package/dist-server/service/transfer-order/transfer-order.js +146 -0
  400. package/dist-server/service/transfer-order/transfer-order.js.map +1 -0
  401. package/dist-server/service/vas/index.js +25 -0
  402. package/dist-server/service/vas/index.js.map +1 -0
  403. package/dist-server/service/vas/vas-mutation.js +562 -0
  404. package/dist-server/service/vas/vas-mutation.js.map +1 -0
  405. package/dist-server/service/vas/vas-query.js +114 -0
  406. package/dist-server/service/vas/vas-query.js.map +1 -0
  407. package/dist-server/service/vas/vas-types.js +113 -0
  408. package/dist-server/service/vas/vas-types.js.map +1 -0
  409. package/dist-server/service/vas/vas.js +114 -0
  410. package/dist-server/service/vas/vas.js.map +1 -0
  411. package/dist-server/service/vas-order/index.js +25 -0
  412. package/dist-server/service/vas-order/index.js.map +1 -0
  413. package/dist-server/service/vas-order/vas-order-mutation.js +241 -0
  414. package/dist-server/service/vas-order/vas-order-mutation.js.map +1 -0
  415. package/dist-server/service/vas-order/vas-order-query.js +151 -0
  416. package/dist-server/service/vas-order/vas-order-query.js.map +1 -0
  417. package/dist-server/service/vas-order/vas-order-types.js +83 -0
  418. package/dist-server/service/vas-order/vas-order-types.js.map +1 -0
  419. package/dist-server/service/vas-order/vas-order.js +104 -0
  420. package/dist-server/service/vas-order/vas-order.js.map +1 -0
  421. package/dist-server/utils/datetime-util.js +82 -0
  422. package/dist-server/utils/datetime-util.js.map +1 -0
  423. package/dist-server/utils/index.js +20 -0
  424. package/dist-server/utils/index.js.map +1 -0
  425. package/dist-server/utils/inventory-util.js +1098 -0
  426. package/dist-server/utils/inventory-util.js.map +1 -0
  427. package/dist-server/utils/order-no-generator.js +112 -0
  428. package/dist-server/utils/order-no-generator.js.map +1 -0
  429. package/package.json +8 -8
  430. package/server/service/vas/vas-mutation.ts +222 -225
@@ -0,0 +1,634 @@
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;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.validateBulkArrivalNoticesFunction = exports.ArrivalNoticeQuery = 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 setting_base_1 = require("@things-factory/setting-base");
23
+ const shell_1 = require("@things-factory/shell");
24
+ const __1 = require("../");
25
+ const constants_1 = require("../../constants");
26
+ const service_1 = require("../../service");
27
+ const datetime_util_1 = require("../../utils/datetime-util");
28
+ const arrival_notice_1 = require("./arrival-notice");
29
+ let ArrivalNoticeQuery = class ArrivalNoticeQuery {
30
+ async arrivalNotice(context, name, refNo) {
31
+ var _a, _b;
32
+ const { domain, user, bizplace } = context.state;
33
+ let param = { domain, bizplace: bizplace ? bizplace : (0, typeorm_1.In)(await (0, biz_base_1.getPermittedBizplaceIds)(domain, user)) };
34
+ if (name)
35
+ param = Object.assign(Object.assign({}, param), { name });
36
+ else if (refNo)
37
+ param = Object.assign(Object.assign({}, param), { refNo });
38
+ else
39
+ return;
40
+ let foundGAN = await (0, typeorm_1.getRepository)(arrival_notice_1.ArrivalNotice).findOne({
41
+ where: Object.assign({}, param),
42
+ relations: [
43
+ 'domain',
44
+ 'bizplace',
45
+ 'bizplace.domain',
46
+ 'releaseGood',
47
+ 'purchaseOrder',
48
+ 'purchaseOrder.bufferLocation',
49
+ 'orderVass',
50
+ 'orderVass.vas',
51
+ 'orderVass.targetProduct',
52
+ 'supplier',
53
+ 'creator',
54
+ 'updater'
55
+ ]
56
+ });
57
+ //separate query to improve typeorm mapping performance. Search for Related Order Product
58
+ let orderProducts = await (0, typeorm_1.getRepository)(service_1.OrderProduct).find({
59
+ where: { arrivalNotice: foundGAN },
60
+ relations: ['product', 'productDetail', 'productDetail.productBarcodes']
61
+ });
62
+ foundGAN.orderProducts = await Promise.all(orderProducts.map(async (orderProduct) => {
63
+ orderProduct.unitPrice = (orderProduct === null || orderProduct === void 0 ? void 0 : orderProduct.unitPrice) ? parseFloat(orderProduct.unitPrice.toFixed(2)) : null;
64
+ orderProduct.adjustedUnitPrice = (orderProduct === null || orderProduct === void 0 ? void 0 : orderProduct.adjustedUnitPrice)
65
+ ? parseFloat(orderProduct.adjustedUnitPrice.toFixed(2))
66
+ : null;
67
+ return orderProduct;
68
+ }));
69
+ //separate query to improve typeorm mapping performance. Search for Related Order Inventory
70
+ let orderInventories = await (0, typeorm_1.getRepository)(service_1.OrderInventory).find({
71
+ where: { arrivalNotice: foundGAN },
72
+ relations: [
73
+ 'inventory',
74
+ 'inventory.product',
75
+ 'inventory.productDetail',
76
+ 'inventory.productDetail.productBarcodes',
77
+ 'inventory.location'
78
+ ]
79
+ });
80
+ foundGAN.orderInventories = orderInventories;
81
+ if (name && !foundGAN)
82
+ throw new Error(`Failed to find arrival notice with ${name}`);
83
+ if (foundGAN) {
84
+ const foundAttachments = await (0, typeorm_1.getRepository)(attachment_base_1.Attachment).find({
85
+ where: {
86
+ domain,
87
+ refBy: foundGAN === null || foundGAN === void 0 ? void 0 : foundGAN.id,
88
+ category: constants_1.ATTACHMENT_TYPE.GAN
89
+ }
90
+ });
91
+ const foundPOAttachments = ((_a = foundGAN === null || foundGAN === void 0 ? void 0 : foundGAN.purchaseOrder) === null || _a === void 0 ? void 0 : _a.id)
92
+ ? await (0, typeorm_1.getRepository)(attachment_base_1.Attachment).find({
93
+ where: {
94
+ domain,
95
+ refBy: (_b = foundGAN.purchaseOrder) === null || _b === void 0 ? void 0 : _b.id,
96
+ category: constants_1.ATTACHMENT_TYPE.PO
97
+ }
98
+ })
99
+ : [];
100
+ return Object.assign(Object.assign({}, foundGAN), { attachment: [...foundPOAttachments, ...foundAttachments] });
101
+ }
102
+ else {
103
+ return;
104
+ }
105
+ }
106
+ async arrivalNotices(context, params) {
107
+ var _a;
108
+ const { domain, user } = context.state;
109
+ if (await (0, auth_base_1.checkUserBelongsDomain)(domain, user)) {
110
+ if (!params.filters.some(e => e.name === 'status') && !params.filters.some(e => e.name === 'name')) {
111
+ params.filters.push({
112
+ name: 'status',
113
+ operator: 'notin',
114
+ value: [constants_1.ORDER_STATUS.PENDING, constants_1.ORDER_STATUS.EDITING],
115
+ relation: false
116
+ });
117
+ }
118
+ }
119
+ if (!params.filters.find((filter) => filter.name === 'bizplace')) {
120
+ params.filters.push({
121
+ name: 'bizplaceId',
122
+ operator: 'in',
123
+ value: await (0, biz_base_1.getPermittedBizplaceIds)(domain, user),
124
+ relation: false
125
+ });
126
+ }
127
+ const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate');
128
+ if (fromDateParamIdx >= 0) {
129
+ let fromDateVal = new Date(params.filters[fromDateParamIdx].value);
130
+ params.filters.splice(fromDateParamIdx, 1);
131
+ params.filters.push({
132
+ name: 'createdAt',
133
+ operator: 'gte',
134
+ value: fromDateVal.toISOString(),
135
+ relation: false
136
+ });
137
+ }
138
+ const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate');
139
+ if (toDateParamIdx >= 0) {
140
+ let toDateVal = new Date(params.filters[toDateParamIdx].value);
141
+ params.filters.splice(toDateParamIdx, 1);
142
+ params.filters.push({
143
+ name: 'createdAt',
144
+ operator: 'lt',
145
+ value: new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),
146
+ relation: false
147
+ });
148
+ }
149
+ const refOrderId = (_a = params.filters.find(itm => itm.name == 'refOrderId')) === null || _a === void 0 ? void 0 : _a.value;
150
+ params.filters = params.filters.filter(itm => itm.name !== 'refOrderId');
151
+ const qb = (0, typeorm_1.getRepository)(arrival_notice_1.ArrivalNotice).createQueryBuilder('an');
152
+ (0, shell_1.buildQuery)(qb, params, context);
153
+ qb.addSelect('COALESCE("cc".rank, 9999)', 'rank');
154
+ qb.leftJoinAndSelect('an.domain', 'domain');
155
+ qb.leftJoinAndSelect('an.bizplace', 'bizplace');
156
+ qb.leftJoinAndSelect('an.releaseGood', 'ro');
157
+ qb.leftJoinAndSelect('an.creator', 'creator');
158
+ qb.leftJoinAndSelect('an.updater', 'updater');
159
+ qb.leftJoinAndSelect('an.acceptedBy', 'accepter');
160
+ qb.leftJoin(subQuery => {
161
+ return subQuery
162
+ .select(`ccd.rank`, 'rank')
163
+ .addSelect(`ccd.name`, 'status')
164
+ .from(`common_code_details`, 'ccd')
165
+ .innerJoin(`ccd.commonCode`, 'cc')
166
+ .where(`ccd.domain_id = :domainId`, { domainId: domain.id })
167
+ .andWhere(`cc.name = 'ORDER_STATUS'`);
168
+ }, 'cc', 'cc.status = an.status');
169
+ if (refOrderId) {
170
+ qb.andWhere('an.id IN (:...Ids) ', { Ids: refOrderId });
171
+ }
172
+ const arrChildSortData = ['bizplace'];
173
+ let sort;
174
+ if (params.sortings) {
175
+ sort = (params.sortings || []).reduce((acc, sort) => (Object.assign(Object.assign({}, acc), { [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'an.' + sort.name]: sort.desc
176
+ ? 'DESC'
177
+ : 'ASC' })), !params.sortings.some(e => e.name === 'status') ? { rank: 'ASC' } : {});
178
+ qb.orderBy(sort);
179
+ }
180
+ const [items, total] = await qb.getManyAndCount();
181
+ return { items, total };
182
+ }
183
+ async arrivalNoticeRequests(params, context) {
184
+ try {
185
+ const { domain, user } = context.state;
186
+ const statusFilter = params.filters.some(e => e.name === 'status');
187
+ const bizplaceFilter = params.filters.find(param => param.name === 'bizplaceId');
188
+ if (!statusFilter) {
189
+ params.filters.push({
190
+ name: 'status',
191
+ operator: 'notin',
192
+ value: [constants_1.ORDER_STATUS.PENDING, constants_1.ORDER_STATUS.EDITING],
193
+ relation: false
194
+ });
195
+ }
196
+ if (!bizplaceFilter) {
197
+ params.filters.push({
198
+ name: 'bizplaceId',
199
+ operator: 'in',
200
+ value: await (0, biz_base_1.getPermittedBizplaceIds)(domain, user),
201
+ relation: false
202
+ });
203
+ }
204
+ const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate');
205
+ if (fromDateParamIdx >= 0) {
206
+ let fromDateVal = new Date(params.filters[fromDateParamIdx].value);
207
+ params.filters.splice(fromDateParamIdx, 1);
208
+ params.filters.push({
209
+ name: 'createdAt',
210
+ operator: 'gte',
211
+ value: fromDateVal.toISOString(),
212
+ relation: false
213
+ });
214
+ }
215
+ const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate');
216
+ if (toDateParamIdx >= 0) {
217
+ let toDateVal = new Date(params.filters[toDateParamIdx].value);
218
+ params.filters.splice(toDateParamIdx, 1);
219
+ params.filters.push({
220
+ name: 'createdAt',
221
+ operator: 'lt',
222
+ value: new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),
223
+ relation: false
224
+ });
225
+ }
226
+ const qb = (0, typeorm_1.getRepository)(arrival_notice_1.ArrivalNotice).createQueryBuilder('an');
227
+ (0, shell_1.buildQuery)(qb, params, context);
228
+ qb.addSelect('COALESCE("cc".rank, 9999)', 'rank');
229
+ qb.leftJoinAndSelect('an.domain', 'domain');
230
+ qb.leftJoinAndSelect('an.bizplace', 'bizplace');
231
+ qb.leftJoinAndSelect('an.releaseGood', 'ro');
232
+ qb.leftJoinAndSelect('an.creator', 'creator');
233
+ qb.leftJoinAndSelect('an.updater', 'updater');
234
+ qb.leftJoinAndSelect('an.acceptedBy', 'accepter');
235
+ qb.leftJoin(subQuery => {
236
+ return subQuery
237
+ .select(`ccd.rank`, 'rank')
238
+ .addSelect(`ccd.name`, 'status')
239
+ .from(`common_code_details`, 'ccd')
240
+ .innerJoin(`ccd.commonCode`, 'cc')
241
+ .where(`ccd.domain_id = :domainId`, { domainId: domain.id })
242
+ .andWhere(`cc.name = 'ORDER_STATUS'`);
243
+ }, 'cc', 'cc.status = an.status');
244
+ const arrChildSortData = ['bizplace'];
245
+ const sort = (params.sortings || []).reduce((acc, sort) => (Object.assign(Object.assign({}, acc), { [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'an.' + sort.name]: sort.desc
246
+ ? 'DESC'
247
+ : 'ASC' })), !params.sortings.some(e => e.name === 'status') ? { rank: 'ASC' } : {});
248
+ qb.orderBy(sort);
249
+ const [items, total] = await qb.getManyAndCount();
250
+ return { items, total };
251
+ }
252
+ catch (error) {
253
+ throw error;
254
+ }
255
+ }
256
+ async validateBulkArrivalNotices(context, rawArrivalNotices, bizplaceId) {
257
+ const { domain, tx } = context.state;
258
+ return await validateBulkArrivalNoticesFunction(rawArrivalNotices, bizplaceId, domain, tx);
259
+ }
260
+ async domain(arrivalNotice) {
261
+ return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(arrivalNotice.domainId);
262
+ }
263
+ async creator(arrivalNotice) {
264
+ return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(arrivalNotice.creatorId);
265
+ }
266
+ async updater(arrivalNotice) {
267
+ return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(arrivalNotice.updaterId);
268
+ }
269
+ };
270
+ __decorate([
271
+ (0, type_graphql_1.Directive)('@privilege(category: "order", privilege: "query")'),
272
+ (0, type_graphql_1.Query)(returns => arrival_notice_1.ArrivalNotice),
273
+ __param(0, (0, type_graphql_1.Ctx)()),
274
+ __param(1, (0, type_graphql_1.Arg)('name', { nullable: true })),
275
+ __param(2, (0, type_graphql_1.Arg)('refNo', { nullable: true })),
276
+ __metadata("design:type", Function),
277
+ __metadata("design:paramtypes", [Object, String, String]),
278
+ __metadata("design:returntype", Promise)
279
+ ], ArrivalNoticeQuery.prototype, "arrivalNotice", null);
280
+ __decorate([
281
+ (0, type_graphql_1.Directive)('@privilege(category: "order_customer", privilege: "query")'),
282
+ (0, type_graphql_1.Query)(returns => __1.ArrivalNoticeList),
283
+ __param(0, (0, type_graphql_1.Ctx)()),
284
+ __param(1, (0, type_graphql_1.Args)()),
285
+ __metadata("design:type", Function),
286
+ __metadata("design:paramtypes", [Object, typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object]),
287
+ __metadata("design:returntype", Promise)
288
+ ], ArrivalNoticeQuery.prototype, "arrivalNotices", null);
289
+ __decorate([
290
+ (0, type_graphql_1.Directive)('@privilege(category: "order_warehouse", privilege: "query")'),
291
+ (0, type_graphql_1.Query)(returns => __1.ArrivalNoticeList),
292
+ __param(0, (0, type_graphql_1.Args)()),
293
+ __param(1, (0, type_graphql_1.Ctx)()),
294
+ __metadata("design:type", Function),
295
+ __metadata("design:paramtypes", [typeof (_b = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _b : Object, Object]),
296
+ __metadata("design:returntype", Promise)
297
+ ], ArrivalNoticeQuery.prototype, "arrivalNoticeRequests", null);
298
+ __decorate([
299
+ (0, type_graphql_1.Directive)('@transaction'),
300
+ (0, type_graphql_1.Query)(returns => [__1.RawArrivalNotice]),
301
+ __param(0, (0, type_graphql_1.Ctx)()),
302
+ __param(1, (0, type_graphql_1.Arg)('rawArrivalNotices', type => [__1.NewArrivalNotice], { nullable: true })),
303
+ __param(2, (0, type_graphql_1.Arg)('bizplaceId', type => String)),
304
+ __metadata("design:type", Function),
305
+ __metadata("design:paramtypes", [Object, Array, String]),
306
+ __metadata("design:returntype", Promise)
307
+ ], ArrivalNoticeQuery.prototype, "validateBulkArrivalNotices", null);
308
+ __decorate([
309
+ (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
310
+ __param(0, (0, type_graphql_1.Root)()),
311
+ __metadata("design:type", Function),
312
+ __metadata("design:paramtypes", [arrival_notice_1.ArrivalNotice]),
313
+ __metadata("design:returntype", Promise)
314
+ ], ArrivalNoticeQuery.prototype, "domain", null);
315
+ __decorate([
316
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
317
+ __param(0, (0, type_graphql_1.Root)()),
318
+ __metadata("design:type", Function),
319
+ __metadata("design:paramtypes", [arrival_notice_1.ArrivalNotice]),
320
+ __metadata("design:returntype", Promise)
321
+ ], ArrivalNoticeQuery.prototype, "creator", null);
322
+ __decorate([
323
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
324
+ __param(0, (0, type_graphql_1.Root)()),
325
+ __metadata("design:type", Function),
326
+ __metadata("design:paramtypes", [arrival_notice_1.ArrivalNotice]),
327
+ __metadata("design:returntype", Promise)
328
+ ], ArrivalNoticeQuery.prototype, "updater", null);
329
+ ArrivalNoticeQuery = __decorate([
330
+ (0, type_graphql_1.Resolver)(arrival_notice_1.ArrivalNotice)
331
+ ], ArrivalNoticeQuery);
332
+ exports.ArrivalNoticeQuery = ArrivalNoticeQuery;
333
+ async function validateBulkArrivalNoticesFunction(rawArrivalNotices, bizplaceId, domain, trxMgr) {
334
+ const companyBizplace = await (0, biz_base_1.getCompanyBizplace)(null, null, bizplaceId);
335
+ const json_oi = JSON.stringify(rawArrivalNotices.map(raw => {
336
+ let etaDate = (0, datetime_util_1.convertExcelDateToISO)(raw.etaDate);
337
+ let manufactureDate = (0, datetime_util_1.convertExcelDateToISO)(raw.manufactureDate);
338
+ return {
339
+ ref_no: raw.refNo || null,
340
+ ref_no_2: raw.refNo2 || null,
341
+ ref_no_3: raw.refNo3 || null,
342
+ eta_date: etaDate || null,
343
+ truck_no: raw.truckNo || null,
344
+ own_transport: !!raw.truckNo || false,
345
+ loose_item: raw.looseItem || false,
346
+ import_cargo: raw.importCargo || false,
347
+ container: (!!raw.containerNo && !!raw.containerSize) || false,
348
+ container_no: raw.containerNo || null,
349
+ container_size: raw.containerSize || null,
350
+ sku: raw.sku || null,
351
+ batch_id: raw.batchId || null,
352
+ batch_id_ref: raw.batchIdRef || null,
353
+ packing_type: raw.packingType || null,
354
+ packing_size: raw.packingSize || null,
355
+ uom: raw.uom || null,
356
+ pack_qty: raw.packQty || null,
357
+ pallet_qty: raw.palletQty || null,
358
+ pallet_id: raw.palletId || null,
359
+ unit_price: raw.unitPrice === undefined ? (isNaN(raw.unitPrice) ? '' : null) : raw.unitPrice,
360
+ manufacture_date: manufactureDate || null
361
+ };
362
+ }));
363
+ const enableLotIdInput = await trxMgr.getRepository(setting_base_1.Setting).findOne({
364
+ where: { domain, category: 'id-rule', name: 'enable-lot-id-input' }
365
+ });
366
+ //check if palletId is entered but enablelotidinput setting is false
367
+ let lotIdInputSettingChecker = '';
368
+ if (rawArrivalNotices.some(record => record.palletId) && enableLotIdInput.value == 'false') {
369
+ lotIdInputSettingChecker = 'Please enable the setting to create orders with a custom Lot ID';
370
+ }
371
+ // uncomment this to show error message as popup
372
+ // for (let item of rawArrivalNotices) {
373
+ // if (item.palletId) {
374
+ // const foundOrderProductsPallet = await trxMgr.getRepository(OrderProduct).findOne({
375
+ // where: {
376
+ // domain,
377
+ // palletId: item.palletId
378
+ // }
379
+ // })
380
+ // if (foundOrderProductsPallet) {
381
+ // throw new Error(('Lot ID is already in used. Please enter new Lot ID.'))
382
+ // }
383
+ // }
384
+ // }
385
+ await trxMgr.query(`
386
+ CREATE TEMP TABLE raw_arrival_notices(
387
+ ref_no VARCHAR(150),
388
+ ref_no_2 VARCHAR(150),
389
+ ref_no_3 VARCHAR(150),
390
+ eta_date VARCHAR(24),
391
+ truck_no VARCHAR(10),
392
+ own_transport BOOLEAN,
393
+ container BOOLEAN,
394
+ container_no VARCHAR(50),
395
+ container_size VARCHAR(24),
396
+ import_cargo BOOLEAN,
397
+ loose_item BOOLEAN,
398
+ sku VARCHAR(150),
399
+ batch_id VARCHAR(100),
400
+ batch_id_ref VARCHAR(100),
401
+ packing_type VARCHAR(50),
402
+ packing_size INT,
403
+ uom VARCHAR(10),
404
+ pack_qty NUMERIC(19,3),
405
+ pallet_qty INT,
406
+ pallet_id VARCHAR(50),
407
+ unit_price VARCHAR(50),
408
+ manufacture_date VARCHAR(24)
409
+ );
410
+ `);
411
+ await trxMgr.query(`
412
+ CREATE TEMP TABLE temp_gan AS (
413
+ SELECT an.name, an.ref_no, an.ref_no_2, an.ref_no_3, an.eta_date, an.truck_no, an.own_transport, an.container, an.container_no, an.container_size, an.import_cargo, an.loose_item
414
+ FROM arrival_notices an
415
+ WHERE an.domain_id = $2
416
+ AND EXISTS (
417
+ SELECT raw.* FROM
418
+ JSON_POPULATE_RECORDSET(NULL:: arrival_notices, $1) raw
419
+ WHERE raw.ref_no = an.ref_no
420
+ AND raw.ref_no_2 = an.ref_no_2
421
+ AND raw.ref_no_3 = an.ref_no_3
422
+ AND raw.eta_date = an.eta_date
423
+ AND raw.truck_no = an.truck_no
424
+ AND raw.own_transport = an.own_transport
425
+ AND raw.container = an.container
426
+ AND raw.container_no = an.container_no
427
+ AND raw.container_size = an.container_size
428
+ AND raw.loose_item = an.loose_item
429
+ AND raw.import_cargo = an.import_cargo
430
+ )
431
+ )
432
+ `, [json_oi, domain.id]);
433
+ await trxMgr.query(`
434
+ INSERT INTO raw_arrival_notices
435
+ SELECT
436
+ js.ref_no, js.ref_no_2, js.ref_no_3, js.eta_date, js.truck_no, js.own_transport, js.container,
437
+ js.container_no, js.container_size, js.import_cargo, js.loose_item, js.sku, js.batch_id,
438
+ js.batch_id_ref, js.packing_type, js.packing_size, js.uom, js.pack_qty, js.pallet_qty, js.pallet_id,
439
+ js.unit_price, js.manufacture_date
440
+ FROM
441
+ JSON_POPULATE_RECORDSET(NULL:: raw_arrival_notices, $1) js;
442
+ `, [json_oi]);
443
+ const insertResult = await trxMgr.query(`
444
+ SELECT * from raw_arrival_notices
445
+ `);
446
+ await trxMgr.query(`
447
+ CREATE TEMPORARY TABLE temp_foo AS
448
+ SELECT
449
+ an.name AS gan_name,
450
+ an.ref_no AS gan_ref_no,
451
+ raw.ref_no,
452
+ raw.ref_no_2,
453
+ raw.ref_no_3,
454
+ raw.eta_date,
455
+ raw.truck_no,
456
+ raw.own_transport,
457
+ raw.container,
458
+ raw.container_no,
459
+ raw.container_size,
460
+ raw.import_cargo,
461
+ raw.loose_item,
462
+ pr.id AS product_id,
463
+ pd.id AS product_detail_id,
464
+ raw.sku AS sku,
465
+ CASE WHEN pr.description NOT IN (NULL, '', '-') THEN CONCAT(pr.name, '(', pr.description, ')') ELSE pr.name END AS product_info,
466
+ raw.batch_id,
467
+ raw.batch_id_ref,
468
+ pd.packing_type,
469
+ pd.packing_size,
470
+ pd.cost_price,
471
+ sum(raw.pack_qty) AS pack_qty,
472
+ raw.pallet_id,
473
+ sum(pd.uom_value) AS uom_value,
474
+ pd.uom,
475
+ sum(raw.pallet_qty) AS pallet_qty,
476
+ CASE WHEN raw.unit_price = '' THEN pd.cost_price::varchar ELSE raw.unit_price::varchar END AS unit_price,
477
+ raw.manufacture_date
478
+ FROM
479
+ raw_arrival_notices raw
480
+ LEFT JOIN temp_gan an ON raw.ref_no = an.ref_no
481
+ AND raw.ref_no_2 = an.ref_no_2
482
+ AND raw.ref_no_3 = an.ref_no_3
483
+ AND raw.eta_date = an.eta_date
484
+ AND raw.truck_no = an.truck_no
485
+ AND raw.own_transport = an.own_transport
486
+ AND raw.container = an.container
487
+ AND raw.container_no = an.container_no
488
+ AND raw.container_size = an.container_size
489
+ AND raw.loose_item = an.loose_item
490
+ AND raw.import_cargo = an.import_cargo
491
+ LEFT JOIN products pr ON LOWER(pr.sku) = LOWER(raw.sku)
492
+ LEFT JOIN product_details pd ON pr.id = pd.product_id
493
+ AND CASE WHEN raw.packing_type NOTNULL AND raw.packing_size NOTNULL AND raw.uom NOTNULL
494
+ THEN pd.packing_type = raw.packing_type AND pd.packing_size = raw.packing_size AND pd.uom = raw.uom
495
+ WHEN raw.packing_type NOTNULL AND raw.packing_size NOTNULL AND raw.uom ISNULL
496
+ THEN pd.packing_type = raw.packing_type AND pd.packing_size = raw.packing_size AND pd.is_default IS TRUE
497
+ WHEN raw.packing_type ISNULL AND raw.packing_size ISNULL AND raw.uom NOTNULL
498
+ THEN pd.uom = raw.uom AND pd.is_default IS TRUE ELSE pd.is_default IS TRUE
499
+ END
500
+ WHERE pr.bizplace_id = $1
501
+ GROUP BY raw.ref_no, raw.ref_no_2, raw.ref_no_3, raw.eta_date, raw.truck_no, raw.own_transport, raw.container, raw.container_no, raw.container_size, raw.import_cargo, raw.loose_item,
502
+ pr.id, pd.id, raw.sku, pr.name, pr.description, raw.batch_id, raw.batch_id_ref, raw.packing_type, raw.pallet_id, raw.packing_size, raw.uom, raw.unit_price, raw.manufacture_date, an.ref_no, an.name;
503
+ `, [companyBizplace.id]);
504
+ await trxMgr.query(`
505
+ CREATE TEMPORARY TABLE temp_foo_duplicates AS
506
+ SELECT
507
+ pallet_id,
508
+ COUNT(*) AS duplicate_count
509
+ FROM temp_foo
510
+ GROUP BY pallet_id;`);
511
+ await trxMgr.query(`
512
+ CREATE TEMPORARY TABLE temp_used_pallet_ids AS
513
+ SELECT DISTINCT pallet_id
514
+ FROM order_products
515
+ WHERE domain_id = $1;
516
+ `, [domain.id]);
517
+ let validatedItems = await trxMgr.query(`
518
+ SELECT
519
+ f.*,
520
+ CONCAT(COALESCE(ROUND(f.uom_value::numeric, 2), 0) * COALESCE(f.pack_qty, 0), ' ', f.uom) AS total_uom_value,
521
+ TRIM(
522
+ BOTH ',' FROM (
523
+ CASE
524
+ WHEN f.gan_ref_no IS NOT NULL THEN 'order duplicated with ' || f.gan_name || ','
525
+ ELSE ''
526
+ END ||
527
+ CASE
528
+ WHEN (SUBSTRING(f.manufacture_date,5,1) = '-' AND SUBSTRING(f.manufacture_date,8,1) = '-') OR f.manufacture_date IS NULL THEN
529
+ CASE
530
+ WHEN TO_DATE(f.manufacture_date, 'YYYY-MM-DD') > current_date THEN 'invalid manufacture date,'
531
+ ELSE ''
532
+ END
533
+ ELSE 'invalid manufacture date format. please use dd/mm/yyyy,'
534
+ END ||
535
+ CASE
536
+ WHEN f.product_id IS NULL OR f.product_detail_id IS NULL OR f.sku IS NULL THEN 'product not found,'
537
+ ELSE ''
538
+ END ||
539
+ CASE
540
+ WHEN f.pack_qty IS NULL OR f.pack_qty <= 0 THEN 'invalid pack qty,'
541
+ ELSE ''
542
+ END ||
543
+ CASE
544
+ WHEN f.pack_qty % 1 != 0 AND NOT pr.is_inventory_decimal THEN 'decimal quantities are not allowed for this product,'
545
+ ELSE ''
546
+ END ||
547
+ CASE
548
+ WHEN f.batch_id IS NULL THEN 'batch no. is required,'
549
+ ELSE ''
550
+ END ||
551
+ CASE
552
+ WHEN f.ref_no IS NULL OR f.ref_no = '' THEN 'ref no. is required,'
553
+ ELSE ''
554
+ END ||
555
+ CASE
556
+ WHEN f.eta_date IS NULL THEN 'eta date is required,'
557
+ ELSE ''
558
+ END ||
559
+ CASE
560
+ WHEN NOT(SUBSTRING(f.eta_date,5,1) = '-' AND SUBSTRING(f.eta_date,8,1) = '-') THEN 'invalid eta date format. please use dd/mm/yyyy,'
561
+ ELSE ''
562
+ END ||
563
+ CASE
564
+ WHEN f.unit_price IS NULL THEN 'invalid unit price (not a number),'
565
+ ELSE ''
566
+ END ||
567
+ CASE
568
+ WHEN f.unit_price::FLOAT < 0 THEN 'invalid unit price (negative value),'
569
+ ELSE ''
570
+ END ||
571
+ CASE
572
+ WHEN (f.container_no IS NOT NULL AND f.container_size IS NULL) OR (f.container_no IS NULL AND f.container_size IS NOT NULL) THEN 'incomplete container information,'
573
+ ELSE ''
574
+ END ||
575
+ CASE
576
+ WHEN f.pallet_qty < 0 THEN 'invalid pallet qty,'
577
+ ELSE ''
578
+ END ||
579
+ CASE
580
+ WHEN d.duplicate_count > 1 THEN 'duplicate Lot ID within current data,'
581
+ ELSE ''
582
+ END ||
583
+ CASE
584
+ WHEN EXISTS (
585
+ SELECT 1 FROM temp_used_pallet_ids up WHERE up.pallet_id = f.pallet_id
586
+ ) THEN 'Lot ID is already in use. Please enter new Lot ID,'
587
+ ELSE ''
588
+ END
589
+ )
590
+ ) AS error_msg
591
+ FROM
592
+ temp_foo f
593
+ LEFT JOIN temp_foo_duplicates d ON f.pallet_id = d.pallet_id
594
+ LEFT JOIN products pr ON pr.id = f.product_id
595
+ ORDER BY f.ref_no, f.ref_no_2, f.ref_no_3, f.sku;
596
+ `);
597
+ await trxMgr.query('DROP TABLE raw_arrival_notices, temp_gan, temp_foo, temp_foo_duplicates, temp_used_pallet_ids');
598
+ return validatedItems.map(item => {
599
+ return {
600
+ refNo: item.ref_no,
601
+ refNo2: item.ref_no_2,
602
+ refNo3: item.ref_no_3,
603
+ etaDate: item.eta_date,
604
+ truckNo: item.truck_no,
605
+ ownTransport: !!item.own_transport,
606
+ container: item.container,
607
+ containerNo: item.container_no,
608
+ containerSize: item.container_size,
609
+ importCargo: !!item.import_cargo,
610
+ looseItem: !!item.loose_item,
611
+ productId: item.product_id,
612
+ productDetailId: item.product_detail_id,
613
+ sku: item.sku,
614
+ productInfo: item.product_info,
615
+ batchId: item.batch_id,
616
+ batchIdRef: item.batch_id_ref,
617
+ packingType: item.packing_type,
618
+ packingSize: item.packing_size,
619
+ uom: item.uom,
620
+ packQty: item.pack_qty,
621
+ uomValue: item.uom_value,
622
+ totalUomValue: item.total_uom_value,
623
+ palletQty: item.pallet_qty,
624
+ palletId: item.pallet_id,
625
+ unitPrice: item.unit_price,
626
+ manufactureDate: item.manufacture_date,
627
+ errorMsg: lotIdInputSettingChecker
628
+ ? lotIdInputSettingChecker + (item.error_msg ? ',' + item.error_msg : '')
629
+ : item.error_msg
630
+ };
631
+ });
632
+ }
633
+ exports.validateBulkArrivalNoticesFunction = validateBulkArrivalNoticesFunction;
634
+ //# sourceMappingURL=arrival-notice-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrival-notice-query.js","sourceRoot":"","sources":["../../../server/service/arrival-notice/arrival-notice-query.ts"],"names":[],"mappings":"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"}