@things-factory/sales-base 4.3.650 → 4.3.651

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/package.json +5 -5
  2. package/dist-server/constants/attachment-type.js +0 -15
  3. package/dist-server/constants/attachment-type.js.map +0 -1
  4. package/dist-server/constants/index.js +0 -24
  5. package/dist-server/constants/index.js.map +0 -1
  6. package/dist-server/constants/load-type.js +0 -8
  7. package/dist-server/constants/load-type.js.map +0 -1
  8. package/dist-server/constants/order.js +0 -235
  9. package/dist-server/constants/order.js.map +0 -1
  10. package/dist-server/constants/product-group-type.js +0 -8
  11. package/dist-server/constants/product-group-type.js.map +0 -1
  12. package/dist-server/constants/release-good.js +0 -13
  13. package/dist-server/constants/release-good.js.map +0 -1
  14. package/dist-server/constants/transfer-order-type.js +0 -9
  15. package/dist-server/constants/transfer-order-type.js.map +0 -1
  16. package/dist-server/constants/validation-error-code.js +0 -7
  17. package/dist-server/constants/validation-error-code.js.map +0 -1
  18. package/dist-server/constants/vas-target-type.js +0 -26
  19. package/dist-server/constants/vas-target-type.js.map +0 -1
  20. package/dist-server/controllers/ecommerce/ecommerce-controller.js +0 -138
  21. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +0 -1
  22. package/dist-server/controllers/ecommerce/index.js +0 -21
  23. package/dist-server/controllers/ecommerce/index.js.map +0 -1
  24. package/dist-server/controllers/ecommerce/powrup-controller.js +0 -690
  25. package/dist-server/controllers/ecommerce/powrup-controller.js.map +0 -1
  26. package/dist-server/controllers/ecommerce/sellercraft-controller.js +0 -148
  27. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +0 -1
  28. package/dist-server/controllers/ecommerce/webspert-controller.js +0 -237
  29. package/dist-server/controllers/ecommerce/webspert-controller.js.map +0 -1
  30. package/dist-server/controllers/index.js +0 -19
  31. package/dist-server/controllers/index.js.map +0 -1
  32. package/dist-server/controllers/order-controller.js +0 -244
  33. package/dist-server/controllers/order-controller.js.map +0 -1
  34. package/dist-server/errors/index.js +0 -18
  35. package/dist-server/errors/index.js.map +0 -1
  36. package/dist-server/errors/validation-error.js +0 -41
  37. package/dist-server/errors/validation-error.js.map +0 -1
  38. package/dist-server/index.js +0 -30
  39. package/dist-server/index.js.map +0 -1
  40. package/dist-server/migrations/index.js +0 -12
  41. package/dist-server/migrations/index.js.map +0 -1
  42. package/dist-server/service/arrival-notice/arrival-notice-mutation.js +0 -1085
  43. package/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +0 -1
  44. package/dist-server/service/arrival-notice/arrival-notice-query.js +0 -634
  45. package/dist-server/service/arrival-notice/arrival-notice-query.js.map +0 -1
  46. package/dist-server/service/arrival-notice/arrival-notice-types.js +0 -443
  47. package/dist-server/service/arrival-notice/arrival-notice-types.js.map +0 -1
  48. package/dist-server/service/arrival-notice/arrival-notice.js +0 -259
  49. package/dist-server/service/arrival-notice/arrival-notice.js.map +0 -1
  50. package/dist-server/service/arrival-notice/index.js +0 -25
  51. package/dist-server/service/arrival-notice/index.js.map +0 -1
  52. package/dist-server/service/claim/claim-mutation.js +0 -243
  53. package/dist-server/service/claim/claim-mutation.js.map +0 -1
  54. package/dist-server/service/claim/claim-query.js +0 -165
  55. package/dist-server/service/claim/claim-query.js.map +0 -1
  56. package/dist-server/service/claim/claim-types.js +0 -191
  57. package/dist-server/service/claim/claim-types.js.map +0 -1
  58. package/dist-server/service/claim/claim.js +0 -176
  59. package/dist-server/service/claim/claim.js.map +0 -1
  60. package/dist-server/service/claim/index.js +0 -25
  61. package/dist-server/service/claim/index.js.map +0 -1
  62. package/dist-server/service/claim-detail/claim-detail-mutation.js +0 -110
  63. package/dist-server/service/claim-detail/claim-detail-mutation.js.map +0 -1
  64. package/dist-server/service/claim-detail/claim-detail-query.js +0 -90
  65. package/dist-server/service/claim-detail/claim-detail-query.js.map +0 -1
  66. package/dist-server/service/claim-detail/claim-detail-types.js +0 -81
  67. package/dist-server/service/claim-detail/claim-detail-types.js.map +0 -1
  68. package/dist-server/service/claim-detail/claim-detail.js +0 -102
  69. package/dist-server/service/claim-detail/claim-detail.js.map +0 -1
  70. package/dist-server/service/claim-detail/index.js +0 -25
  71. package/dist-server/service/claim-detail/index.js.map +0 -1
  72. package/dist-server/service/claim-order/claim-order-mutation.js +0 -110
  73. package/dist-server/service/claim-order/claim-order-mutation.js.map +0 -1
  74. package/dist-server/service/claim-order/claim-order-query.js +0 -86
  75. package/dist-server/service/claim-order/claim-order-query.js.map +0 -1
  76. package/dist-server/service/claim-order/claim-order-types.js +0 -65
  77. package/dist-server/service/claim-order/claim-order-types.js.map +0 -1
  78. package/dist-server/service/claim-order/claim-order.js +0 -104
  79. package/dist-server/service/claim-order/claim-order.js.map +0 -1
  80. package/dist-server/service/claim-order/index.js +0 -25
  81. package/dist-server/service/claim-order/index.js.map +0 -1
  82. package/dist-server/service/collection-order/collection-order-mutation.js +0 -241
  83. package/dist-server/service/collection-order/collection-order-mutation.js.map +0 -1
  84. package/dist-server/service/collection-order/collection-order-query.js +0 -125
  85. package/dist-server/service/collection-order/collection-order-query.js.map +0 -1
  86. package/dist-server/service/collection-order/collection-order-types.js +0 -241
  87. package/dist-server/service/collection-order/collection-order-types.js.map +0 -1
  88. package/dist-server/service/collection-order/collection-order.js +0 -183
  89. package/dist-server/service/collection-order/collection-order.js.map +0 -1
  90. package/dist-server/service/collection-order/index.js +0 -25
  91. package/dist-server/service/collection-order/index.js.map +0 -1
  92. package/dist-server/service/delivery-order/delivery-order-mutation.js +0 -746
  93. package/dist-server/service/delivery-order/delivery-order-mutation.js.map +0 -1
  94. package/dist-server/service/delivery-order/delivery-order-query.js +0 -570
  95. package/dist-server/service/delivery-order/delivery-order-query.js.map +0 -1
  96. package/dist-server/service/delivery-order/delivery-order-types.js +0 -397
  97. package/dist-server/service/delivery-order/delivery-order-types.js.map +0 -1
  98. package/dist-server/service/delivery-order/delivery-order.js +0 -365
  99. package/dist-server/service/delivery-order/delivery-order.js.map +0 -1
  100. package/dist-server/service/delivery-order/index.js +0 -25
  101. package/dist-server/service/delivery-order/index.js.map +0 -1
  102. package/dist-server/service/draft-release-good/draft-release-good-create.js +0 -647
  103. package/dist-server/service/draft-release-good/draft-release-good-create.js.map +0 -1
  104. package/dist-server/service/draft-release-good/draft-release-good-mutation.js +0 -486
  105. package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +0 -1
  106. package/dist-server/service/draft-release-good/draft-release-good-query.js +0 -366
  107. package/dist-server/service/draft-release-good/draft-release-good-query.js.map +0 -1
  108. package/dist-server/service/draft-release-good/draft-release-good-type.js +0 -424
  109. package/dist-server/service/draft-release-good/draft-release-good-type.js.map +0 -1
  110. package/dist-server/service/draft-release-good/draft-release-good.js +0 -444
  111. package/dist-server/service/draft-release-good/draft-release-good.js.map +0 -1
  112. package/dist-server/service/draft-release-good/index.js +0 -29
  113. package/dist-server/service/draft-release-good/index.js.map +0 -1
  114. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js +0 -140
  115. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js.map +0 -1
  116. package/dist-server/service/goods-receival-note/goods-receival-note-query.js +0 -273
  117. package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +0 -1
  118. package/dist-server/service/goods-receival-note/goods-receival-note-types.js +0 -159
  119. package/dist-server/service/goods-receival-note/goods-receival-note-types.js.map +0 -1
  120. package/dist-server/service/goods-receival-note/goods-receival-note.js +0 -156
  121. package/dist-server/service/goods-receival-note/goods-receival-note.js.map +0 -1
  122. package/dist-server/service/goods-receival-note/index.js +0 -25
  123. package/dist-server/service/goods-receival-note/index.js.map +0 -1
  124. package/dist-server/service/index.js +0 -282
  125. package/dist-server/service/index.js.map +0 -1
  126. package/dist-server/service/inventory-check/index.js +0 -25
  127. package/dist-server/service/inventory-check/index.js.map +0 -1
  128. package/dist-server/service/inventory-check/inventory-check-mutation.js +0 -151
  129. package/dist-server/service/inventory-check/inventory-check-mutation.js.map +0 -1
  130. package/dist-server/service/inventory-check/inventory-check-query.js +0 -138
  131. package/dist-server/service/inventory-check/inventory-check-query.js.map +0 -1
  132. package/dist-server/service/inventory-check/inventory-check-types.js +0 -82
  133. package/dist-server/service/inventory-check/inventory-check-types.js.map +0 -1
  134. package/dist-server/service/inventory-check/inventory-check.js +0 -115
  135. package/dist-server/service/inventory-check/inventory-check.js.map +0 -1
  136. package/dist-server/service/inventory-check-item/index.js +0 -25
  137. package/dist-server/service/inventory-check-item/index.js.map +0 -1
  138. package/dist-server/service/inventory-check-item/inventory-check-item-mutation.js +0 -120
  139. package/dist-server/service/inventory-check-item/inventory-check-item-mutation.js.map +0 -1
  140. package/dist-server/service/inventory-check-item/inventory-check-item-query.js +0 -196
  141. package/dist-server/service/inventory-check-item/inventory-check-item-query.js.map +0 -1
  142. package/dist-server/service/inventory-check-item/inventory-check-item-types.js +0 -157
  143. package/dist-server/service/inventory-check-item/inventory-check-item-types.js.map +0 -1
  144. package/dist-server/service/inventory-check-item/inventory-check-item.js +0 -273
  145. package/dist-server/service/inventory-check-item/inventory-check-item.js.map +0 -1
  146. package/dist-server/service/invoice/index.js +0 -25
  147. package/dist-server/service/invoice/index.js.map +0 -1
  148. package/dist-server/service/invoice/invoice-mutation.js +0 -105
  149. package/dist-server/service/invoice/invoice-mutation.js.map +0 -1
  150. package/dist-server/service/invoice/invoice-query.js +0 -94
  151. package/dist-server/service/invoice/invoice-query.js.map +0 -1
  152. package/dist-server/service/invoice/invoice-types.js +0 -388
  153. package/dist-server/service/invoice/invoice-types.js.map +0 -1
  154. package/dist-server/service/invoice/invoice.js +0 -312
  155. package/dist-server/service/invoice/invoice.js.map +0 -1
  156. package/dist-server/service/invoice-product/index.js +0 -25
  157. package/dist-server/service/invoice-product/index.js.map +0 -1
  158. package/dist-server/service/invoice-product/invoice-product-mutation.js +0 -70
  159. package/dist-server/service/invoice-product/invoice-product-mutation.js.map +0 -1
  160. package/dist-server/service/invoice-product/invoice-product-query.js +0 -95
  161. package/dist-server/service/invoice-product/invoice-product-query.js.map +0 -1
  162. package/dist-server/service/invoice-product/invoice-product-types.js +0 -131
  163. package/dist-server/service/invoice-product/invoice-product-types.js.map +0 -1
  164. package/dist-server/service/invoice-product/invoice-product.js +0 -130
  165. package/dist-server/service/invoice-product/invoice-product.js.map +0 -1
  166. package/dist-server/service/job-sheet/index.js +0 -25
  167. package/dist-server/service/job-sheet/index.js.map +0 -1
  168. package/dist-server/service/job-sheet/job-sheet-mutation.js +0 -93
  169. package/dist-server/service/job-sheet/job-sheet-mutation.js.map +0 -1
  170. package/dist-server/service/job-sheet/job-sheet-query.js +0 -134
  171. package/dist-server/service/job-sheet/job-sheet-query.js.map +0 -1
  172. package/dist-server/service/job-sheet/job-sheet-types.js +0 -113
  173. package/dist-server/service/job-sheet/job-sheet-types.js.map +0 -1
  174. package/dist-server/service/job-sheet/job-sheet.js +0 -132
  175. package/dist-server/service/job-sheet/job-sheet.js.map +0 -1
  176. package/dist-server/service/manifest/index.js +0 -9
  177. package/dist-server/service/manifest/index.js.map +0 -1
  178. package/dist-server/service/manifest/manifest-mutation.js +0 -264
  179. package/dist-server/service/manifest/manifest-mutation.js.map +0 -1
  180. package/dist-server/service/manifest/manifest-query.js +0 -228
  181. package/dist-server/service/manifest/manifest-query.js.map +0 -1
  182. package/dist-server/service/manifest/manifest-type.js +0 -183
  183. package/dist-server/service/manifest/manifest-type.js.map +0 -1
  184. package/dist-server/service/manifest/manifest.js +0 -134
  185. package/dist-server/service/manifest/manifest.js.map +0 -1
  186. package/dist-server/service/order-consignment/index.js +0 -9
  187. package/dist-server/service/order-consignment/index.js.map +0 -1
  188. package/dist-server/service/order-consignment/order-consignment-mutation.js +0 -120
  189. package/dist-server/service/order-consignment/order-consignment-mutation.js.map +0 -1
  190. package/dist-server/service/order-consignment/order-consignment-query.js +0 -87
  191. package/dist-server/service/order-consignment/order-consignment-query.js.map +0 -1
  192. package/dist-server/service/order-consignment/order-consignment-type.js +0 -69
  193. package/dist-server/service/order-consignment/order-consignment-type.js.map +0 -1
  194. package/dist-server/service/order-consignment/order-consignment.js +0 -115
  195. package/dist-server/service/order-consignment/order-consignment.js.map +0 -1
  196. package/dist-server/service/order-inventory/index.js +0 -25
  197. package/dist-server/service/order-inventory/index.js.map +0 -1
  198. package/dist-server/service/order-inventory/order-inventory-mutation.js +0 -80
  199. package/dist-server/service/order-inventory/order-inventory-mutation.js.map +0 -1
  200. package/dist-server/service/order-inventory/order-inventory-query.js +0 -592
  201. package/dist-server/service/order-inventory/order-inventory-query.js.map +0 -1
  202. package/dist-server/service/order-inventory/order-inventory-types.js +0 -341
  203. package/dist-server/service/order-inventory/order-inventory-types.js.map +0 -1
  204. package/dist-server/service/order-inventory/order-inventory.js +0 -785
  205. package/dist-server/service/order-inventory/order-inventory.js.map +0 -1
  206. package/dist-server/service/order-package/index.js +0 -9
  207. package/dist-server/service/order-package/index.js.map +0 -1
  208. package/dist-server/service/order-package/order-package-mutation.js +0 -120
  209. package/dist-server/service/order-package/order-package-mutation.js.map +0 -1
  210. package/dist-server/service/order-package/order-package-query.js +0 -142
  211. package/dist-server/service/order-package/order-package-query.js.map +0 -1
  212. package/dist-server/service/order-package/order-package-types.js +0 -113
  213. package/dist-server/service/order-package/order-package-types.js.map +0 -1
  214. package/dist-server/service/order-package/order-package.js +0 -229
  215. package/dist-server/service/order-package/order-package.js.map +0 -1
  216. package/dist-server/service/order-package-item/index.js +0 -9
  217. package/dist-server/service/order-package-item/index.js.map +0 -1
  218. package/dist-server/service/order-package-item/order-package-item-mutation.js +0 -120
  219. package/dist-server/service/order-package-item/order-package-item-mutation.js.map +0 -1
  220. package/dist-server/service/order-package-item/order-package-item-query.js +0 -127
  221. package/dist-server/service/order-package-item/order-package-item-query.js.map +0 -1
  222. package/dist-server/service/order-package-item/order-package-item-types.js +0 -99
  223. package/dist-server/service/order-package-item/order-package-item-types.js.map +0 -1
  224. package/dist-server/service/order-package-item/order-package-item.js +0 -162
  225. package/dist-server/service/order-package-item/order-package-item.js.map +0 -1
  226. package/dist-server/service/order-product/index.js +0 -25
  227. package/dist-server/service/order-product/index.js.map +0 -1
  228. package/dist-server/service/order-product/order-product-mutation.js +0 -74
  229. package/dist-server/service/order-product/order-product-mutation.js.map +0 -1
  230. package/dist-server/service/order-product/order-product-query.js +0 -125
  231. package/dist-server/service/order-product/order-product-query.js.map +0 -1
  232. package/dist-server/service/order-product/order-product-types.js +0 -489
  233. package/dist-server/service/order-product/order-product-types.js.map +0 -1
  234. package/dist-server/service/order-product/order-product.js +0 -559
  235. package/dist-server/service/order-product/order-product.js.map +0 -1
  236. package/dist-server/service/order-tote/index.js +0 -25
  237. package/dist-server/service/order-tote/index.js.map +0 -1
  238. package/dist-server/service/order-tote/order-tote-mutation.js +0 -56
  239. package/dist-server/service/order-tote/order-tote-mutation.js.map +0 -1
  240. package/dist-server/service/order-tote/order-tote-query.js +0 -123
  241. package/dist-server/service/order-tote/order-tote-query.js.map +0 -1
  242. package/dist-server/service/order-tote/order-tote-types.js +0 -79
  243. package/dist-server/service/order-tote/order-tote-types.js.map +0 -1
  244. package/dist-server/service/order-tote/order-tote.js +0 -92
  245. package/dist-server/service/order-tote/order-tote.js.map +0 -1
  246. package/dist-server/service/order-tote-item/index.js +0 -25
  247. package/dist-server/service/order-tote-item/index.js.map +0 -1
  248. package/dist-server/service/order-tote-item/order-tote-item-mutation.js +0 -56
  249. package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +0 -1
  250. package/dist-server/service/order-tote-item/order-tote-item-query.js +0 -100
  251. package/dist-server/service/order-tote-item/order-tote-item-query.js.map +0 -1
  252. package/dist-server/service/order-tote-item/order-tote-item-types.js +0 -91
  253. package/dist-server/service/order-tote-item/order-tote-item-types.js.map +0 -1
  254. package/dist-server/service/order-tote-item/order-tote-item.js +0 -118
  255. package/dist-server/service/order-tote-item/order-tote-item.js.map +0 -1
  256. package/dist-server/service/order-tote-seal/index.js +0 -25
  257. package/dist-server/service/order-tote-seal/index.js.map +0 -1
  258. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js +0 -56
  259. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +0 -1
  260. package/dist-server/service/order-tote-seal/order-tote-seal-query.js +0 -97
  261. package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +0 -1
  262. package/dist-server/service/order-tote-seal/order-tote-seal-types.js +0 -71
  263. package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +0 -1
  264. package/dist-server/service/order-tote-seal/order-tote-seal.js +0 -71
  265. package/dist-server/service/order-tote-seal/order-tote-seal.js.map +0 -1
  266. package/dist-server/service/order-vas/index.js +0 -25
  267. package/dist-server/service/order-vas/index.js.map +0 -1
  268. package/dist-server/service/order-vas/order-vas-mutation.js +0 -148
  269. package/dist-server/service/order-vas/order-vas-mutation.js.map +0 -1
  270. package/dist-server/service/order-vas/order-vas-query.js +0 -148
  271. package/dist-server/service/order-vas/order-vas-query.js.map +0 -1
  272. package/dist-server/service/order-vas/order-vas-types.js +0 -348
  273. package/dist-server/service/order-vas/order-vas-types.js.map +0 -1
  274. package/dist-server/service/order-vas/order-vas.js +0 -476
  275. package/dist-server/service/order-vas/order-vas.js.map +0 -1
  276. package/dist-server/service/order-vas-item/index.js +0 -9
  277. package/dist-server/service/order-vas-item/index.js.map +0 -1
  278. package/dist-server/service/order-vas-item/order-vas-item-mutation.js +0 -164
  279. package/dist-server/service/order-vas-item/order-vas-item-mutation.js.map +0 -1
  280. package/dist-server/service/order-vas-item/order-vas-item-query.js +0 -99
  281. package/dist-server/service/order-vas-item/order-vas-item-query.js.map +0 -1
  282. package/dist-server/service/order-vas-item/order-vas-item-type.js +0 -131
  283. package/dist-server/service/order-vas-item/order-vas-item-type.js.map +0 -1
  284. package/dist-server/service/order-vas-item/order-vas-item.js +0 -166
  285. package/dist-server/service/order-vas-item/order-vas-item.js.map +0 -1
  286. package/dist-server/service/others/index.js +0 -21
  287. package/dist-server/service/others/index.js.map +0 -1
  288. package/dist-server/service/others/other-query.js +0 -536
  289. package/dist-server/service/others/other-query.js.map +0 -1
  290. package/dist-server/service/others/other-types.js +0 -181
  291. package/dist-server/service/others/other-types.js.map +0 -1
  292. package/dist-server/service/purchase-order/index.js +0 -25
  293. package/dist-server/service/purchase-order/index.js.map +0 -1
  294. package/dist-server/service/purchase-order/purchase-order-mutation.js +0 -398
  295. package/dist-server/service/purchase-order/purchase-order-mutation.js.map +0 -1
  296. package/dist-server/service/purchase-order/purchase-order-query.js +0 -126
  297. package/dist-server/service/purchase-order/purchase-order-query.js.map +0 -1
  298. package/dist-server/service/purchase-order/purchase-order-types.js +0 -240
  299. package/dist-server/service/purchase-order/purchase-order-types.js.map +0 -1
  300. package/dist-server/service/purchase-order/purchase-order.js +0 -236
  301. package/dist-server/service/purchase-order/purchase-order.js.map +0 -1
  302. package/dist-server/service/purchase-order-other-charge/index.js +0 -25
  303. package/dist-server/service/purchase-order-other-charge/index.js.map +0 -1
  304. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js +0 -56
  305. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js.map +0 -1
  306. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js +0 -87
  307. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js.map +0 -1
  308. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js +0 -77
  309. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js.map +0 -1
  310. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js +0 -101
  311. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js.map +0 -1
  312. package/dist-server/service/release-good/index.js +0 -25
  313. package/dist-server/service/release-good/index.js.map +0 -1
  314. package/dist-server/service/release-good/release-good-mutation.js +0 -1598
  315. package/dist-server/service/release-good/release-good-mutation.js.map +0 -1
  316. package/dist-server/service/release-good/release-good-query.js +0 -1131
  317. package/dist-server/service/release-good/release-good-query.js.map +0 -1
  318. package/dist-server/service/release-good/release-good-types.js +0 -1043
  319. package/dist-server/service/release-good/release-good-types.js.map +0 -1
  320. package/dist-server/service/release-good/release-good.js +0 -817
  321. package/dist-server/service/release-good/release-good.js.map +0 -1
  322. package/dist-server/service/release-good-logs/index.js +0 -11
  323. package/dist-server/service/release-good-logs/index.js.map +0 -1
  324. package/dist-server/service/release-good-logs/release-good-logs-mutation.js +0 -126
  325. package/dist-server/service/release-good-logs/release-good-logs-mutation.js.map +0 -1
  326. package/dist-server/service/release-good-logs/release-good-logs-query.js +0 -71
  327. package/dist-server/service/release-good-logs/release-good-logs-query.js.map +0 -1
  328. package/dist-server/service/release-good-logs/release-good-logs-type.js +0 -65
  329. package/dist-server/service/release-good-logs/release-good-logs-type.js.map +0 -1
  330. package/dist-server/service/release-good-logs/release-good-logs.js +0 -96
  331. package/dist-server/service/release-good-logs/release-good-logs.js.map +0 -1
  332. package/dist-server/service/replenishment/index.js +0 -9
  333. package/dist-server/service/replenishment/index.js.map +0 -1
  334. package/dist-server/service/replenishment/replenishment-mutation.js +0 -234
  335. package/dist-server/service/replenishment/replenishment-mutation.js.map +0 -1
  336. package/dist-server/service/replenishment/replenishment-query.js +0 -185
  337. package/dist-server/service/replenishment/replenishment-query.js.map +0 -1
  338. package/dist-server/service/replenishment/replenishment-type.js +0 -119
  339. package/dist-server/service/replenishment/replenishment-type.js.map +0 -1
  340. package/dist-server/service/replenishment/replenishment.js +0 -114
  341. package/dist-server/service/replenishment/replenishment.js.map +0 -1
  342. package/dist-server/service/retail-replenishment-order/index.js +0 -25
  343. package/dist-server/service/retail-replenishment-order/index.js.map +0 -1
  344. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js +0 -314
  345. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js.map +0 -1
  346. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js +0 -89
  347. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js.map +0 -1
  348. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js +0 -148
  349. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js.map +0 -1
  350. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js +0 -141
  351. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js.map +0 -1
  352. package/dist-server/service/return-order/index.js +0 -25
  353. package/dist-server/service/return-order/index.js.map +0 -1
  354. package/dist-server/service/return-order/return-order-mutation.js +0 -451
  355. package/dist-server/service/return-order/return-order-mutation.js.map +0 -1
  356. package/dist-server/service/return-order/return-order-query.js +0 -243
  357. package/dist-server/service/return-order/return-order-query.js.map +0 -1
  358. package/dist-server/service/return-order/return-order-types.js +0 -274
  359. package/dist-server/service/return-order/return-order-types.js.map +0 -1
  360. package/dist-server/service/return-order/return-order.js +0 -159
  361. package/dist-server/service/return-order/return-order.js.map +0 -1
  362. package/dist-server/service/reverse-kitting-order/index.js +0 -25
  363. package/dist-server/service/reverse-kitting-order/index.js.map +0 -1
  364. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js +0 -407
  365. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js.map +0 -1
  366. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js +0 -222
  367. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +0 -1
  368. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js +0 -230
  369. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js.map +0 -1
  370. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js +0 -145
  371. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +0 -1
  372. package/dist-server/service/reverse-kitting-order-inventory/index.js +0 -25
  373. package/dist-server/service/reverse-kitting-order-inventory/index.js.map +0 -1
  374. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js +0 -130
  375. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js.map +0 -1
  376. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js +0 -87
  377. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js.map +0 -1
  378. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js +0 -143
  379. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js.map +0 -1
  380. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js +0 -178
  381. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +0 -1
  382. package/dist-server/service/shipping-order/index.js +0 -25
  383. package/dist-server/service/shipping-order/index.js.map +0 -1
  384. package/dist-server/service/shipping-order/shipping-order-mutation.js +0 -78
  385. package/dist-server/service/shipping-order/shipping-order-mutation.js.map +0 -1
  386. package/dist-server/service/shipping-order/shipping-order-query.js +0 -96
  387. package/dist-server/service/shipping-order/shipping-order-query.js.map +0 -1
  388. package/dist-server/service/shipping-order/shipping-order-types.js +0 -137
  389. package/dist-server/service/shipping-order/shipping-order-types.js.map +0 -1
  390. package/dist-server/service/shipping-order/shipping-order.js +0 -165
  391. package/dist-server/service/shipping-order/shipping-order.js.map +0 -1
  392. package/dist-server/service/transfer-order/index.js +0 -25
  393. package/dist-server/service/transfer-order/index.js.map +0 -1
  394. package/dist-server/service/transfer-order/transfer-order-mutation.js +0 -252
  395. package/dist-server/service/transfer-order/transfer-order-mutation.js.map +0 -1
  396. package/dist-server/service/transfer-order/transfer-order-query.js +0 -104
  397. package/dist-server/service/transfer-order/transfer-order-query.js.map +0 -1
  398. package/dist-server/service/transfer-order/transfer-order-types.js +0 -148
  399. package/dist-server/service/transfer-order/transfer-order-types.js.map +0 -1
  400. package/dist-server/service/transfer-order/transfer-order.js +0 -146
  401. package/dist-server/service/transfer-order/transfer-order.js.map +0 -1
  402. package/dist-server/service/vas/index.js +0 -25
  403. package/dist-server/service/vas/index.js.map +0 -1
  404. package/dist-server/service/vas/vas-mutation.js +0 -560
  405. package/dist-server/service/vas/vas-mutation.js.map +0 -1
  406. package/dist-server/service/vas/vas-query.js +0 -114
  407. package/dist-server/service/vas/vas-query.js.map +0 -1
  408. package/dist-server/service/vas/vas-types.js +0 -113
  409. package/dist-server/service/vas/vas-types.js.map +0 -1
  410. package/dist-server/service/vas/vas.js +0 -114
  411. package/dist-server/service/vas/vas.js.map +0 -1
  412. package/dist-server/service/vas-order/index.js +0 -25
  413. package/dist-server/service/vas-order/index.js.map +0 -1
  414. package/dist-server/service/vas-order/vas-order-mutation.js +0 -241
  415. package/dist-server/service/vas-order/vas-order-mutation.js.map +0 -1
  416. package/dist-server/service/vas-order/vas-order-query.js +0 -151
  417. package/dist-server/service/vas-order/vas-order-query.js.map +0 -1
  418. package/dist-server/service/vas-order/vas-order-types.js +0 -83
  419. package/dist-server/service/vas-order/vas-order-types.js.map +0 -1
  420. package/dist-server/service/vas-order/vas-order.js +0 -104
  421. package/dist-server/service/vas-order/vas-order.js.map +0 -1
  422. package/dist-server/utils/datetime-util.js +0 -82
  423. package/dist-server/utils/datetime-util.js.map +0 -1
  424. package/dist-server/utils/index.js +0 -20
  425. package/dist-server/utils/index.js.map +0 -1
  426. package/dist-server/utils/inventory-util.js +0 -1098
  427. package/dist-server/utils/inventory-util.js.map +0 -1
  428. package/dist-server/utils/order-no-generator.js +0 -112
  429. package/dist-server/utils/order-no-generator.js.map +0 -1
