@things-factory/operato-hub 4.3.81 → 4.3.82

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 (336) 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 +88 -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 +15 -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 +61 -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/company/update-marketplace-shipping-order.js +44 -0
  37. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.js.map +1 -0
  38. package/dist-server/routers/api/restful-apis/v1/index.js +2 -31
  39. package/dist-server/routers/api/restful-apis/v1/index.js.map +1 -1
  40. package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js +29 -0
  41. package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js.map +1 -0
  42. package/dist-server/routers/api/restful-apis/v1/middlewares/index.js +40 -0
  43. package/dist-server/routers/api/restful-apis/v1/middlewares/index.js.map +1 -0
  44. package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js +23 -0
  45. package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js.map +1 -0
  46. package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js +32 -0
  47. package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js.map +1 -0
  48. package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js +71 -0
  49. package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js.map +1 -0
  50. package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js +31 -0
  51. package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js.map +1 -0
  52. package/dist-server/routers/api/restful-apis/v1/utils/error-util.js +71 -0
  53. package/dist-server/routers/api/restful-apis/v1/utils/error-util.js.map +1 -0
  54. package/dist-server/routers/api/restful-apis/v1/utils/params.js +360 -0
  55. package/dist-server/routers/api/restful-apis/v1/utils/params.js.map +1 -0
  56. package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js +57 -0
  57. package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js.map +1 -0
  58. package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js +277 -0
  59. package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js.map +1 -0
  60. package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js +810 -0
  61. package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js.map +1 -0
  62. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js +197 -0
  63. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js.map +1 -0
  64. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-release-order.js +182 -0
  65. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-release-order.js.map +1 -0
  66. package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js +138 -0
  67. package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js.map +1 -0
  68. package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js +98 -0
  69. package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js.map +1 -0
  70. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js +78 -0
  71. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js.map +1 -0
  72. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js +94 -0
  73. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js.map +1 -0
  74. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js +243 -0
  75. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js.map +1 -0
  76. package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js +94 -0
  77. package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js.map +1 -0
  78. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js +94 -0
  79. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js.map +1 -0
  80. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js +110 -0
  81. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js.map +1 -0
  82. package/dist-server/routers/api/restful-apis/v1/warehouse/index.js +15 -0
  83. package/dist-server/routers/api/restful-apis/v1/warehouse/index.js.map +1 -0
  84. package/dist-server/routers/api/restful-apis/v1/warehouse/update-release-order-details.js +62 -0
  85. package/dist-server/routers/api/restful-apis/v1/warehouse/update-release-order-details.js.map +1 -0
  86. package/openapi/v1/Inventory.yaml +261 -0
  87. package/openapi/v1/authetication.yaml +108 -0
  88. package/openapi/v1/bizplace.yaml +72 -0
  89. package/openapi/v1/contact-point.yaml +253 -90
  90. package/openapi/v1/inbound.yaml +646 -316
  91. package/openapi/v1/marketplace.yaml +834 -0
  92. package/openapi/v1/outbound.yaml +1303 -580
  93. package/openapi/v1/partner.yaml +80 -0
  94. package/openapi/v1/product.yaml +514 -194
  95. package/openapi/v1.yaml +39 -7
  96. package/package.json +54 -54
  97. package/server/middlewares/business-middleware.ts +5 -1
  98. package/server/middlewares/store-middleware.ts +1 -0
  99. package/server/routers/api/index.ts +0 -1
  100. package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +3 -2
  101. package/server/routers/api/restful-apis/unstable/add-inbound-order.ts +5 -2
  102. package/server/routers/api/restful-apis/unstable/add-release-order.ts +4 -2
  103. package/server/routers/api/restful-apis/v1/company/add-contact-points.ts +84 -0
  104. package/server/routers/api/restful-apis/v1/company/add-marketplace-order.ts +223 -0
  105. package/server/routers/api/restful-apis/v1/company/add-product.ts +68 -0
  106. package/server/routers/api/restful-apis/v1/company/cancel-marketplace-order.ts +94 -0
  107. package/server/routers/api/restful-apis/v1/company/get-bizplace-list.ts +55 -0
  108. package/server/routers/api/restful-apis/v1/company/get-contact-point-list.ts +67 -0
  109. package/server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.ts +115 -0
  110. package/server/routers/api/restful-apis/v1/company/get-marketplace-store-list.ts +57 -0
  111. package/server/routers/api/restful-apis/v1/company/get-partner-list.ts +95 -0
  112. package/server/routers/api/restful-apis/v1/company/get-product-list.ts +103 -0
  113. package/server/routers/api/restful-apis/v1/company/index.ts +12 -0
  114. package/server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.ts +66 -0
  115. package/server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.ts +55 -0
  116. package/server/routers/api/restful-apis/v1/index.ts +2 -31
  117. package/server/routers/api/restful-apis/v1/middlewares/business-middleware.ts +31 -0
  118. package/server/routers/api/restful-apis/v1/middlewares/index.ts +26 -0
  119. package/server/routers/api/restful-apis/v1/middlewares/logging-middleware.ts +24 -0
  120. package/server/routers/api/restful-apis/v1/middlewares/store-middleware.ts +34 -0
  121. package/server/routers/api/restful-apis/v1/middlewares/validation-middleware.ts +70 -0
  122. package/server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.ts +31 -0
  123. package/server/routers/api/restful-apis/v1/utils/error-util.ts +70 -0
  124. package/server/routers/api/restful-apis/v1/utils/params.ts +360 -0
  125. package/server/routers/api/restful-apis/v1/utils/validate-util.ts +49 -0
  126. package/server/routers/api/restful-apis/v1/warehouse/add-inbound-order.ts +361 -0
  127. package/server/routers/api/restful-apis/v1/warehouse/add-release-order.ts +1000 -0
  128. package/server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.ts +261 -0
  129. package/server/routers/api/restful-apis/v1/warehouse/cancel-release-order.ts +252 -0
  130. package/server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.ts +141 -0
  131. package/server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.ts +106 -0
  132. package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.ts +74 -0
  133. package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.ts +96 -0
  134. package/server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.ts +293 -0
  135. package/server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.ts +96 -0
  136. package/server/routers/api/restful-apis/v1/warehouse/get-release-order-details.ts +97 -0
  137. package/server/routers/api/restful-apis/v1/warehouse/get-release-order-list.ts +113 -0
  138. package/server/routers/api/restful-apis/v1/warehouse/index.ts +12 -0
  139. package/server/routers/api/restful-apis/v1/warehouse/update-release-order-details.ts +86 -0
  140. package/dist-server/routers/api/restful-apis/v1/add-contact-point.js +0 -64
  141. package/dist-server/routers/api/restful-apis/v1/add-contact-point.js.map +0 -1
  142. package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js +0 -171
  143. package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js.map +0 -1
  144. package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js +0 -213
  145. package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js.map +0 -1
  146. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js +0 -144
  147. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js.map +0 -1
  148. package/dist-server/routers/api/restful-apis/v1/add-products.js +0 -88
  149. package/dist-server/routers/api/restful-apis/v1/add-products.js.map +0 -1
  150. package/dist-server/routers/api/restful-apis/v1/add-release-order.js +0 -774
  151. package/dist-server/routers/api/restful-apis/v1/add-release-order.js.map +0 -1
  152. package/dist-server/routers/api/restful-apis/v1/bizplace.js +0 -45
  153. package/dist-server/routers/api/restful-apis/v1/bizplace.js.map +0 -1
  154. package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js +0 -63
  155. package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js.map +0 -1
  156. package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js +0 -66
  157. package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js.map +0 -1
  158. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js +0 -103
  159. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js.map +0 -1
  160. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js +0 -47
  161. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js.map +0 -1
  162. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js +0 -124
  163. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js.map +0 -1
  164. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +0 -164
  165. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +0 -1
  166. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +0 -120
  167. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +0 -1
  168. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js +0 -115
  169. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js.map +0 -1
  170. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js +0 -125
  171. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js.map +0 -1
  172. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js +0 -88
  173. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js.map +0 -1
  174. package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js +0 -101
  175. package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js.map +0 -1
  176. package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js +0 -146
  177. package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js.map +0 -1
  178. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js +0 -79
  179. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js.map +0 -1
  180. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +0 -110
  181. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +0 -1
  182. package/dist-server/routers/api/restful-apis/v1/get-partners.js +0 -23
  183. package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +0 -1
  184. package/dist-server/routers/api/restful-apis/v1/get-products.js +0 -210
  185. package/dist-server/routers/api/restful-apis/v1/get-products.js.map +0 -1
  186. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js +0 -122
  187. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js.map +0 -1
  188. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js +0 -191
  189. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js.map +0 -1
  190. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +0 -20
  191. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +0 -1
  192. package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js +0 -35
  193. package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js.map +0 -1
  194. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js +0 -45
  195. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js.map +0 -1
  196. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js +0 -45
  197. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js.map +0 -1
  198. package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js +0 -93
  199. package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js.map +0 -1
  200. package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js +0 -85
  201. package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js.map +0 -1
  202. package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js +0 -82
  203. package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js.map +0 -1
  204. package/dist-server/routers/api/restful-apis/v2/add-contact-point.js +0 -64
  205. package/dist-server/routers/api/restful-apis/v2/add-contact-point.js.map +0 -1
  206. package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js +0 -171
  207. package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js.map +0 -1
  208. package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js +0 -213
  209. package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js.map +0 -1
  210. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js +0 -144
  211. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js.map +0 -1
  212. package/dist-server/routers/api/restful-apis/v2/add-products.js +0 -88
  213. package/dist-server/routers/api/restful-apis/v2/add-products.js.map +0 -1
  214. package/dist-server/routers/api/restful-apis/v2/add-release-order.js +0 -774
  215. package/dist-server/routers/api/restful-apis/v2/add-release-order.js.map +0 -1
  216. package/dist-server/routers/api/restful-apis/v2/bizplace.js +0 -45
  217. package/dist-server/routers/api/restful-apis/v2/bizplace.js.map +0 -1
  218. package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js +0 -63
  219. package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js.map +0 -1
  220. package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js +0 -66
  221. package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js.map +0 -1
  222. package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js +0 -103
  223. package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js.map +0 -1
  224. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js +0 -47
  225. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js.map +0 -1
  226. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js +0 -124
  227. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js.map +0 -1
  228. package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js +0 -164
  229. package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js.map +0 -1
  230. package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js +0 -120
  231. package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js.map +0 -1
  232. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js +0 -115
  233. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js.map +0 -1
  234. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js +0 -125
  235. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js.map +0 -1
  236. package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js +0 -88
  237. package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js.map +0 -1
  238. package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js +0 -101
  239. package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js.map +0 -1
  240. package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js +0 -146
  241. package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js.map +0 -1
  242. package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js +0 -79
  243. package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js.map +0 -1
  244. package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js +0 -110
  245. package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js.map +0 -1
  246. package/dist-server/routers/api/restful-apis/v2/get-partners.js +0 -23
  247. package/dist-server/routers/api/restful-apis/v2/get-partners.js.map +0 -1
  248. package/dist-server/routers/api/restful-apis/v2/get-products.js +0 -210
  249. package/dist-server/routers/api/restful-apis/v2/get-products.js.map +0 -1
  250. package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js +0 -122
  251. package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js.map +0 -1
  252. package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js +0 -191
  253. package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js.map +0 -1
  254. package/dist-server/routers/api/restful-apis/v2/get-warehouses.js +0 -20
  255. package/dist-server/routers/api/restful-apis/v2/get-warehouses.js.map +0 -1
  256. package/dist-server/routers/api/restful-apis/v2/index.js +0 -34
  257. package/dist-server/routers/api/restful-apis/v2/index.js.map +0 -1
  258. package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js +0 -35
  259. package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js.map +0 -1
  260. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js +0 -45
  261. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js.map +0 -1
  262. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js +0 -45
  263. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js.map +0 -1
  264. package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js +0 -93
  265. package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js.map +0 -1
  266. package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js +0 -85
  267. package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js.map +0 -1
  268. package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js +0 -82
  269. package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js.map +0 -1
  270. package/openapi/v1/ecommerce.yaml +0 -549
  271. package/openapi/v1/inventory.yaml +0 -231
  272. package/server/routers/api/restful-apis/v1/add-contact-point.ts +0 -77
  273. package/server/routers/api/restful-apis/v1/add-draft-release-order.ts +0 -196
  274. package/server/routers/api/restful-apis/v1/add-inbound-order.ts +0 -242
  275. package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +0 -172
  276. package/server/routers/api/restful-apis/v1/add-products.ts +0 -112
  277. package/server/routers/api/restful-apis/v1/add-release-order.ts +0 -967
  278. package/server/routers/api/restful-apis/v1/bizplace.ts +0 -45
  279. package/server/routers/api/restful-apis/v1/cancel-marketplace-order.ts +0 -81
  280. package/server/routers/api/restful-apis/v1/cancel-release-order.ts +0 -91
  281. package/server/routers/api/restful-apis/v1/get-contact-point-list.ts +0 -110
  282. package/server/routers/api/restful-apis/v1/get-delivery-order-detail.ts +0 -46
  283. package/server/routers/api/restful-apis/v1/get-delivery-order-list.ts +0 -121
  284. package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +0 -178
  285. package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +0 -134
  286. package/server/routers/api/restful-apis/v1/get-inbound-order-detail.ts +0 -128
  287. package/server/routers/api/restful-apis/v1/get-inbound-order-list.ts +0 -126
  288. package/server/routers/api/restful-apis/v1/get-inventory-overall-product-group.ts +0 -99
  289. package/server/routers/api/restful-apis/v1/get-inventory-product-group.ts +0 -112
  290. package/server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.ts +0 -156
  291. package/server/routers/api/restful-apis/v1/get-marketplace-store-list.ts +0 -81
  292. package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +0 -125
  293. package/server/routers/api/restful-apis/v1/get-partners.ts +0 -24
  294. package/server/routers/api/restful-apis/v1/get-products.ts +0 -216
  295. package/server/routers/api/restful-apis/v1/get-release-order-detail.ts +0 -134
  296. package/server/routers/api/restful-apis/v1/get-release-order-list.ts +0 -198
  297. package/server/routers/api/restful-apis/v1/get-warehouses.ts +0 -18
  298. package/server/routers/api/restful-apis/v1/reject-inbound-order.ts +0 -46
  299. package/server/routers/api/restful-apis/v1/set-marketplace-order-delivered.ts +0 -60
  300. package/server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.ts +0 -60
  301. package/server/routers/api/restful-apis/v1/update-marketplace-order.ts +0 -111
  302. package/server/routers/api/restful-apis/v1/update-marketplace-shipping-order.ts +0 -104
  303. package/server/routers/api/restful-apis/v1/update-release-order-details.ts +0 -94
  304. package/server/routers/api/restful-apis/v2/add-contact-point.ts +0 -77
  305. package/server/routers/api/restful-apis/v2/add-draft-release-order.ts +0 -196
  306. package/server/routers/api/restful-apis/v2/add-inbound-order.ts +0 -242
  307. package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +0 -172
  308. package/server/routers/api/restful-apis/v2/add-products.ts +0 -112
  309. package/server/routers/api/restful-apis/v2/add-release-order.ts +0 -967
  310. package/server/routers/api/restful-apis/v2/bizplace.ts +0 -45
  311. package/server/routers/api/restful-apis/v2/cancel-marketplace-order.ts +0 -81
  312. package/server/routers/api/restful-apis/v2/cancel-release-order.ts +0 -91
  313. package/server/routers/api/restful-apis/v2/get-contact-point-list.ts +0 -110
  314. package/server/routers/api/restful-apis/v2/get-delivery-order-detail.ts +0 -46
  315. package/server/routers/api/restful-apis/v2/get-delivery-order-list.ts +0 -121
  316. package/server/routers/api/restful-apis/v2/get-delivery-orders.ts +0 -178
  317. package/server/routers/api/restful-apis/v2/get-goods-received-notes.ts +0 -134
  318. package/server/routers/api/restful-apis/v2/get-inbound-order-detail.ts +0 -128
  319. package/server/routers/api/restful-apis/v2/get-inbound-order-list.ts +0 -126
  320. package/server/routers/api/restful-apis/v2/get-inventory-overall-product-group.ts +0 -99
  321. package/server/routers/api/restful-apis/v2/get-inventory-product-group.ts +0 -112
  322. package/server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.ts +0 -156
  323. package/server/routers/api/restful-apis/v2/get-marketplace-store-list.ts +0 -81
  324. package/server/routers/api/restful-apis/v2/get-onhand-inventories.ts +0 -125
  325. package/server/routers/api/restful-apis/v2/get-partners.ts +0 -24
  326. package/server/routers/api/restful-apis/v2/get-products.ts +0 -216
  327. package/server/routers/api/restful-apis/v2/get-release-order-detail.ts +0 -134
  328. package/server/routers/api/restful-apis/v2/get-release-order-list.ts +0 -198
  329. package/server/routers/api/restful-apis/v2/get-warehouses.ts +0 -18
  330. package/server/routers/api/restful-apis/v2/index.ts +0 -31
  331. package/server/routers/api/restful-apis/v2/reject-inbound-order.ts +0 -46
  332. package/server/routers/api/restful-apis/v2/set-marketplace-order-delivered.ts +0 -60
  333. package/server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.ts +0 -60
  334. package/server/routers/api/restful-apis/v2/update-marketplace-order.ts +0 -111
  335. package/server/routers/api/restful-apis/v2/update-marketplace-shipping-order.ts +0 -104
  336. 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
+ )