@things-factory/operato-hub 6.2.101 → 6.2.102

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 (376) hide show
  1. package/package.json +4 -4
  2. package/dist-server/controllers/bizplace-initializer/codes.js +0 -21
  3. package/dist-server/controllers/bizplace-initializer/codes.js.map +0 -1
  4. package/dist-server/controllers/bizplace-initializer/dataset/codes.js +0 -402
  5. package/dist-server/controllers/bizplace-initializer/dataset/codes.js.map +0 -1
  6. package/dist-server/controllers/bizplace-initializer/dataset/groups.js +0 -24
  7. package/dist-server/controllers/bizplace-initializer/dataset/groups.js.map +0 -1
  8. package/dist-server/controllers/bizplace-initializer/dataset/index.js +0 -9
  9. package/dist-server/controllers/bizplace-initializer/dataset/index.js.map +0 -1
  10. package/dist-server/controllers/bizplace-initializer/dataset/menus.js +0 -504
  11. package/dist-server/controllers/bizplace-initializer/dataset/menus.js.map +0 -1
  12. package/dist-server/controllers/bizplace-initializer/dataset/roles-privileges.js +0 -406
  13. package/dist-server/controllers/bizplace-initializer/dataset/roles-privileges.js.map +0 -1
  14. package/dist-server/controllers/bizplace-initializer/dataset/settings.js +0 -94
  15. package/dist-server/controllers/bizplace-initializer/dataset/settings.js.map +0 -1
  16. package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js +0 -26
  17. package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js.map +0 -1
  18. package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js +0 -44
  19. package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js.map +0 -1
  20. package/dist-server/controllers/bizplace-initializer/groups.js +0 -18
  21. package/dist-server/controllers/bizplace-initializer/groups.js.map +0 -1
  22. package/dist-server/controllers/bizplace-initializer/index.js +0 -9
  23. package/dist-server/controllers/bizplace-initializer/index.js.map +0 -1
  24. package/dist-server/controllers/bizplace-initializer/menus.js +0 -28
  25. package/dist-server/controllers/bizplace-initializer/menus.js.map +0 -1
  26. package/dist-server/controllers/bizplace-initializer/settings.js +0 -16
  27. package/dist-server/controllers/bizplace-initializer/settings.js.map +0 -1
  28. package/dist-server/controllers/company-initializer/business-register.js +0 -48
  29. package/dist-server/controllers/company-initializer/business-register.js.map +0 -1
  30. package/dist-server/controllers/company-initializer/codes.js +0 -137
  31. package/dist-server/controllers/company-initializer/codes.js.map +0 -1
  32. package/dist-server/controllers/company-initializer/generate-company-roles.js +0 -117
  33. package/dist-server/controllers/company-initializer/generate-company-roles.js.map +0 -1
  34. package/dist-server/controllers/company-initializer/index.js +0 -10
  35. package/dist-server/controllers/company-initializer/index.js.map +0 -1
  36. package/dist-server/controllers/company-initializer/menus.js +0 -348
  37. package/dist-server/controllers/company-initializer/menus.js.map +0 -1
  38. package/dist-server/controllers/company-initializer/settings.js +0 -31
  39. package/dist-server/controllers/company-initializer/settings.js.map +0 -1
  40. package/dist-server/controllers/company-initializer/transporter.js +0 -18
  41. package/dist-server/controllers/company-initializer/transporter.js.map +0 -1
  42. package/dist-server/controllers/index.js +0 -1
  43. package/dist-server/controllers/index.js.map +0 -1
  44. package/dist-server/controllers/invitation.js +0 -119
  45. package/dist-server/controllers/invitation.js.map +0 -1
  46. package/dist-server/controllers/utils/make-invitation-token.js +0 -10
  47. package/dist-server/controllers/utils/make-invitation-token.js.map +0 -1
  48. package/dist-server/controllers/utils/save-invitation-token.js +0 -13
  49. package/dist-server/controllers/utils/save-invitation-token.js.map +0 -1
  50. package/dist-server/entities/index.js +0 -1
  51. package/dist-server/entities/index.js.map +0 -1
  52. package/dist-server/errors/index.js +0 -5
  53. package/dist-server/errors/index.js.map +0 -1
  54. package/dist-server/errors/validation-error.js +0 -14
  55. package/dist-server/errors/validation-error.js.map +0 -1
  56. package/dist-server/graphql/index.js +0 -11
  57. package/dist-server/graphql/index.js.map +0 -1
  58. package/dist-server/graphql/resolvers/generators/generate-bizplace.js +0 -38
  59. package/dist-server/graphql/resolvers/generators/generate-bizplace.js.map +0 -1
  60. package/dist-server/graphql/resolvers/generators/generate-company.js +0 -61
  61. package/dist-server/graphql/resolvers/generators/generate-company.js.map +0 -1
  62. package/dist-server/graphql/resolvers/generators/index.js +0 -8
  63. package/dist-server/graphql/resolvers/generators/index.js.map +0 -1
  64. package/dist-server/graphql/resolvers/generators/update-domain-extType.js +0 -46
  65. package/dist-server/graphql/resolvers/generators/update-domain-extType.js.map +0 -1
  66. package/dist-server/graphql/resolvers/index.js +0 -11
  67. package/dist-server/graphql/resolvers/index.js.map +0 -1
  68. package/dist-server/graphql/resolvers/invitations/index.js +0 -6
  69. package/dist-server/graphql/resolvers/invitations/index.js.map +0 -1
  70. package/dist-server/graphql/resolvers/invitations/partner-invitation.js +0 -52
  71. package/dist-server/graphql/resolvers/invitations/partner-invitation.js.map +0 -1
  72. package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js +0 -33
  73. package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js.map +0 -1
  74. package/dist-server/graphql/resolvers/oauth2/index.js +0 -6
  75. package/dist-server/graphql/resolvers/oauth2/index.js.map +0 -1
  76. package/dist-server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.js +0 -149
  77. package/dist-server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.js.map +0 -1
  78. package/dist-server/graphql/resolvers/synchronization/create-dat-shipments.js +0 -58
  79. package/dist-server/graphql/resolvers/synchronization/create-dat-shipments.js.map +0 -1
  80. package/dist-server/graphql/resolvers/synchronization/fetch-sync-invoices.js +0 -41
  81. package/dist-server/graphql/resolvers/synchronization/fetch-sync-invoices.js.map +0 -1
  82. package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js +0 -81
  83. package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js.map +0 -1
  84. package/dist-server/graphql/resolvers/synchronization/fetch-sync-purchase-orders.js +0 -57
  85. package/dist-server/graphql/resolvers/synchronization/fetch-sync-purchase-orders.js.map +0 -1
  86. package/dist-server/graphql/resolvers/synchronization/index.js +0 -16
  87. package/dist-server/graphql/resolvers/synchronization/index.js.map +0 -1
  88. package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js +0 -68
  89. package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js.map +0 -1
  90. package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.js +0 -35
  91. package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.js.map +0 -1
  92. package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js +0 -34
  93. package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js.map +0 -1
  94. package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js +0 -55
  95. package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js.map +0 -1
  96. package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js +0 -142
  97. package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js.map +0 -1
  98. package/dist-server/graphql/types/generators/generate-bizplace-input.js +0 -15
  99. package/dist-server/graphql/types/generators/generate-bizplace-input.js.map +0 -1
  100. package/dist-server/graphql/types/generators/generate-company-input.js +0 -15
  101. package/dist-server/graphql/types/generators/generate-company-input.js.map +0 -1
  102. package/dist-server/graphql/types/generators/index.js +0 -13
  103. package/dist-server/graphql/types/generators/index.js.map +0 -1
  104. package/dist-server/graphql/types/generators/update-domain-type-input.js +0 -12
  105. package/dist-server/graphql/types/generators/update-domain-type-input.js.map +0 -1
  106. package/dist-server/graphql/types/index.js +0 -12
  107. package/dist-server/graphql/types/index.js.map +0 -1
  108. package/dist-server/graphql/types/invitations/index.js +0 -9
  109. package/dist-server/graphql/types/invitations/index.js.map +0 -1
  110. package/dist-server/graphql/types/oauth2/company-role.js +0 -12
  111. package/dist-server/graphql/types/oauth2/company-role.js.map +0 -1
  112. package/dist-server/graphql/types/oauth2/index.js +0 -9
  113. package/dist-server/graphql/types/oauth2/index.js.map +0 -1
  114. package/dist-server/graphql/types/synchronization/index.js +0 -34
  115. package/dist-server/graphql/types/synchronization/index.js.map +0 -1
  116. package/dist-server/graphql/types/synchronization/sync-invoice-list.js +0 -12
  117. package/dist-server/graphql/types/synchronization/sync-invoice-list.js.map +0 -1
  118. package/dist-server/graphql/types/synchronization/sync-invoice-set.js +0 -42
  119. package/dist-server/graphql/types/synchronization/sync-invoice-set.js.map +0 -1
  120. package/dist-server/graphql/types/synchronization/sync-product-list.js +0 -12
  121. package/dist-server/graphql/types/synchronization/sync-product-list.js.map +0 -1
  122. package/dist-server/graphql/types/synchronization/sync-product-set.js +0 -12
  123. package/dist-server/graphql/types/synchronization/sync-product-set.js.map +0 -1
  124. package/dist-server/graphql/types/synchronization/sync-purchase-order-list.js +0 -12
  125. package/dist-server/graphql/types/synchronization/sync-purchase-order-list.js.map +0 -1
  126. package/dist-server/graphql/types/synchronization/sync-purchase-order-set.js +0 -32
  127. package/dist-server/graphql/types/synchronization/sync-purchase-order-set.js.map +0 -1
  128. package/dist-server/index.js +0 -29
  129. package/dist-server/index.js.map +0 -1
  130. package/dist-server/middlewares/business-middleware.js +0 -31
  131. package/dist-server/middlewares/business-middleware.js.map +0 -1
  132. package/dist-server/middlewares/index.js +0 -21
  133. package/dist-server/middlewares/index.js.map +0 -1
  134. package/dist-server/middlewares/store-middleware.js +0 -34
  135. package/dist-server/middlewares/store-middleware.js.map +0 -1
  136. package/dist-server/middlewares/warehouse-middleware.js +0 -34
  137. package/dist-server/middlewares/warehouse-middleware.js.map +0 -1
  138. package/dist-server/migrations/1597668478399-SeedBusinessDomain.js +0 -26
  139. package/dist-server/migrations/1597668478399-SeedBusinessDomain.js.map +0 -1
  140. package/dist-server/migrations/1597668478401-SeedBusinessRoles.js +0 -377
  141. package/dist-server/migrations/1597668478401-SeedBusinessRoles.js.map +0 -1
  142. package/dist-server/migrations/1608009991065-SeedUser.js +0 -52
  143. package/dist-server/migrations/1608009991065-SeedUser.js.map +0 -1
  144. package/dist-server/migrations/index.js +0 -12
  145. package/dist-server/migrations/index.js.map +0 -1
  146. package/dist-server/routers/api/index.js +0 -6
  147. package/dist-server/routers/api/index.js.map +0 -1
  148. package/dist-server/routers/api/restful-apis/unstable/add-contact-point.js +0 -74
  149. package/dist-server/routers/api/restful-apis/unstable/add-contact-point.js.map +0 -1
  150. package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js +0 -171
  151. package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js.map +0 -1
  152. package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js +0 -215
  153. package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js.map +0 -1
  154. package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js +0 -142
  155. package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js.map +0 -1
  156. package/dist-server/routers/api/restful-apis/unstable/add-products.js +0 -86
  157. package/dist-server/routers/api/restful-apis/unstable/add-products.js.map +0 -1
  158. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +0 -850
  159. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js.map +0 -1
  160. package/dist-server/routers/api/restful-apis/unstable/add-sales-invoice.js +0 -127
  161. package/dist-server/routers/api/restful-apis/unstable/add-sales-invoice.js.map +0 -1
  162. package/dist-server/routers/api/restful-apis/unstable/bizplace.js +0 -43
  163. package/dist-server/routers/api/restful-apis/unstable/bizplace.js.map +0 -1
  164. package/dist-server/routers/api/restful-apis/unstable/cancel-marketplace-order.js +0 -61
  165. package/dist-server/routers/api/restful-apis/unstable/cancel-marketplace-order.js.map +0 -1
  166. package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js +0 -64
  167. package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js.map +0 -1
  168. package/dist-server/routers/api/restful-apis/unstable/get-contact-point-list.js +0 -101
  169. package/dist-server/routers/api/restful-apis/unstable/get-contact-point-list.js.map +0 -1
  170. package/dist-server/routers/api/restful-apis/unstable/get-delivery-order-detail.js +0 -45
  171. package/dist-server/routers/api/restful-apis/unstable/get-delivery-order-detail.js.map +0 -1
  172. package/dist-server/routers/api/restful-apis/unstable/get-delivery-order-list.js +0 -122
  173. package/dist-server/routers/api/restful-apis/unstable/get-delivery-order-list.js.map +0 -1
  174. package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js +0 -162
  175. package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js.map +0 -1
  176. package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js +0 -118
  177. package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js.map +0 -1
  178. package/dist-server/routers/api/restful-apis/unstable/get-inbound-order-detail.js +0 -113
  179. package/dist-server/routers/api/restful-apis/unstable/get-inbound-order-detail.js.map +0 -1
  180. package/dist-server/routers/api/restful-apis/unstable/get-inbound-order-list.js +0 -123
  181. package/dist-server/routers/api/restful-apis/unstable/get-inbound-order-list.js.map +0 -1
  182. package/dist-server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.js +0 -86
  183. package/dist-server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.js.map +0 -1
  184. package/dist-server/routers/api/restful-apis/unstable/get-inventory-product-group.js +0 -93
  185. package/dist-server/routers/api/restful-apis/unstable/get-inventory-product-group.js.map +0 -1
  186. package/dist-server/routers/api/restful-apis/unstable/get-marketplace-order-shipping-list.js +0 -144
  187. package/dist-server/routers/api/restful-apis/unstable/get-marketplace-order-shipping-list.js.map +0 -1
  188. package/dist-server/routers/api/restful-apis/unstable/get-marketplace-store-list.js +0 -77
  189. package/dist-server/routers/api/restful-apis/unstable/get-marketplace-store-list.js.map +0 -1
  190. package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js +0 -108
  191. package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js.map +0 -1
  192. package/dist-server/routers/api/restful-apis/unstable/get-partners.js +0 -24
  193. package/dist-server/routers/api/restful-apis/unstable/get-partners.js.map +0 -1
  194. package/dist-server/routers/api/restful-apis/unstable/get-products.js +0 -208
  195. package/dist-server/routers/api/restful-apis/unstable/get-products.js.map +0 -1
  196. package/dist-server/routers/api/restful-apis/unstable/get-release-order-detail.js +0 -123
  197. package/dist-server/routers/api/restful-apis/unstable/get-release-order-detail.js.map +0 -1
  198. package/dist-server/routers/api/restful-apis/unstable/get-release-order-list.js +0 -191
  199. package/dist-server/routers/api/restful-apis/unstable/get-release-order-list.js.map +0 -1
  200. package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js +0 -20
  201. package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js.map +0 -1
  202. package/dist-server/routers/api/restful-apis/unstable/index.js +0 -35
  203. package/dist-server/routers/api/restful-apis/unstable/index.js.map +0 -1
  204. package/dist-server/routers/api/restful-apis/unstable/reject-inbound-order.js +0 -33
  205. package/dist-server/routers/api/restful-apis/unstable/reject-inbound-order.js.map +0 -1
  206. package/dist-server/routers/api/restful-apis/unstable/set-marketplace-order-delivered.js +0 -43
  207. package/dist-server/routers/api/restful-apis/unstable/set-marketplace-order-delivered.js.map +0 -1
  208. package/dist-server/routers/api/restful-apis/unstable/set-marketplace-order-failed-delivery.js +0 -43
  209. package/dist-server/routers/api/restful-apis/unstable/set-marketplace-order-failed-delivery.js.map +0 -1
  210. package/dist-server/routers/api/restful-apis/unstable/update-marketplace-order.js +0 -91
  211. package/dist-server/routers/api/restful-apis/unstable/update-marketplace-order.js.map +0 -1
  212. package/dist-server/routers/api/restful-apis/unstable/update-marketplace-shipping-order.js +0 -86
  213. package/dist-server/routers/api/restful-apis/unstable/update-marketplace-shipping-order.js.map +0 -1
  214. package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js +0 -80
  215. package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js.map +0 -1
  216. package/dist-server/routers/api/restful-apis/v1/add-contact-point.js +0 -62
  217. package/dist-server/routers/api/restful-apis/v1/add-contact-point.js.map +0 -1
  218. package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js +0 -169
  219. package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js.map +0 -1
  220. package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js +0 -212
  221. package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js.map +0 -1
  222. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js +0 -142
  223. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js.map +0 -1
  224. package/dist-server/routers/api/restful-apis/v1/add-products.js +0 -86
  225. package/dist-server/routers/api/restful-apis/v1/add-products.js.map +0 -1
  226. package/dist-server/routers/api/restful-apis/v1/add-release-order.js +0 -772
  227. package/dist-server/routers/api/restful-apis/v1/add-release-order.js.map +0 -1
  228. package/dist-server/routers/api/restful-apis/v1/bizplace.js +0 -43
  229. package/dist-server/routers/api/restful-apis/v1/bizplace.js.map +0 -1
  230. package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js +0 -61
  231. package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js.map +0 -1
  232. package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js +0 -64
  233. package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js.map +0 -1
  234. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js +0 -101
  235. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js.map +0 -1
  236. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js +0 -45
  237. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js.map +0 -1
  238. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js +0 -122
  239. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js.map +0 -1
  240. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +0 -162
  241. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +0 -1
  242. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +0 -118
  243. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +0 -1
  244. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js +0 -113
  245. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js.map +0 -1
  246. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js +0 -123
  247. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js.map +0 -1
  248. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js +0 -86
  249. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js.map +0 -1
  250. package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js +0 -99
  251. package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js.map +0 -1
  252. package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js +0 -144
  253. package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js.map +0 -1
  254. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js +0 -77
  255. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js.map +0 -1
  256. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +0 -108
  257. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +0 -1
  258. package/dist-server/routers/api/restful-apis/v1/get-partners.js +0 -24
  259. package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +0 -1
  260. package/dist-server/routers/api/restful-apis/v1/get-products.js +0 -208
  261. package/dist-server/routers/api/restful-apis/v1/get-products.js.map +0 -1
  262. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js +0 -120
  263. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js.map +0 -1
  264. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js +0 -189
  265. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js.map +0 -1
  266. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +0 -20
  267. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +0 -1
  268. package/dist-server/routers/api/restful-apis/v1/index.js +0 -34
  269. package/dist-server/routers/api/restful-apis/v1/index.js.map +0 -1
  270. package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js +0 -33
  271. package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js.map +0 -1
  272. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js +0 -43
  273. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js.map +0 -1
  274. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js +0 -43
  275. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js.map +0 -1
  276. package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js +0 -91
  277. package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js.map +0 -1
  278. package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js +0 -83
  279. package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js.map +0 -1
  280. package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js +0 -80
  281. package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js.map +0 -1
  282. package/dist-server/routers/api/restful-apis/v2/add-contact-point.js +0 -62
  283. package/dist-server/routers/api/restful-apis/v2/add-contact-point.js.map +0 -1
  284. package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js +0 -169
  285. package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js.map +0 -1
  286. package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js +0 -212
  287. package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js.map +0 -1
  288. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js +0 -142
  289. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js.map +0 -1
  290. package/dist-server/routers/api/restful-apis/v2/add-products.js +0 -86
  291. package/dist-server/routers/api/restful-apis/v2/add-products.js.map +0 -1
  292. package/dist-server/routers/api/restful-apis/v2/add-release-order.js +0 -772
  293. package/dist-server/routers/api/restful-apis/v2/add-release-order.js.map +0 -1
  294. package/dist-server/routers/api/restful-apis/v2/bizplace.js +0 -43
  295. package/dist-server/routers/api/restful-apis/v2/bizplace.js.map +0 -1
  296. package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js +0 -61
  297. package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js.map +0 -1
  298. package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js +0 -64
  299. package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js.map +0 -1
  300. package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js +0 -101
  301. package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js.map +0 -1
  302. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js +0 -45
  303. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js.map +0 -1
  304. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js +0 -122
  305. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js.map +0 -1
  306. package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js +0 -162
  307. package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js.map +0 -1
  308. package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js +0 -118
  309. package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js.map +0 -1
  310. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js +0 -113
  311. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js.map +0 -1
  312. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js +0 -123
  313. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js.map +0 -1
  314. package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js +0 -86
  315. package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js.map +0 -1
  316. package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js +0 -99
  317. package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js.map +0 -1
  318. package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js +0 -144
  319. package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js.map +0 -1
  320. package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js +0 -77
  321. package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js.map +0 -1
  322. package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js +0 -108
  323. package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js.map +0 -1
  324. package/dist-server/routers/api/restful-apis/v2/get-partners.js +0 -24
  325. package/dist-server/routers/api/restful-apis/v2/get-partners.js.map +0 -1
  326. package/dist-server/routers/api/restful-apis/v2/get-products.js +0 -208
  327. package/dist-server/routers/api/restful-apis/v2/get-products.js.map +0 -1
  328. package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js +0 -120
  329. package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js.map +0 -1
  330. package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js +0 -189
  331. package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js.map +0 -1
  332. package/dist-server/routers/api/restful-apis/v2/get-warehouses.js +0 -20
  333. package/dist-server/routers/api/restful-apis/v2/get-warehouses.js.map +0 -1
  334. package/dist-server/routers/api/restful-apis/v2/index.js +0 -34
  335. package/dist-server/routers/api/restful-apis/v2/index.js.map +0 -1
  336. package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js +0 -33
  337. package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js.map +0 -1
  338. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js +0 -43
  339. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js.map +0 -1
  340. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js +0 -43
  341. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js.map +0 -1
  342. package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js +0 -91
  343. package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js.map +0 -1
  344. package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js +0 -83
  345. package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js.map +0 -1
  346. package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js +0 -80
  347. package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js.map +0 -1
  348. package/dist-server/routers/auth-invitation-router.js +0 -23
  349. package/dist-server/routers/auth-invitation-router.js.map +0 -1
  350. package/dist-server/routers/business/bizplace-register-router.js +0 -23
  351. package/dist-server/routers/business/bizplace-register-router.js.map +0 -1
  352. package/dist-server/routers/business/business-register-router.js +0 -25
  353. package/dist-server/routers/business/business-register-router.js.map +0 -1
  354. package/dist-server/routers/business/index.js +0 -7
  355. package/dist-server/routers/business/index.js.map +0 -1
  356. package/dist-server/routers/business/path-base-business-router.js +0 -16
  357. package/dist-server/routers/business/path-base-business-router.js.map +0 -1
  358. package/dist-server/routes.js +0 -18
  359. package/dist-server/routes.js.map +0 -1
  360. package/dist-server/templates/account-unlock-email.js +0 -70
  361. package/dist-server/templates/account-unlock-email.js.map +0 -1
  362. package/dist-server/templates/invitation-email.js +0 -71
  363. package/dist-server/templates/invitation-email.js.map +0 -1
  364. package/dist-server/templates/reset-password-email.js +0 -70
  365. package/dist-server/templates/reset-password-email.js.map +0 -1
  366. package/dist-server/templates/verification-email.js +0 -71
  367. package/dist-server/templates/verification-email.js.map +0 -1
  368. package/dist-server/tsconfig.tsbuildinfo +0 -1
  369. package/dist-server/utils/build-map.js +0 -19
  370. package/dist-server/utils/build-map.js.map +0 -1
  371. package/dist-server/utils/get-warehouses.js +0 -117
  372. package/dist-server/utils/get-warehouses.js.map +0 -1
  373. package/dist-server/utils/index.js +0 -7
  374. package/dist-server/utils/index.js.map +0 -1
  375. package/dist-server/utils/order-no-generator.js +0 -11
  376. package/dist-server/utils/order-no-generator.js.map +0 -1
