@things-factory/operato-hub 4.3.107 → 4.3.108

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 (326) hide show
  1. package/client/pages/bizplace/register.js +2 -0
  2. package/dist-server/controllers/bizplace-initializer/dataset/codes.js +1 -1
  3. package/dist-server/controllers/bizplace-initializer/dataset/codes.js.map +1 -1
  4. package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js +10 -9
  5. package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js.map +1 -1
  6. package/dist-server/middlewares/store-middleware.js.map +1 -1
  7. package/dist-server/routers/api/index.js +0 -1
  8. package/dist-server/routers/api/index.js.map +1 -1
  9. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +8 -8
  10. package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js +105 -0
  11. package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js.map +1 -0
  12. package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js +197 -0
  13. package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js.map +1 -0
  14. package/dist-server/routers/api/restful-apis/v1/company/add-products.js +69 -0
  15. package/dist-server/routers/api/restful-apis/v1/company/add-products.js.map +1 -0
  16. package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js +90 -0
  17. package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js.map +1 -0
  18. package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js +49 -0
  19. package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js.map +1 -0
  20. package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js +62 -0
  21. package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js.map +1 -0
  22. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js +108 -0
  23. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js.map +1 -0
  24. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js +51 -0
  25. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js.map +1 -0
  26. package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js +88 -0
  27. package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js.map +1 -0
  28. package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js +98 -0
  29. package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js.map +1 -0
  30. package/dist-server/routers/api/restful-apis/v1/company/index.js +15 -0
  31. package/dist-server/routers/api/restful-apis/v1/company/index.js.map +1 -0
  32. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js +62 -0
  33. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js.map +1 -0
  34. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.js +44 -0
  35. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.js.map +1 -0
  36. package/dist-server/routers/api/restful-apis/v1/index.js +2 -31
  37. package/dist-server/routers/api/restful-apis/v1/index.js.map +1 -1
  38. package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js +66 -0
  39. package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js.map +1 -0
  40. package/dist-server/routers/api/restful-apis/v1/middlewares/index.js +40 -0
  41. package/dist-server/routers/api/restful-apis/v1/middlewares/index.js.map +1 -0
  42. package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js +23 -0
  43. package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js.map +1 -0
  44. package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js +32 -0
  45. package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js.map +1 -0
  46. package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js +118 -0
  47. package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js.map +1 -0
  48. package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js +31 -0
  49. package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js.map +1 -0
  50. package/dist-server/routers/api/restful-apis/v1/utils/error-util.js +71 -0
  51. package/dist-server/routers/api/restful-apis/v1/utils/error-util.js.map +1 -0
  52. package/dist-server/routers/api/restful-apis/v1/utils/params.js +555 -0
  53. package/dist-server/routers/api/restful-apis/v1/utils/params.js.map +1 -0
  54. package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js +60 -0
  55. package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js.map +1 -0
  56. package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js +236 -0
  57. package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js.map +1 -0
  58. package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js +762 -0
  59. package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js.map +1 -0
  60. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js +197 -0
  61. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js.map +1 -0
  62. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-release-order.js +177 -0
  63. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-release-order.js.map +1 -0
  64. package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js +138 -0
  65. package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js.map +1 -0
  66. package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js +97 -0
  67. package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js.map +1 -0
  68. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js +81 -0
  69. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js.map +1 -0
  70. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js +94 -0
  71. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js.map +1 -0
  72. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js +87 -0
  73. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js.map +1 -0
  74. package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js +84 -0
  75. package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js.map +1 -0
  76. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js +96 -0
  77. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js.map +1 -0
  78. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js +110 -0
  79. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js.map +1 -0
  80. package/dist-server/routers/api/restful-apis/v1/warehouse/index.js +16 -0
  81. package/dist-server/routers/api/restful-apis/v1/warehouse/index.js.map +1 -0
  82. package/dist-server/routers/api/restful-apis/v1/warehouse/update-release-order-details.js +71 -0
  83. package/dist-server/routers/api/restful-apis/v1/warehouse/update-release-order-details.js.map +1 -0
  84. package/openapi/v1/Inventory.yaml +263 -0
  85. package/package.json +54 -54
  86. package/server/controllers/bizplace-initializer/dataset/codes.ts +1 -1
  87. package/server/graphql/resolvers/synchronization/sync-products-to-sellercraft.ts +25 -17
  88. package/server/middlewares/store-middleware.ts +1 -0
  89. package/server/routers/api/index.ts +0 -1
  90. package/server/routers/api/restful-apis/unstable/add-release-order.ts +8 -8
  91. package/server/routers/api/restful-apis/v1/company/add-contact-points.ts +111 -0
  92. package/server/routers/api/restful-apis/v1/company/add-marketplace-order.ts +234 -0
  93. package/server/routers/api/restful-apis/v1/company/add-products.ts +96 -0
  94. package/server/routers/api/restful-apis/v1/company/cancel-marketplace-order.ts +94 -0
  95. package/server/routers/api/restful-apis/v1/company/get-bizplace-list.ts +55 -0
  96. package/server/routers/api/restful-apis/v1/company/get-contact-point-list.ts +67 -0
  97. package/server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.ts +115 -0
  98. package/server/routers/api/restful-apis/v1/company/get-marketplace-store-list.ts +57 -0
  99. package/server/routers/api/restful-apis/v1/company/get-partner-list.ts +95 -0
  100. package/server/routers/api/restful-apis/v1/company/get-product-list.ts +103 -0
  101. package/server/routers/api/restful-apis/v1/company/index.ts +12 -0
  102. package/server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.ts +66 -0
  103. package/server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.ts +55 -0
  104. package/server/routers/api/restful-apis/v1/index.ts +2 -31
  105. package/server/routers/api/restful-apis/v1/middlewares/business-middleware.ts +68 -0
  106. package/server/routers/api/restful-apis/v1/middlewares/index.ts +26 -0
  107. package/server/routers/api/restful-apis/v1/middlewares/logging-middleware.ts +24 -0
  108. package/server/routers/api/restful-apis/v1/middlewares/store-middleware.ts +34 -0
  109. package/server/routers/api/restful-apis/v1/middlewares/validation-middleware.ts +116 -0
  110. package/server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.ts +31 -0
  111. package/server/routers/api/restful-apis/v1/utils/error-util.ts +70 -0
  112. package/server/routers/api/restful-apis/v1/utils/params.ts +555 -0
  113. package/server/routers/api/restful-apis/v1/utils/validate-util.ts +53 -0
  114. package/server/routers/api/restful-apis/v1/warehouse/add-inbound-order.ts +324 -0
  115. package/server/routers/api/restful-apis/v1/warehouse/add-release-order.ts +941 -0
  116. package/server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.ts +261 -0
  117. package/server/routers/api/restful-apis/v1/warehouse/cancel-release-order.ts +258 -0
  118. package/server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.ts +141 -0
  119. package/server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.ts +105 -0
  120. package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.ts +83 -0
  121. package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.ts +96 -0
  122. package/server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.ts +112 -0
  123. package/server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.ts +89 -0
  124. package/server/routers/api/restful-apis/v1/warehouse/get-release-order-details.ts +99 -0
  125. package/server/routers/api/restful-apis/v1/warehouse/get-release-order-list.ts +113 -0
  126. package/server/routers/api/restful-apis/v1/warehouse/index.ts +13 -0
  127. package/server/routers/api/restful-apis/v1/warehouse/update-release-order-details.ts +96 -0
  128. package/translations/en.json +2 -0
  129. package/translations/ko.json +2 -0
  130. package/translations/ms.json +2 -0
  131. package/translations/zh.json +2 -0
  132. package/dist-server/routers/api/restful-apis/v1/add-contact-point.js +0 -64
  133. package/dist-server/routers/api/restful-apis/v1/add-contact-point.js.map +0 -1
  134. package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js +0 -171
  135. package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js.map +0 -1
  136. package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js +0 -213
  137. package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js.map +0 -1
  138. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js +0 -144
  139. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js.map +0 -1
  140. package/dist-server/routers/api/restful-apis/v1/add-products.js +0 -88
  141. package/dist-server/routers/api/restful-apis/v1/add-products.js.map +0 -1
  142. package/dist-server/routers/api/restful-apis/v1/add-release-order.js +0 -774
  143. package/dist-server/routers/api/restful-apis/v1/add-release-order.js.map +0 -1
  144. package/dist-server/routers/api/restful-apis/v1/bizplace.js +0 -45
  145. package/dist-server/routers/api/restful-apis/v1/bizplace.js.map +0 -1
  146. package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js +0 -63
  147. package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js.map +0 -1
  148. package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js +0 -66
  149. package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js.map +0 -1
  150. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js +0 -103
  151. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js.map +0 -1
  152. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js +0 -47
  153. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js.map +0 -1
  154. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js +0 -124
  155. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js.map +0 -1
  156. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +0 -164
  157. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +0 -1
  158. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +0 -120
  159. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +0 -1
  160. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js +0 -115
  161. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js.map +0 -1
  162. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js +0 -125
  163. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js.map +0 -1
  164. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js +0 -88
  165. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js.map +0 -1
  166. package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js +0 -101
  167. package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js.map +0 -1
  168. package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js +0 -146
  169. package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js.map +0 -1
  170. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js +0 -79
  171. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js.map +0 -1
  172. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +0 -110
  173. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +0 -1
  174. package/dist-server/routers/api/restful-apis/v1/get-partners.js +0 -23
  175. package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +0 -1
  176. package/dist-server/routers/api/restful-apis/v1/get-products.js +0 -210
  177. package/dist-server/routers/api/restful-apis/v1/get-products.js.map +0 -1
  178. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js +0 -122
  179. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js.map +0 -1
  180. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js +0 -191
  181. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js.map +0 -1
  182. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +0 -20
  183. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +0 -1
  184. package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js +0 -35
  185. package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js.map +0 -1
  186. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js +0 -45
  187. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js.map +0 -1
  188. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js +0 -45
  189. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js.map +0 -1
  190. package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js +0 -93
  191. package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js.map +0 -1
  192. package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js +0 -85
  193. package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js.map +0 -1
  194. package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js +0 -82
  195. package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js.map +0 -1
  196. package/dist-server/routers/api/restful-apis/v2/add-contact-point.js +0 -64
  197. package/dist-server/routers/api/restful-apis/v2/add-contact-point.js.map +0 -1
  198. package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js +0 -171
  199. package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js.map +0 -1
  200. package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js +0 -213
  201. package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js.map +0 -1
  202. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js +0 -144
  203. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js.map +0 -1
  204. package/dist-server/routers/api/restful-apis/v2/add-products.js +0 -88
  205. package/dist-server/routers/api/restful-apis/v2/add-products.js.map +0 -1
  206. package/dist-server/routers/api/restful-apis/v2/add-release-order.js +0 -774
  207. package/dist-server/routers/api/restful-apis/v2/add-release-order.js.map +0 -1
  208. package/dist-server/routers/api/restful-apis/v2/bizplace.js +0 -45
  209. package/dist-server/routers/api/restful-apis/v2/bizplace.js.map +0 -1
  210. package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js +0 -63
  211. package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js.map +0 -1
  212. package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js +0 -66
  213. package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js.map +0 -1
  214. package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js +0 -103
  215. package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js.map +0 -1
  216. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js +0 -47
  217. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js.map +0 -1
  218. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js +0 -124
  219. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js.map +0 -1
  220. package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js +0 -164
  221. package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js.map +0 -1
  222. package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js +0 -120
  223. package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js.map +0 -1
  224. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js +0 -115
  225. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js.map +0 -1
  226. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js +0 -125
  227. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js.map +0 -1
  228. package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js +0 -88
  229. package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js.map +0 -1
  230. package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js +0 -101
  231. package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js.map +0 -1
  232. package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js +0 -146
  233. package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js.map +0 -1
  234. package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js +0 -79
  235. package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js.map +0 -1
  236. package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js +0 -110
  237. package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js.map +0 -1
  238. package/dist-server/routers/api/restful-apis/v2/get-partners.js +0 -23
  239. package/dist-server/routers/api/restful-apis/v2/get-partners.js.map +0 -1
  240. package/dist-server/routers/api/restful-apis/v2/get-products.js +0 -210
  241. package/dist-server/routers/api/restful-apis/v2/get-products.js.map +0 -1
  242. package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js +0 -122
  243. package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js.map +0 -1
  244. package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js +0 -191
  245. package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js.map +0 -1
  246. package/dist-server/routers/api/restful-apis/v2/get-warehouses.js +0 -20
  247. package/dist-server/routers/api/restful-apis/v2/get-warehouses.js.map +0 -1
  248. package/dist-server/routers/api/restful-apis/v2/index.js +0 -34
  249. package/dist-server/routers/api/restful-apis/v2/index.js.map +0 -1
  250. package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js +0 -35
  251. package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js.map +0 -1
  252. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js +0 -45
  253. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js.map +0 -1
  254. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js +0 -45
  255. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js.map +0 -1
  256. package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js +0 -93
  257. package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js.map +0 -1
  258. package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js +0 -85
  259. package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js.map +0 -1
  260. package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js +0 -82
  261. package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js.map +0 -1
  262. package/server/routers/api/restful-apis/v1/add-contact-point.ts +0 -77
  263. package/server/routers/api/restful-apis/v1/add-draft-release-order.ts +0 -196
  264. package/server/routers/api/restful-apis/v1/add-inbound-order.ts +0 -242
  265. package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +0 -172
  266. package/server/routers/api/restful-apis/v1/add-products.ts +0 -112
  267. package/server/routers/api/restful-apis/v1/add-release-order.ts +0 -967
  268. package/server/routers/api/restful-apis/v1/bizplace.ts +0 -45
  269. package/server/routers/api/restful-apis/v1/cancel-marketplace-order.ts +0 -81
  270. package/server/routers/api/restful-apis/v1/cancel-release-order.ts +0 -91
  271. package/server/routers/api/restful-apis/v1/get-contact-point-list.ts +0 -110
  272. package/server/routers/api/restful-apis/v1/get-delivery-order-detail.ts +0 -46
  273. package/server/routers/api/restful-apis/v1/get-delivery-order-list.ts +0 -121
  274. package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +0 -178
  275. package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +0 -134
  276. package/server/routers/api/restful-apis/v1/get-inbound-order-detail.ts +0 -128
  277. package/server/routers/api/restful-apis/v1/get-inbound-order-list.ts +0 -126
  278. package/server/routers/api/restful-apis/v1/get-inventory-overall-product-group.ts +0 -99
  279. package/server/routers/api/restful-apis/v1/get-inventory-product-group.ts +0 -112
  280. package/server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.ts +0 -156
  281. package/server/routers/api/restful-apis/v1/get-marketplace-store-list.ts +0 -81
  282. package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +0 -125
  283. package/server/routers/api/restful-apis/v1/get-partners.ts +0 -24
  284. package/server/routers/api/restful-apis/v1/get-products.ts +0 -216
  285. package/server/routers/api/restful-apis/v1/get-release-order-detail.ts +0 -134
  286. package/server/routers/api/restful-apis/v1/get-release-order-list.ts +0 -198
  287. package/server/routers/api/restful-apis/v1/get-warehouses.ts +0 -18
  288. package/server/routers/api/restful-apis/v1/reject-inbound-order.ts +0 -46
  289. package/server/routers/api/restful-apis/v1/set-marketplace-order-delivered.ts +0 -60
  290. package/server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.ts +0 -60
  291. package/server/routers/api/restful-apis/v1/update-marketplace-order.ts +0 -111
  292. package/server/routers/api/restful-apis/v1/update-marketplace-shipping-order.ts +0 -104
  293. package/server/routers/api/restful-apis/v1/update-release-order-details.ts +0 -94
  294. package/server/routers/api/restful-apis/v2/add-contact-point.ts +0 -77
  295. package/server/routers/api/restful-apis/v2/add-draft-release-order.ts +0 -196
  296. package/server/routers/api/restful-apis/v2/add-inbound-order.ts +0 -242
  297. package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +0 -172
  298. package/server/routers/api/restful-apis/v2/add-products.ts +0 -112
  299. package/server/routers/api/restful-apis/v2/add-release-order.ts +0 -967
  300. package/server/routers/api/restful-apis/v2/bizplace.ts +0 -45
  301. package/server/routers/api/restful-apis/v2/cancel-marketplace-order.ts +0 -81
  302. package/server/routers/api/restful-apis/v2/cancel-release-order.ts +0 -91
  303. package/server/routers/api/restful-apis/v2/get-contact-point-list.ts +0 -110
  304. package/server/routers/api/restful-apis/v2/get-delivery-order-detail.ts +0 -46
  305. package/server/routers/api/restful-apis/v2/get-delivery-order-list.ts +0 -121
  306. package/server/routers/api/restful-apis/v2/get-delivery-orders.ts +0 -178
  307. package/server/routers/api/restful-apis/v2/get-goods-received-notes.ts +0 -134
  308. package/server/routers/api/restful-apis/v2/get-inbound-order-detail.ts +0 -128
  309. package/server/routers/api/restful-apis/v2/get-inbound-order-list.ts +0 -126
  310. package/server/routers/api/restful-apis/v2/get-inventory-overall-product-group.ts +0 -99
  311. package/server/routers/api/restful-apis/v2/get-inventory-product-group.ts +0 -112
  312. package/server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.ts +0 -156
  313. package/server/routers/api/restful-apis/v2/get-marketplace-store-list.ts +0 -81
  314. package/server/routers/api/restful-apis/v2/get-onhand-inventories.ts +0 -125
  315. package/server/routers/api/restful-apis/v2/get-partners.ts +0 -24
  316. package/server/routers/api/restful-apis/v2/get-products.ts +0 -216
  317. package/server/routers/api/restful-apis/v2/get-release-order-detail.ts +0 -134
  318. package/server/routers/api/restful-apis/v2/get-release-order-list.ts +0 -198
  319. package/server/routers/api/restful-apis/v2/get-warehouses.ts +0 -18
  320. package/server/routers/api/restful-apis/v2/index.ts +0 -31
  321. package/server/routers/api/restful-apis/v2/reject-inbound-order.ts +0 -46
  322. package/server/routers/api/restful-apis/v2/set-marketplace-order-delivered.ts +0 -60
  323. package/server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.ts +0 -60
  324. package/server/routers/api/restful-apis/v2/update-marketplace-order.ts +0 -111
  325. package/server/routers/api/restful-apis/v2/update-marketplace-shipping-order.ts +0 -104
  326. package/server/routers/api/restful-apis/v2/update-release-order-details.ts +0 -94
