@things-factory/sales-base 4.3.671 → 4.3.675

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