@things-factory/operato-hub 4.3.79 → 4.3.80-alpha.2

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 (333) hide show
  1. package/dist-server/middlewares/business-middleware.js +4 -1
  2. package/dist-server/middlewares/business-middleware.js.map +1 -1
  3. package/dist-server/middlewares/store-middleware.js.map +1 -1
  4. package/dist-server/routers/api/index.js +0 -1
  5. package/dist-server/routers/api/index.js.map +1 -1
  6. package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js +3 -2
  7. package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js.map +1 -1
  8. package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js +5 -2
  9. package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js.map +1 -1
  10. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +4 -2
  11. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js.map +1 -1
  12. package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js +85 -0
  13. package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js.map +1 -0
  14. package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js +193 -0
  15. package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js.map +1 -0
  16. package/dist-server/routers/api/restful-apis/v1/company/add-product.js +50 -0
  17. package/dist-server/routers/api/restful-apis/v1/company/add-product.js.map +1 -0
  18. package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js +90 -0
  19. package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js.map +1 -0
  20. package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js +49 -0
  21. package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js.map +1 -0
  22. package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js +62 -0
  23. package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js.map +1 -0
  24. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js +108 -0
  25. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js.map +1 -0
  26. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js +51 -0
  27. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js.map +1 -0
  28. package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js +89 -0
  29. package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js.map +1 -0
  30. package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js +98 -0
  31. package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js.map +1 -0
  32. package/dist-server/routers/api/restful-apis/v1/company/index.js +14 -0
  33. package/dist-server/routers/api/restful-apis/v1/company/index.js.map +1 -0
  34. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js +58 -0
  35. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.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 +29 -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 +69 -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 +358 -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 +57 -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 +277 -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 +810 -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 +182 -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 +98 -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 +78 -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 +243 -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 +94 -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 +94 -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 +15 -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 +62 -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 +261 -0
  85. package/openapi/v1/authetication.yaml +108 -0
  86. package/openapi/v1/bizplace.yaml +72 -0
  87. package/openapi/v1/contact-point.yaml +253 -90
  88. package/openapi/v1/inbound.yaml +646 -316
  89. package/openapi/v1/marketplace.yaml +834 -0
  90. package/openapi/v1/outbound.yaml +1303 -580
  91. package/openapi/v1/partner.yaml +80 -0
  92. package/openapi/v1/product.yaml +514 -194
  93. package/openapi/v1.yaml +39 -7
  94. package/package.json +54 -54
  95. package/server/middlewares/business-middleware.ts +5 -1
  96. package/server/middlewares/store-middleware.ts +1 -0
  97. package/server/routers/api/index.ts +0 -1
  98. package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +3 -2
  99. package/server/routers/api/restful-apis/unstable/add-inbound-order.ts +5 -2
  100. package/server/routers/api/restful-apis/unstable/add-release-order.ts +4 -2
  101. package/server/routers/api/restful-apis/v1/company/add-contact-points.ts +84 -0
  102. package/server/routers/api/restful-apis/v1/company/add-marketplace-order.ts +223 -0
  103. package/server/routers/api/restful-apis/v1/company/add-product.ts +68 -0
  104. package/server/routers/api/restful-apis/v1/company/cancel-marketplace-order.ts +94 -0
  105. package/server/routers/api/restful-apis/v1/company/get-bizplace-list.ts +55 -0
  106. package/server/routers/api/restful-apis/v1/company/get-contact-point-list.ts +67 -0
  107. package/server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.ts +115 -0
  108. package/server/routers/api/restful-apis/v1/company/get-marketplace-store-list.ts +57 -0
  109. package/server/routers/api/restful-apis/v1/company/get-partner-list.ts +96 -0
  110. package/server/routers/api/restful-apis/v1/company/get-product-list.ts +103 -0
  111. package/server/routers/api/restful-apis/v1/company/index.ts +11 -0
  112. package/server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.ts +63 -0
  113. package/server/routers/api/restful-apis/v1/index.ts +2 -31
  114. package/server/routers/api/restful-apis/v1/middlewares/business-middleware.ts +31 -0
  115. package/server/routers/api/restful-apis/v1/middlewares/index.ts +26 -0
  116. package/server/routers/api/restful-apis/v1/middlewares/logging-middleware.ts +24 -0
  117. package/server/routers/api/restful-apis/v1/middlewares/store-middleware.ts +34 -0
  118. package/server/routers/api/restful-apis/v1/middlewares/validation-middleware.ts +68 -0
  119. package/server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.ts +31 -0
  120. package/server/routers/api/restful-apis/v1/utils/error-util.ts +70 -0
  121. package/server/routers/api/restful-apis/v1/utils/params.ts +358 -0
  122. package/server/routers/api/restful-apis/v1/utils/validate-util.ts +49 -0
  123. package/server/routers/api/restful-apis/v1/warehouse/add-inbound-order.ts +361 -0
  124. package/server/routers/api/restful-apis/v1/warehouse/add-release-order.ts +1000 -0
  125. package/server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.ts +261 -0
  126. package/server/routers/api/restful-apis/v1/warehouse/cancel-release-order.ts +252 -0
  127. package/server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.ts +141 -0
  128. package/server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.ts +106 -0
  129. package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.ts +74 -0
  130. package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.ts +96 -0
  131. package/server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.ts +293 -0
  132. package/server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.ts +96 -0
  133. package/server/routers/api/restful-apis/v1/warehouse/get-release-order-details.ts +97 -0
  134. package/server/routers/api/restful-apis/v1/warehouse/get-release-order-list.ts +113 -0
  135. package/server/routers/api/restful-apis/v1/warehouse/index.ts +12 -0
  136. package/server/routers/api/restful-apis/v1/warehouse/update-release-order-details.ts +86 -0
  137. package/dist-server/routers/api/restful-apis/v1/add-contact-point.js +0 -64
  138. package/dist-server/routers/api/restful-apis/v1/add-contact-point.js.map +0 -1
  139. package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js +0 -171
  140. package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js.map +0 -1
  141. package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js +0 -213
  142. package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js.map +0 -1
  143. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js +0 -144
  144. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js.map +0 -1
  145. package/dist-server/routers/api/restful-apis/v1/add-products.js +0 -88
  146. package/dist-server/routers/api/restful-apis/v1/add-products.js.map +0 -1
  147. package/dist-server/routers/api/restful-apis/v1/add-release-order.js +0 -774
  148. package/dist-server/routers/api/restful-apis/v1/add-release-order.js.map +0 -1
  149. package/dist-server/routers/api/restful-apis/v1/bizplace.js +0 -45
  150. package/dist-server/routers/api/restful-apis/v1/bizplace.js.map +0 -1
  151. package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js +0 -63
  152. package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js.map +0 -1
  153. package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js +0 -66
  154. package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js.map +0 -1
  155. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js +0 -103
  156. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js.map +0 -1
  157. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js +0 -47
  158. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js.map +0 -1
  159. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js +0 -124
  160. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js.map +0 -1
  161. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +0 -164
  162. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +0 -1
  163. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +0 -120
  164. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +0 -1
  165. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js +0 -115
  166. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js.map +0 -1
  167. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js +0 -125
  168. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js.map +0 -1
  169. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js +0 -88
  170. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js.map +0 -1
  171. package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js +0 -101
  172. package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js.map +0 -1
  173. package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js +0 -146
  174. package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js.map +0 -1
  175. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js +0 -79
  176. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js.map +0 -1
  177. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +0 -110
  178. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +0 -1
  179. package/dist-server/routers/api/restful-apis/v1/get-partners.js +0 -23
  180. package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +0 -1
  181. package/dist-server/routers/api/restful-apis/v1/get-products.js +0 -210
  182. package/dist-server/routers/api/restful-apis/v1/get-products.js.map +0 -1
  183. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js +0 -122
  184. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js.map +0 -1
  185. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js +0 -191
  186. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js.map +0 -1
  187. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +0 -20
  188. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +0 -1
  189. package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js +0 -35
  190. package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js.map +0 -1
  191. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js +0 -45
  192. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js.map +0 -1
  193. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js +0 -45
  194. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js.map +0 -1
  195. package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js +0 -93
  196. package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js.map +0 -1
  197. package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js +0 -85
  198. package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js.map +0 -1
  199. package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js +0 -82
  200. package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js.map +0 -1
  201. package/dist-server/routers/api/restful-apis/v2/add-contact-point.js +0 -64
  202. package/dist-server/routers/api/restful-apis/v2/add-contact-point.js.map +0 -1
  203. package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js +0 -171
  204. package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js.map +0 -1
  205. package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js +0 -213
  206. package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js.map +0 -1
  207. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js +0 -144
  208. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js.map +0 -1
  209. package/dist-server/routers/api/restful-apis/v2/add-products.js +0 -88
  210. package/dist-server/routers/api/restful-apis/v2/add-products.js.map +0 -1
  211. package/dist-server/routers/api/restful-apis/v2/add-release-order.js +0 -774
  212. package/dist-server/routers/api/restful-apis/v2/add-release-order.js.map +0 -1
  213. package/dist-server/routers/api/restful-apis/v2/bizplace.js +0 -45
  214. package/dist-server/routers/api/restful-apis/v2/bizplace.js.map +0 -1
  215. package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js +0 -63
  216. package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js.map +0 -1
  217. package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js +0 -66
  218. package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js.map +0 -1
  219. package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js +0 -103
  220. package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js.map +0 -1
  221. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js +0 -47
  222. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js.map +0 -1
  223. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js +0 -124
  224. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js.map +0 -1
  225. package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js +0 -164
  226. package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js.map +0 -1
  227. package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js +0 -120
  228. package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js.map +0 -1
  229. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js +0 -115
  230. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js.map +0 -1
  231. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js +0 -125
  232. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js.map +0 -1
  233. package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js +0 -88
  234. package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js.map +0 -1
  235. package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js +0 -101
  236. package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js.map +0 -1
  237. package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js +0 -146
  238. package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js.map +0 -1
  239. package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js +0 -79
  240. package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js.map +0 -1
  241. package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js +0 -110
  242. package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js.map +0 -1
  243. package/dist-server/routers/api/restful-apis/v2/get-partners.js +0 -23
  244. package/dist-server/routers/api/restful-apis/v2/get-partners.js.map +0 -1
  245. package/dist-server/routers/api/restful-apis/v2/get-products.js +0 -210
  246. package/dist-server/routers/api/restful-apis/v2/get-products.js.map +0 -1
  247. package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js +0 -122
  248. package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js.map +0 -1
  249. package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js +0 -191
  250. package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js.map +0 -1
  251. package/dist-server/routers/api/restful-apis/v2/get-warehouses.js +0 -20
  252. package/dist-server/routers/api/restful-apis/v2/get-warehouses.js.map +0 -1
  253. package/dist-server/routers/api/restful-apis/v2/index.js +0 -34
  254. package/dist-server/routers/api/restful-apis/v2/index.js.map +0 -1
  255. package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js +0 -35
  256. package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js.map +0 -1
  257. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js +0 -45
  258. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js.map +0 -1
  259. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js +0 -45
  260. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js.map +0 -1
  261. package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js +0 -93
  262. package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js.map +0 -1
  263. package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js +0 -85
  264. package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js.map +0 -1
  265. package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js +0 -82
  266. package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js.map +0 -1
  267. package/openapi/v1/ecommerce.yaml +0 -549
  268. package/openapi/v1/inventory.yaml +0 -231
  269. package/server/routers/api/restful-apis/v1/add-contact-point.ts +0 -77
  270. package/server/routers/api/restful-apis/v1/add-draft-release-order.ts +0 -196
  271. package/server/routers/api/restful-apis/v1/add-inbound-order.ts +0 -242
  272. package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +0 -172
  273. package/server/routers/api/restful-apis/v1/add-products.ts +0 -112
  274. package/server/routers/api/restful-apis/v1/add-release-order.ts +0 -967
  275. package/server/routers/api/restful-apis/v1/bizplace.ts +0 -45
  276. package/server/routers/api/restful-apis/v1/cancel-marketplace-order.ts +0 -81
  277. package/server/routers/api/restful-apis/v1/cancel-release-order.ts +0 -91
  278. package/server/routers/api/restful-apis/v1/get-contact-point-list.ts +0 -110
  279. package/server/routers/api/restful-apis/v1/get-delivery-order-detail.ts +0 -46
  280. package/server/routers/api/restful-apis/v1/get-delivery-order-list.ts +0 -121
  281. package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +0 -178
  282. package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +0 -134
  283. package/server/routers/api/restful-apis/v1/get-inbound-order-detail.ts +0 -128
  284. package/server/routers/api/restful-apis/v1/get-inbound-order-list.ts +0 -126
  285. package/server/routers/api/restful-apis/v1/get-inventory-overall-product-group.ts +0 -99
  286. package/server/routers/api/restful-apis/v1/get-inventory-product-group.ts +0 -112
  287. package/server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.ts +0 -156
  288. package/server/routers/api/restful-apis/v1/get-marketplace-store-list.ts +0 -81
  289. package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +0 -125
  290. package/server/routers/api/restful-apis/v1/get-partners.ts +0 -24
  291. package/server/routers/api/restful-apis/v1/get-products.ts +0 -216
  292. package/server/routers/api/restful-apis/v1/get-release-order-detail.ts +0 -134
  293. package/server/routers/api/restful-apis/v1/get-release-order-list.ts +0 -198
  294. package/server/routers/api/restful-apis/v1/get-warehouses.ts +0 -18
  295. package/server/routers/api/restful-apis/v1/reject-inbound-order.ts +0 -46
  296. package/server/routers/api/restful-apis/v1/set-marketplace-order-delivered.ts +0 -60
  297. package/server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.ts +0 -60
  298. package/server/routers/api/restful-apis/v1/update-marketplace-order.ts +0 -111
  299. package/server/routers/api/restful-apis/v1/update-marketplace-shipping-order.ts +0 -104
  300. package/server/routers/api/restful-apis/v1/update-release-order-details.ts +0 -94
  301. package/server/routers/api/restful-apis/v2/add-contact-point.ts +0 -77
  302. package/server/routers/api/restful-apis/v2/add-draft-release-order.ts +0 -196
  303. package/server/routers/api/restful-apis/v2/add-inbound-order.ts +0 -242
  304. package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +0 -172
  305. package/server/routers/api/restful-apis/v2/add-products.ts +0 -112
  306. package/server/routers/api/restful-apis/v2/add-release-order.ts +0 -967
  307. package/server/routers/api/restful-apis/v2/bizplace.ts +0 -45
  308. package/server/routers/api/restful-apis/v2/cancel-marketplace-order.ts +0 -81
  309. package/server/routers/api/restful-apis/v2/cancel-release-order.ts +0 -91
  310. package/server/routers/api/restful-apis/v2/get-contact-point-list.ts +0 -110
  311. package/server/routers/api/restful-apis/v2/get-delivery-order-detail.ts +0 -46
  312. package/server/routers/api/restful-apis/v2/get-delivery-order-list.ts +0 -121
  313. package/server/routers/api/restful-apis/v2/get-delivery-orders.ts +0 -178
  314. package/server/routers/api/restful-apis/v2/get-goods-received-notes.ts +0 -134
  315. package/server/routers/api/restful-apis/v2/get-inbound-order-detail.ts +0 -128
  316. package/server/routers/api/restful-apis/v2/get-inbound-order-list.ts +0 -126
  317. package/server/routers/api/restful-apis/v2/get-inventory-overall-product-group.ts +0 -99
  318. package/server/routers/api/restful-apis/v2/get-inventory-product-group.ts +0 -112
  319. package/server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.ts +0 -156
  320. package/server/routers/api/restful-apis/v2/get-marketplace-store-list.ts +0 -81
  321. package/server/routers/api/restful-apis/v2/get-onhand-inventories.ts +0 -125
  322. package/server/routers/api/restful-apis/v2/get-partners.ts +0 -24
  323. package/server/routers/api/restful-apis/v2/get-products.ts +0 -216
  324. package/server/routers/api/restful-apis/v2/get-release-order-detail.ts +0 -134
  325. package/server/routers/api/restful-apis/v2/get-release-order-list.ts +0 -198
  326. package/server/routers/api/restful-apis/v2/get-warehouses.ts +0 -18
  327. package/server/routers/api/restful-apis/v2/index.ts +0 -31
  328. package/server/routers/api/restful-apis/v2/reject-inbound-order.ts +0 -46
  329. package/server/routers/api/restful-apis/v2/set-marketplace-order-delivered.ts +0 -60
  330. package/server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.ts +0 -60
  331. package/server/routers/api/restful-apis/v2/update-marketplace-order.ts +0 -111
  332. package/server/routers/api/restful-apis/v2/update-marketplace-shipping-order.ts +0 -104
  333. package/server/routers/api/restful-apis/v2/update-release-order-details.ts +0 -94