@@ -0,0 +1,261 @@
1
+ import { EntityManager, getConnection } from 'typeorm'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+ import { ArrivalNotice, ReleaseGood } from '@things-factory/sales-base'
5
+
6
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
7
+ import _ from 'lodash'
8
+
9
+ // import for cancelling Inbound Order Purpose
10
+ import { ORDER_STATUS } from '@things-factory/sales-base'
11
+ import { User, ApplicationType } from '@things-factory/auth-base'
12
+ import { Domain } from '@things-factory/shell'
13
+ import {
14
+ OrderProduct,
15
+ OrderVas,
16
+ CollectionOrder,
17
+ ORDER_PRODUCT_STATUS,
18
+ ORDER_VAS_STATUS,
19
+ ORDER_INVENTORY_STATUS,
20
+ ShippingOrder,
21
+ SellercraftController,
22
+ OrderInventory
23
+ } from '@things-factory/sales-base'
24
+ import { getDomainUsers } from '@things-factory/biz-base'
25
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
26
+ import { Inventory } from '@things-factory/warehouse-base'
27
+
28
+ import { loggingMiddleware, validationMiddleware, businessMiddleware } from '../middlewares'
29
+
30
+ router.post(
31
+ '/v1/warehouse/cancel-inbound-order',
32
+ businessMiddleware,
33
+ validationMiddleware,
34
+ loggingMiddleware,
35
+ async (context, next) => {
36
+ try {
37
+ await getConnection().transaction(async (tx: EntityManager) => {
38
+ let bodyReq = context.request.body.data
39
+ const validateArrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).findOne({
40
+ where: { name: bodyReq.ganNo }
41
+ })
42
+ if (!validateArrivalNotice) throw new ApiError('E04', 'ganNo')
43
+
44
+ const arrivalNotice: ArrivalNotice = await rejectArrivalNotice(
45
+ tx,
46
+ validateArrivalNotice.name,
47
+ bodyReq.remark,
48
+ context
49
+ )
50
+
51
+ if (arrivalNotice.crossDocking) {
52
+ const { releaseGood }: ReleaseGood = await tx.getRepository(arrivalNotice).findOne(arrivalNotice.id, {
53
+ relations: ['releaseGood']
54
+ })
55
+
56
+ if (releaseGood.status !== ORDER_STATUS.REJECTED) {
57
+ await rejectReleaseGood(tx, context, releaseGood.name, bodyReq.remark)
58
+ }
59
+ }
60
+
61
+ context.body = {
62
+ data: {
63
+ ganNo: arrivalNotice.name
64
+ }
65
+ }
66
+ })
67
+ } catch (e) {
68
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
69
+ else throwInternalServerError(context, e)
70
+ }
71
+ }
72
+ )
73
+
74
+ async function rejectArrivalNotice(
75
+ tx: EntityManager,
76
+ name: string,
77
+ remark: string,
78
+ context: any
79
+ ): Promise<ArrivalNotice> {
80
+ const { user, domain }: { user: User; domain: Domain } = context.state
81
+
82
+ const foundArrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).findOne({
83
+ where: { name, status: ORDER_STATUS.PENDING_RECEIVE }, // try remove domain
84
+ relations: ['bizplace', 'orderProducts', 'orderVass', 'collectionOrders']
85
+ })
86
+
87
+ if (!foundArrivalNotice) throw new ApiError('E04', 'arrival notice')
88
+ if (!remark) throw new ApiError('E03', 'remark')
89
+
90
+ let foundOPs: OrderProduct[] = foundArrivalNotice.orderProducts
91
+ let foundOVs: OrderVas[] = foundArrivalNotice.orderVass
92
+ let foundCOs: CollectionOrder[] = foundArrivalNotice.collectionOrders
93
+
94
+ // 1. Update status of order products (PENDING_RECEIVE => REJECTED)
95
+ foundOPs = foundOPs.map((op: OrderProduct) => {
96
+ op.status = ORDER_PRODUCT_STATUS.REJECTED
97
+ op.updater = user
98
+ return op
99
+ })
100
+ await tx.getRepository(OrderProduct).save(foundOPs)
101
+
102
+ // 2. Update status of order vass if it exists (PENDING_RECEIVE => REJECTED)
103
+ if (foundOVs && foundOVs.length) {
104
+ foundOVs = foundOVs.map((ov: OrderVas) => {
105
+ ov.status = ORDER_VAS_STATUS.REJECTED
106
+ ov.updater = user
107
+ return ov
108
+ })
109
+ await tx.getRepository(OrderVas).save(foundOVs)
110
+ }
111
+
112
+ // 3. If there's collection order, update status of collection order (PENDING_RECEIVE => REJECTED)
113
+ if (foundCOs) {
114
+ foundCOs = foundCOs.map((co: CollectionOrder) => {
115
+ co.status = ORDER_STATUS.REJECTED
116
+ co.updater = user
117
+ return co
118
+ })
119
+ await tx.getRepository(CollectionOrder).save(foundCOs)
120
+ }
121
+
122
+ foundArrivalNotice.remark = remark
123
+ foundArrivalNotice.status = ORDER_STATUS.REJECTED
124
+ foundArrivalNotice.updater = user
125
+ await tx.getRepository(ArrivalNotice).save(foundArrivalNotice)
126
+
127
+ // notification logics
128
+ const users: any[] = await getDomainUsers(foundArrivalNotice?.bizplace, tx)
129
+
130
+ // send notification to Customer Users
131
+ if (users?.length && context.header?.referer) {
132
+ const receivers: any[] = users.map(user => user.id)
133
+ const msg = {
134
+ title: `Latest status for ${foundArrivalNotice.name}`,
135
+ body: `Your GAN has been rejected.`,
136
+ url: context.header.referer,
137
+ data: { url: context.header.referer }
138
+ }
139
+ }
140
+ return foundArrivalNotice
141
+ }
142
+
143
+ async function rejectReleaseGood(tx: EntityManager, context: any, name: string, remark: string): Promise<ReleaseGood> {
144
+ const { domain, user }: { domain: Domain; user: User } = context.state
145
+
146
+ const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
147
+ where: { domain, name, status: ORDER_STATUS.PENDING_RECEIVE },
148
+ relations: [
149
+ 'bizplace',
150
+ 'bizplace.domain',
151
+ 'orderProducts',
152
+ 'orderProducts.product',
153
+ 'orderProducts.product.productDetails',
154
+ 'orderInventories',
155
+ 'orderInventories.inventory',
156
+ 'orderVass',
157
+ 'shippingOrder'
158
+ ]
159
+ })
160
+
161
+ if (!releaseGood) throw new ApiError('E04', `release good`)
162
+ if (!remark) throw new ApiError('E03', 'remark')
163
+
164
+ let foundOIs: OrderInventory[] = releaseGood.orderInventories
165
+ let foundOVs: OrderVas[] = releaseGood.orderVass
166
+ let foundOPs: OrderProduct[] = releaseGood.orderProducts
167
+
168
+ // 1. Update status of order products (PENDING_RECEIVE => REJECTED)
169
+ if (foundOIs && foundOIs.length) {
170
+ await tx.getRepository(OrderInventory).save(
171
+ await Promise.all(
172
+ foundOIs.map(async (oi: OrderInventory) => {
173
+ if (oi?.inventory?.id) {
174
+ oi.inventory = await tx.getRepository(Inventory).findOne(oi.inventory.id)
175
+
176
+ await tx.getRepository(Inventory).save({
177
+ ...oi.inventory,
178
+ lockedQty: oi.inventory.lockedQty - oi.releaseQty,
179
+ lockedUomValue: oi.inventory.lockedUomValue - oi.releaseUomValue,
180
+ updater: user
181
+ })
182
+ }
183
+
184
+ oi.status = ORDER_INVENTORY_STATUS.REJECTED
185
+ oi.updater = user
186
+ return oi
187
+ })
188
+ )
189
+ )
190
+ }
191
+
192
+ if (foundOPs && foundOPs.length) {
193
+ const orderSource: string = releaseGood.source
194
+ switch (orderSource) {
195
+ case ApplicationType.SELLERCRAFT:
196
+ const sellercraft: Sellercraft = await tx
197
+ .getRepository(Sellercraft)
198
+ .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
199
+
200
+ if (sellercraft) {
201
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
202
+ await sellercraftCtrl.updateSellercraftStock(sellercraft, foundOPs, 'REJECT_ORDER')
203
+ }
204
+ break
205
+
206
+ default:
207
+ break
208
+ }
209
+
210
+ await tx.getRepository(OrderProduct).save(
211
+ await Promise.all(
212
+ foundOPs.map(async (op: OrderProduct) => {
213
+ op.status = ORDER_PRODUCT_STATUS.REJECTED
214
+ op.updater = user
215
+ return op
216
+ })
217
+ )
218
+ )
219
+ }
220
+
221
+ // 2. Update status of order vass if it exists (PENDING_RECEIVE => REJECTED)
222
+ if (foundOVs && foundOVs.length) {
223
+ foundOVs = foundOVs.map((ov: OrderVas) => {
224
+ ov.status = ORDER_VAS_STATUS.REJECTED
225
+ ov.updater = user
226
+ return ov
227
+ })
228
+ await tx.getRepository(OrderVas).save(foundOVs)
229
+ }
230
+
231
+ if (releaseGood.shippingOrder) {
232
+ // 2. 1) if it's yes update status of collection order
233
+ const shippingOrder: ShippingOrder = await tx.getRepository(ShippingOrder).findOne({
234
+ where: { domain, name: releaseGood.shippingOrder.name }
235
+ })
236
+
237
+ shippingOrder.status = ORDER_STATUS.REJECTED
238
+ shippingOrder.updater = user
239
+ await tx.getRepository(ShippingOrder).save(shippingOrder)
240
+ }
241
+
242
+ releaseGood.remark = remark
243
+ releaseGood.status = ORDER_STATUS.REJECTED
244
+ releaseGood.updater = user
245
+ await tx.getRepository(ReleaseGood).save(releaseGood)
246
+
247
+ // notification logics
248
+ const users: any[] = await getDomainUsers(releaseGood?.bizplace, tx)
249
+
250
+ if (users?.length && context.header?.referer) {
251
+ const receivers: any[] = users.map(user => user.id)
252
+ const msg = {
253
+ title: `Latest status for ${releaseGood.name}`,
254
+ body: `Your RO has been rejected.`,
255
+ url: context.header.referer,
256
+ data: { url: context.header.referer }
257
+ }
258
+ }
259
+
260
+ return releaseGood
261
+ }
@@ -0,0 +1,258 @@
1
+ import { EntityManager, getConnection, In } from 'typeorm'
2
+ import { restfulApiRouter as router } from '@things-factory/api'
3
+ import { Bizplace } from '@things-factory/biz-base'
4
+ import {
5
+ ReleaseGood,
6
+ DraftReleaseGood,
7
+ OrderInventory,
8
+ DeliveryOrder,
9
+ OrderVas,
10
+ ORDER_STATUS,
11
+ ORDER_INVENTORY_STATUS,
12
+ ORDER_VAS_STATUS
13
+ } from '@things-factory/sales-base'
14
+ import { Worksheet, WorksheetDetail } from '@things-factory/worksheet-base'
15
+ import { User } from '@things-factory/auth-base'
16
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
17
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
18
+
19
+ const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:cancel-release-order')
20
+
21
+ router.post(
22
+ '/v1/warehouse/cancel-release-order',
23
+ businessMiddleware,
24
+ validationMiddleware,
25
+ loggingMiddleware,
26
+ async (context, next) => {
27
+ try {
28
+ const { domain } = context.state
29
+ const { bizplaceId } = context.request.body.data
30
+ const { user }: { user: User } = context.state
31
+ const bodyReq = context.request.body.data
32
+
33
+ await getConnection().transaction(async (tx: EntityManager) => {
34
+ const releaseOrder: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
35
+ where: [{ name: bodyReq.roNo, bizplace: bizplaceId }],
36
+ relations: ['bizplace', 'orderInventories', 'orderVass']
37
+ })
38
+
39
+ let draftReleaseOrder: DraftReleaseGood
40
+ if (!releaseOrder) {
41
+ draftReleaseOrder = await tx.getRepository(DraftReleaseGood).findOne({
42
+ where: [{ name: bodyReq.roNo, bizplace: bizplaceId }]
43
+ })
44
+ if (draftReleaseOrder) {
45
+ context.body = await cancelDraftReleaseOrder(tx, domain, draftReleaseOrder.name, user)
46
+ return
47
+ } else {
48
+ throw new ApiError('E04', 'release order')
49
+ }
50
+ }
51
+
52
+ debug('post:/cancel-release-order body request', bodyReq)
53
+
54
+ context.body = await pendingCancellationReleaseOrder(tx, domain, user, releaseOrder)
55
+ })
56
+ } catch (e) {
57
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
58
+ else throwInternalServerError(context, e)
59
+ }
60
+ }
61
+ )
62
+
63
+ async function cancelDraftReleaseOrder(tx, domain, name, user) {
64
+ const foundDRO: DraftReleaseGood = await tx.getRepository(DraftReleaseGood).findOne({
65
+ where: { domain, name }
66
+ })
67
+
68
+ if (foundDRO) {
69
+ await tx.getRepository(DraftReleaseGood).save({
70
+ ...foundDRO,
71
+ status: ORDER_STATUS.CANCELLED,
72
+ updater: user
73
+ })
74
+ return {
75
+ data: {
76
+ draftRoNo: foundDRO.name
77
+ }
78
+ }
79
+ }
80
+ }
81
+
82
+ async function pendingCancellationReleaseOrder(tx, domain, user, foundRO) {
83
+ if (foundRO.status === 'DONE') throw new ApiError('E01', 'Release good has been completed!')
84
+ if (!foundRO) throw new ApiError('E04', `Release good order doesn't exist`)
85
+ let targetOIs: OrderInventory[] = foundRO.orderInventories
86
+ let foundOVs: OrderVas[] = foundRO.orderVass
87
+ let pickedOIs: OrderInventory[]
88
+ let pickingOIs: OrderInventory[]
89
+
90
+ // 1. Check RO status
91
+ if (
92
+ foundRO.status === ORDER_STATUS.LOADING ||
93
+ foundRO.status === ORDER_STATUS.PACKING ||
94
+ foundRO.status === ORDER_STATUS.SORTING
95
+ ) {
96
+ // 1a. Case 1: RO is done or loading, pending cancel order, worksheet, worksheet detail, order inventory
97
+ // update status of order inventory to PENDING_CANCEL
98
+ pickedOIs = targetOIs.map((orderInv: OrderInventory) => {
99
+ return {
100
+ ...orderInv,
101
+ status: ORDER_INVENTORY_STATUS.PENDING_REVERSE,
102
+ updater: user
103
+ }
104
+ })
105
+ await tx.getRepository(OrderInventory).save(pickedOIs)
106
+ } else if (
107
+ foundRO.status === ORDER_STATUS.PICKING ||
108
+ foundRO.status === ORDER_STATUS.READY_TO_PICK ||
109
+ foundRO.status === ORDER_STATUS.PENDING_WORKSHEET
110
+ ) {
111
+ pickingOIs = targetOIs
112
+ .filter(
113
+ (oi: OrderInventory) =>
114
+ oi.status === ORDER_INVENTORY_STATUS.ASSIGNED ||
115
+ oi.status === ORDER_INVENTORY_STATUS.PICKING ||
116
+ oi.status === ORDER_INVENTORY_STATUS.READY_TO_PICK ||
117
+ oi.status === ORDER_INVENTORY_STATUS.PENDING_SPLIT ||
118
+ oi.status === ORDER_INVENTORY_STATUS.PENDING_WORKSHEET
119
+ )
120
+ .map((targetOI: OrderInventory) => {
121
+ return {
122
+ ...targetOI,
123
+ status: ORDER_INVENTORY_STATUS.PENDING_CANCEL,
124
+ updater: user
125
+ }
126
+ })
127
+ await tx.getRepository(OrderInventory).save(pickingOIs)
128
+
129
+ pickedOIs = targetOIs
130
+ .filter((pickedOI: OrderInventory) => pickedOI.status === ORDER_INVENTORY_STATUS.PICKED)
131
+ .map((targetOI: OrderInventory) => {
132
+ return {
133
+ ...targetOI,
134
+ status: ORDER_INVENTORY_STATUS.PENDING_REVERSE,
135
+ updater: user
136
+ }
137
+ })
138
+ await tx.getRepository(OrderInventory).save(pickedOIs)
139
+ }
140
+
141
+ // update status of order vass to PENDING_CANCEL
142
+ if (foundOVs && foundOVs.length) {
143
+ foundOVs = foundOVs.map((orderVas: OrderVas) => {
144
+ return {
145
+ ...orderVas,
146
+ status: ORDER_VAS_STATUS.PENDING_CANCEL,
147
+ updater: user
148
+ }
149
+ })
150
+ await tx.getRepository(OrderVas).save(foundOVs)
151
+ }
152
+
153
+ // find worksheet and update status to PENDING_CANCEL
154
+ let foundWS: Worksheet = await tx.getRepository(Worksheet).findOne({
155
+ where: {
156
+ domain,
157
+ releaseGood: foundRO
158
+ },
159
+ order: { createdAt: 'DESC' }
160
+ })
161
+
162
+ if (foundWS) {
163
+ await tx.getRepository(Worksheet).update(
164
+ { id: foundWS.id },
165
+ {
166
+ status: ORDER_INVENTORY_STATUS.PENDING_CANCEL,
167
+ updater: user
168
+ }
169
+ )
170
+
171
+ if (pickedOIs && pickedOIs.length) {
172
+ let pickedWSD: WorksheetDetail[] = await tx.getRepository(WorksheetDetail).find({
173
+ where: {
174
+ domain,
175
+ targetInventory: In(pickedOIs.map(oi => oi.id)),
176
+ status: ORDER_INVENTORY_STATUS.DONE,
177
+ worksheet: foundWS
178
+ }
179
+ })
180
+
181
+ pickedWSD = pickedWSD.map((wsd: WorksheetDetail) => {
182
+ return {
183
+ ...wsd,
184
+ status: ORDER_INVENTORY_STATUS.PENDING_CANCEL,
185
+ updater: user
186
+ }
187
+ })
188
+ await tx.getRepository(WorksheetDetail).save(pickedWSD)
189
+
190
+ let replacedWSD: WorksheetDetail[] = await tx.getRepository(WorksheetDetail).find({
191
+ where: {
192
+ domain,
193
+ targetInventory: In(pickedOIs.map(oi => oi.id)),
194
+ status: ORDER_INVENTORY_STATUS.REPLACED,
195
+ worksheet: foundWS
196
+ },
197
+ relations: ['targetInventory']
198
+ })
199
+
200
+ if (replacedWSD && replacedWSD.length) {
201
+ let replacedOI: OrderInventory[] = replacedWSD.map((wsd: WorksheetDetail) => wsd.targetInventory)
202
+ replacedOI = replacedOI.map((oi: OrderInventory) => {
203
+ return {
204
+ ...oi,
205
+ status: ORDER_INVENTORY_STATUS.REPLACED,
206
+ updater: user
207
+ }
208
+ })
209
+ await tx.getRepository(OrderInventory).save(replacedOI)
210
+ }
211
+ }
212
+
213
+ if (pickingOIs && pickingOIs.length) {
214
+ let pickingWSD: WorksheetDetail[] = await tx.getRepository(WorksheetDetail).find({
215
+ where: {
216
+ domain,
217
+ targetInventory: In(pickingOIs.map(oi => oi.id)),
218
+ worksheet: foundWS
219
+ }
220
+ })
221
+
222
+ pickingWSD = pickingWSD.map((wsd: WorksheetDetail) => {
223
+ return {
224
+ ...wsd,
225
+ status: ORDER_INVENTORY_STATUS.PENDING_CANCEL,
226
+ updater: user
227
+ }
228
+ })
229
+ await tx.getRepository(WorksheetDetail).save(pickingWSD)
230
+ }
231
+ }
232
+
233
+ // find DO and change status to pending cancel
234
+ let foundDO: DeliveryOrder[] = await tx.getRepository(DeliveryOrder).find({
235
+ where: { domain, releaseGood: foundRO }
236
+ })
237
+
238
+ foundDO = foundDO.map((deliveryOrder: DeliveryOrder) => {
239
+ return {
240
+ ...deliveryOrder,
241
+ status: ORDER_STATUS.PENDING_CANCEL,
242
+ updater: user
243
+ }
244
+ })
245
+ await tx.getRepository(DeliveryOrder).save(foundDO)
246
+
247
+ await tx.getRepository(ReleaseGood).save({
248
+ ...foundRO,
249
+ status: ORDER_STATUS.PENDING_CANCEL,
250
+ updater: user
251
+ })
252
+
253
+ return {
254
+ data: {
255
+ roNo: foundRO.name
256
+ }
257
+ }
258
+ }
@@ -0,0 +1,141 @@
1
+ import _ from 'lodash'
2
+ import { Between, getRepository } from 'typeorm'
3
+
4
+ import { restfulApiRouter as router } from '@things-factory/api'
5
+ import { DeliveryOrder } from '@things-factory/sales-base'
6
+
7
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
8
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
9
+
10
+ router.get(
11
+ '/v1/warehouse/get-delivery-order-list',
12
+ businessMiddleware,
13
+ validationMiddleware,
14
+ loggingMiddleware,
15
+ async (context, next) => {
16
+ try {
17
+ // get contact points for that bizplace
18
+ // optional query parameter filter
19
+ let filter = { ...context.query }
20
+ const { limit, offset, fromDate, toDate } = filter
21
+ filter['bizplace'] = filter['bizplaceId']
22
+ delete filter['bizplaceId']
23
+ if (_.has(filter, 'doNo')) {
24
+ filter['name'] = filter['doNo']
25
+ delete filter['doNo']
26
+ }
27
+ filter['createdAt'] = Between(fromDate, toDate)
28
+
29
+ delete filter['fromDate']
30
+ delete filter['toDate']
31
+ delete filter['limit']
32
+ delete filter['offset']
33
+ const [deliveryOrders, totalCount]: DeliveryOrder[] = await getRepository(DeliveryOrder).findAndCount({
34
+ where: filter,
35
+ relations: ['releaseGood', 'releaseGood.orderInventories', 'bizplace', 'domain'],
36
+ skip: offset,
37
+ take: limit,
38
+ order: { createdAt: 'DESC' }
39
+ })
40
+
41
+ // create and format data response
42
+ let data = []
43
+ for (const deliveryOrder of deliveryOrders) {
44
+ let orderInventories = []
45
+ for (const orderInventory of deliveryOrder.releaseGood.orderInventories) {
46
+ orderInventories.push(orderInventory)
47
+ }
48
+ const datapoint = {
49
+ id: deliveryOrder.id,
50
+ doNo: deliveryOrder.name,
51
+ from: deliveryOrder.from,
52
+ to: deliveryOrder.to,
53
+ contactPointRefId: deliveryOrder.contactPointRefId,
54
+ truckNo: deliveryOrder.truckNo,
55
+ deliveryDate: deliveryOrder.deliveryDate,
56
+ status: deliveryOrder.status,
57
+ ownCollection: deliveryOrder.ownCollection,
58
+ looseItem: deliveryOrder.looseItem,
59
+ deliveryDateTime: deliveryOrder.deliveryDateTime,
60
+ loadWeight: deliveryOrder.loadWeight,
61
+ cargoType: deliveryOrder.cargoType,
62
+ urgency: deliveryOrder.urgency,
63
+ telNo: deliveryOrder.telNo,
64
+ refNo: deliveryOrder.refNo,
65
+ otherDriver: deliveryOrder.otherDriver,
66
+ palletQty: deliveryOrder.palletQty,
67
+ remark: deliveryOrder.remark,
68
+ description: deliveryOrder.description,
69
+ reusablePallet: deliveryOrder.reusablePallet,
70
+ bizplace: {
71
+ id: deliveryOrder.bizplace.id,
72
+ name: deliveryOrder.bizplace.name,
73
+ description: deliveryOrder.bizplace.description
74
+ },
75
+ domain: {
76
+ id: deliveryOrder.domain.id,
77
+ name: deliveryOrder.domain.name
78
+ },
79
+ releaseGood: {
80
+ id: deliveryOrder.releaseGood.id,
81
+ roNo: deliveryOrder.releaseGood.name,
82
+ description: deliveryOrder.releaseGood.description,
83
+ status: deliveryOrder.releaseGood.status,
84
+ refNo: deliveryOrder.releaseGood.refNo,
85
+ refNo2: deliveryOrder.releaseGood.refNo2,
86
+ refNo3: deliveryOrder.releaseGood.refNo3,
87
+ truckNo: deliveryOrder.releaseGood.truckNo,
88
+ exportOption: deliveryOrder.releaseGood.exportOption,
89
+ ownTransport: deliveryOrder.releaseGood.ownTransport,
90
+ crossDocking: deliveryOrder.releaseGood.crossDocking,
91
+ releaseDateTime: deliveryOrder.releaseGood.releaseDateTime,
92
+ releaseDate: deliveryOrder.releaseGood.releaseDate,
93
+ remark: deliveryOrder.releaseGood.remark,
94
+ courierOption: deliveryOrder.releaseGood.courierOption,
95
+ packingOption: deliveryOrder.releaseGood.packingOption,
96
+ type: deliveryOrder.releaseGood.type,
97
+ acceptedAt: deliveryOrder.releaseGood.acceptedAt,
98
+ marketplaceOrderStatus: deliveryOrder.releaseGood.marketplaceOrderStatus,
99
+ billingAddress: deliveryOrder.releaseGood.billingAddress,
100
+ deliveryAddress1: deliveryOrder.releaseGood.deliveryAddress1,
101
+ deliveryAddress2: deliveryOrder.releaseGood.deliveryAddress2,
102
+ deliveryAddress3: deliveryOrder.releaseGood.deliveryAddress3,
103
+ deliveryAddress4: deliveryOrder.releaseGood.deliveryAddress4,
104
+ deliveryAddress5: deliveryOrder.releaseGood.deliveryAddress5,
105
+ attentionTo: deliveryOrder.releaseGood.attentionTo,
106
+ attentionCompany: deliveryOrder.releaseGood.attentionCompany,
107
+ city: deliveryOrder.releaseGood.city,
108
+ state: deliveryOrder.releaseGood.state,
109
+ postalCode: deliveryOrder.releaseGood.postalCode,
110
+ country: deliveryOrder.releaseGood.country,
111
+ phone1: deliveryOrder.releaseGood.phone1,
112
+ phone2: deliveryOrder.releaseGood.phone2,
113
+ email: deliveryOrder.releaseGood.email,
114
+ transporter: deliveryOrder.releaseGood.transporter,
115
+ trackingNo: deliveryOrder.releaseGood.trackingNo,
116
+ airwayBill: deliveryOrder.releaseGood.airwayBill,
117
+ invoice: deliveryOrder.releaseGood.invoice,
118
+ pickupAddress: deliveryOrder.releaseGood.pickupAddress,
119
+ pickupTime: deliveryOrder.releaseGood.pickupTime,
120
+ handoverType: deliveryOrder.releaseGood.handoverType,
121
+ dropoffAddress: deliveryOrder.releaseGood.dropoffAddress,
122
+ noOfItems: deliveryOrder.releaseGood.noOfItems,
123
+ orderProducts: []
124
+ },
125
+ orderInventories
126
+ }
127
+ data.push(datapoint)
128
+ }
129
+
130
+ context.body = {
131
+ data,
132
+ totalCount,
133
+ limit,
134
+ offset
135
+ }
136
+ } catch (e) {
137
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
138
+ else throwInternalServerError(context, e)
139
+ }
140
+ }
141
+ )