@@ -1,1085 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
- var _a;
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.editArrivalNoticeProducts = exports.addArrivalNoticeProducts = exports.rejectArrivalNotice = exports.checkArrivedNoticeFunction = exports.receiveArrivalNoticeFunction = exports.confirmArrivalNoticeFunction = exports.generateArrivalNoticeFunction = exports.deleteArrivalNotice = exports.ArrivalNoticeMutation = void 0;
20
- const graphql_upload_1 = require("graphql-upload");
21
- const type_graphql_1 = require("type-graphql");
22
- const typeorm_1 = require("typeorm");
23
- const attachment_base_1 = require("@things-factory/attachment-base");
24
- const auth_base_1 = require("@things-factory/auth-base");
25
- const biz_base_1 = require("@things-factory/biz-base");
26
- const id_rule_base_1 = require("@things-factory/id-rule-base");
27
- const notification_1 = require("@things-factory/notification");
28
- const product_base_1 = require("@things-factory/product-base");
29
- const setting_base_1 = require("@things-factory/setting-base");
30
- const constants_1 = require("../../constants");
31
- const attachment_type_1 = require("../../constants/attachment-type");
32
- const errors_1 = require("../../errors");
33
- const order_no_generator_1 = require("../../utils/order-no-generator");
34
- const collection_order_1 = require("../collection-order/collection-order");
35
- const job_sheet_1 = require("../job-sheet/job-sheet");
36
- const job_sheet_mutation_1 = require("../job-sheet/job-sheet-mutation");
37
- const order_product_1 = require("../order-product/order-product");
38
- const warehouse_base_1 = require("@things-factory/warehouse-base");
39
- const order_product_types_1 = require("../order-product/order-product-types");
40
- const order_vas_1 = require("../order-vas/order-vas");
41
- const release_good_1 = require("../release-good/release-good");
42
- const integration_base_1 = require("@things-factory/integration-base");
43
- const release_good_mutation_1 = require("../release-good/release-good-mutation");
44
- const vas_1 = require("../vas/vas");
45
- const _1 = require("./");
46
- const arrival_notice_1 = require("./arrival-notice");
47
- const arrival_notice_types_1 = require("./arrival-notice-types");
48
- const i18next_1 = __importDefault(require("i18next"));
49
- const debug = require('debug')('things-factory:operato-wms:addArrivalNotice');
50
- let ArrivalNoticeMutation = class ArrivalNoticeMutation {
51
- async deleteArrivalNotice(name, context) {
52
- const { tx, user, domain } = context.state;
53
- return await deleteArrivalNotice(tx, name, user, domain);
54
- }
55
- async generateArrivalNotice(context, arrivalNotice, files) {
56
- const { tx } = context.state;
57
- const createdArrivalNotice = await generateArrivalNoticeFunction(null, arrivalNotice, false, files, context, tx);
58
- (0, integration_base_1.webhookHandler)(createdArrivalNotice, { id: createdArrivalNotice.bizplace }, integration_base_1.WebhookEventsEnum.ArrivalNoticeCreated);
59
- return createdArrivalNotice;
60
- }
61
- async confirmArrivalNotice(name, context) {
62
- const { tx } = context.state;
63
- const arrivalNotice = await confirmArrivalNoticeFunction(name, context, tx);
64
- // If current GAN has cross docking
65
- if (arrivalNotice.crossDocking) {
66
- const { releaseGood } = await tx.getRepository(arrival_notice_1.ArrivalNotice).findOne(arrivalNotice.id, {
67
- relations: ['releaseGood']
68
- });
69
- // If status of related RO is not equal to PENDING_RECEIVE (i.e. Wasn't confirmed yet.)
70
- if (releaseGood.status !== constants_1.ORDER_STATUS.PENDING_RECEIVE) {
71
- await (0, release_good_mutation_1.confirmReleaseGood)(releaseGood.name, context);
72
- }
73
- }
74
- (0, integration_base_1.webhookHandler)(arrivalNotice, arrivalNotice.bizplace, integration_base_1.WebhookEventsEnum.ArrivalNoticeConfirmed);
75
- return arrivalNotice;
76
- }
77
- async receiveArrivalNotice(name, context) {
78
- const receiveArrivalNotice = await receiveArrivalNoticeFunction(null, name, context);
79
- return receiveArrivalNotice;
80
- }
81
- async checkArrivedNotice(name, context) {
82
- const { tx } = context.state;
83
- return await checkArrivedNoticeFunction(name, context, tx);
84
- }
85
- async rejectArrivalNotice(name, patch, context) {
86
- const { tx } = context.state;
87
- const arrivalNotice = await rejectArrivalNotice(tx, name, patch.remark, context);
88
- if (arrivalNotice.crossDocking) {
89
- const { releaseGood } = await tx
90
- .getRepository(arrival_notice_1.ArrivalNotice)
91
- .findOne(arrivalNotice.id, {
92
- relations: ['releaseGood']
93
- });
94
- if (releaseGood.status !== constants_1.ORDER_STATUS.REJECTED) {
95
- await (0, release_good_mutation_1.rejectReleaseGood)(tx, releaseGood.name, patch.remark, context);
96
- }
97
- }
98
- return arrivalNotice;
99
- }
100
- async addEditArrivalNoticeProducts(context, ganNo, approvedAddEditProducts, newOrderProducts, existingOrderProducts) {
101
- var _a;
102
- const { user, domain, tx } = context.state;
103
- try {
104
- let arrivalNotice = await tx.getRepository(arrival_notice_1.ArrivalNotice).findOne({
105
- where: { name: ganNo },
106
- relations: ['bizplace', 'orderProducts']
107
- });
108
- arrivalNotice.status = approvedAddEditProducts ? constants_1.ORDER_STATUS.PENDING : constants_1.ORDER_STATUS.PENDING_APPROVAL;
109
- arrivalNotice.updater = user;
110
- arrivalNotice = await tx.getRepository(arrival_notice_1.ArrivalNotice).save(arrivalNotice);
111
- //only for status GAN in 'PENDING'
112
- //allow to add/edit products without approval from client
113
- if (approvedAddEditProducts) {
114
- if ((newOrderProducts === null || newOrderProducts === void 0 ? void 0 : newOrderProducts.length) > 0) {
115
- let updatedNewOrderProducts = newOrderProducts.map(op => {
116
- op.status = constants_1.ORDER_PRODUCT_STATUS.PENDING;
117
- return op;
118
- });
119
- await addArrivalNoticeProducts(domain, arrivalNotice, updatedNewOrderProducts, user, tx);
120
- }
121
- for (const op of existingOrderProducts) {
122
- await tx
123
- .createQueryBuilder()
124
- .update(order_product_1.OrderProduct)
125
- .set({
126
- batchId: op.batchId,
127
- batchIdRef: op.batchIdRef,
128
- manufactureDate: op.manufactureDate,
129
- packQty: op.packQty,
130
- packingType: op.packingType,
131
- palletQty: op.palletQty,
132
- palletId: op.palletId,
133
- remark: op.remark,
134
- totalUomValue: op.totalUomValue,
135
- uom: op.uom,
136
- uomValue: op.uomValue,
137
- unitPrice: op.unitPrice,
138
- updater: user
139
- })
140
- .where('id = :id', { id: op.id })
141
- .andWhere('domain_id = :domainId', { domainId: domain.id })
142
- .execute();
143
- }
144
- return true;
145
- }
146
- if ((newOrderProducts === null || newOrderProducts === void 0 ? void 0 : newOrderProducts.length) > 0)
147
- await addArrivalNoticeProducts(domain, arrivalNotice, newOrderProducts, user, tx);
148
- if ((existingOrderProducts === null || existingOrderProducts === void 0 ? void 0 : existingOrderProducts.length) > 0)
149
- await editArrivalNoticeProducts(existingOrderProducts, user, tx);
150
- // notification logics
151
- const users = await (0, biz_base_1.getDomainUsers)(arrivalNotice === null || arrivalNotice === void 0 ? void 0 : arrivalNotice.bizplace, tx);
152
- if ((users === null || users === void 0 ? void 0 : users.length) && ((_a = context.header) === null || _a === void 0 ? void 0 : _a.referer)) {
153
- const receivers = users.map(user => user.id);
154
- const msg = {
155
- title: `Products are added/edited for ${arrivalNotice.name}`,
156
- body: `Warehouse need your review for changes to be approved`,
157
- url: context.header.referer,
158
- data: { url: context.header.referer }
159
- };
160
- /**
161
- * @notes Temporary off sendNotification due to suspect of causing wms down
162
- */
163
- // await sendNotification({
164
- // receivers,
165
- // message: { ...msg }
166
- // })
167
- }
168
- return true;
169
- }
170
- catch (error) {
171
- throw new Error(error);
172
- }
173
- }
174
- async addArrivalNotice(context, arrivalNotice, file) {
175
- const { tx } = context.state;
176
- const createdGAN = await generateArrivalNoticeFunction(null, arrivalNotice, false, file, context, tx);
177
- debug('createdGAN', createdGAN);
178
- const confirmedGAN = await confirmArrivalNoticeFunction(createdGAN.name, context, tx);
179
- debug('confirmedGAN', confirmedGAN);
180
- return confirmedGAN;
181
- }
182
- async updateArrivalNoticeDetails(context, arrivalNotice) {
183
- const { domain, tx } = context.state;
184
- let existingArrivalNotice = await tx
185
- .getRepository(arrival_notice_1.ArrivalNotice)
186
- .findOne({ where: { name: arrivalNotice.name, domain } });
187
- if (!existingArrivalNotice) {
188
- throw new Error('Existing Arrival Notice not found.');
189
- }
190
- await tx.getRepository(arrival_notice_1.ArrivalNotice).update(existingArrivalNotice.id, arrivalNotice);
191
- const updatedArrivalNotice = await tx
192
- .getRepository(arrival_notice_1.ArrivalNotice)
193
- .findOne({ where: { id: existingArrivalNotice.id }, relations: ['bizplace', 'domain'] });
194
- (0, integration_base_1.webhookHandler)(updatedArrivalNotice, updatedArrivalNotice.bizplace, integration_base_1.WebhookEventsEnum.ArrivalNoticeUpdated);
195
- return updatedArrivalNotice;
196
- }
197
- async bulkGenerateArrivalNotices(context, rawArrivalNotices, bizplaceId, bufferLocation) {
198
- const { domain, user, tx } = context.state;
199
- let createdArrivalNoticeIds = [], createdOrderProductIds = [], errorsCaught = [], finalArrivalNoticeList = [];
200
- let opStatus = constants_1.ORDER_PRODUCT_STATUS.PENDING_RECEIVE;
201
- let anStatus = constants_1.ORDER_STATUS.PENDING_RECEIVE;
202
- const foundBizplace = await tx
203
- .getRepository(biz_base_1.Bizplace)
204
- .findOne({ where: { id: bizplaceId }, relations: ['domain'] });
205
- if (!foundBizplace)
206
- throw new Error('company not found');
207
- // to check whether the raw data are valid
208
- const validatedArrivalNotices = await (0, _1.validateBulkArrivalNoticesFunction)(rawArrivalNotices, bizplaceId, domain, tx);
209
- // check for custom GAN order no setting
210
- const ganNoSetting = await tx.getRepository(setting_base_1.Setting).findOne({
211
- where: {
212
- domain,
213
- name: constants_1.ORDER_NUMBER_SETTING_KEY.GAN_NUMBER_RULE
214
- }
215
- });
216
- const ganProcessingSetting = await tx.getRepository(setting_base_1.Setting).findOne({
217
- where: { domain, category: 'id-rule', name: 'gan-order-processing' }
218
- });
219
- const partnerGanProcessingSetting = await tx.getRepository(setting_base_1.PartnerSetting).findOne({
220
- where: { setting: ganProcessingSetting, domain, partnerDomain: foundBizplace.domain.id }
221
- });
222
- // If status of GAN is PENDING_RECEIVE then directly to assign warehouse
223
- if (ganProcessingSetting) {
224
- let setting = !isNaN(partnerGanProcessingSetting === null || partnerGanProcessingSetting === void 0 ? void 0 : partnerGanProcessingSetting.value)
225
- ? partnerGanProcessingSetting === null || partnerGanProcessingSetting === void 0 ? void 0 : partnerGanProcessingSetting.value
226
- : ganProcessingSetting.value;
227
- // CONFIRM to assign if setting value is 1
228
- if (setting == 1) {
229
- opStatus = constants_1.ORDER_PRODUCT_STATUS.ARRIVED;
230
- anStatus = constants_1.ORDER_STATUS.ARRIVED;
231
- }
232
- }
233
- // extract rawArrivalNotices data into normal ArrivalNotice format
234
- let arrivalNotices = extractArrivalNotices(validatedArrivalNotices);
235
- for (let i = 0, l = arrivalNotices.length; i < l; i++) {
236
- try {
237
- await (0, typeorm_1.getConnection)().transaction(async (childTx) => {
238
- // check for duplication
239
- const duplicatedArrivalNotice = await childTx.getRepository(arrival_notice_1.ArrivalNotice).findOne({
240
- where: {
241
- refNo: arrivalNotices[i].refNo,
242
- refNo2: arrivalNotices[i].refNo2,
243
- refNo3: arrivalNotices[i].refNo3,
244
- etaDate: arrivalNotices[i].etaDate,
245
- truckNo: arrivalNotices[i].truckNo,
246
- containerNo: arrivalNotices[i].containerNo,
247
- containerSize: arrivalNotices[i].containerSize,
248
- looseItem: arrivalNotices[i].looseItem,
249
- importCargo: arrivalNotices[i].importCargo
250
- }
251
- });
252
- if (duplicatedArrivalNotice) {
253
- throw new Error(`duplicated with ${duplicatedArrivalNotice.name}`);
254
- }
255
- // save new arrival notice
256
- const createdArrivalNotice = await childTx.getRepository(arrival_notice_1.ArrivalNotice).save(Object.assign(Object.assign({}, arrivalNotices[i]), { name: ganNoSetting
257
- ? await (0, id_rule_base_1.generateId)({ domain, type: constants_1.ORDER_NUMBER_RULE_TYPE.GAN_NUMBER, seed: {} })
258
- : order_no_generator_1.OrderNoGenerator.arrivalNotice(), domain, bizplace: foundBizplace, status: constants_1.ORDER_STATUS.PENDING, creator: user, updater: user }));
259
- // save new order products
260
- let createdOrderProducts = await Promise.all(arrivalNotices[i].orderProducts.map(async (op) => {
261
- return Object.assign(Object.assign({}, op), { domain, bizplace: foundBizplace, name: order_no_generator_1.OrderNoGenerator.orderProduct(), status: constants_1.ORDER_PRODUCT_STATUS.PENDING, arrivalNotice: createdArrivalNotice, creator: user });
262
- }));
263
- createdOrderProducts = await childTx.getRepository(order_product_1.OrderProduct).save(createdOrderProducts);
264
- // generate new jobsheet
265
- await (0, job_sheet_mutation_1.generateJobSheet)(domain, user, createdArrivalNotice, childTx);
266
- // push arrivalNotice and orderProducts IDs if successfully saved
267
- createdArrivalNoticeIds.push(createdArrivalNotice.id);
268
- createdOrderProductIds.push(...createdOrderProducts.map(op => op.id));
269
- });
270
- }
271
- catch (error) {
272
- // collect the arrivalNotice details and its error
273
- let rawArrivalNotices = formRawArrivalNotices(arrivalNotices[i], error.message);
274
- errorsCaught.push(...rawArrivalNotices);
275
- }
276
- }
277
- if (createdArrivalNoticeIds.length && createdOrderProductIds.length) {
278
- await (0, typeorm_1.getConnection)().transaction(async (childTx) => {
279
- // update arrivalNotices status to PENDING_RECEIVE
280
- await childTx
281
- .getRepository(arrival_notice_1.ArrivalNotice)
282
- .update({ id: (0, typeorm_1.In)(createdArrivalNoticeIds) }, { status: anStatus, updater: user });
283
- // update orderProducts status to PENDING_RECEIVE
284
- await childTx
285
- .getRepository(order_product_1.OrderProduct)
286
- .update({ id: (0, typeorm_1.In)(createdOrderProductIds) }, { status: opStatus, updater: user });
287
- finalArrivalNoticeList = await childTx.getRepository(arrival_notice_1.ArrivalNotice).find({
288
- where: { id: (0, typeorm_1.In)(createdArrivalNoticeIds) },
289
- relations: ['orderProducts', 'orderProducts.product', 'bizplace']
290
- });
291
- });
292
- }
293
- if (errorsCaught.length) {
294
- // should return this error list in the grist so that user know which gan need to amend
295
- throw new errors_1.ValidationError(Object.assign(Object.assign({}, errors_1.ValidationError.ERROR_CODES.INVALID_DATA_FOUND), { detail: { data: JSON.stringify(errorsCaught) } }));
296
- }
297
- // return arrivalNotices with its orderProducts list
298
- return { items: finalArrivalNoticeList, total: 0 };
299
- }
300
- };
301
- __decorate([
302
- (0, type_graphql_1.Directive)('@privilege(category: "order_customer", privilege: "mutation")'),
303
- (0, type_graphql_1.Directive)('@transaction'),
304
- (0, type_graphql_1.Mutation)(returns => Boolean),
305
- __param(0, (0, type_graphql_1.Arg)('name')),
306
- __param(1, (0, type_graphql_1.Ctx)()),
307
- __metadata("design:type", Function),
308
- __metadata("design:paramtypes", [String, Object]),
309
- __metadata("design:returntype", Promise)
310
- ], ArrivalNoticeMutation.prototype, "deleteArrivalNotice", null);
311
- __decorate([
312
- (0, type_graphql_1.Directive)('@privilege(category: "order_customer", privilege: "mutation")'),
313
- (0, type_graphql_1.Directive)('@transaction'),
314
- (0, type_graphql_1.Mutation)(returns => arrival_notice_1.ArrivalNotice),
315
- __param(0, (0, type_graphql_1.Ctx)()),
316
- __param(1, (0, type_graphql_1.Arg)('arrivalNotice', type => arrival_notice_types_1.NewArrivalNotice)),
317
- __param(2, (0, type_graphql_1.Arg)('files', type => [graphql_upload_1.GraphQLUpload], { nullable: true })),
318
- __metadata("design:type", Function),
319
- __metadata("design:paramtypes", [Object, arrival_notice_types_1.NewArrivalNotice, Array]),
320
- __metadata("design:returntype", Promise)
321
- ], ArrivalNoticeMutation.prototype, "generateArrivalNotice", null);
322
- __decorate([
323
- (0, type_graphql_1.Directive)('@privilege(category: "order_customer", privilege: "mutation")'),
324
- (0, type_graphql_1.Directive)('@transaction'),
325
- (0, type_graphql_1.Mutation)(returns => arrival_notice_1.ArrivalNotice),
326
- __param(0, (0, type_graphql_1.Arg)('name')),
327
- __param(1, (0, type_graphql_1.Ctx)()),
328
- __metadata("design:type", Function),
329
- __metadata("design:paramtypes", [String, Object]),
330
- __metadata("design:returntype", Promise)
331
- ], ArrivalNoticeMutation.prototype, "confirmArrivalNotice", null);
332
- __decorate([
333
- (0, type_graphql_1.Directive)('@privilege(category: "order_warehouse", privilege: "mutation")'),
334
- (0, type_graphql_1.Directive)('@transaction'),
335
- (0, type_graphql_1.Mutation)(returns => arrival_notice_1.ArrivalNotice),
336
- __param(0, (0, type_graphql_1.Arg)('name')),
337
- __param(1, (0, type_graphql_1.Ctx)()),
338
- __metadata("design:type", Function),
339
- __metadata("design:paramtypes", [String, Object]),
340
- __metadata("design:returntype", Promise)
341
- ], ArrivalNoticeMutation.prototype, "receiveArrivalNotice", null);
342
- __decorate([
343
- (0, type_graphql_1.Directive)('@privilege(category: "order_warehouse", privilege: "mutation")'),
344
- (0, type_graphql_1.Directive)('@transaction'),
345
- (0, type_graphql_1.Mutation)(returns => arrival_notice_1.ArrivalNotice),
346
- __param(0, (0, type_graphql_1.Arg)('name')),
347
- __param(1, (0, type_graphql_1.Ctx)()),
348
- __metadata("design:type", Function),
349
- __metadata("design:paramtypes", [String, Object]),
350
- __metadata("design:returntype", Promise)
351
- ], ArrivalNoticeMutation.prototype, "checkArrivedNotice", null);
352
- __decorate([
353
- (0, type_graphql_1.Directive)('@privilege(category: "order_warehouse", privilege: "mutation")'),
354
- (0, type_graphql_1.Directive)('@transaction'),
355
- (0, type_graphql_1.Mutation)(returns => arrival_notice_1.ArrivalNotice),
356
- __param(0, (0, type_graphql_1.Arg)('name')),
357
- __param(1, (0, type_graphql_1.Arg)('patch', type => arrival_notice_types_1.ArrivalNoticePatch)),
358
- __param(2, (0, type_graphql_1.Ctx)()),
359
- __metadata("design:type", Function),
360
- __metadata("design:paramtypes", [String, arrival_notice_types_1.ArrivalNoticePatch, Object]),
361
- __metadata("design:returntype", Promise)
362
- ], ArrivalNoticeMutation.prototype, "rejectArrivalNotice", null);
363
- __decorate([
364
- (0, type_graphql_1.Directive)('@privilege(category: "order_warehouse", privilege: "mutation")'),
365
- (0, type_graphql_1.Directive)('@transaction'),
366
- (0, type_graphql_1.Mutation)(returns => Boolean),
367
- __param(0, (0, type_graphql_1.Ctx)()),
368
- __param(1, (0, type_graphql_1.Arg)('ganNo')),
369
- __param(2, (0, type_graphql_1.Arg)('approvedAddEditProducts', type => Boolean, { nullable: true })),
370
- __param(3, (0, type_graphql_1.Arg)('newOrderProducts', type => [order_product_types_1.NewOrderProduct], { nullable: true })),
371
- __param(4, (0, type_graphql_1.Arg)('existingOrderProducts', type => [order_product_types_1.OrderProductPatch], { nullable: true })),
372
- __metadata("design:type", Function),
373
- __metadata("design:paramtypes", [Object, String, Boolean, Array, Array]),
374
- __metadata("design:returntype", Promise)
375
- ], ArrivalNoticeMutation.prototype, "addEditArrivalNoticeProducts", null);
376
- __decorate([
377
- (0, type_graphql_1.Directive)('@privilege(category: "order_customer", privilege: "mutation")'),
378
- (0, type_graphql_1.Directive)('@transaction'),
379
- (0, type_graphql_1.Mutation)(returns => arrival_notice_1.ArrivalNotice),
380
- __param(0, (0, type_graphql_1.Ctx)()),
381
- __param(1, (0, type_graphql_1.Arg)('arrivalNotice', type => arrival_notice_types_1.NewArrivalNotice)),
382
- __param(2, (0, type_graphql_1.Arg)('file', type => graphql_upload_1.GraphQLUpload, { nullable: true })),
383
- __metadata("design:type", Function),
384
- __metadata("design:paramtypes", [Object, arrival_notice_types_1.NewArrivalNotice, typeof (_a = typeof graphql_upload_1.FileUpload !== "undefined" && graphql_upload_1.FileUpload) === "function" ? _a : Object]),
385
- __metadata("design:returntype", Promise)
386
- ], ArrivalNoticeMutation.prototype, "addArrivalNotice", null);
387
- __decorate([
388
- (0, type_graphql_1.Directive)('@privilege(category: "order_customer", privilege: "mutation")'),
389
- (0, type_graphql_1.Directive)('@transaction'),
390
- (0, type_graphql_1.Mutation)(returns => arrival_notice_1.ArrivalNotice),
391
- __param(0, (0, type_graphql_1.Ctx)()),
392
- __param(1, (0, type_graphql_1.Arg)('arrivalNotice', type => arrival_notice_types_1.ArrivalNoticePatch)),
393
- __metadata("design:type", Function),
394
- __metadata("design:paramtypes", [Object, arrival_notice_types_1.ArrivalNoticePatch]),
395
- __metadata("design:returntype", Promise)
396
- ], ArrivalNoticeMutation.prototype, "updateArrivalNoticeDetails", null);
397
- __decorate([
398
- (0, type_graphql_1.Directive)('@privilege(category: "order_customer", privilege: "mutation")'),
399
- (0, type_graphql_1.Directive)('@transaction'),
400
- (0, type_graphql_1.Mutation)(returns => arrival_notice_types_1.ArrivalNoticeList),
401
- __param(0, (0, type_graphql_1.Ctx)()),
402
- __param(1, (0, type_graphql_1.Arg)('rawArrivalNotices', type => [arrival_notice_types_1.NewArrivalNotice], { nullable: true })),
403
- __param(2, (0, type_graphql_1.Arg)('bizplaceId', type => String)),
404
- __param(3, (0, type_graphql_1.Arg)('bufferLocation', type => String, { nullable: true })),
405
- __metadata("design:type", Function),
406
- __metadata("design:paramtypes", [Object, Array, String, String]),
407
- __metadata("design:returntype", Promise)
408
- ], ArrivalNoticeMutation.prototype, "bulkGenerateArrivalNotices", null);
409
- ArrivalNoticeMutation = __decorate([
410
- (0, type_graphql_1.Resolver)(arrival_notice_1.ArrivalNotice)
411
- ], ArrivalNoticeMutation);
412
- exports.ArrivalNoticeMutation = ArrivalNoticeMutation;
413
- async function deleteArrivalNotice(tx, name, user, domain) {
414
- var _a;
415
- try {
416
- let foundArrivalNotice = await tx.getRepository(arrival_notice_1.ArrivalNotice).findOne({
417
- where: { domain, name },
418
- relations: ['bizplace', 'releaseGood', 'orderProducts', 'orderVass', 'collectionOrders', 'creator', 'updater']
419
- });
420
- if (!foundArrivalNotice)
421
- throw new Error(`Arrival notice doesn't exists.`);
422
- const foundJS = await tx.getRepository(job_sheet_1.JobSheet).findOne({
423
- where: {
424
- bizplace: foundArrivalNotice.bizplace,
425
- arrivalNoticeRefNo: foundArrivalNotice.name
426
- }
427
- });
428
- if (foundJS) {
429
- await tx
430
- .getRepository(job_sheet_1.JobSheet)
431
- .createQueryBuilder()
432
- .delete()
433
- .from(job_sheet_1.JobSheet)
434
- .where('id = :id', { id: foundJS.id })
435
- .execute();
436
- }
437
- const foundOPs = foundArrivalNotice.orderProducts;
438
- const foundOVs = foundArrivalNotice.orderVass;
439
- // 1. delete order products
440
- await tx
441
- .getRepository(order_product_1.OrderProduct)
442
- .createQueryBuilder('op')
443
- .delete()
444
- .from(order_product_1.OrderProduct)
445
- .where('arrival_notice_id = :arrivalNoticeId', { arrivalNoticeId: foundArrivalNotice.id })
446
- .execute();
447
- // 2. delete order vass
448
- const vasIds = foundOVs.map((vas) => vas.id);
449
- if (vasIds.length) {
450
- await tx.getRepository(order_vas_1.OrderVas).delete({ id: (0, typeorm_1.In)(vasIds) });
451
- }
452
- await tx.getRepository(arrival_notice_1.ArrivalNotice).save(Object.assign(Object.assign({}, foundArrivalNotice), { updater: user }));
453
- // 4. Remove relation with RO if it's cross docking
454
- if (foundArrivalNotice.crossDocking && ((_a = foundArrivalNotice.releaseGood) === null || _a === void 0 ? void 0 : _a.id)) {
455
- let releaseGood = foundArrivalNotice.releaseGood;
456
- releaseGood.arrivalNotice = null;
457
- releaseGood = await tx.getRepository(release_good_1.ReleaseGood).save(releaseGood);
458
- await tx.getRepository(arrival_notice_1.ArrivalNotice).delete({ domain, name });
459
- await (0, release_good_mutation_1.deleteReleaseGood)(tx, releaseGood.name, user, domain);
460
- }
461
- else {
462
- // 5. delete GAN
463
- await tx.getRepository(arrival_notice_1.ArrivalNotice).delete({ domain, name });
464
- }
465
- return true;
466
- }
467
- catch (e) {
468
- console.log(e);
469
- }
470
- }
471
- exports.deleteArrivalNotice = deleteArrivalNotice;
472
- async function generateArrivalNoticeFunction(_, arrivalNotice, fromPo, files, context, tx) {
473
- const { domain, user } = context.state;
474
- let orderProducts = arrivalNotice.orderProducts;
475
- let orderVass = arrivalNotice.orderVass;
476
- let myBizplace;
477
- let orderNo = '';
478
- const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, typeorm_1.getRepository)(setting_base_1.Setting);
479
- if (arrivalNotice.bizplace)
480
- myBizplace = arrivalNotice.bizplace;
481
- else if (arrivalNotice.customerBizplaceId) {
482
- const permittedBizplaces = await (0, biz_base_1.getPermittedBizplaces)(domain, user);
483
- let foundPermittedBizplace = permittedBizplaces.find(biz => biz.id == arrivalNotice.customerBizplaceId);
484
- if (!foundPermittedBizplace)
485
- throw new Error(`This user does not permitted for this company`);
486
- myBizplace = arrivalNotice.customerBizplaceId;
487
- }
488
- else if (arrivalNotice.partnerBizplaceId) {
489
- const permittedBizplaces = await (0, biz_base_1.getPermittedBizplaces)(domain, user);
490
- let foundPermittedBizplace = permittedBizplaces.find(biz => biz.id == arrivalNotice.partnerBizplaceId);
491
- if (!foundPermittedBizplace)
492
- throw new Error(`This user does not permitted for this company`);
493
- myBizplace = arrivalNotice.partnerBizplaceId;
494
- }
495
- else if (arrivalNotice.warehouseId)
496
- myBizplace = await (0, biz_base_1.getOutletBizplace)(arrivalNotice.warehouseId);
497
- else
498
- myBizplace = await (0, biz_base_1.getMyBizplace)(domain, user);
499
- // Add validation for decimal quantities
500
- for (let patch of orderProducts) {
501
- // Get product details to check isInventoryDecimal
502
- const product = (await tx.getRepository(product_base_1.Product).findOne({
503
- where: { id: patch.product.id }
504
- }));
505
- if (!product) {
506
- throw new Error(`Product not found for ID: ${patch.product.id}`);
507
- }
508
- // Validate packQty based on isInventoryDecimal flag
509
- const validatePackQty = (qty) => {
510
- if (qty === null || qty === undefined)
511
- return true;
512
- const numQty = Number(qty);
513
- if (isNaN(numQty))
514
- return false;
515
- if (product.isInventoryDecimal) {
516
- // For decimal products, check if decimal places <= 3
517
- const decimalPlaces = (numQty.toString().split('.')[1] || '').length;
518
- return decimalPlaces <= 3;
519
- }
520
- else {
521
- // For non-decimal products, check if it's a whole number
522
- return numQty === Math.floor(numQty);
523
- }
524
- };
525
- // Validate only packQty
526
- if (!validatePackQty(patch.packQty)) {
527
- throw new Error(`Invalid pack quantity for product ${product.name} (SKU: ${product.sku}). ${product.isInventoryDecimal
528
- ? 'Decimal quantities must have at most 3 decimal places'
529
- : 'Only whole numbers are allowed'}`);
530
- }
531
- // Check for existing LotID in Inventory
532
- let foundInventoryPallet = await tx.getRepository(warehouse_base_1.Inventory).findOne({
533
- where: {
534
- domain,
535
- palletId: patch.palletId
536
- }
537
- });
538
- if (patch.palletId) {
539
- // Check for existing LotID in OrderProduct
540
- let foundOrderProductsPallet = await tx.getRepository(order_product_1.OrderProduct).find({
541
- where: {
542
- domain,
543
- palletId: patch.palletId
544
- }
545
- });
546
- // Check for existing LotID in ArrivalNotice
547
- let arrivalNotices = await Promise.all(foundOrderProductsPallet.map(async (product) => {
548
- return await tx.getRepository(arrival_notice_1.ArrivalNotice).findOne({
549
- where: {
550
- id: product.arrivalNoticeId
551
- }
552
- });
553
- }));
554
- //Allow the reuse if PalletID if all the entered products has at least one of the conditions
555
- let allProductsValid = foundOrderProductsPallet.every((product, index) => {
556
- let arrivalNotice = arrivalNotices[index];
557
- return product.status === 'REJECTED' || product.issue || (arrivalNotice && arrivalNotice.status === 'CANCELLED');
558
- });
559
- if (!allProductsValid || foundInventoryPallet) {
560
- throw new Error(i18next_1.default.t('Lot ID is already in use. Please enter a new Lot ID.'));
561
- }
562
- }
563
- }
564
- // find GAN number rule setting
565
- const ganNoSetting = await settingRepo.findOne({
566
- where: {
567
- domain,
568
- name: constants_1.ORDER_NUMBER_SETTING_KEY.GAN_NUMBER_RULE
569
- }
570
- });
571
- if (ganNoSetting) {
572
- orderNo = await (0, id_rule_base_1.generateId)({ domain, type: constants_1.ORDER_NUMBER_RULE_TYPE.GAN_NUMBER, seed: {} });
573
- }
574
- else {
575
- orderNo = order_no_generator_1.OrderNoGenerator.arrivalNotice();
576
- }
577
- // 1. Create arrival notice
578
- const createdArrivalNotice = await tx.getRepository(arrival_notice_1.ArrivalNotice).save(Object.assign(Object.assign({}, arrivalNotice), { name: orderNo, domain, bizplace: myBizplace, looseItem: (arrivalNotice === null || arrivalNotice === void 0 ? void 0 : arrivalNotice.looseItem) ? arrivalNotice.looseItem : false, status: fromPo ? constants_1.ORDER_STATUS.INTRANSIT : constants_1.ORDER_STATUS.PENDING, creator: user, updater: user }));
579
- // 2. Create arrival notice product
580
- await addArrivalNoticeProducts(domain, createdArrivalNotice, orderProducts.map((op) => {
581
- return Object.assign(Object.assign({}, op), { status: fromPo ? constants_1.ORDER_PRODUCT_STATUS.INTRANSIT : constants_1.ORDER_PRODUCT_STATUS.PENDING });
582
- }), user, tx);
583
- await (0, job_sheet_mutation_1.generateJobSheet)(domain, user, createdArrivalNotice, tx);
584
- // 3. Create arrival notice vas
585
- if (orderVass === null || orderVass === void 0 ? void 0 : orderVass.length) {
586
- orderVass = await Promise.all(orderVass.map(async (ov) => {
587
- if (ov.targetProduct) {
588
- ov.targetProduct = await tx.getRepository(product_base_1.Product).findOne(ov.targetProduct.id);
589
- }
590
- return Object.assign(Object.assign({}, ov), { domain, bizplace: myBizplace, name: order_no_generator_1.OrderNoGenerator.orderVas(), vas: await tx.getRepository(vas_1.Vas).findOne({ domain, id: ov.vas.id }), type: constants_1.ORDER_TYPES.ARRIVAL_NOTICE, arrivalNotice: createdArrivalNotice, status: fromPo ? constants_1.ORDER_VAS_STATUS.INTRANSIT : constants_1.ORDER_VAS_STATUS.PENDING, creator: user, updater: user });
591
- }));
592
- await tx.getRepository(order_vas_1.OrderVas).save(orderVass);
593
- }
594
- if (files === null || files === void 0 ? void 0 : files.length) {
595
- const attachments = files.map(attachment => {
596
- return {
597
- file: attachment,
598
- refBy: createdArrivalNotice.id,
599
- category: attachment_type_1.ATTACHMENT_TYPE.GAN
600
- };
601
- });
602
- await (0, attachment_base_1.createAttachments)(_, { attachments }, context);
603
- }
604
- return createdArrivalNotice;
605
- }
606
- exports.generateArrivalNoticeFunction = generateArrivalNoticeFunction;
607
- async function confirmArrivalNoticeFunction(name, context, tx) {
608
- var _a, _b;
609
- try {
610
- const { user, domain } = context.state;
611
- const foundArrivalNotice = await tx.getRepository(arrival_notice_1.ArrivalNotice).findOne({
612
- where: { domain, name, status: constants_1.ORDER_STATUS.PENDING },
613
- relations: [
614
- 'bizplace',
615
- 'bizplace.domain',
616
- 'releaseGood',
617
- 'orderProducts',
618
- 'orderProducts.product',
619
- 'orderVass',
620
- 'orderVass.vas',
621
- 'creator',
622
- 'updater'
623
- ]
624
- });
625
- let foundOPs = foundArrivalNotice.orderProducts;
626
- let foundOVs = foundArrivalNotice.orderVass;
627
- let customerBizplace = foundArrivalNotice.bizplace;
628
- let opStatus = constants_1.ORDER_PRODUCT_STATUS.PENDING_RECEIVE;
629
- let anStatus = constants_1.ORDER_STATUS.PENDING_RECEIVE;
630
- let ovStatus = constants_1.ORDER_VAS_STATUS.PENDING_RECEIVE;
631
- let acceptedByUser = null;
632
- let acceptedTime = null;
633
- const ganProcessingSetting = await tx.getRepository(setting_base_1.Setting).findOne({
634
- where: { domain, category: 'id-rule', name: 'gan-order-processing' }
635
- });
636
- const partnerGanProcessingSetting = await tx.getRepository(setting_base_1.PartnerSetting).findOne({
637
- where: { setting: ganProcessingSetting, domain, partnerDomain: customerBizplace === null || customerBizplace === void 0 ? void 0 : customerBizplace.domain }
638
- });
639
- // If status of GAN is PENDING_RECEIVE then directly to assign warehouse
640
- if (ganProcessingSetting) {
641
- let setting = !isNaN(partnerGanProcessingSetting === null || partnerGanProcessingSetting === void 0 ? void 0 : partnerGanProcessingSetting.value)
642
- ? partnerGanProcessingSetting === null || partnerGanProcessingSetting === void 0 ? void 0 : partnerGanProcessingSetting.value
643
- : ganProcessingSetting.value;
644
- // CONFIRM to assign if setting value is 1
645
- if (setting == 1) {
646
- opStatus = constants_1.ORDER_PRODUCT_STATUS.ARRIVED;
647
- anStatus = constants_1.ORDER_STATUS.ARRIVED;
648
- ovStatus = constants_1.ORDER_VAS_STATUS.ARRIVED;
649
- acceptedByUser = user;
650
- acceptedTime = new Date();
651
- }
652
- }
653
- if (!foundArrivalNotice)
654
- throw new Error(`Arrival notice doesn't exists.`);
655
- // 1. GAN Status change (PENDING => PENDING_RECEIVE)
656
- await tx.getRepository(arrival_notice_1.ArrivalNotice).update({ id: foundArrivalNotice.id }, {
657
- status: anStatus,
658
- updater: user,
659
- acceptedBy: acceptedByUser,
660
- acceptedAt: acceptedTime
661
- });
662
- let arrivalNotice = await tx
663
- .getRepository(arrival_notice_1.ArrivalNotice)
664
- .findOne({ where: { id: foundArrivalNotice.id }, relations: ['bizplace', 'domain'] });
665
- await tx
666
- .getRepository(order_product_1.OrderProduct)
667
- .createQueryBuilder()
668
- .update(order_product_1.OrderProduct)
669
- .set({ status: opStatus })
670
- .whereInIds(foundOPs.map(op => op.id))
671
- .execute();
672
- // 2. Update order vas status if it exists.
673
- if (foundOVs && foundOVs.length) {
674
- foundOVs = foundOVs.map((ov) => {
675
- return Object.assign(Object.assign({}, ov), { status: ovStatus });
676
- });
677
- await tx.getRepository(order_vas_1.OrderVas).save(foundOVs);
678
- }
679
- // notification logics
680
- // get Office Admin Users
681
- if (((_a = context === null || context === void 0 ? void 0 : context.state) === null || _a === void 0 ? void 0 : _a.type) != 'api') {
682
- const users = await tx
683
- .getRepository('users_roles')
684
- .createQueryBuilder('ur')
685
- .select('ur.users_id', 'id')
686
- .where(qb => {
687
- const subQuery = qb
688
- .subQuery()
689
- .select('role.id')
690
- .from(auth_base_1.Role, 'role')
691
- .where("role.name = 'Office Admin'")
692
- .andWhere('role.domain_id = :domain', { domain: domain.id })
693
- .getQuery();
694
- return 'ur.roles_id IN ' + subQuery;
695
- })
696
- .getRawMany();
697
- // send notification to Office Admin Users
698
- if ((users === null || users === void 0 ? void 0 : users.length) && ((_b = context.header) === null || _b === void 0 ? void 0 : _b.referer)) {
699
- const receivers = users.map(user => user.id);
700
- const msg = {
701
- title: `New Arrival Notice from ${customerBizplace.name}`,
702
- body: `New incoming order, ${foundArrivalNotice.name} is pending for receiving`,
703
- url: context.header.referer,
704
- data: { url: context.header.referer }
705
- };
706
- /**
707
- * @notes Temporary off sendNotification due to suspect of causing wms down
708
- */
709
- (0, notification_1.sendNotification)({
710
- receivers,
711
- message: Object.assign({}, msg)
712
- });
713
- }
714
- }
715
- return arrivalNotice;
716
- }
717
- catch (e) {
718
- console.log(e);
719
- }
720
- }
721
- exports.confirmArrivalNoticeFunction = confirmArrivalNoticeFunction;
722
- async function receiveArrivalNoticeFunction(_, name, context) {
723
- var _a;
724
- const { user, domain, tx } = context.state;
725
- try {
726
- const foundArrivalNotice = await tx.getRepository(arrival_notice_1.ArrivalNotice).findOne({
727
- where: { domain, name, status: constants_1.ORDER_STATUS.PENDING_RECEIVE },
728
- relations: ['bizplace', 'bizplace.domain', 'collectionOrders', 'orderProducts', 'orderVass']
729
- });
730
- let foundOPs = foundArrivalNotice.orderProducts;
731
- let foundOVs = foundArrivalNotice.orderVass;
732
- let foundCOs = await tx.getRepository(collection_order_1.CollectionOrder).find({
733
- where: { domain, refNo: foundArrivalNotice.name }
734
- });
735
- let customerBizplace = foundArrivalNotice.bizplace;
736
- let opStatus = constants_1.ORDER_PRODUCT_STATUS.INTRANSIT;
737
- let anStatus = constants_1.ORDER_STATUS.INTRANSIT;
738
- let ovStatus = constants_1.ORDER_VAS_STATUS.INTRANSIT;
739
- let coStatus = constants_1.ORDER_STATUS.READY_TO_DISPATCH;
740
- const ganProcessingSetting = await tx.getRepository(setting_base_1.Setting).findOne({
741
- where: { domain, category: 'id-rule', name: 'gan-order-processing' }
742
- });
743
- const partnerGanProcessingSetting = await tx.getRepository(setting_base_1.PartnerSetting).findOne({
744
- where: { setting: ganProcessingSetting, domain, partnerDomain: customerBizplace === null || customerBizplace === void 0 ? void 0 : customerBizplace.domain }
745
- });
746
- // If status of GAN is INTRANSIT then directly to assign warehouse
747
- if (ganProcessingSetting) {
748
- let setting = !isNaN(partnerGanProcessingSetting === null || partnerGanProcessingSetting === void 0 ? void 0 : partnerGanProcessingSetting.value)
749
- ? partnerGanProcessingSetting === null || partnerGanProcessingSetting === void 0 ? void 0 : partnerGanProcessingSetting.value
750
- : ganProcessingSetting.value;
751
- // RECEIVE to assign if setting value is 2
752
- if (setting == 2) {
753
- opStatus = constants_1.ORDER_PRODUCT_STATUS.ARRIVED;
754
- anStatus = constants_1.ORDER_STATUS.ARRIVED;
755
- ovStatus = constants_1.ORDER_VAS_STATUS.ARRIVED;
756
- coStatus = constants_1.ORDER_STATUS.READY_TO_DISPATCH;
757
- }
758
- }
759
- if (!foundArrivalNotice)
760
- throw new Error(`Arrival notice doesn't exists.`);
761
- // 1. Update status of order products (PENDING_RECEIVE => INTRANSIT)
762
- foundOPs = foundOPs.map((op) => {
763
- return Object.assign(Object.assign({}, op), { status: opStatus, updater: user });
764
- });
765
- await tx.getRepository(order_product_1.OrderProduct).save(foundOPs);
766
- // 2. Update status of order vass if it exists (PENDING_RECEIVE => INTRANSIT)
767
- if (foundOVs && foundOVs.length) {
768
- foundOVs = foundOVs.map((ov) => {
769
- return Object.assign(Object.assign({}, ov), { status: ovStatus, updater: user });
770
- });
771
- await tx.getRepository(order_vas_1.OrderVas).save(foundOVs);
772
- }
773
- // 3. If there's collection order, update status of collection order (PENDING_RECEIVE => READY_TO_DISPATCH)
774
- if (foundCOs) {
775
- foundCOs = foundCOs.map((co) => {
776
- return Object.assign(Object.assign({}, co), { status: coStatus, updater: user });
777
- });
778
- }
779
- // notification logics
780
- const users = await (0, biz_base_1.getDomainUsers)(foundArrivalNotice === null || foundArrivalNotice === void 0 ? void 0 : foundArrivalNotice.bizplace, tx);
781
- // send notification to Customer Users
782
- if ((users === null || users === void 0 ? void 0 : users.length) && ((_a = context.header) === null || _a === void 0 ? void 0 : _a.referer)) {
783
- const receivers = users.map(user => user.id);
784
- const msg = {
785
- title: `Latest status for ${foundArrivalNotice.name}`,
786
- body: `Your GAN has been received and processed by ${domain.name}`,
787
- url: context.header.referer,
788
- data: { url: context.header.referer }
789
- };
790
- /**
791
- * @notes Temporary off sendNotification due to suspect of causing wms down
792
- */
793
- // await sendNotification({
794
- // receivers,
795
- // message: { ...msg }
796
- // })
797
- }
798
- // 4. Update status of arrival notice (PENDING_RECEIVE => INTRANSIT)
799
- let rcvArrivalNotice = await tx.getRepository(arrival_notice_1.ArrivalNotice).save(Object.assign(Object.assign({}, foundArrivalNotice), { status: anStatus, acceptedBy: user, acceptedAt: new Date(), updater: user }));
800
- return foundArrivalNotice;
801
- }
802
- catch (e) {
803
- throw e;
804
- }
805
- }
806
- exports.receiveArrivalNoticeFunction = receiveArrivalNoticeFunction;
807
- async function checkArrivedNoticeFunction(name, context, tx) {
808
- var _a;
809
- const { user, domain } = context.state;
810
- try {
811
- const foundArrivalNotice = await tx.getRepository(arrival_notice_1.ArrivalNotice).findOne({
812
- where: { domain, name, status: constants_1.ORDER_STATUS.INTRANSIT },
813
- relations: ['bizplace', 'collectionOrders', 'orderProducts', 'orderVass']
814
- });
815
- debug('ganNo', name, foundArrivalNotice);
816
- if (!foundArrivalNotice)
817
- throw new Error(`Arrival notice doesn't exists.`);
818
- // 1. Check wheter related collection order is done or not
819
- const foundCOs = foundArrivalNotice.collectionOrders;
820
- if (foundCOs && foundCOs.length) {
821
- foundCOs.map((co) => {
822
- if (co.status !== constants_1.ORDER_STATUS.DONE) {
823
- throw new Error(`Collection Order: ${co.name} is not finished yet.`);
824
- }
825
- });
826
- }
827
- let foundOPs = foundArrivalNotice.orderProducts;
828
- let foundOVs = foundArrivalNotice.orderVass;
829
- // 2. Update status of order products (INTRANSIT => ARRIVED)
830
- foundOPs = foundOPs.map((op) => {
831
- return Object.assign(Object.assign({}, op), { status: constants_1.ORDER_PRODUCT_STATUS.ARRIVED, updater: user });
832
- });
833
- await tx.getRepository(order_product_1.OrderProduct).save(foundOPs);
834
- // 3. Update status of order vass if it exists (INTRANSIT => ARRIVED)
835
- if (foundOVs && foundOVs.length) {
836
- foundOVs = foundOVs.map((ov) => {
837
- return Object.assign(Object.assign({}, ov), { status: constants_1.ORDER_VAS_STATUS.ARRIVED, updater: user });
838
- });
839
- await tx.getRepository(order_vas_1.OrderVas).save(foundOVs);
840
- }
841
- // 4. Update status of arrival notice (INTRANSIT => ARRIVED)
842
- await tx.getRepository(arrival_notice_1.ArrivalNotice).save(Object.assign(Object.assign({}, foundArrivalNotice), { status: constants_1.ORDER_STATUS.ARRIVED, updater: user }));
843
- // notification logics
844
- const users = await (0, biz_base_1.getDomainUsers)(foundArrivalNotice === null || foundArrivalNotice === void 0 ? void 0 : foundArrivalNotice.bizplace, tx);
845
- if ((users === null || users === void 0 ? void 0 : users.length) && ((_a = context.header) === null || _a === void 0 ? void 0 : _a.referer)) {
846
- const receivers = users.map(user => user.id);
847
- const msg = {
848
- title: `Latest status for ${foundArrivalNotice.name}`,
849
- body: `Your goods has safely arrived at ${domain.name}`,
850
- url: context.header.referer,
851
- data: { url: context.header.referer }
852
- };
853
- /**
854
- * @notes Temporary off sendNotification due to suspect of causing wms down
855
- */
856
- // await sendNotification({
857
- // receivers,
858
- // message: { ...msg }
859
- // })
860
- }
861
- return foundArrivalNotice;
862
- }
863
- catch (e) {
864
- throw e;
865
- }
866
- }
867
- exports.checkArrivedNoticeFunction = checkArrivedNoticeFunction;
868
- async function rejectArrivalNotice(tx, name, remark, context) {
869
- var _a;
870
- const { user, domain } = context.state;
871
- const foundArrivalNotice = await tx.getRepository(arrival_notice_1.ArrivalNotice).findOne({
872
- where: { domain, name, status: constants_1.ORDER_STATUS.PENDING_RECEIVE },
873
- relations: ['bizplace', 'orderProducts', 'orderVass', 'collectionOrders']
874
- });
875
- if (!foundArrivalNotice)
876
- throw new Error(`Arrival notice doesn't exists.`);
877
- if (!remark)
878
- throw new Error('Remark is not exist.');
879
- let foundOPs = foundArrivalNotice.orderProducts;
880
- let foundOVs = foundArrivalNotice.orderVass;
881
- let foundCOs = foundArrivalNotice.collectionOrders;
882
- // 1. Update status of order products (PENDING_RECEIVE => REJECTED)
883
- foundOPs = foundOPs.map((op) => {
884
- op.status = constants_1.ORDER_PRODUCT_STATUS.REJECTED;
885
- op.updater = user;
886
- return op;
887
- });
888
- await tx.getRepository(order_product_1.OrderProduct).save(foundOPs);
889
- // 2. Update status of order vass if it exists (PENDING_RECEIVE => REJECTED)
890
- if (foundOVs && foundOVs.length) {
891
- foundOVs = foundOVs.map((ov) => {
892
- ov.status = constants_1.ORDER_VAS_STATUS.REJECTED;
893
- ov.updater = user;
894
- return ov;
895
- });
896
- await tx.getRepository(order_vas_1.OrderVas).save(foundOVs);
897
- }
898
- // 3. If there's collection order, update status of collection order (PENDING_RECEIVE => REJECTED)
899
- if (foundCOs) {
900
- foundCOs = foundCOs.map((co) => {
901
- co.status = constants_1.ORDER_STATUS.REJECTED;
902
- co.updater = user;
903
- return co;
904
- });
905
- await tx.getRepository(collection_order_1.CollectionOrder).save(foundCOs);
906
- }
907
- foundArrivalNotice.remark = remark;
908
- foundArrivalNotice.status = constants_1.ORDER_STATUS.REJECTED;
909
- foundArrivalNotice.updater = user;
910
- await tx.getRepository(arrival_notice_1.ArrivalNotice).save(foundArrivalNotice);
911
- // notification logics
912
- const users = await (0, biz_base_1.getDomainUsers)(foundArrivalNotice === null || foundArrivalNotice === void 0 ? void 0 : foundArrivalNotice.bizplace, tx);
913
- // send notification to Customer Users
914
- if ((users === null || users === void 0 ? void 0 : users.length) && ((_a = context.header) === null || _a === void 0 ? void 0 : _a.referer)) {
915
- const receivers = users.map(user => user.id);
916
- const msg = {
917
- title: `Latest status for ${foundArrivalNotice.name}`,
918
- body: `Your GAN has been rejected.`,
919
- url: context.header.referer,
920
- data: { url: context.header.referer }
921
- };
922
- /**
923
- * @notes Temporary off sendNotification due to suspect of causing wms down
924
- */
925
- // await sendNotification({
926
- // receivers,
927
- // message: { ...msg }
928
- // })
929
- }
930
- return foundArrivalNotice;
931
- }
932
- exports.rejectArrivalNotice = rejectArrivalNotice;
933
- async function addArrivalNoticeProducts(domain, arrivalNotice, newOrderProducts, user, tx) {
934
- var _a, _b;
935
- const orderProductRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(order_product_1.OrderProduct)) || (0, typeorm_1.getRepository)(order_product_1.OrderProduct);
936
- if (!(arrivalNotice === null || arrivalNotice === void 0 ? void 0 : arrivalNotice.bizplace) || !((_a = arrivalNotice === null || arrivalNotice === void 0 ? void 0 : arrivalNotice.orderProducts) === null || _a === void 0 ? void 0 : _a.length)) {
937
- arrivalNotice = await tx.getRepository(arrival_notice_1.ArrivalNotice).findOne({
938
- where: { domain, name: arrivalNotice.name },
939
- relations: ['bizplace', 'orderProducts']
940
- });
941
- }
942
- let createdOrderProducts = [];
943
- for (let index = 0; index < newOrderProducts.length; index++) {
944
- const op = newOrderProducts[index];
945
- createdOrderProducts.push({
946
- name: order_no_generator_1.OrderNoGenerator.orderProduct(),
947
- product_id: op.product.id,
948
- product_detail_id: op.productDetail.id,
949
- batch_id: op.batchId,
950
- batch_id_ref: op.batchIdRef,
951
- packing_type: op.packingType,
952
- packing_size: op.packingSize,
953
- uom: op.uom,
954
- uom_value: op.uomValue || 0,
955
- pack_qty: op.packQty || 0,
956
- total_uom_value: op.totalUomValue,
957
- pallet_qty: op.palletQty,
958
- pallet_id: op.palletId,
959
- unit_price: op.unitPrice,
960
- remark: op.remark,
961
- manufacture_date: op.manufactureDate,
962
- status: op.status,
963
- adjusted_batch_id: op.adjustedBatchId,
964
- adjusted_batch_id_ref: op.adjustedBatchIdRef,
965
- adjusted_packing_type: op.adjustedPackingType,
966
- adjusted_uom_value: op.adjustedUomValue,
967
- adjusted_uom: op.adjustedUom,
968
- adjusted_pack_qty: op.adjustedPackQty,
969
- adjusted_total_uom_value: op.adjustedTotalUomValue,
970
- adjusted_pallet_qty: op.adjustedPalletQty,
971
- adjusted_unit_price: op.adjustedUnitPrice,
972
- domain_id: domain.id,
973
- bizplace_id: (arrivalNotice === null || arrivalNotice === void 0 ? void 0 : arrivalNotice.bizplaceId) || ((_b = arrivalNotice === null || arrivalNotice === void 0 ? void 0 : arrivalNotice.bizplace) === null || _b === void 0 ? void 0 : _b.id) || (arrivalNotice === null || arrivalNotice === void 0 ? void 0 : arrivalNotice.bizplace),
974
- arrival_notice_id: arrivalNotice.id,
975
- creator_id: user.id,
976
- updater_id: user.id
977
- });
978
- }
979
- await orderProductRepo.query(`
980
- INSERT INTO order_products ("name", "product_detail_id", "product_id", "batch_id", "batch_id_ref", "packing_type", "packing_size", "uom", "uom_value", "pack_qty", "total_uom_value", "pallet_qty", "pallet_id", "unit_price", "remark", "manufacture_date", "status",
981
- "adjusted_batch_id", "adjusted_batch_id_ref", "adjusted_packing_type", "adjusted_uom_value", "adjusted_uom", "adjusted_pack_qty", "adjusted_total_uom_value", "adjusted_pallet_qty", "adjusted_unit_price",
982
- "domain_id", "bizplace_id", "arrival_notice_id", "creator_id", "updater_id")
983
- SELECT "name", "product_detail_id", "product_id", "batch_id", "batch_id_ref", "packing_type", "packing_size", "uom", "uom_value", "pack_qty", "total_uom_value", "pallet_qty", "pallet_id", "unit_price", "remark", "manufacture_date", "status",
984
- "adjusted_batch_id", "adjusted_batch_id_ref", "adjusted_packing_type", "adjusted_uom_value", "adjusted_uom", "adjusted_pack_qty", "adjusted_total_uom_value", "adjusted_pallet_qty", "adjusted_unit_price",
985
- "domain_id", "bizplace_id", "arrival_notice_id", "creator_id", "updater_id"
986
- FROM JSON_POPULATE_RECORDSET(NULL::order_products, $1) op
987
- `, [JSON.stringify(createdOrderProducts)]);
988
- }
989
- exports.addArrivalNoticeProducts = addArrivalNoticeProducts;
990
- async function editArrivalNoticeProducts(existingOrderProducts, user, tx) {
991
- const orderProductRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(order_product_1.OrderProduct)) || (0, typeorm_1.getRepository)(order_product_1.OrderProduct);
992
- const updatedOrderProducts = await Promise.all(existingOrderProducts.map(async (op) => {
993
- return Object.assign(Object.assign({}, op), { status: constants_1.ORDER_PRODUCT_STATUS.EDITED, updater: user });
994
- }));
995
- debug('gan-updated-order-products', updatedOrderProducts);
996
- await orderProductRepo.save(updatedOrderProducts);
997
- }
998
- exports.editArrivalNoticeProducts = editArrivalNoticeProducts;
999
- function extractArrivalNotices(rawArrivalNotices) {
1000
- return rawArrivalNotices.reduce((arrivalNotices, raw) => {
1001
- // discard the item that has no productId or productDetailId
1002
- if (!raw.productId || !raw.productDetailId)
1003
- return;
1004
- const idx = arrivalNotices.findIndex(an => {
1005
- // consider these attributes if they are exist in "item"
1006
- const comparison = [
1007
- 'refNo2',
1008
- 'refNo3',
1009
- 'truckNo',
1010
- 'ownTransport',
1011
- 'container',
1012
- 'containerNo',
1013
- 'containerSize',
1014
- 'looseItem',
1015
- 'importCargo'
1016
- ];
1017
- let a = {}, b = {};
1018
- comparison.forEach(cc => {
1019
- if (raw[cc] !== null) {
1020
- a[cc] = raw[cc];
1021
- b[cc] = an[cc];
1022
- }
1023
- });
1024
- a = JSON.stringify(Object.fromEntries(Object.entries(a).sort()));
1025
- b = JSON.stringify(Object.fromEntries(Object.entries(b).sort()));
1026
- return an.refNo == raw.refNo && an.etaDate == raw.etaDate && a === b;
1027
- });
1028
- const product = Object.assign(new product_base_1.Product(), { id: raw.productId, sku: raw.sku });
1029
- const productDetail = Object.assign(new product_base_1.ProductDetail(), { id: raw.productDetailId });
1030
- const orderProduct = {
1031
- product,
1032
- productDetail,
1033
- batchId: raw.batchId,
1034
- batchIdRef: raw.batchIdRef,
1035
- packingType: raw.packingType,
1036
- packingSize: raw.packingSize,
1037
- packQty: raw.packQty,
1038
- uomValue: raw.uomValue,
1039
- uom: raw.uom,
1040
- totalUomValue: raw.totalUomValue,
1041
- palletQty: raw.palletQty,
1042
- palletId: raw.palletId,
1043
- unitPrice: raw.unitPrice,
1044
- manufactureDate: raw.manufactureDate
1045
- };
1046
- if (idx >= 0) {
1047
- const duplicateSkuIdx = arrivalNotices[idx].orderProducts.findIndex(op => op.sku === raw.sku &&
1048
- op.packingType === raw.packingType &&
1049
- op.packingSize === raw.packingSize &&
1050
- op.batchId === raw.batchId);
1051
- if (duplicateSkuIdx >= 0)
1052
- arrivalNotices[idx].orderProducts[duplicateSkuIdx].packQty += raw.packQty;
1053
- else
1054
- arrivalNotices[idx].orderProducts.push(orderProduct);
1055
- }
1056
- else {
1057
- arrivalNotices.push({
1058
- refNo: raw.refNo,
1059
- refNo2: raw.refNo2,
1060
- refNo3: raw.refNo3,
1061
- etaDate: raw.etaDate,
1062
- truckNo: raw.truckNo,
1063
- ownTransport: raw.ownTransport,
1064
- container: raw.container,
1065
- containerNo: raw.containerNo,
1066
- containerSize: raw.containerSize,
1067
- importCargo: raw.importCargo,
1068
- looseItem: raw.looseItem,
1069
- orderProducts: [orderProduct]
1070
- });
1071
- }
1072
- return arrivalNotices;
1073
- }, []);
1074
- }
1075
- function formRawArrivalNotices(arrivalNotice, errorMsg) {
1076
- let rawArrivalNotices = [];
1077
- for (let i = 0, l = arrivalNotice.orderProducts.length; i < l; i++) {
1078
- let rawArrivalNotice = Object.assign(Object.assign(Object.assign({}, arrivalNotice), arrivalNotice.orderProducts[i]), { sku: arrivalNotice.orderProducts[i].product.sku, errorMsg });
1079
- delete rawArrivalNotice.orderProducts;
1080
- delete rawArrivalNotice.product;
1081
- rawArrivalNotices.push(rawArrivalNotice);
1082
- }
1083
- return rawArrivalNotices;
1084
- }
1085
- //# sourceMappingURL=arrival-notice-mutation.js.map