@@ -0,0 +1,106 @@
1
+ import { Between, getRepository } from 'typeorm'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+ import { GoodsReceivalNote } from '@things-factory/sales-base'
5
+
6
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
7
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
8
+
9
+ router.get(
10
+ '/v1/warehouse/get-goods-received-note-list',
11
+ businessMiddleware,
12
+ validationMiddleware,
13
+ loggingMiddleware,
14
+ async (context, next) => {
15
+ try {
16
+ // get contact points for that bizplace
17
+ // optional query parameter filter
18
+ let filter = { ...context.query }
19
+ const { limit, offset, fromDate, toDate } = filter
20
+ filter['bizplace'] = filter['bizplaceId']
21
+ delete filter['bizplaceId']
22
+ filter['createdAt'] = Between(fromDate, toDate)
23
+
24
+ delete filter['fromDate']
25
+ delete filter['toDate']
26
+ delete filter['limit']
27
+ delete filter['offset']
28
+ const [goodsReceivedNotes, totalCount]: GoodsReceivalNote[] = await getRepository(GoodsReceivalNote).findAndCount(
29
+ {
30
+ where: filter,
31
+ relations: [
32
+ 'bizplace',
33
+ 'domain',
34
+ 'arrivalNotice',
35
+ 'arrivalNotice.orderProducts',
36
+ 'arrivalNotice.orderProducts.product'
37
+ ],
38
+ skip: offset,
39
+ take: limit,
40
+ order: { createdAt: 'DESC' }
41
+ }
42
+ )
43
+ const limitedGoodsReceivedNotes: GoodsReceivalNote[] = goodsReceivedNotes.slice(offset, offset + limit)
44
+
45
+ // create and format data response
46
+ let data = []
47
+ for (const goodsReceivedNote of limitedGoodsReceivedNotes) {
48
+ let orderProducts = []
49
+ for (const orderProduct of goodsReceivedNote.arrivalNotice.orderProducts) {
50
+ const orderProductsDataPoint = {
51
+ product: {
52
+ sku: orderProduct.product.sku,
53
+ brandSku: orderProduct.product.brandSku,
54
+ name: orderProduct.product.name,
55
+ description: orderProduct.product.description
56
+ },
57
+ type: orderProduct.type,
58
+ batchId: orderProduct.batchId,
59
+ packingType: orderProduct.packingType,
60
+ packingSize: orderProduct.packingSize,
61
+ releaseQty: orderProduct.releaseQty,
62
+ releaseUomValue: orderProduct.releaseUomValue,
63
+ status: orderProduct.status
64
+ }
65
+ orderProducts.push(orderProductsDataPoint)
66
+ }
67
+ const datapoint = {
68
+ id: goodsReceivedNote.id,
69
+ grnNo: goodsReceivedNote.grnNo,
70
+ refNo: goodsReceivedNote.refNo,
71
+ customerStatus: goodsReceivedNote.customerStatus,
72
+ status: goodsReceivedNote.status,
73
+ bizplace: {
74
+ id: goodsReceivedNote.bizplace.id,
75
+ name: goodsReceivedNote.bizplace.name,
76
+ description: goodsReceivedNote.bizplace.description
77
+ },
78
+ domain: {
79
+ id: goodsReceivedNote.domain.id,
80
+ name: goodsReceivedNote.domain.name
81
+ },
82
+ arrivalNotice: {
83
+ id: goodsReceivedNote.arrivalNotice.id,
84
+ ganNo: goodsReceivedNote.arrivalNotice.ganNo,
85
+ status: goodsReceivedNote.arrivalNotice.status,
86
+ refNo: goodsReceivedNote.arrivalNotice.refNo,
87
+ refNo2: goodsReceivedNote.arrivalNotice.refNo2,
88
+ refNo3: goodsReceivedNote.arrivalNotice.refNo3,
89
+ orderProducts
90
+ }
91
+ }
92
+ data.push(datapoint)
93
+ }
94
+
95
+ context.body = {
96
+ data,
97
+ totalCount,
98
+ limit,
99
+ offset
100
+ }
101
+ } catch (e) {
102
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
103
+ else throwInternalServerError(context, e)
104
+ }
105
+ }
106
+ )
@@ -0,0 +1,74 @@
1
+ import { getRepository } from 'typeorm'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+ import { ArrivalNotice } from '@things-factory/sales-base'
5
+
6
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
7
+ import _ from 'lodash'
8
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
9
+
10
+ router.get('/v1/warehouse/get-inbound-order-details', businessMiddleware, validationMiddleware, loggingMiddleware, async (context, next) => {
11
+ try {
12
+ // get contact points for that bizplace
13
+ // optional query parameter filter
14
+ let filter = { ...context.query }
15
+ filter['bizplace'] = filter['bizplaceId']
16
+ delete filter['bizplaceId']
17
+ if (_.has(filter, 'ganNo')) {
18
+ filter['name'] = filter['ganNo']
19
+ delete filter['ganNo']
20
+ }
21
+
22
+ const arrivalNotice: ArrivalNotice = await getRepository(ArrivalNotice).findOne({
23
+ where: filter,
24
+ relations: ['orderProducts', 'orderProducts.product']
25
+ })
26
+
27
+ // create and format data response
28
+ let orderProducts = []
29
+ for (const orderProduct of arrivalNotice.orderProducts) {
30
+ const orderProductsDataPoint = {
31
+ product: {
32
+ sku: orderProduct.product.sku,
33
+ uom: orderProduct.product.uom,
34
+ uomValue: orderProduct.product.uomValue
35
+ },
36
+ batchId: orderProduct.batchId,
37
+ packingType: orderProduct.packingType,
38
+ packingSize: orderProduct.packingSize,
39
+ packQty: orderProduct.packQty,
40
+ palletQty: orderProduct.palletQty
41
+ }
42
+ orderProducts.push(orderProductsDataPoint)
43
+ }
44
+ const data = {
45
+ id: arrivalNotice.id,
46
+ ganNo: arrivalNotice.name,
47
+ refNo: arrivalNotice.refNo,
48
+ refNo2: arrivalNotice.refNo2,
49
+ refNo3: arrivalNotice.refNo3,
50
+ etaDate: arrivalNotice.etaDate,
51
+ ownTransport: arrivalNotice.ownTransport,
52
+ importCargo: arrivalNotice.importCargo,
53
+ container: arrivalNotice.container,
54
+ truckNo: arrivalNotice.truckNo,
55
+ deliveryOrderNo: arrivalNotice.deliveryOrderNo,
56
+ containerNo: arrivalNotice.containerNo,
57
+ containerSize: arrivalNotice.containerSize,
58
+ orderProducts,
59
+ supplier: {
60
+ name: arrivalNotice?.supplier?.name || null,
61
+ companyName: arrivalNotice?.supplier?.companyName || null,
62
+ email: arrivalNotice?.supplier?.email || null,
63
+ accountNo: arrivalNotice?.supplier?.accountNo || null
64
+ }
65
+ }
66
+
67
+ context.body = {
68
+ data
69
+ }
70
+ } catch (e) {
71
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
72
+ else throwInternalServerError(context, e)
73
+ }
74
+ })
@@ -0,0 +1,96 @@
1
+ import { Between, getRepository } from 'typeorm'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+ import { ArrivalNotice } from '@things-factory/sales-base'
5
+
6
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
7
+ import _ from 'lodash'
8
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
9
+
10
+ router.get(
11
+ '/v1/warehouse/get-inbound-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 { fromDate, toDate, offset, limit } = filter
21
+ filter['bizplace'] = filter['bizplaceId']
22
+ delete filter['bizplaceId']
23
+ if (_.has(filter, 'ganNo')) {
24
+ filter['name'] = filter['ganNo']
25
+ delete filter['ganNo']
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 [arrivalNotices, totalCount]: ArrivalNotice[] = await getRepository(ArrivalNotice).findAndCount({
34
+ where: filter,
35
+ relations: ['orderProducts', 'orderProducts.product'],
36
+ skip: offset,
37
+ take: limit,
38
+ order: { createdAt: 'DESC' }
39
+ })
40
+
41
+ // create and format data response
42
+ let data = []
43
+ for (const arrivalNotice of arrivalNotices) {
44
+ let orderProducts = []
45
+ for (const orderProduct of arrivalNotice.orderProducts) {
46
+ const orderProductsDataPoint = {
47
+ product: {
48
+ sku: orderProduct.product.sku,
49
+ uom: orderProduct.product.uom,
50
+ uomValue: orderProduct.product.uomValue
51
+ },
52
+ batchId: orderProduct.batchId,
53
+ packingType: orderProduct.packingType,
54
+ packingSize: orderProduct.packingSize,
55
+ packQty: orderProduct.packQty,
56
+ palletQty: orderProduct.palletQty
57
+ }
58
+ orderProducts.push(orderProductsDataPoint)
59
+ }
60
+ const datapoint = {
61
+ id: arrivalNotice.id,
62
+ ganNo: arrivalNotice.ganNo,
63
+ refNo: arrivalNotice.refNo,
64
+ refNo2: arrivalNotice.refNo2,
65
+ refNo3: arrivalNotice.refNo3,
66
+ etaDate: arrivalNotice.etaDate,
67
+ ownTransport: arrivalNotice.ownTransport,
68
+ importCargo: arrivalNotice.importCargo,
69
+ container: arrivalNotice.container,
70
+ truckNo: arrivalNotice.truckNo,
71
+ deliveryOrderNo: arrivalNotice.deliveryOrderNo,
72
+ containerNo: arrivalNotice.containerNo,
73
+ containerSize: arrivalNotice.containerSize,
74
+ orderProducts,
75
+ supplier: {
76
+ name: arrivalNotice?.supplier?.name || null,
77
+ companyName: arrivalNotice?.supplier?.companyName || null,
78
+ email: arrivalNotice?.supplier?.email || null,
79
+ accountNo: arrivalNotice?.supplier?.accountNo || null
80
+ }
81
+ }
82
+ data.push(datapoint)
83
+ }
84
+
85
+ context.body = {
86
+ data,
87
+ totalCount,
88
+ limit,
89
+ offset
90
+ }
91
+ } catch (e) {
92
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
93
+ else throwInternalServerError(context, e)
94
+ }
95
+ }
96
+ )
@@ -0,0 +1,293 @@
1
+ import { EntityManager, getConnection } from 'typeorm'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+ import { Bizplace, getCompanyBizplace } from '@things-factory/biz-base'
5
+ import { Domain } from '@things-factory/shell'
6
+ import { LOCATION_TYPE } from '@things-factory/warehouse-base'
7
+
8
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
9
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
10
+
11
+ router.get(
12
+ '/v1/warehouse/get-inventory-product-group-list',
13
+ businessMiddleware,
14
+ validationMiddleware,
15
+ loggingMiddleware,
16
+ async (context, next) => {
17
+ try {
18
+ // optional query parameter filter
19
+ let filter = { ...context.query }
20
+ const { limit, offset } = filter
21
+
22
+ delete filter['limit']
23
+ delete filter['offset']
24
+
25
+ let filters = []
26
+ if (filter.hasOwnProperty('sku')) {
27
+ filters.push({ name: 'productSKU', operator: 'eq', value: filter['sku'] })
28
+ }
29
+ if (filter.hasOwnProperty('batchId')) {
30
+ filters.push({ name: 'batchId', operator: 'eq', value: filter['batchId'] })
31
+ }
32
+
33
+ await getConnection().transaction(async (tx: EntityManager) => {
34
+ let customerBizplaceId = filter.bizplaceId
35
+ const customerCompanyBizplace: Bizplace = await getCompanyBizplace(null, null, customerBizplaceId, tx)
36
+ const customerBizplace: Bizplace = await tx.getRepository(Bizplace).findOne({
37
+ where: { id: customerBizplaceId },
38
+ relations: ['company', 'company.domain']
39
+ })
40
+
41
+ const bizplaces: Bizplace[] = [customerBizplace, customerCompanyBizplace]
42
+ const params: any = { filters, pagination: { page: offset, limit: limit } }
43
+
44
+ const { items, total } = await bizplaceInventoryProductGroup(bizplaces, params, context, tx)
45
+
46
+ let data = items.map(item => {
47
+ return {
48
+ product: {
49
+ sku: item.productSKU,
50
+ name: item.productName,
51
+ description: item.productDescription,
52
+ type: item.groupType
53
+ },
54
+ batchId: item.batchId,
55
+ packingType: item.packingType,
56
+ packingSize: item.packingSize,
57
+ qty: item.remainQty,
58
+ uomValue: item.remainUomValue,
59
+ uom: item.uom
60
+ }
61
+ })
62
+
63
+ context.body = {
64
+ data,
65
+ totalCount: total,
66
+ limit,
67
+ offset
68
+ }
69
+ })
70
+ } catch (e) {
71
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
72
+ else throwInternalServerError(context, e)
73
+ }
74
+ }
75
+ )
76
+
77
+ async function bizplaceInventoryProductGroup(bizplaces: Bizplace[], params, context: any, trxMgr: EntityManager) {
78
+ try {
79
+ let filters = params.filters
80
+ const { domain }: { domain: Domain } = context.state
81
+
82
+ const { bizplaceIds, productWhereClause, bundleWhereClause, whereClause, batchBundle } = await getConditions(
83
+ bizplaces,
84
+ filters
85
+ )
86
+
87
+ const _groupType = filters.find(res => res.name == 'groupType')
88
+
89
+ let queryStrings = `
90
+ CREATE TEMP TABLE temp_inventory_product_group AS (
91
+ SELECT * FROM (
92
+ WITH oi as (
93
+ SELECT
94
+ SUM(oi.release_qty) AS release_qty,
95
+ SUM(oi.release_uom_value) AS release_uom_value,
96
+ oi.batch_id,
97
+ oi.batch_id_ref,
98
+ oi.product_id,
99
+ p.name AS product_name,
100
+ oi.packing_type,
101
+ oi.packing_size,
102
+ oi.uom
103
+ FROM
104
+ order_inventories oi
105
+ LEFT JOIN
106
+ products p
107
+ ON
108
+ oi.product_id = p.id
109
+ WHERE
110
+ (oi.status = 'PENDING' or oi.status = 'PENDING_RECEIVE' or oi.status = 'PENDING_WORKSHEET' or oi.status = 'PENDING_SPLIT')
111
+ AND oi.batch_id NOTNULL
112
+ AND oi.product_id NOTNULL
113
+ AND oi.packing_type NOTNULL
114
+ AND oi.packing_size NOTNULL
115
+ AND oi.inventory_id IS NULL
116
+ GROUP BY
117
+ oi.batch_id,
118
+ oi.batch_id_ref,
119
+ oi.product_id,
120
+ oi.packing_type,
121
+ oi.packing_size,
122
+ oi.uom,
123
+ p.name
124
+ )
125
+ SELECT
126
+ i.batch_id AS "batchId",
127
+ i.batch_id_ref AS "batchIdRef",
128
+ i.packing_type AS "packingType",
129
+ i.packing_size AS "packingSize",
130
+ i.uom AS "uom",
131
+ coalesce(p.sku, '') AS "productSKU",
132
+ coalesce(p.name, '') AS "productName",
133
+ coalesce(p.description, '') AS "productDescription",
134
+ p.id AS "productId",
135
+ SUM(COALESCE(i.qty, 0)) - SUM(COALESCE(i.locked_qty, 0)) - MAX(COALESCE(oi.release_qty, 0)) - MAX(COALESCE(bp.bundle_product_release_qty, 0)) AS "remainQty",
136
+ SUM(COALESCE(i.uom_value, 0)) - SUM(COALESCE(i.locked_uom_value, 0)) - MAX(COALESCE(oi.release_uom_value, 0)) - MAX(COALESCE(bp.bundle_product_release_uom_value, 0)) AS "remainUomValue",
137
+ concat(SUM(COALESCE(i.uom_value, 0)) - SUM(COALESCE(i.locked_uom_value, 0)) - MAX(COALESCE(oi.release_uom_value, 0)) - MAX(COALESCE(bp.bundle_product_release_uom_value, 0)), ' ', i.uom) AS "remainUomValueWithUom",
138
+ 'SINGLE' AS "groupType"
139
+ FROM
140
+ inventories i
141
+ LEFT JOIN products p ON i.product_id = p.id
142
+ LEFT JOIN oi ON i.batch_id = oi.batch_id AND p.name = oi.product_name AND i.packing_type = oi.packing_type AND i.packing_size = oi.packing_size AND i.uom = oi.uom
143
+ LEFT JOIN locations l2 ON i.location_id = l2.id AND i.domain_id = l2.domain_id
144
+ LEFT JOIN (
145
+ SELECT pbs.product_id, SUM(pbs.bundle_qty * src.release_qty) AS bundle_product_release_qty, SUM(pbs.bundle_qty * src.release_uom_value) AS bundle_product_release_uom_value
146
+ FROM product_bundle_settings pbs
147
+ INNER JOIN json_populate_recordset(NULL::order_inventories,'${batchBundle}') src ON src.product_id = pbs.product_bundle_id
148
+ GROUP BY pbs.product_id
149
+ ) bp on i.product_id = bp.product_id
150
+ WHERE i.domain_id = $1
151
+ AND l2.type NOT IN ('${LOCATION_TYPE.QUARANTINE}', '${LOCATION_TYPE.RESERVE}')
152
+ ${productWhereClause}
153
+ GROUP BY
154
+ i.batch_id,
155
+ i.batch_id_ref,
156
+ p.id,
157
+ i.packing_type,
158
+ i.packing_size,
159
+ i.uom
160
+ UNION
161
+ SELECT 'BUNDLE' AS "batchId", null as "batchIdRef", packing_type, packing_size,'UNIT' AS "uom", sku AS "productSKU", name AS "productName", description AS "productDescription", id AS "productId",
162
+ MIN(FLOOR(pbs."availableQty")) AS "remainQty",
163
+ MIN(FLOOR(pbs."availableUomValue")) AS "remainUomValue",
164
+ CONCAT(MIN(FLOOR(pbs."availableUomValue")),' UNIT') AS "remainUomValueWithUom",
165
+ 'BUNDLE' AS "groupType"
166
+ FROM product_bundles pb
167
+ INNER JOIN (
168
+ SELECT pbs.product_id, pbs.product_bundle_id, min(pbs.bundle_qty),
169
+ (SUM(COALESCE(i2.qty, 0)) - SUM(COALESCE(i2.locked_qty, 0)) - MAX(COALESCE(oi.release_qty, 0))) / min(pbs.bundle_qty) AS "availableQty",
170
+ (SUM(COALESCE(i2.uom_value, 0)) - SUM(COALESCE(i2.locked_uom_value, 0)) - MAX(COALESCE(oi.release_uom_value, 0))) / min(pbs.bundle_qty) AS "availableUomValue"
171
+ FROM product_bundle_settings pbs
172
+ LEFT JOIN inventories i2 ON i2.product_id = pbs.product_id AND i2.domain_id = $1
173
+ AND i2.bizplace_id IN (${bizplaceIds})
174
+ AND i2.status = 'STORED'
175
+ LEFT JOIN oi ON oi.product_id = i2.product_id
176
+ GROUP BY pbs.product_id, pbs.product_bundle_id
177
+ ) pbs ON pbs.product_bundle_id = pb.id
178
+ ${bundleWhereClause}
179
+ GROUP BY pb.packing_type, pb.packing_size, pb.name, pb.sku, pb.id
180
+ )
181
+ AS inv_prod_grp
182
+ ${whereClause}
183
+ )
184
+ `
185
+
186
+ let filterGroupTypeQuery
187
+
188
+ if (_groupType) {
189
+ if (_groupType.value === 'SINGLE') {
190
+ filterGroupTypeQuery = `where "groupType"= 'SINGLE' `
191
+ } else {
192
+ filterGroupTypeQuery = `where "groupType"= 'BUNDLE' `
193
+ }
194
+ }
195
+
196
+ await trxMgr.query(queryStrings, [domain.id])
197
+
198
+ const [{ total }]: any = await trxMgr.query(
199
+ `select count(*) as total from temp_inventory_product_group ${filterGroupTypeQuery ? filterGroupTypeQuery : ''}`
200
+ )
201
+ let items: any[] = []
202
+
203
+ if (params?.pagination) {
204
+ items = await trxMgr.query(
205
+ `select * from temp_inventory_product_group ${
206
+ filterGroupTypeQuery ? filterGroupTypeQuery : ''
207
+ } OFFSET $1 LIMIT $2`,
208
+ [(params.pagination.page - 1) * params.pagination.limit, params.pagination.limit]
209
+ )
210
+ } else {
211
+ items = await trxMgr.query(
212
+ `select * from temp_inventory_product_group ${filterGroupTypeQuery ? filterGroupTypeQuery : ''}
213
+ }`
214
+ )
215
+ }
216
+
217
+ await trxMgr.query(`drop table temp_inventory_product_group`)
218
+
219
+ return { items, total }
220
+ } catch (error) {
221
+ throw error
222
+ }
223
+ }
224
+
225
+ async function getConditions(
226
+ bizplaces: Bizplace[],
227
+ filters: [{ name: string; operator: string; value: any }],
228
+ hasRemainingQty: Boolean = true
229
+ ) {
230
+ let bizplaceIds = bizplaces.map((bizplace: Bizplace) => `'${bizplace.id}'`).join()
231
+
232
+ let productWhereClause = `
233
+ AND i.status = 'STORED'
234
+ AND i.bizplace_id IN (${bizplaceIds})
235
+ `
236
+
237
+ let bundleWhereClause = `
238
+ WHERE pb.status = 'ACTIVATED'
239
+ `
240
+
241
+ let whereClause = hasRemainingQty ? ` WHERE "remainQty" > 0` : ` WHERE 1 = 1`
242
+
243
+ let productDetailWhereClause = ``
244
+
245
+ let batchBundle: string
246
+ if (filters?.length) {
247
+ await Promise.all(
248
+ filters.map(async (filter: { name: string; operator: string; value: any }) => {
249
+ const name = filter.name
250
+ const operator = filter.operator.toLowerCase()
251
+ let value = filter.value
252
+
253
+ switch (name) {
254
+ case 'batchId':
255
+ whereClause += `AND LOWER("batchId") LIKE '${value.toLowerCase()}'`
256
+ break
257
+
258
+ case 'productSKU':
259
+ whereClause += `AND LOWER("productSKU") LIKE '${value.toLowerCase()}'`
260
+
261
+ case 'batch_bundle':
262
+ bundleWhereClause += `
263
+ ${bundleWhereClause == '' ? 'WHERE' : 'AND'} pb.id ${operator === 'in' ? 'IN' : 'NOT IN'} (${value
264
+ .map((v: { productId: string }) => `('${v.productId}')`)
265
+ .join()})
266
+ `
267
+ break
268
+ }
269
+ })
270
+ )
271
+
272
+ batchBundle = JSON.stringify(
273
+ filters
274
+ .find(filter => filter.name === 'batch_bundle')
275
+ ?.value.map(itm => {
276
+ return {
277
+ product_id: itm.productId,
278
+ release_qty: itm?.releaseQty || 0,
279
+ release_uom_value: itm?.releaseUomValue || 0
280
+ }
281
+ }) || []
282
+ )
283
+ }
284
+
285
+ return {
286
+ bizplaceIds,
287
+ productWhereClause,
288
+ bundleWhereClause,
289
+ whereClause,
290
+ batchBundle,
291
+ productDetailWhereClause
292
+ }
293
+ }
@@ -0,0 +1,96 @@
1
+ import { Between, getRepository } from 'typeorm'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+ import { ArrivalNotice } from '@things-factory/sales-base'
5
+
6
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
7
+ import _ from 'lodash'
8
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
9
+
10
+ router.get(
11
+ '/v1/warehouse/get-onhand-inventory-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, 'ganNo')) {
24
+ filter['name'] = filter['ganNo']
25
+ delete filter['ganNo']
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 [arrivalNotices, totalCount]: ArrivalNotice[] = await getRepository(ArrivalNotice).findAndCount({
34
+ where: filter,
35
+ relations: ['orderProducts', 'orderProducts.product'],
36
+ skip: offset,
37
+ take: limit,
38
+ order: { createdAt: 'DESC' }
39
+ })
40
+
41
+ // create and format data response
42
+ let data = []
43
+ for (const arrivalNotice of arrivalNotices) {
44
+ let orderProducts = []
45
+ for (const orderProduct of arrivalNotice.orderProducts) {
46
+ const orderProductsDataPoint = {
47
+ product: {
48
+ sku: orderProduct.product.sku,
49
+ uom: orderProduct.product.uom,
50
+ uomValue: orderProduct.product.uomValue
51
+ },
52
+ batchId: orderProduct.batchId,
53
+ packingType: orderProduct.packingType,
54
+ packingSize: orderProduct.packingSize,
55
+ packQty: orderProduct.packQty,
56
+ palletQty: orderProduct.palletQty
57
+ }
58
+ orderProducts.push(orderProductsDataPoint)
59
+ }
60
+ const datapoint = {
61
+ id: arrivalNotice.id,
62
+ ganNo: arrivalNotice.ganNo,
63
+ refNo: arrivalNotice.refNo,
64
+ refNo2: arrivalNotice.refNo2,
65
+ refNo3: arrivalNotice.refNo3,
66
+ etaDate: arrivalNotice.etaDate,
67
+ ownTransport: arrivalNotice.ownTransport,
68
+ importCargo: arrivalNotice.importCargo,
69
+ container: arrivalNotice.container,
70
+ truckNo: arrivalNotice.truckNo,
71
+ deliveryOrderNo: arrivalNotice.deliveryOrderNo,
72
+ containerNo: arrivalNotice.containerNo,
73
+ containerSize: arrivalNotice.containerSize,
74
+ orderProducts,
75
+ supplier: {
76
+ name: arrivalNotice?.supplier?.name || null,
77
+ companyName: arrivalNotice?.supplier?.companyName || null,
78
+ email: arrivalNotice?.supplier?.email || null,
79
+ accountNo: arrivalNotice?.supplier?.accountNo || null
80
+ }
81
+ }
82
+ data.push(datapoint)
83
+ }
84
+
85
+ context.body = {
86
+ data,
87
+ totalCount,
88
+ limit,
89
+ offset
90
+ }
91
+ } catch (e) {
92
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
93
+ else throwInternalServerError(context, e)
94
+ }
95
+ }
96
+ )