@@ -1,850 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const typeorm_1 = require("typeorm");
4
- const uuid_1 = require("uuid");
5
- const api_1 = require("@things-factory/api");
6
- const biz_base_1 = require("@things-factory/biz-base");
7
- const env_1 = require("@things-factory/env");
8
- const id_rule_base_1 = require("@things-factory/id-rule-base");
9
- const integration_base_1 = require("@things-factory/integration-base");
10
- const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
11
- const marketplace_base_1 = require("@things-factory/marketplace-base");
12
- const product_base_1 = require("@things-factory/product-base");
13
- const sales_base_1 = require("@things-factory/sales-base");
14
- const setting_base_1 = require("@things-factory/setting-base");
15
- const shell_1 = require("@things-factory/shell");
16
- const warehouse_base_1 = require("@things-factory/warehouse-base");
17
- const index_1 = require("../../../../errors/index");
18
- const business_middleware_1 = require("../../../../middlewares/business-middleware");
19
- const warehouse_middleware_1 = require("../../../../middlewares/warehouse-middleware");
20
- const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:add-release-order');
21
- const apiVersion = 'unstable';
22
- api_1.restfulApiRouter.post(`/${apiVersion}/warehouse/:warehouseId/add-release-order`, business_middleware_1.businessMiddleware, warehouse_middleware_1.warehouseMiddleware, async (context, next) => {
23
- return await (0, typeorm_1.getConnection)().transaction(async (tx) => {
24
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
25
- const { client, domain, user, application } = context.state;
26
- const { warehouseId: customerBizplaceId } = context.params;
27
- const { t } = context;
28
- const bodyReq = context.request.body;
29
- const requiredDraft = bodyReq.hasOwnProperty('requiredDraft') ? bodyReq.requiredDraft : true;
30
- let releaseGood;
31
- let massagedData = { orderProducts: [], combinedItems: [] };
32
- // const isAutoAssign: Boolean = bodyReq.hasOwnProperty('isAutoAssign') ? bodyReq.isAutoAssign : true
33
- try {
34
- if (!customerBizplaceId)
35
- context.throw(404, t('error.warehouse id not found'));
36
- if (typeof bodyReq === undefined || !((_a = Object.keys(bodyReq)) === null || _a === void 0 ? void 0 : _a.length)) {
37
- context.throw(400, t('error.invalid body request format'));
38
- }
39
- debug('post:/add-release-order request.body', bodyReq);
40
- await checkMandatoryKey(context, bodyReq);
41
- // get customer company's bizplace
42
- const custCompanyBizplace = await (0, biz_base_1.getCompanyBizplace)(null, null, customerBizplaceId, tx);
43
- const customerBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
44
- where: { id: customerBizplaceId },
45
- relations: ['domain']
46
- });
47
- releaseGood = {
48
- domain,
49
- bizplace: customerBizplace,
50
- companyBizplace: custCompanyBizplace,
51
- courierOption: bodyReq.courierOption,
52
- collectionOrderNo: bodyReq.collectionOrderNo,
53
- exportOption: bodyReq.exportOption,
54
- ownTransport: bodyReq.ownTransport,
55
- packingOption: bodyReq.packingOption,
56
- refNo: bodyReq.refNo,
57
- refNo2: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.refNo2,
58
- refNo3: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.refNo3,
59
- releaseDate: bodyReq.releaseDate,
60
- type: bodyReq.type,
61
- marketplaceOrderStatus: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.marketplaceOrderStatus,
62
- remark: (bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.remark) || null,
63
- billingAddress: ((_b = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.billTo) === null || _b === void 0 ? void 0 : _b.billingAddress) || null,
64
- deliveryAddress1: ((_c = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _c === void 0 ? void 0 : _c.deliveryAddress1) || null,
65
- deliveryAddress2: ((_d = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _d === void 0 ? void 0 : _d.deliveryAddress2) || null,
66
- deliveryAddress3: ((_e = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _e === void 0 ? void 0 : _e.deliveryAddress3) || null,
67
- deliveryAddress4: ((_f = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _f === void 0 ? void 0 : _f.deliveryAddress4) || null,
68
- deliveryAddress5: ((_g = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _g === void 0 ? void 0 : _g.deliveryAddress5) || null,
69
- attentionTo: ((_h = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _h === void 0 ? void 0 : _h.attentionTo) || null,
70
- attentionCompany: ((_j = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _j === void 0 ? void 0 : _j.attentionCompany) || null,
71
- city: ((_k = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _k === void 0 ? void 0 : _k.city) || null,
72
- state: ((_l = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _l === void 0 ? void 0 : _l.state) || null,
73
- postalCode: ((_m = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _m === void 0 ? void 0 : _m.postalCode) || null,
74
- country: ((_o = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _o === void 0 ? void 0 : _o.country) || null,
75
- phone1: ((_p = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _p === void 0 ? void 0 : _p.phone1) || null,
76
- phone2: ((_q = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _q === void 0 ? void 0 : _q.phone2) || null,
77
- email: ((_r = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _r === void 0 ? void 0 : _r.email) || null,
78
- transporter: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.transporter,
79
- trackingNo: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.trackingNo,
80
- airwayBill: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.airwayBill,
81
- invoice: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.invoice,
82
- packageId: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.packageId,
83
- storeName: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.storeName,
84
- storeId: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.storeId,
85
- routeId: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.routeId,
86
- stopId: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.stopId,
87
- source: application === null || application === void 0 ? void 0 : application.type
88
- };
89
- // check existing order
90
- await checkExistingOrder(releaseGood, customerBizplace, bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.checkDuplicationValidation, context, tx);
91
- //massage data
92
- massagedData = await massageOrderItems(releaseGood, bodyReq.orderInventories, context);
93
- // validation
94
- let errorList = [];
95
- await Promise.all(massagedData.combinedItems.map(async (item) => {
96
- let itemList = await tx.query(`
97
- select wboi.* from warehouse_bizplace_onhand_inventories wboi
98
- where wboi."domainId"= $1 and
99
- wboi."bizplaceId" = $2 and
100
- wboi."groupType" = 'SINGLE' and
101
- wboi."productId" = $3 and
102
- wboi."packingType" = $4 and
103
- wboi."packingSize" = $5 and
104
- wboi."uom" = $6 and
105
- wboi."remainQty" >= $7 and
106
- wboi."remainUomValue" >= $8
107
- `, [
108
- domain.id,
109
- customerBizplace.id,
110
- item.product.id,
111
- item.packingType,
112
- item.packingSize,
113
- item.uom,
114
- item.releaseQty,
115
- item.releaseUomValue
116
- ]);
117
- if (itemList.length <= 0) {
118
- errorList.push(JSON.stringify({
119
- code: 'insufficient stock',
120
- sku: item.product.sku,
121
- packingType: item.packingType,
122
- packingSize: item.packingSize,
123
- uom: item.uom,
124
- qty: item.releaseQty,
125
- uom_value: item.releaseUomValue
126
- }));
127
- }
128
- console.log();
129
- }));
130
- if (errorList.length > 0) {
131
- throw new index_1.ValidationError({
132
- errorCode: 'INSUFFICIENT_STOCK',
133
- message: 'insufficient stock',
134
- detail: errorList.join(', ')
135
- });
136
- }
137
- // assignment
138
- // console.time('assign')
139
- let assignedOrderProducts = await assignToInventory(massagedData.orderProducts, customerBizplace, context, tx);
140
- // console.timeEnd('assign')
141
- // create order
142
- // console.time('save')
143
- let result = await createReleaseGood(releaseGood, assignedOrderProducts, customerBizplace, context, tx);
144
- // console.timeEnd('save')
145
- let addReleaseGood = {
146
- id: result.id,
147
- name: result.name,
148
- refNo: result.refNo,
149
- refNo2: result.refNo2,
150
- refNo3: result.refNo3,
151
- status: result.status,
152
- truckNo: result.truckNo,
153
- ownTransport: result.ownTransport,
154
- crossDocking: result.crossDocking,
155
- marketplaceOrderStatus: result.marketplaceOrderStatus,
156
- billingAddress: result.billingAddress,
157
- deliveryAddress1: result.deliveryAddress1,
158
- deliveryAddress2: result.deliveryAddress2,
159
- deliveryAddress3: result.deliveryAddress3,
160
- deliveryAddress4: result.deliveryAddress4,
161
- deliveryAddress5: result.deliveryAddress5,
162
- attentionTo: result.attentionTo,
163
- attentionCompany: result.attentionCompany,
164
- city: result.city,
165
- state: result.state,
166
- postalCode: result.postalCode,
167
- country: result.country,
168
- phone1: result.phone1,
169
- phone2: result.phone2,
170
- email: result.email,
171
- transporter: result.transporter,
172
- trackingNo: result.trackingNo,
173
- airwayBill: result.airwayBill,
174
- invoice: result.invoice,
175
- type: result.type,
176
- packageId: result.packageId,
177
- storeName: result.storeName,
178
- storeId: result.storeId,
179
- routeId: result.routeId,
180
- stopId: result.stopId,
181
- exportOption: result.exportOption,
182
- releaseDate: result.releaseDate,
183
- collectionOrderNo: result.collectionOrderNo,
184
- bizplace: { name: result.bizplace.name },
185
- domain: { name: result.domain.name },
186
- orderInventories: result.orderInventories
187
- };
188
- // return body
189
- context.body = { result: { addReleaseGood } };
190
- (0, integration_base_1.createPayloadLog)(customerBizplaceId, `/${apiVersion}/warehouse/:warehouseId/add-release-order`, bodyReq, context.body, context, integration_base_1.PayloadType.INGESTION);
191
- }
192
- catch (error) {
193
- (0, integration_base_1.createPayloadLog)(customerBizplaceId, `/${apiVersion}/warehouse/:warehouseId/add-release-order`, bodyReq, error, context, integration_base_1.PayloadType.INGESTION);
194
- if (error.errorCode) {
195
- if (error.errorCode == 'INSUFFICIENT_STOCK' && requiredDraft) {
196
- const result = await createDraftOrder(releaseGood, massagedData.orderProducts, context);
197
- let createdDraftOrder = {
198
- id: result.id,
199
- name: result.name,
200
- refNo: result.refNo,
201
- refNo2: result.refNo2,
202
- refNo3: result.refNo3,
203
- status: result.status,
204
- truckNo: result.truckNo,
205
- ownTransport: result.ownTransport,
206
- marketplaceOrderStatus: result.marketplaceOrderStatus,
207
- billingAddress: result.billingAddress,
208
- deliveryAddress1: result.deliveryAddress1,
209
- deliveryAddress2: result.deliveryAddress2,
210
- deliveryAddress3: result.deliveryAddress3,
211
- deliveryAddress4: result.deliveryAddress4,
212
- deliveryAddress5: result.deliveryAddress5,
213
- attentionTo: result.attentionTo,
214
- attentionCompany: result.attentionCompany,
215
- city: result.city,
216
- state: result.state,
217
- postalCode: result.postalCode,
218
- country: result.country,
219
- phone1: result.phone1,
220
- phone2: result.phone2,
221
- email: result.email,
222
- type: result.type,
223
- packageId: result.packageId,
224
- exportOption: result.exportOption,
225
- releaseDate: result.releaseDate,
226
- collectionOrderNo: result.collectionOrderNo,
227
- bizplace: { name: result.bizplace.name },
228
- domain: { name: result.domain.name }
229
- };
230
- context.body = { result: { createdDraftOrder } };
231
- }
232
- else if (error.errorCode == 'EXISTING_ORDER') {
233
- context.body = {
234
- responseCode: 'E05',
235
- message: error.message,
236
- details: error.detail
237
- };
238
- }
239
- else {
240
- env_1.logger.error(`add-release-order: ${JSON.stringify(error)}`);
241
- context.throw(400, context.t(error));
242
- }
243
- }
244
- else {
245
- env_1.logger.error(`add-release-order: ${JSON.stringify(error)}`);
246
- context.throw(400, context.t(error));
247
- }
248
- }
249
- });
250
- });
251
- async function checkMandatoryKey(context, params) {
252
- let noparams = ['releaseDate', 'exportOption'].filter(param => !(param in params));
253
- if ('ownTransport' in params) {
254
- if (params.ownTransport == true) {
255
- if (!params.hasOwnProperty('collectionOrderNo')) {
256
- noparams.push('collectionOrderNo');
257
- }
258
- }
259
- }
260
- else {
261
- noparams.push('ownTransport');
262
- }
263
- if ('exportOption' in params) {
264
- if (params.exportOption === true) {
265
- if (params.exportOption.filter(record => !record.containerNo || !record.containerArrivalDate || !record.containerLeavingDate || !record.shipName).length) {
266
- noparams.push('exportOption');
267
- }
268
- }
269
- }
270
- if ('orderInventories' in params) {
271
- params.orderInventories.forEach((param, key) => {
272
- let noSubParams = [];
273
- if (!(param === null || param === void 0 ? void 0 : param.releaseQty))
274
- noSubParams.push('releaseQty');
275
- if (!(param === null || param === void 0 ? void 0 : param.product))
276
- noSubParams.push('product');
277
- if (noSubParams === null || noSubParams === void 0 ? void 0 : noSubParams.length)
278
- context.throw(400, context.t('error.required param x not found', { x: `${noSubParams.join(', ')}` }));
279
- });
280
- }
281
- else {
282
- noparams.push('orderInventories');
283
- }
284
- if (noparams === null || noparams === void 0 ? void 0 : noparams.length) {
285
- context.throw(400, context.t('error.required param x not found', { x: `${noparams.join(', ')}` }));
286
- }
287
- return params;
288
- }
289
- async function checkExistingOrder(releaseGood, bizplace, checkDuplicationValidation = true, context, tx) {
290
- const { domain, user } = context.state;
291
- const refNo = releaseGood.refNo;
292
- const refNo2 = releaseGood.refNo2;
293
- const refNo3 = releaseGood.refNo3;
294
- if (checkDuplicationValidation) {
295
- const foundDraftReleaseGood = await tx.getRepository(sales_base_1.DraftReleaseGood).findOne({
296
- where: {
297
- domain: { id: domain.id },
298
- refNo: refNo || null,
299
- refNo2: refNo2 || null,
300
- refNo3: refNo3 || null,
301
- status: (0, typeorm_1.Not)((0, typeorm_1.In)([sales_base_1.DRAFT_RELEASE_ORDER_STATUS.CANCELLED]))
302
- }
303
- });
304
- if (foundDraftReleaseGood) {
305
- throw new index_1.ValidationError({
306
- errorCode: 'EXISTING_ORDER',
307
- message: 'existing draft release order found',
308
- detail: foundDraftReleaseGood.name
309
- });
310
- }
311
- const sellercraft = await tx.getRepository(integration_sellercraft_1.Sellercraft).findOneBy({ domain: bizplace.domain });
312
- if (sellercraft) {
313
- const sellercraftCtrl = new sales_base_1.SellercraftController(tx, bizplace.domain, user);
314
- await sellercraftCtrl.checkExistingReleaseGood(sellercraft, releaseGood);
315
- }
316
- else {
317
- const foundReleaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
318
- where: {
319
- domain: { id: domain.id },
320
- refNo,
321
- status: (0, typeorm_1.Not)((0, typeorm_1.In)([sales_base_1.ORDER_STATUS.CANCELLED, sales_base_1.ORDER_STATUS.PENDING_CANCEL]))
322
- },
323
- relations: ['bizplace', 'bizplace.domain', 'bizplace.company', 'bizplace.company.domain']
324
- });
325
- if (foundReleaseGood) {
326
- const customerCompanyDomain = foundReleaseGood.bizplace.company.domain;
327
- const marketplaceOrder = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
328
- where: { orderNo: refNo, domain: { id: customerCompanyDomain.id } }
329
- });
330
- // Need to restructure the validation
331
- if (marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.isSplitted) {
332
- const refNo2 = releaseGood.refNo2;
333
- const foundSplittedReleaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
334
- where: {
335
- domain: { id: domain.id },
336
- refNo2,
337
- status: (0, typeorm_1.Not)((0, typeorm_1.In)([sales_base_1.ORDER_STATUS.CANCELLED, sales_base_1.ORDER_STATUS.PENDING_CANCEL]))
338
- },
339
- relations: ['bizplace', 'bizplace.domain', 'bizplace.company', 'bizplace.company.domain']
340
- });
341
- if (foundSplittedReleaseGood)
342
- throw new index_1.ValidationError({
343
- errorCode: 'EXISTING_ORDER',
344
- message: 'existing release order found',
345
- detail: foundSplittedReleaseGood.name
346
- });
347
- }
348
- else {
349
- throw new index_1.ValidationError({
350
- errorCode: 'EXISTING_ORDER',
351
- message: 'existing release order found',
352
- detail: foundReleaseGood.name
353
- });
354
- }
355
- }
356
- }
357
- }
358
- }
359
- async function createDraftOrder(releaseGood, orderProducts, context) {
360
- return await (0, typeorm_1.getConnection)().transaction(async (tx) => {
361
- return await (0, sales_base_1.createDraftReleaseGoodFunction)(null, releaseGood, orderProducts, null, [], context, tx);
362
- });
363
- }
364
- async function createReleaseGood(releaseGood, orderProducts, bizplace, context, tx) {
365
- try {
366
- const { domain, user } = context.state;
367
- const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, shell_1.getRepository)(setting_base_1.Setting);
368
- if (orderProducts.length <= 0) {
369
- throw new index_1.ValidationError({
370
- errorCode: 'ITEM_NOT_FOUND',
371
- message: 'no order items found',
372
- detail: JSON.stringify(releaseGood)
373
- });
374
- }
375
- let newReleaseGood = new sales_base_1.ReleaseGood();
376
- // find RO number rule setting
377
- const roNoSetting = await settingRepo.findOne({
378
- where: {
379
- domain: { id: domain.id },
380
- name: sales_base_1.ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
381
- }
382
- });
383
- newReleaseGood = {
384
- name: roNoSetting
385
- ? await (0, id_rule_base_1.generateId)({ domain, type: sales_base_1.ORDER_NUMBER_RULE_TYPE.RO_NUMBER, seed: {} })
386
- : sales_base_1.OrderNoGenerator.releaseGood(),
387
- domain: domain,
388
- bizplace: bizplace,
389
- collectionOrderNo: releaseGood.collectionOrderNo,
390
- courierOption: releaseGood.courierOption,
391
- exportOption: releaseGood.exportOption,
392
- ownTransport: releaseGood.ownTransport,
393
- packingOption: releaseGood.packingOption,
394
- marketplaceOrderStatus: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.marketplaceOrderStatus) || null,
395
- billingAddress: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingAddress) || null,
396
- deliveryAddress1: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress1) || null,
397
- deliveryAddress2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress2) || null,
398
- deliveryAddress3: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress3) || null,
399
- deliveryAddress4: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress4) || null,
400
- deliveryAddress5: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress5) || null,
401
- attentionTo: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionTo) || null,
402
- attentionCompany: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionCompany) || null,
403
- city: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.city) || null,
404
- state: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.state) || null,
405
- postalCode: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.postalCode) || null,
406
- country: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.country) || null,
407
- phone1: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone1) || null,
408
- phone2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone2) || null,
409
- email: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.email) || null,
410
- transporter: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.transporter,
411
- trackingNo: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.trackingNo,
412
- airwayBill: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill,
413
- invoice: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.invoice,
414
- refNo: releaseGood.refNo,
415
- refNo2: releaseGood.refNo2 || null,
416
- refNo3: releaseGood.refNo3 || null,
417
- remark: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.remark) || null,
418
- releaseDate: releaseGood.releaseDate,
419
- truckNo: releaseGood.truckNo,
420
- type: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.type) ? releaseGood.type : 'b2b',
421
- status: sales_base_1.ORDER_STATUS.PENDING_WORKSHEET,
422
- storeName: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.storeName,
423
- storeId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.storeId,
424
- routeId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.routeId,
425
- stopId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.stopId,
426
- packageId: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.packageId) || null,
427
- noOfItems: orderProducts.length,
428
- source: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.source,
429
- creator: user,
430
- updater: user,
431
- acceptedBy: user,
432
- acceptedAt: new Date()
433
- };
434
- let resultReleaseGood = await tx.getRepository(sales_base_1.ReleaseGood).save(newReleaseGood);
435
- let combinedOrderInventories = [];
436
- let savedOrderProducts = await Promise.all(orderProducts.map(async (orderProduct) => {
437
- let orderInventories = orderProduct.orderInventories;
438
- orderProduct = Object.assign(new sales_base_1.OrderProduct(), Object.assign(Object.assign({}, orderProduct), { name: (0, uuid_1.v4)(), domain: domain, bizplace: bizplace, releaseGood: resultReleaseGood, type: sales_base_1.ORDER_TYPES.RELEASE_OF_GOODS, status: sales_base_1.ORDER_PRODUCT_STATUS.ASSIGNED }));
439
- let result = await tx.getRepository(sales_base_1.OrderProduct).save(orderProduct);
440
- for (let oiIdx = 0; oiIdx < orderInventories.length; oiIdx++) {
441
- let orderInventory = Object.assign(new sales_base_1.OrderInventory(), Object.assign(Object.assign({}, orderInventories[oiIdx]), { name: (0, uuid_1.v4)(), domain: domain, bizplace: bizplace, releaseGood: resultReleaseGood, type: sales_base_1.ORDER_TYPES.RELEASE_OF_GOODS, status: sales_base_1.ORDER_INVENTORY_STATUS.PENDING_WORKSHEET }));
442
- await tx.getRepository(sales_base_1.OrderInventory).save(orderInventory);
443
- combinedOrderInventories.push({
444
- product: { name: orderInventory.product.name, sku: orderInventory.product.sku },
445
- batchId: orderInventory.batchId,
446
- packingType: orderInventory.packingType,
447
- packingSize: orderInventory.packingSize,
448
- releaseQty: orderInventory.releaseQty,
449
- releaseUomValue: orderInventory.releaseUomValue
450
- });
451
- }
452
- return result;
453
- }));
454
- newReleaseGood.orderProducts = savedOrderProducts;
455
- newReleaseGood.orderInventories = combinedOrderInventories;
456
- return newReleaseGood;
457
- }
458
- catch (error) {
459
- throw error;
460
- }
461
- }
462
- async function massageOrderItems(releaseGood, inputOrderProducts, context) {
463
- const { t } = context;
464
- try {
465
- let orderProducts = [];
466
- let errorList = [];
467
- //combine any repeated skus
468
- inputOrderProducts = inputOrderProducts.reduce((acc, itm, idx) => {
469
- let { sku, refCode } = itm.product;
470
- let { packingType, packingSize, batchId, releaseQty } = itm;
471
- if (!sku && !refCode) {
472
- errorList.push(JSON.stringify({
473
- code: 'INVALID_DATA',
474
- message: 'sku or refCode not found',
475
- sku: sku,
476
- refCode: refCode,
477
- packingType: packingType === null || packingType === void 0 ? void 0 : packingType.trim(),
478
- packingSize: packingSize,
479
- qty: releaseQty
480
- }));
481
- }
482
- if (releaseQty <= 0) {
483
- errorList.push(JSON.stringify({
484
- code: 'INVALID_DATA',
485
- message: 'negative stock request',
486
- sku: sku,
487
- refCode: refCode,
488
- packingType: packingType === null || packingType === void 0 ? void 0 : packingType.trim(),
489
- packingSize: packingSize,
490
- qty: releaseQty
491
- }));
492
- }
493
- let existingIndex = acc.findIndex(itm => (itm === null || itm === void 0 ? void 0 : itm.sku) == (sku === null || sku === void 0 ? void 0 : sku.trim()) &&
494
- (itm === null || itm === void 0 ? void 0 : itm.refCode) == (refCode === null || refCode === void 0 ? void 0 : refCode.trim()) &&
495
- (itm === null || itm === void 0 ? void 0 : itm.packingType) == (packingType === null || packingType === void 0 ? void 0 : packingType.trim()) &&
496
- (itm === null || itm === void 0 ? void 0 : itm.packingSize) == packingSize);
497
- if (existingIndex >= 0 && releaseQty > 0) {
498
- acc[existingIndex].releaseQty = acc[existingIndex].releaseQty + releaseQty;
499
- }
500
- else {
501
- acc.push({
502
- sku: sku === null || sku === void 0 ? void 0 : sku.trim(),
503
- refCode: refCode === null || refCode === void 0 ? void 0 : refCode.trim(),
504
- packingType: packingType === null || packingType === void 0 ? void 0 : packingType.trim(),
505
- packingSize: packingSize,
506
- releaseQty: releaseQty
507
- });
508
- }
509
- return acc;
510
- }, []);
511
- if (errorList.length > 0) {
512
- throw new index_1.ValidationError({
513
- errorCode: 'INVALID_DATA',
514
- message: 'invalid data',
515
- detail: errorList.join(', ')
516
- });
517
- }
518
- //find customer sku in system
519
- await Promise.all(inputOrderProducts.map(async (inputOrderItem) => {
520
- const sku = inputOrderItem.sku;
521
- const refCode = inputOrderItem.refCode;
522
- const packingType = inputOrderItem.packingType;
523
- const packingSize = inputOrderItem.packingSize;
524
- const qb = (0, shell_1.getRepository)(product_base_1.ProductDetail)
525
- .createQueryBuilder('PD')
526
- .innerJoinAndSelect('PD.product', 'PROD')
527
- .where('PROD.bizplace_id = :bizplaceId', { bizplaceId: releaseGood.companyBizplace.id });
528
- if (!sku && !refCode) {
529
- context.throw(404, t('error.sku or refCode not found'));
530
- }
531
- if (refCode) {
532
- qb.andWhere('PD.ref_code = :refCode', { refCode });
533
- }
534
- if (sku) {
535
- qb.andWhere('PROD.sku = :sku', { sku });
536
- }
537
- if (packingType) {
538
- qb.andWhere('PD.packing_type = :packingType', { packingType });
539
- }
540
- if ((!packingType && !refCode) || !packingSize) {
541
- qb.andWhere('PD.is_default = :isDefault', { isDefault: true });
542
- }
543
- const productDetail = await qb.getOne();
544
- // order Product based on product detail
545
- if (productDetail) {
546
- let newOrderProduct = Object.assign({}, inputOrderItem);
547
- newOrderProduct = Object.assign(Object.assign({}, newOrderProduct), { product: productDetail.product, productDetail: productDetail, packingType: productDetail.packingType, packingSize: packingSize || productDetail.packingSize, uom: productDetail.uom, uomValue: productDetail.uomValue, refCode: inputOrderItem.refCode, releaseQty: inputOrderItem.releaseQty, releaseUomValue: inputOrderItem.releaseQty * (productDetail.uomValue || 1), packQty: 0, actualPackQty: 0, palletQty: 0, actualPalletQty: 0, type: 'RELEASE_OF_GOODS', status: sales_base_1.ORDER_PRODUCT_STATUS.ASSIGNED, batchId: '-' });
548
- newOrderProduct.orderInventories = [
549
- Object.assign(Object.assign({}, newOrderProduct), { packQty: 0, actualPackQty: 0, palletQty: 0, actualPalletQty: 0, type: 'RELEASE_OF_GOODS', status: sales_base_1.ORDER_INVENTORY_STATUS.PENDING_WORKSHEET })
550
- ];
551
- orderProducts.push(newOrderProduct);
552
- }
553
- if (!productDetail) {
554
- const qb = (0, shell_1.getRepository)(product_base_1.ProductBundle)
555
- .createQueryBuilder('PB')
556
- .innerJoinAndSelect('PB.productBundleSettings', 'PBS')
557
- .innerJoinAndSelect('PBS.productDetail', 'PBD')
558
- .innerJoinAndSelect('PBD.product', 'PROD')
559
- .where('PB.bizplace_id = :bizplaceId', { bizplaceId: releaseGood.companyBizplace.id });
560
- if (!sku && !refCode) {
561
- context.throw(404, t('error.sku or refCode not found'));
562
- }
563
- if (refCode) {
564
- qb.andWhere('PB.ref_code = :refCode', { refCode });
565
- }
566
- if (sku) {
567
- qb.andWhere('PB.sku = :sku', { sku });
568
- }
569
- if (packingType) {
570
- qb.andWhere('PB.packing_type = :packingType', { packingType });
571
- }
572
- const foundProductBundle = await qb.getOne();
573
- if (foundProductBundle) {
574
- let orderProduct = {
575
- productBundle: foundProductBundle,
576
- refCode,
577
- packingType: foundProductBundle.packingType,
578
- packingSize: packingSize || 1,
579
- uom: inputOrderItem === null || inputOrderItem === void 0 ? void 0 : inputOrderItem.uom,
580
- releaseQty: inputOrderItem.releaseQty,
581
- releaseUomValue: inputOrderItem.releaseQty,
582
- packQty: 0,
583
- actualPackQty: 0,
584
- palletQty: 0,
585
- actualPalletQty: 0,
586
- orderInventories: [],
587
- type: 'RELEASE_OF_GOODS',
588
- status: sales_base_1.ORDER_PRODUCT_STATUS.ASSIGNED,
589
- batchId: '-'
590
- };
591
- const bundleProductSettings = foundProductBundle.productBundleSettings;
592
- bundleProductSettings.map(bundleProductSetting => {
593
- const productDetailBundle = bundleProductSetting.productDetail;
594
- let newOrderInventory = {
595
- product: productDetailBundle.product,
596
- productDetail: productDetailBundle,
597
- sku: productDetailBundle.product.sku,
598
- packingType: productDetailBundle.packingType,
599
- packingSize: productDetailBundle.packingSize,
600
- uom: productDetailBundle.uom,
601
- packQty: 0,
602
- actualPackQty: 0,
603
- palletQty: 0,
604
- actualPalletQty: 0,
605
- releaseQty: inputOrderItem.releaseQty * bundleProductSetting.bundleQty,
606
- releaseUomValue: inputOrderItem.releaseQty *
607
- bundleProductSetting.bundleQty *
608
- (productDetailBundle.uomValue <= 0 ? 1 : productDetailBundle.uomValue),
609
- type: 'RELEASE_OF_GOODS',
610
- status: sales_base_1.ORDER_INVENTORY_STATUS.PENDING_WORKSHEET
611
- };
612
- orderProduct.orderInventories.push(newOrderInventory);
613
- });
614
- orderProducts.push(orderProduct);
615
- }
616
- else {
617
- if (sku && refCode) {
618
- context.throw(404, t(`error.sku ${sku} and refCode ${refCode} not exist in product / bundle master`));
619
- }
620
- if (sku) {
621
- context.throw(404, t(`error.sku ${sku} not exist in product / bundle master`));
622
- }
623
- if (refCode) {
624
- context.throw(404, t(`error.refCode ${refCode} not exist in product / bundle master`));
625
- }
626
- }
627
- }
628
- }));
629
- //combine any repeated skus
630
- let combinedItems = orderProducts.reduce((acc, op, idx) => {
631
- let oi = (op === null || op === void 0 ? void 0 : op.orderInventories) || [];
632
- oi.forEach(itm => {
633
- let { sku, refCode } = itm.product;
634
- let { packingType, packingSize, batchId, releaseQty, product, productDetail, uom } = itm;
635
- if (!sku && !refCode) {
636
- context.throw(404, t('error.sku or refCode not found'));
637
- }
638
- let existingIndex = acc.findIndex(itm => (itm === null || itm === void 0 ? void 0 : itm.sku) == (sku === null || sku === void 0 ? void 0 : sku.trim()) &&
639
- (itm === null || itm === void 0 ? void 0 : itm.refCode) == (refCode === null || refCode === void 0 ? void 0 : refCode.trim()) &&
640
- (itm === null || itm === void 0 ? void 0 : itm.packingType) == (packingType === null || packingType === void 0 ? void 0 : packingType.trim()) &&
641
- (itm === null || itm === void 0 ? void 0 : itm.packingSize) == packingSize &&
642
- (itm === null || itm === void 0 ? void 0 : itm.batchId) == (batchId === null || batchId === void 0 ? void 0 : batchId.trim()) &&
643
- (itm === null || itm === void 0 ? void 0 : itm.uom) == (uom === null || uom === void 0 ? void 0 : uom.trim()));
644
- if (existingIndex >= 0 && releaseQty > 0) {
645
- acc[existingIndex].releaseQty = acc[existingIndex].releaseQty + releaseQty;
646
- acc[existingIndex].releaseUomValue =
647
- acc[existingIndex].releaseUomValue + releaseQty * (productDetail.uomValue <= 0 ? 1 : productDetail.uomValue);
648
- }
649
- else {
650
- let updateObj = {
651
- sku: sku === null || sku === void 0 ? void 0 : sku.trim(),
652
- packingType: packingType === null || packingType === void 0 ? void 0 : packingType.trim(),
653
- packingSize: packingSize,
654
- uom: uom === null || uom === void 0 ? void 0 : uom.trim(),
655
- releaseQty: releaseQty,
656
- releaseUomValue: releaseQty * (productDetail.uomValue <= 0 ? 1 : productDetail.uomValue),
657
- product,
658
- productDetail
659
- };
660
- if (refCode)
661
- updateObj['refCode'] = refCode.trim();
662
- updateObj['batchId'] = batchId ? batchId === null || batchId === void 0 ? void 0 : batchId.trim() : '-';
663
- acc.push(updateObj);
664
- }
665
- });
666
- return acc;
667
- }, []);
668
- return { orderProducts, combinedItems };
669
- }
670
- catch (error) {
671
- throw error;
672
- }
673
- }
674
- async function assignToInventory(orderProducts, customerBizplace, context, tx) {
675
- const { client, domain, user } = context.state;
676
- for (let opIdx = 0; opIdx < orderProducts.length; opIdx++) {
677
- let orderProduct = orderProducts[opIdx];
678
- let assignedOrderInventories = [];
679
- const pickingProductSetting = await tx.getRepository(setting_base_1.Setting).findOne({
680
- where: { domain: { id: domain.id }, name: 'rule-for-picking-product' }
681
- });
682
- for (let oiIdx = 0; oiIdx < orderProducts[opIdx].orderInventories.length; oiIdx++) {
683
- const orderInventory = orderProduct.orderInventories[oiIdx];
684
- let sortings = [];
685
- switch (orderInventory.product.pickingStrategy) {
686
- case 'LIFO':
687
- sortings.push({ name: 'iv.created_at', desc: true });
688
- if (pickingProductSetting === null || pickingProductSetting === void 0 ? void 0 : pickingProductSetting.value) {
689
- for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
690
- sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false });
691
- }
692
- }
693
- else {
694
- sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false });
695
- }
696
- break;
697
- case 'FEFO':
698
- sortings.push({ name: 'iv.expiration_date', desc: false }, { name: 'iv.created_at', desc: false });
699
- if (pickingProductSetting === null || pickingProductSetting === void 0 ? void 0 : pickingProductSetting.value) {
700
- for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
701
- sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false });
702
- }
703
- }
704
- else {
705
- sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false });
706
- }
707
- break;
708
- case 'FMFO':
709
- sortings.push({ name: 'iv.manufacture_date', desc: false }, { name: 'iv.created_at', desc: false });
710
- if (pickingProductSetting === null || pickingProductSetting === void 0 ? void 0 : pickingProductSetting.value) {
711
- for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
712
- sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false });
713
- }
714
- }
715
- else {
716
- sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false });
717
- }
718
- break;
719
- case 'LOCATION':
720
- if (pickingProductSetting === null || pickingProductSetting === void 0 ? void 0 : pickingProductSetting.value) {
721
- for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
722
- sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false });
723
- }
724
- }
725
- else {
726
- sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false });
727
- }
728
- break;
729
- //Every other case includes 'FIFO' will be applicable for this case
730
- default:
731
- sortings.push({ name: 'iv.created_at', desc: false });
732
- if (pickingProductSetting === null || pickingProductSetting === void 0 ? void 0 : pickingProductSetting.value) {
733
- for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
734
- sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false });
735
- }
736
- }
737
- else {
738
- sortings.push({ name: 'loc.name', desc: false });
739
- sortings.push({ name: 'iv.pallet_id', desc: false });
740
- }
741
- break;
742
- }
743
- let queryFilters = [];
744
- let queryStrings = queryFilters.reduce((acc, itm, idx, arr) => {
745
- acc.values.push(itm.filters);
746
- switch (itm === null || itm === void 0 ? void 0 : itm.operator) {
747
- case 'notin':
748
- case 'in':
749
- acc.query.push(`${itm.query} ${itm.operator == 'notin' ? 'NOT IN' : 'IN'} (${itm.filtes
750
- .map((itm, idx) => {
751
- return `$${acc.values.length + 1}`;
752
- })
753
- .join(',')})`);
754
- break;
755
- default:
756
- acc.query.push(`${itm.query} ${(itm === null || itm === void 0 ? void 0 : itm.operator) ? itm.operator : '='} $${acc.values.length + 1}`);
757
- break;
758
- }
759
- acc.query.push(`${itm.query} ${(itm === null || itm === void 0 ? void 0 : itm.operator) ? itm.operator : '='} $${acc.values.length + 1}`);
760
- }, {
761
- query: [],
762
- values: []
763
- });
764
- let sortQuery = sortings
765
- .map(itm => {
766
- return `${itm.name} ${itm.desc ? 'DESC' : 'ASC'}`;
767
- })
768
- .join(`,`);
769
- let updatedInventories = await tx.getRepository(warehouse_base_1.Inventory).query(`
770
- update inventories tgt set locked_qty = coalesce(locked_qty,0) + src.reserve_qty,
771
- locked_uom_value = coalesce(locked_uom_value,0) + src.reserve_uom_value,
772
- updated_at = NOW(),
773
- updater_id = $1
774
- from (
775
- select "id", "pallet_id","carton_id", "batch_id", "batch_id_ref", "unit", "uom", "packing_type", "packing_size", "manufacture_year",
776
- "reserve_qty", (("uom_value"/"qty") * "reserve_qty") as "reserve_uom_value" from (
777
- select "sort_seq", "id", "pallet_id", "batch_id", "batch_id_ref", "unit", "uom", "packing_type", "packing_size", "manufacture_year", "carton_id", "uom_value", "locked_uom_value", "qty", "locked_qty", "created_at",
778
- "release_qty", "release_uom_value", lock_amount,
779
- case when "lock_amount" < 0 then "available_qty" else "available_qty" - "lock_amount" end as "reserve_qty"
780
- from (
781
- select *,
782
- qty - locked_qty as available_qty,
783
- sum(qty - locked_qty - release_qty) over (order by sort_seq asc rows between unbounded preceding and current row) as lock_amount
784
- from (
785
- SELECT 0 as sort_seq, null as id, null as pallet_id, null as batch_id, null as batch_id_ref,
786
- null as unit, '${orderInventory.uom}' as uom, '${orderInventory.packingType}' as packing_type, '${orderInventory.packingSize}' as packing_size,
787
- null as manufacture_year, null as carton_id, 0 as uom_value, 0 as locked_uom_value, 0 as qty, 0 as locked_qty, null as created_at,
788
- '${orderInventory.releaseQty}' as release_qty, '${orderInventory.releaseUomValue}' as release_uom_value
789
- UNION
790
- (
791
- SELECT ROW_NUMBER() OVER(PARTITION BY iv.domain_id ORDER BY ${sortQuery}) as sort_seq,
792
- iv.id, iv.pallet_id, iv.batch_id, iv.batch_id_ref,
793
- iv.unit, iv.uom, iv.packing_type, iv.packing_size,
794
- iv.manufacture_year, iv.carton_id, iv.uom_value,
795
- coalesce(iv.locked_uom_value,0) as locked_uom_value, iv.qty, coalesce(iv.locked_qty,0) as locked_qty, iv.created_at,
796
- 0 as release_qty, 0 as release_uom_value
797
- FROM "inventories" "iv"
798
- INNER JOIN "locations" "loc" ON "loc"."id"="iv"."location_id"
799
- WHERE case when coalesce("iv"."locked_qty",0) < 0 then 0 else ("iv"."qty" - coalesce("iv"."locked_qty",0)) end > 0 AND
800
- "iv"."domain_id" = $2 AND "iv"."bizplace_id" = $3 AND "iv"."packing_type" = $4 AND "iv"."packing_size" = $5 AND "iv"."product_id" = $6 AND "iv"."status" = $7 AND "loc"."type" NOT IN ($8, $9)
801
- ${queryStrings.query.length > 0 ? `AND ${queryStrings.join(' AND ')}` : ''}
802
- ORDER BY ${sortQuery}
803
- )
804
- ) dt1
805
- ) dt2 where case when "lock_amount" < 0 then "available_qty" else "available_qty" - "lock_amount" end > 0
806
- ) dt3 where sort_seq > 0
807
- ) src where src.id = tgt.id
808
- returning
809
- tgt."id", tgt."qty", tgt."pallet_id", tgt."carton_id", tgt."batch_id", tgt."batch_id_ref", tgt."unit",
810
- tgt."uom", tgt."packing_type", tgt."packing_size", tgt."manufacture_year",
811
- tgt."locked_qty", tgt."uom_value", tgt."locked_uom_value", src."reserve_qty", src."reserve_uom_value";`, [
812
- user.id,
813
- domain.id,
814
- customerBizplace.id,
815
- orderInventory.packingType,
816
- orderInventory.packingSize,
817
- orderInventory.product.id,
818
- warehouse_base_1.INVENTORY_STATUS.STORED,
819
- warehouse_base_1.LOCATION_TYPE.QUARANTINE,
820
- warehouse_base_1.LOCATION_TYPE.RESERVE,
821
- ...queryStrings.values
822
- ]);
823
- let totalAssigned = updatedInventories[0].reduce((acc, inv) => {
824
- return acc + inv.reserve_qty;
825
- }, 0);
826
- if (orderInventory.releaseQty != totalAssigned) {
827
- throw new index_1.ValidationError({
828
- errorCode: 'INSUFFICIENT_STOCK',
829
- message: 'insufficient stock',
830
- detail: JSON.stringify({
831
- code: 'insufficient stock',
832
- sku: orderInventory.product.sku,
833
- packingType: orderInventory.packingType,
834
- packingSize: orderInventory.packingSize,
835
- uom: orderInventory.uom,
836
- qty: orderInventory.releaseQty,
837
- uom_value: orderInventory.releaseUomValue
838
- })
839
- });
840
- }
841
- updatedInventories[0].forEach(inv => {
842
- let oi = Object.assign(Object.assign({}, orderInventory), { inventory: { id: inv.id }, uom: inv.uom, packingType: inv.packing_type, batchId: inv.batch_id, releaseQty: inv.reserve_qty, releaseUomValue: inv.reserve_uom_value, pickedQty: 0, packedQty: 0, type: sales_base_1.ORDER_TYPES.RELEASE_OF_GOODS, status: sales_base_1.ORDER_INVENTORY_STATUS.PENDING_WORKSHEET, domain: { id: domain.id }, bizplace: { id: customerBizplace.id } });
843
- assignedOrderInventories.push(oi);
844
- });
845
- }
846
- orderProducts[opIdx].orderInventories = assignedOrderInventories;
847
- }
848
- return orderProducts;
849
- }
850
- //# sourceMappingURL=add-release-order.js.map