@things-factory/warehouse-base 4.3.671 → 4.3.673

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 (191) hide show
  1. package/dist-server/constants/adjustment-code.js +13 -0
  2. package/dist-server/constants/adjustment-code.js.map +1 -0
  3. package/dist-server/constants/index.js +23 -0
  4. package/dist-server/constants/index.js.map +1 -0
  5. package/dist-server/constants/inventory.js +74 -0
  6. package/dist-server/constants/inventory.js.map +1 -0
  7. package/dist-server/constants/location.js +19 -0
  8. package/dist-server/constants/location.js.map +1 -0
  9. package/dist-server/constants/pallet.js +13 -0
  10. package/dist-server/constants/pallet.js.map +1 -0
  11. package/dist-server/constants/rule-type.js +8 -0
  12. package/dist-server/constants/rule-type.js.map +1 -0
  13. package/dist-server/constants/tote.js +9 -0
  14. package/dist-server/constants/tote.js.map +1 -0
  15. package/dist-server/controllers/ecommerce/ecommerce-controller.js +125 -0
  16. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -0
  17. package/dist-server/controllers/ecommerce/index.js +22 -0
  18. package/dist-server/controllers/ecommerce/index.js.map +1 -0
  19. package/dist-server/controllers/ecommerce/pos-controller.js +65 -0
  20. package/dist-server/controllers/ecommerce/pos-controller.js.map +1 -0
  21. package/dist-server/controllers/ecommerce/powrup-controller.js +87 -0
  22. package/dist-server/controllers/ecommerce/powrup-controller.js.map +1 -0
  23. package/dist-server/controllers/ecommerce/sellercraft-controller.js +85 -0
  24. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -0
  25. package/dist-server/controllers/ecommerce/webspert-controller.js +131 -0
  26. package/dist-server/controllers/ecommerce/webspert-controller.js.map +1 -0
  27. package/dist-server/controllers/index.js +19 -0
  28. package/dist-server/controllers/index.js.map +1 -0
  29. package/dist-server/controllers/warehouse-controller.js +143 -0
  30. package/dist-server/controllers/warehouse-controller.js.map +1 -0
  31. package/dist-server/index.js +35 -0
  32. package/dist-server/index.js.map +1 -0
  33. package/dist-server/middlewares/index.js +1 -0
  34. package/dist-server/middlewares/index.js.map +1 -0
  35. package/dist-server/migrations/index.js +12 -0
  36. package/dist-server/migrations/index.js.map +1 -0
  37. package/dist-server/service/index.js +96 -0
  38. package/dist-server/service/index.js.map +1 -0
  39. package/dist-server/service/inventory/index.js +9 -0
  40. package/dist-server/service/inventory/index.js.map +1 -0
  41. package/dist-server/service/inventory/inventory-mutation.js +414 -0
  42. package/dist-server/service/inventory/inventory-mutation.js.map +1 -0
  43. package/dist-server/service/inventory/inventory-query.js +1211 -0
  44. package/dist-server/service/inventory/inventory-query.js.map +1 -0
  45. package/dist-server/service/inventory/inventory-types.js +478 -0
  46. package/dist-server/service/inventory/inventory-types.js.map +1 -0
  47. package/dist-server/service/inventory/inventory.js +569 -0
  48. package/dist-server/service/inventory/inventory.js.map +1 -0
  49. package/dist-server/service/inventory-change/index.js +9 -0
  50. package/dist-server/service/inventory-change/index.js.map +1 -0
  51. package/dist-server/service/inventory-change/inventory-change-mutation.js +1188 -0
  52. package/dist-server/service/inventory-change/inventory-change-mutation.js.map +1 -0
  53. package/dist-server/service/inventory-change/inventory-change-query.js +150 -0
  54. package/dist-server/service/inventory-change/inventory-change-query.js.map +1 -0
  55. package/dist-server/service/inventory-change/inventory-change-types.js +73 -0
  56. package/dist-server/service/inventory-change/inventory-change-types.js.map +1 -0
  57. package/dist-server/service/inventory-change/inventory-change.js +225 -0
  58. package/dist-server/service/inventory-change/inventory-change.js.map +1 -0
  59. package/dist-server/service/inventory-history/index.js +9 -0
  60. package/dist-server/service/inventory-history/index.js.map +1 -0
  61. package/dist-server/service/inventory-history/inventory-history-mutation.js +121 -0
  62. package/dist-server/service/inventory-history/inventory-history-mutation.js.map +1 -0
  63. package/dist-server/service/inventory-history/inventory-history-query.js +1694 -0
  64. package/dist-server/service/inventory-history/inventory-history-query.js.map +1 -0
  65. package/dist-server/service/inventory-history/inventory-history-types.js +626 -0
  66. package/dist-server/service/inventory-history/inventory-history-types.js.map +1 -0
  67. package/dist-server/service/inventory-history/inventory-history.js +238 -0
  68. package/dist-server/service/inventory-history/inventory-history.js.map +1 -0
  69. package/dist-server/service/inventory-item/index.js +9 -0
  70. package/dist-server/service/inventory-item/index.js.map +1 -0
  71. package/dist-server/service/inventory-item/inventory-item-mutation.js +274 -0
  72. package/dist-server/service/inventory-item/inventory-item-mutation.js.map +1 -0
  73. package/dist-server/service/inventory-item/inventory-item-query.js +265 -0
  74. package/dist-server/service/inventory-item/inventory-item-query.js.map +1 -0
  75. package/dist-server/service/inventory-item/inventory-item-type.js +127 -0
  76. package/dist-server/service/inventory-item/inventory-item-type.js.map +1 -0
  77. package/dist-server/service/inventory-item/inventory-item.js +146 -0
  78. package/dist-server/service/inventory-item/inventory-item.js.map +1 -0
  79. package/dist-server/service/inventory-item-change/index.js +9 -0
  80. package/dist-server/service/inventory-item-change/index.js.map +1 -0
  81. package/dist-server/service/inventory-item-change/inventory-item-change-mutation.js +121 -0
  82. package/dist-server/service/inventory-item-change/inventory-item-change-mutation.js.map +1 -0
  83. package/dist-server/service/inventory-item-change/inventory-item-change-query.js +87 -0
  84. package/dist-server/service/inventory-item-change/inventory-item-change-query.js.map +1 -0
  85. package/dist-server/service/inventory-item-change/inventory-item-change-type.js +107 -0
  86. package/dist-server/service/inventory-item-change/inventory-item-change-type.js.map +1 -0
  87. package/dist-server/service/inventory-item-change/inventory-item-change.js +110 -0
  88. package/dist-server/service/inventory-item-change/inventory-item-change.js.map +1 -0
  89. package/dist-server/service/inventory-product/index.js +9 -0
  90. package/dist-server/service/inventory-product/index.js.map +1 -0
  91. package/dist-server/service/inventory-product/inventory-product-mutation.js +120 -0
  92. package/dist-server/service/inventory-product/inventory-product-mutation.js.map +1 -0
  93. package/dist-server/service/inventory-product/inventory-product-query.js +87 -0
  94. package/dist-server/service/inventory-product/inventory-product-query.js.map +1 -0
  95. package/dist-server/service/inventory-product/inventory-product-type.js +95 -0
  96. package/dist-server/service/inventory-product/inventory-product-type.js.map +1 -0
  97. package/dist-server/service/inventory-product/inventory-product.js +112 -0
  98. package/dist-server/service/inventory-product/inventory-product.js.map +1 -0
  99. package/dist-server/service/location/index.js +9 -0
  100. package/dist-server/service/location/index.js.map +1 -0
  101. package/dist-server/service/location/location-mutation.js +279 -0
  102. package/dist-server/service/location/location-mutation.js.map +1 -0
  103. package/dist-server/service/location/location-query.js +321 -0
  104. package/dist-server/service/location/location-query.js.map +1 -0
  105. package/dist-server/service/location/location-types.js +296 -0
  106. package/dist-server/service/location/location-types.js.map +1 -0
  107. package/dist-server/service/location/location.js +146 -0
  108. package/dist-server/service/location/location.js.map +1 -0
  109. package/dist-server/service/movement/index.js +9 -0
  110. package/dist-server/service/movement/index.js.map +1 -0
  111. package/dist-server/service/movement/movement-mutation.js +80 -0
  112. package/dist-server/service/movement/movement-mutation.js.map +1 -0
  113. package/dist-server/service/movement/movement-query.js +286 -0
  114. package/dist-server/service/movement/movement-query.js.map +1 -0
  115. package/dist-server/service/movement/movement-types.js +117 -0
  116. package/dist-server/service/movement/movement-types.js.map +1 -0
  117. package/dist-server/service/movement/movement.js +101 -0
  118. package/dist-server/service/movement/movement.js.map +1 -0
  119. package/dist-server/service/pallet/index.js +9 -0
  120. package/dist-server/service/pallet/index.js.map +1 -0
  121. package/dist-server/service/pallet/pallet-mutation.js +194 -0
  122. package/dist-server/service/pallet/pallet-mutation.js.map +1 -0
  123. package/dist-server/service/pallet/pallet-query.js +164 -0
  124. package/dist-server/service/pallet/pallet-query.js.map +1 -0
  125. package/dist-server/service/pallet/pallet-types.js +109 -0
  126. package/dist-server/service/pallet/pallet-types.js.map +1 -0
  127. package/dist-server/service/pallet/pallet.js +112 -0
  128. package/dist-server/service/pallet/pallet.js.map +1 -0
  129. package/dist-server/service/pallet-count/index.js +9 -0
  130. package/dist-server/service/pallet-count/index.js.map +1 -0
  131. package/dist-server/service/pallet-count/pallet-count-mutation.js +153 -0
  132. package/dist-server/service/pallet-count/pallet-count-mutation.js.map +1 -0
  133. package/dist-server/service/pallet-count/pallet-count-query.js +86 -0
  134. package/dist-server/service/pallet-count/pallet-count-query.js.map +1 -0
  135. package/dist-server/service/pallet-count/pallet-count-types.js +65 -0
  136. package/dist-server/service/pallet-count/pallet-count-types.js.map +1 -0
  137. package/dist-server/service/pallet-count/pallet-count.js +89 -0
  138. package/dist-server/service/pallet-count/pallet-count.js.map +1 -0
  139. package/dist-server/service/pallet-history/index.js +9 -0
  140. package/dist-server/service/pallet-history/index.js.map +1 -0
  141. package/dist-server/service/pallet-history/pallet-history-mutation.js +120 -0
  142. package/dist-server/service/pallet-history/pallet-history-mutation.js.map +1 -0
  143. package/dist-server/service/pallet-history/pallet-history-query.js +87 -0
  144. package/dist-server/service/pallet-history/pallet-history-query.js.map +1 -0
  145. package/dist-server/service/pallet-history/pallet-history-types.js +65 -0
  146. package/dist-server/service/pallet-history/pallet-history-types.js.map +1 -0
  147. package/dist-server/service/pallet-history/pallet-history.js +107 -0
  148. package/dist-server/service/pallet-history/pallet-history.js.map +1 -0
  149. package/dist-server/service/product-detail-stock/index.js +9 -0
  150. package/dist-server/service/product-detail-stock/index.js.map +1 -0
  151. package/dist-server/service/product-detail-stock/product-detail-stock-mutation.js +120 -0
  152. package/dist-server/service/product-detail-stock/product-detail-stock-mutation.js.map +1 -0
  153. package/dist-server/service/product-detail-stock/product-detail-stock-query.js +66 -0
  154. package/dist-server/service/product-detail-stock/product-detail-stock-query.js.map +1 -0
  155. package/dist-server/service/product-detail-stock/product-detail-stock-types.js +57 -0
  156. package/dist-server/service/product-detail-stock/product-detail-stock-types.js.map +1 -0
  157. package/dist-server/service/product-detail-stock/product-detail-stock.js +90 -0
  158. package/dist-server/service/product-detail-stock/product-detail-stock.js.map +1 -0
  159. package/dist-server/service/reduced-inventory-history/index.js +6 -0
  160. package/dist-server/service/reduced-inventory-history/index.js.map +1 -0
  161. package/dist-server/service/reduced-inventory-history/reduced-inventory-history.js +133 -0
  162. package/dist-server/service/reduced-inventory-history/reduced-inventory-history.js.map +1 -0
  163. package/dist-server/service/tote/index.js +9 -0
  164. package/dist-server/service/tote/index.js.map +1 -0
  165. package/dist-server/service/tote/tote-mutation.js +192 -0
  166. package/dist-server/service/tote/tote-mutation.js.map +1 -0
  167. package/dist-server/service/tote/tote-query.js +162 -0
  168. package/dist-server/service/tote/tote-query.js.map +1 -0
  169. package/dist-server/service/tote/tote-types.js +75 -0
  170. package/dist-server/service/tote/tote-types.js.map +1 -0
  171. package/dist-server/service/tote/tote.js +98 -0
  172. package/dist-server/service/tote/tote.js.map +1 -0
  173. package/dist-server/service/warehouse/index.js +9 -0
  174. package/dist-server/service/warehouse/index.js.map +1 -0
  175. package/dist-server/service/warehouse/warehouse-mutation.js +148 -0
  176. package/dist-server/service/warehouse/warehouse-mutation.js.map +1 -0
  177. package/dist-server/service/warehouse/warehouse-query.js +91 -0
  178. package/dist-server/service/warehouse/warehouse-query.js.map +1 -0
  179. package/dist-server/service/warehouse/warehouse-types.js +82 -0
  180. package/dist-server/service/warehouse/warehouse-types.js.map +1 -0
  181. package/dist-server/service/warehouse/warehouse.js +114 -0
  182. package/dist-server/service/warehouse/warehouse.js.map +1 -0
  183. package/dist-server/utils/datetime-util.js +61 -0
  184. package/dist-server/utils/datetime-util.js.map +1 -0
  185. package/dist-server/utils/index.js +20 -0
  186. package/dist-server/utils/index.js.map +1 -0
  187. package/dist-server/utils/inventory-no-generator.js +17 -0
  188. package/dist-server/utils/inventory-no-generator.js.map +1 -0
  189. package/dist-server/utils/inventory-util.js +413 -0
  190. package/dist-server/utils/inventory-util.js.map +1 -0
  191. package/package.json +10 -10
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ADJUSTMENT_CODE = void 0;
4
+ exports.ADJUSTMENT_CODE = {
5
+ AC01: 'AC-01: LOST INVENTORY',
6
+ AC02: 'AC-02: DAMAGE',
7
+ AC03: 'AC-03: SHELF LIFE',
8
+ AC04: 'AC-04: STOCK NUMBER CHANGE',
9
+ AC05: 'AC-05: OWNERSHIP CHANGE',
10
+ AC06: 'AC-06: TRANSFER',
11
+ AC07: 'AC-07: OTHERS'
12
+ };
13
+ //# sourceMappingURL=adjustment-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adjustment-code.js","sourceRoot":"","sources":["../../server/constants/adjustment-code.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,eAAe;CACtB,CAAA"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./inventory"), exports);
18
+ __exportStar(require("./location"), exports);
19
+ __exportStar(require("./pallet"), exports);
20
+ __exportStar(require("./rule-type"), exports);
21
+ __exportStar(require("./tote"), exports);
22
+ __exportStar(require("./adjustment-code"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,6CAA0B;AAC1B,2CAAwB;AACxB,8CAA2B;AAC3B,yCAAsB;AACtB,oDAAiC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INVENTORY_ITEM_CHANGE_TYPE = exports.INVENTORY_ITEM_SOURCE = exports.INVENTORY_TRANSACTION_TYPE = exports.INVENTORY_TYPES = exports.INVENTORY_STATUS = void 0;
4
+ exports.INVENTORY_STATUS = {
5
+ UNLOADED: 'UNLOADED',
6
+ PARTIALLY_UNLOADED: 'PARTIALLY_UNLOADED',
7
+ PUTTING_AWAY: 'PUTTING_AWAY',
8
+ STORED: 'STORED',
9
+ LOADED: 'LOADED',
10
+ INTRANSIT: 'INTRANSIT',
11
+ TERMINATED: 'TERMINATED',
12
+ TRANSFERED: 'TRANSFERED',
13
+ DELETED: 'DELETED',
14
+ CHECKED: 'CHECKED',
15
+ PICKED: 'PICKED',
16
+ PICKING: 'PICKING',
17
+ SORTING: 'SORTING',
18
+ SORTED: 'SORTED',
19
+ RELOCATE: 'RELOCATE',
20
+ CC_ADDED: 'CC_ADDED',
21
+ PACKED: 'PACKED'
22
+ };
23
+ exports.INVENTORY_TYPES = {
24
+ BUFFER: 'BUFFER',
25
+ SHELF: 'SHELF'
26
+ };
27
+ exports.INVENTORY_TRANSACTION_TYPE = {
28
+ NEW: 'NEW',
29
+ UNLOADING: 'UNLOADING',
30
+ UNDO_UNLOADING: 'UNDO_UNLOADING',
31
+ PUTAWAY: 'PUTAWAY',
32
+ UNDO_PUTAWAY: 'UNDO_PUTAWAY',
33
+ UNDO_UNPACKING: 'UNDO_UNPACKING',
34
+ ADJUSTMENT: 'ADJUSTMENT',
35
+ CC_ADJUSTMENT: 'CC_ADJUSTMENT',
36
+ SALES_ADJUSTMENT: 'SALES_ADJUSTMENT',
37
+ RELOCATE: 'RELOCATE',
38
+ PICKING: 'PICKING',
39
+ PACKING: 'PACKING',
40
+ LOADING: 'LOADING',
41
+ SORTING: 'SORTING',
42
+ UNDO_LOADING: 'UNDO_LOADING',
43
+ CANCEL_ORDER: 'CANCEL_ORDER',
44
+ RETURN: 'RETURN',
45
+ EXTERNAL_RETURN: 'EXTERNAL_RETURN',
46
+ TERMINATED: 'TERMINATED',
47
+ TRANSFERED_IN: 'TRANSFERED_IN',
48
+ TRANSFERED_OUT: 'TRANSFERED_OUT',
49
+ RELABELING: 'RELABELING',
50
+ REPACKAGING: 'REPACKAGING',
51
+ REPACKAGING_RELABELING: 'REPACKAGING_RELABELING',
52
+ REPALLETIZING: 'REPALLETIZING',
53
+ UNPACKING: 'UNPACKING',
54
+ UNPACKED: 'UNPACKED',
55
+ REVERSE_KITTING: 'REVERSE_KITTING',
56
+ UNDO_REVERSE_KITTING: 'UNDO_REVERSE_KITTING',
57
+ DIRECT_DEDUCTION: 'DIRECT_DEDUCTION',
58
+ OBSOLETE: 'OBSOLETE',
59
+ VAS_ORDER: 'VAS_ORDER',
60
+ MISSING: 'MISSING',
61
+ EXPIRED: 'EXPIRED'
62
+ };
63
+ exports.INVENTORY_ITEM_SOURCE = {
64
+ INBOUND: 'INBOUND',
65
+ OUTBOUND: 'OUTBOUND',
66
+ ADJUSTMENT: 'ADJUSTMENT',
67
+ RELOCATE: 'RELOCATE'
68
+ };
69
+ exports.INVENTORY_ITEM_CHANGE_TYPE = {
70
+ NEW: 'NEW',
71
+ MODIFIED: 'MODIFIED',
72
+ REMOVED: 'REMOVED'
73
+ };
74
+ //# sourceMappingURL=inventory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../server/constants/inventory.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,UAAU;IACpB,kBAAkB,EAAE,oBAAoB;IACxC,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;CACjB,CAAA;AAEY,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACf,CAAA;AAEY,QAAA,0BAA0B,GAAG;IACxC,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,gBAAgB;IAChC,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,kBAAkB;IACpC,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,sBAAsB,EAAE,wBAAwB;IAChD,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,iBAAiB;IAClC,oBAAoB,EAAE,sBAAsB;IAC5C,gBAAgB,EAAE,kBAAkB;IACpC,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACnB,CAAA;AAEY,QAAA,qBAAqB,GAAG;IACnC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;CACrB,CAAA;AAEY,QAAA,0BAA0B,GAAG;IACxC,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;CACnB,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LOCATION_TYPE = exports.LOCATION_STATUS = void 0;
4
+ exports.LOCATION_STATUS = {
5
+ EMPTY: 'EMPTY',
6
+ OCCUPIED: 'OCCUPIED',
7
+ FULL: 'FULL'
8
+ };
9
+ exports.LOCATION_TYPE = {
10
+ BUFFER: 'BUFFER',
11
+ SHELF: 'SHELF',
12
+ FLOOR: 'FLOOR',
13
+ BIN: 'BIN',
14
+ QUARANTINE: 'QUARANTINE',
15
+ RESERVE: 'RESERVE',
16
+ STORAGE: 'STORAGE',
17
+ DAMAGE: 'DAMAGE'
18
+ };
19
+ //# sourceMappingURL=location.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../server/constants/location.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;CACb,CAAA;AAEY,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACjB,CAAA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PALLET_TYPES = exports.PALLET_STATUS = void 0;
4
+ exports.PALLET_STATUS = {
5
+ ACTIVE: 'ACTIVE',
6
+ LOST: 'LOST',
7
+ DAMAGED: 'DAMAGED'
8
+ };
9
+ exports.PALLET_TYPES = {
10
+ WOODEN_PALLET: 'WOODEN_PALLET',
11
+ REUSABLE_PALLET: 'REUSABLE_PALLET'
12
+ };
13
+ //# sourceMappingURL=pallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pallet.js","sourceRoot":"","sources":["../../server/constants/pallet.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CACnB,CAAA;AAEY,QAAA,YAAY,GAAG;IAC1B,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;CACnC,CAAA"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RULE_TYPE = void 0;
4
+ exports.RULE_TYPE = {
5
+ LOT_NUMBER_ID: 'inbound_pallet_id',
6
+ CARTON_NUMBER_ID: 'inbound_carton_id'
7
+ };
8
+ //# sourceMappingURL=rule-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-type.js","sourceRoot":"","sources":["../../server/constants/rule-type.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG;IACvB,aAAa,EAAE,mBAAmB;IAClC,gBAAgB,EAAE,mBAAmB;CACtC,CAAA"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TOTE_STATUS = void 0;
4
+ exports.TOTE_STATUS = {
5
+ ACTIVE: 'ACTIVE',
6
+ DISPATCHED: 'DISPATCHED',
7
+ DAMAGED: 'DAMAGED'
8
+ };
9
+ //# sourceMappingURL=tote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tote.js","sourceRoot":"","sources":["../../server/constants/tote.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACnB,CAAA"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EcommerceController = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const integration_marketplace_1 = require("@things-factory/integration-marketplace");
6
+ const marketplace_base_1 = require("@things-factory/marketplace-base");
7
+ const product_base_1 = require("@things-factory/product-base");
8
+ const constants_1 = require("../../constants");
9
+ const inventory_1 = require("../../service/inventory/inventory");
10
+ const warehouse_controller_1 = require("../warehouse-controller");
11
+ class EcommerceController extends warehouse_controller_1.WarehouseController {
12
+ async updateProductVariationStock(marketplaceStores, productId, companyDomain) {
13
+ var _a, _b;
14
+ const product = await this.trxMgr.getRepository(product_base_1.Product).findOne(productId);
15
+ let inventories = await this.trxMgr.getRepository(inventory_1.Inventory).find({
16
+ where: { domain: this.domain, product, status: (0, typeorm_1.Not)((0, typeorm_1.Equal)(constants_1.INVENTORY_STATUS.TERMINATED)) },
17
+ relations: ['location']
18
+ });
19
+ inventories = inventories.filter(inventory => (inventory === null || inventory === void 0 ? void 0 : inventory.location.type) !== constants_1.LOCATION_TYPE.QUARANTINE || (inventory === null || inventory === void 0 ? void 0 : inventory.location.type) !== constants_1.LOCATION_TYPE.RESERVE);
20
+ const inventoryQty = inventories.reduce((total, currentValue) => {
21
+ total += currentValue.qty;
22
+ return total;
23
+ }, 0);
24
+ const inventoryLockedQty = inventories.reduce((total, currentValue) => {
25
+ total += currentValue.lockedQty;
26
+ return total;
27
+ }, 0);
28
+ const inventoryProduct = {
29
+ sku: product.sku,
30
+ name: product.name,
31
+ qty: inventoryQty - inventoryLockedQty
32
+ };
33
+ for (var i = 0; i < marketplaceStores.length; i++) {
34
+ const marketplaceStore = marketplaceStores[i];
35
+ // get marketplace setting based on marketplace connection
36
+ const marketplaceSetting = await this.trxMgr.getRepository(integration_marketplace_1.MarketplaceSetting).findOne({
37
+ where: { marketplaceStore, category: 'stock_allocation' }
38
+ });
39
+ const marketplaceProductVariations = await this.trxMgr
40
+ .getRepository(marketplace_base_1.MarketplaceProductVariation)
41
+ .find({
42
+ where: { domain: companyDomain, sku: inventoryProduct.sku },
43
+ relations: ['marketplaceProduct', 'marketplaceProduct.marketplaceStore']
44
+ });
45
+ let marketplaceProductVariation = marketplaceProductVariations.filter(productVariation => productVariation.marketplaceProduct.marketplaceStore.id === marketplaceStore.id)[0];
46
+ if (marketplaceProductVariation) {
47
+ // update stock qty based on calculated inventory by product qty
48
+ let percentageValue = 100;
49
+ if (marketplaceSetting) {
50
+ percentageValue = parseInt(marketplaceSetting.value);
51
+ }
52
+ let productVariationLocationId = marketplaceProductVariation === null || marketplaceProductVariation === void 0 ? void 0 : marketplaceProductVariation.locationId;
53
+ let adjustQty = Math.floor(inventoryProduct.qty * (percentageValue / 100));
54
+ if (marketplaceStore.platform === 'shopify') {
55
+ let locationIds = JSON.parse(productVariationLocationId);
56
+ adjustQty = adjustQty - marketplaceProductVariation.qty;
57
+ if ((_a = locationIds[0]) === null || _a === void 0 ? void 0 : _a.location_id)
58
+ productVariationLocationId = locationIds[0].location_id;
59
+ }
60
+ let validMarketplaceDistributors = [];
61
+ if (marketplaceStore.marketplaceDistributors) {
62
+ validMarketplaceDistributors = marketplaceStore.marketplaceDistributors.filter(distributor => distributor.status === 'ACTIVE');
63
+ }
64
+ const hasVariation = (_b = marketplaceProductVariation === null || marketplaceProductVariation === void 0 ? void 0 : marketplaceProductVariation.marketplaceProduct) === null || _b === void 0 ? void 0 : _b.hasVariation;
65
+ if (marketplaceStore.platform == 'magento' && (validMarketplaceDistributors === null || validMarketplaceDistributors === void 0 ? void 0 : validMarketplaceDistributors.length) > 0) {
66
+ if (hasVariation) {
67
+ await integration_marketplace_1.StoreAPI.updateStoreProductVariationInventoryItem(marketplaceStore, [
68
+ {
69
+ itemId: marketplaceProductVariation.marketplaceProduct.itemId,
70
+ variationId: marketplaceProductVariation.variationId,
71
+ variationSku: marketplaceProductVariation.variationSku,
72
+ qty: adjustQty,
73
+ locationId: productVariationLocationId,
74
+ inventoryItemId: marketplaceProductVariation.inventoryItemId,
75
+ distributors: validMarketplaceDistributors
76
+ }
77
+ ]);
78
+ }
79
+ else {
80
+ await integration_marketplace_1.StoreAPI.updateStoreProductInventoryItem(marketplaceStore, [
81
+ {
82
+ itemId: marketplaceProductVariation.marketplaceProduct.itemId,
83
+ variationId: marketplaceProductVariation.variationId,
84
+ variationSku: marketplaceProductVariation.variationSku,
85
+ qty: adjustQty,
86
+ distributors: validMarketplaceDistributors
87
+ }
88
+ ]);
89
+ }
90
+ }
91
+ else {
92
+ if (hasVariation) {
93
+ await integration_marketplace_1.StoreAPI.updateStoreProductVariationStock(marketplaceStore, [
94
+ {
95
+ itemId: marketplaceProductVariation.marketplaceProduct.itemId,
96
+ variationId: marketplaceProductVariation.variationId,
97
+ variationSku: marketplaceProductVariation.variationSku,
98
+ qty: adjustQty,
99
+ locationId: productVariationLocationId,
100
+ inventoryItemId: marketplaceProductVariation.inventoryItemId,
101
+ distributors: validMarketplaceDistributors
102
+ }
103
+ ]);
104
+ }
105
+ else {
106
+ await integration_marketplace_1.StoreAPI.updateStoreProductStock(marketplaceStore, [
107
+ {
108
+ itemId: marketplaceProductVariation.marketplaceProduct.itemId,
109
+ variationId: marketplaceProductVariation.variationId,
110
+ variationSku: marketplaceProductVariation.variationSku,
111
+ qty: adjustQty,
112
+ distributors: validMarketplaceDistributors
113
+ }
114
+ ]);
115
+ }
116
+ }
117
+ marketplaceProductVariation.qty = Math.floor(inventoryProduct.qty * (percentageValue / 100));
118
+ marketplaceProductVariation.updater = this.user;
119
+ await this.trxMgr.getRepository(marketplace_base_1.MarketplaceProductVariation).save(marketplaceProductVariation);
120
+ }
121
+ }
122
+ }
123
+ }
124
+ exports.EcommerceController = EcommerceController;
125
+ //# sourceMappingURL=ecommerce-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecommerce-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/ecommerce-controller.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAEpC,qFAAwG;AACxG,uEAA8E;AAC9E,+DAAsD;AAGtD,+CAAiE;AACjE,iEAA6D;AAC7D,kEAA6D;AAE7D,MAAa,mBAAoB,SAAQ,0CAAmB;IAC1D,KAAK,CAAC,2BAA2B,CAC/B,iBAAqC,EACrC,SAAiB,EACjB,aAAqB;;QAErB,MAAM,OAAO,GAAY,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACpF,IAAI,WAAW,GAAgB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAS,CAAC,CAAC,IAAI,CAAC;YAC7E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,4BAAgB,CAAC,UAAU,CAAC,CAAC,EAAE;YACxF,SAAS,EAAE,CAAC,UAAU,CAAC;SACxB,CAAC,CAAA;QAEF,WAAW,GAAG,WAAW,CAAC,MAAM,CAC9B,SAAS,CAAC,EAAE,CACV,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAC,IAAI,MAAK,yBAAa,CAAC,UAAU,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAC,IAAI,MAAK,yBAAa,CAAC,OAAO,CAC9G,CAAA;QAED,MAAM,YAAY,GAAW,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YACtE,KAAK,IAAI,YAAY,CAAC,GAAG,CAAA;YACzB,OAAO,KAAK,CAAA;QACd,CAAC,EAAE,CAAC,CAAC,CAAA;QAEL,MAAM,kBAAkB,GAAW,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YAC5E,KAAK,IAAI,YAAY,CAAC,SAAS,CAAA;YAC/B,OAAO,KAAK,CAAA;QACd,CAAC,EAAE,CAAC,CAAC,CAAA;QAEL,MAAM,gBAAgB,GAAQ;YAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,EAAE,YAAY,GAAG,kBAAkB;SACvC,CAAA;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;YAE7C,0DAA0D;YAC1D,MAAM,kBAAkB,GAAuB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,4CAAkB,CAAC,CAAC,OAAO,CAAC;gBACzG,KAAK,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;aAC1D,CAAC,CAAA;YAEF,MAAM,4BAA4B,GAAkC,MAAM,IAAI,CAAC,MAAM;iBAClF,aAAa,CAAC,8CAA2B,CAAC;iBAC1C,IAAI,CAAC;gBACJ,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,CAAC,GAAG,EAAE;gBAC3D,SAAS,EAAE,CAAC,oBAAoB,EAAE,qCAAqC,CAAC;aACzE,CAAC,CAAA;YAEJ,IAAI,2BAA2B,GAAgC,4BAA4B,CAAC,MAAM,CAChG,gBAAgB,CAAC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,CACpG,CAAC,CAAC,CAAC,CAAA;YAEJ,IAAI,2BAA2B,EAAE;gBAC/B,gEAAgE;gBAChE,IAAI,eAAe,GAAW,GAAG,CAAA;gBACjC,IAAI,kBAAkB,EAAE;oBACtB,eAAe,GAAG,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;iBACrD;gBAED,IAAI,0BAA0B,GAAG,2BAA2B,aAA3B,2BAA2B,uBAA3B,2BAA2B,CAAE,UAAU,CAAA;gBACxE,IAAI,SAAS,GAAW,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAA;gBAClF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,SAAS,EAAE;oBAC3C,IAAI,WAAW,GAAU,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;oBAC/D,SAAS,GAAG,SAAS,GAAG,2BAA2B,CAAC,GAAG,CAAA;oBACvD,IAAI,MAAA,WAAW,CAAC,CAAC,CAAC,0CAAE,WAAW;wBAAE,0BAA0B,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;iBACzF;gBAED,IAAI,4BAA4B,GAAU,EAAE,CAAA;gBAC5C,IAAI,gBAAgB,CAAC,uBAAuB,EAAE;oBAC5C,4BAA4B,GAAG,gBAAgB,CAAC,uBAAuB,CAAC,MAAM,CAC5E,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,QAAQ,CAC/C,CAAA;iBACF;gBAED,MAAM,YAAY,GAAY,MAAA,2BAA2B,aAA3B,2BAA2B,uBAA3B,2BAA2B,CAAE,kBAAkB,0CAAE,YAAY,CAAA;gBAE3F,IAAI,gBAAgB,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAA,4BAA4B,aAA5B,4BAA4B,uBAA5B,4BAA4B,CAAE,MAAM,IAAG,CAAC,EAAE;oBACtF,IAAI,YAAY,EAAE;wBAChB,MAAM,kCAAQ,CAAC,wCAAwC,CAAC,gBAAgB,EAAE;4BACxE;gCACE,MAAM,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,MAAM;gCAC7D,WAAW,EAAE,2BAA2B,CAAC,WAAW;gCACpD,YAAY,EAAE,2BAA2B,CAAC,YAAY;gCACtD,GAAG,EAAE,SAAS;gCACd,UAAU,EAAE,0BAA0B;gCACtC,eAAe,EAAE,2BAA2B,CAAC,eAAe;gCAC5D,YAAY,EAAE,4BAA4B;6BAC3C;yBACF,CAAC,CAAA;qBACH;yBAAM;wBACL,MAAM,kCAAQ,CAAC,+BAA+B,CAAC,gBAAgB,EAAE;4BAC/D;gCACE,MAAM,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,MAAM;gCAC7D,WAAW,EAAE,2BAA2B,CAAC,WAAW;gCACpD,YAAY,EAAE,2BAA2B,CAAC,YAAY;gCACtD,GAAG,EAAE,SAAS;gCACd,YAAY,EAAE,4BAA4B;6BAC3C;yBACF,CAAC,CAAA;qBACH;iBACF;qBAAM;oBACL,IAAI,YAAY,EAAE;wBAChB,MAAM,kCAAQ,CAAC,gCAAgC,CAAC,gBAAgB,EAAE;4BAChE;gCACE,MAAM,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,MAAM;gCAC7D,WAAW,EAAE,2BAA2B,CAAC,WAAW;gCACpD,YAAY,EAAE,2BAA2B,CAAC,YAAY;gCACtD,GAAG,EAAE,SAAS;gCACd,UAAU,EAAE,0BAA0B;gCACtC,eAAe,EAAE,2BAA2B,CAAC,eAAe;gCAC5D,YAAY,EAAE,4BAA4B;6BAC3C;yBACF,CAAC,CAAA;qBACH;yBAAM;wBACL,MAAM,kCAAQ,CAAC,uBAAuB,CAAC,gBAAgB,EAAE;4BACvD;gCACE,MAAM,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,MAAM;gCAC7D,WAAW,EAAE,2BAA2B,CAAC,WAAW;gCACpD,YAAY,EAAE,2BAA2B,CAAC,YAAY;gCACtD,GAAG,EAAE,SAAS;gCACd,YAAY,EAAE,4BAA4B;6BAC3C;yBACF,CAAC,CAAA;qBACH;iBACF;gBAED,2BAA2B,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAA;gBAC5F,2BAA2B,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;gBAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,8CAA2B,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;aAC/F;SACF;IACH,CAAC;CACF;AApID,kDAoIC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ecommerce-controller"), exports);
18
+ __exportStar(require("./sellercraft-controller"), exports);
19
+ __exportStar(require("./pos-controller"), exports);
20
+ __exportStar(require("./powrup-controller"), exports);
21
+ __exportStar(require("./webspert-controller"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,2DAAwC;AACxC,mDAAgC;AAChC,sDAAmC;AACnC,wDAAqC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PosController = void 0;
4
+ const integration_accounting_1 = require("@things-factory/integration-accounting");
5
+ const inventory_change_1 = require("../../service/inventory-change/inventory-change");
6
+ const warehouse_controller_1 = require("../warehouse-controller");
7
+ class PosController extends warehouse_controller_1.WarehouseController {
8
+ async updatePosStock(tx, account, domain, bizplace, product, afterAdjustQty, stockTakeType, inventoryChangeId) {
9
+ // let qb = tx.getRepository(Inventory).createQueryBuilder('inv')
10
+ // qb.leftJoinAndSelect('inv.location', 'loc')
11
+ // .andWhere('"inv"."domain_id" = :domainId')
12
+ // .andWhere('"inv"."bizplace_id" = :bizplaceId')
13
+ // .andWhere('"inv"."product_id" = :productId')
14
+ // .andWhere('"inv"."status" = :status')
15
+ // .andWhere('"loc"."type" NOT IN (:...locationTypes)')
16
+ // .setParameters({
17
+ // domainId: domain.id,
18
+ // bizplaceId: bizplace.id,
19
+ // productId: product.id,
20
+ // status: INVENTORY_STATUS.STORED,
21
+ // locationTypes: [LOCATION_TYPE.QUARANTINE, LOCATION_TYPE.RESERVE]
22
+ // })
23
+ var _a;
24
+ // let inventories: Inventory[] = await qb.getMany()
25
+ // let inventoryTotalQty: number = 0
26
+ // let inventoryTotalLockedQty: number = 0
27
+ // if (inventories?.length > 0) {
28
+ // inventoryTotalQty = inventories.reduce((total, currentValue) => {
29
+ // total += currentValue.qty
30
+ // return total
31
+ // }, 0)
32
+ // inventoryTotalLockedQty = inventories.reduce((total, currentValue) => {
33
+ // total += currentValue.lockedQty
34
+ // return total
35
+ // }, 0)
36
+ // const currentQty: number = inventoryTotalQty - inventoryTotalLockedQty
37
+ // const inventoryProduct: any = {
38
+ // sku: product.sku,
39
+ // name: product.name,
40
+ // adjustQuantity: afterAdjustQty,
41
+ // dateTime: new Date().toISOString(),
42
+ // stockTakeType
43
+ // }
44
+ // if (account.platform == 'xilnex') {
45
+ // await AccountingAPI.createStockAdjustRecord(account, { xilnexInv: inventoryProduct })
46
+ // }
47
+ // }
48
+ const inventoryProduct = {
49
+ sku: product.sku,
50
+ name: product.name,
51
+ adjustQuantity: afterAdjustQty,
52
+ dateTime: new Date().toISOString(),
53
+ stockTakeType
54
+ };
55
+ let disableStockAdjustRecord = ((_a = account.accountSettings) === null || _a === void 0 ? void 0 : _a.disableStockAdjustRecord) == 1 ? true : false;
56
+ if (account.platform == 'xilnex' && !disableStockAdjustRecord) {
57
+ const stockAdjustRecord = await integration_accounting_1.AccountingAPI.createStockAdjustRecord(account, {
58
+ xilnexInv: inventoryProduct
59
+ });
60
+ await tx.getRepository(inventory_change_1.InventoryChange).update({ id: inventoryChangeId }, { refItemId: stockAdjustRecord.id });
61
+ }
62
+ }
63
+ }
64
+ exports.PosController = PosController;
65
+ //# sourceMappingURL=pos-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pos-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/pos-controller.ts"],"names":[],"mappings":";;;AAGA,mFAG+C;AAI/C,sFAAiF;AACjF,kEAA6D;AAE7D,MAAa,aAAc,SAAQ,0CAAmB;IACpD,KAAK,CAAC,cAAc,CAClB,EAAiB,EACjB,OAAmB,EACnB,MAAc,EACd,QAAkB,EAClB,OAAgB,EAChB,cAAsB,EACtB,aAAqB,EACrB,iBAAyB;QAEzB,iEAAiE;QACjE,8CAA8C;QAC9C,+CAA+C;QAC/C,mDAAmD;QACnD,iDAAiD;QACjD,0CAA0C;QAC1C,yDAAyD;QACzD,qBAAqB;QACrB,2BAA2B;QAC3B,+BAA+B;QAC/B,6BAA6B;QAC7B,uCAAuC;QACvC,uEAAuE;QACvE,OAAO;;QAEP,oDAAoD;QACpD,oCAAoC;QACpC,0CAA0C;QAE1C,iCAAiC;QACjC,sEAAsE;QACtE,gCAAgC;QAChC,mBAAmB;QACnB,UAAU;QAEV,4EAA4E;QAC5E,sCAAsC;QACtC,mBAAmB;QACnB,UAAU;QAEV,2EAA2E;QAE3E,oCAAoC;QACpC,wBAAwB;QACxB,0BAA0B;QAC1B,sCAAsC;QACtC,0CAA0C;QAC1C,oBAAoB;QACpB,MAAM;QAEN,wCAAwC;QACxC,4FAA4F;QAC5F,MAAM;QACN,IAAI;QACJ,MAAM,gBAAgB,GAAQ;YAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,cAAc,EAAE,cAAc;YAC9B,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAClC,aAAa;SACd,CAAA;QAED,IAAI,wBAAwB,GAAY,CAAA,MAAA,OAAO,CAAC,eAAe,0CAAE,wBAAwB,KAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QAE7G,IAAI,OAAO,CAAC,QAAQ,IAAI,QAAQ,IAAI,CAAC,wBAAwB,EAAE;YAC7D,MAAM,iBAAiB,GAAQ,MAAM,sCAAa,CAAC,uBAAuB,CAAC,OAAO,EAAE;gBAClF,SAAS,EAAE,gBAAgB;aAC5B,CAAC,CAAA;YACF,MAAM,EAAE,CAAC,aAAa,CAAC,kCAAe,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAA;SAC/G;IACH,CAAC;CACF;AAxED,sCAwEC"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PowrupController = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const biz_base_1 = require("@things-factory/biz-base");
6
+ const integration_powrup_1 = require("@things-factory/integration-powrup");
7
+ const constants_1 = require("../../constants");
8
+ const inventory_1 = require("../../service/inventory/inventory");
9
+ const product_detail_stock_1 = require("../../service/product-detail-stock/product-detail-stock");
10
+ class PowrupController {
11
+ async updateStock(inventories, customerDomain, user, trxMgr) {
12
+ if (trxMgr) {
13
+ await this.updateStockFunction(inventories, customerDomain, user, trxMgr);
14
+ }
15
+ else {
16
+ await (0, typeorm_1.getConnection)().transaction(async (tx) => {
17
+ await this.updateStockFunction(inventories, customerDomain, user, tx);
18
+ });
19
+ }
20
+ }
21
+ async updateStockFunction(inventories, customerDomain, user, trxMgr) {
22
+ const bizplace = await trxMgr.getRepository(biz_base_1.Bizplace).findOne({ domain: customerDomain });
23
+ const powrup = await trxMgr
24
+ .getRepository(integration_powrup_1.Powrup)
25
+ .findOne({ where: { platform: integration_powrup_1.Platform.POWRUP, active: true } });
26
+ if (powrup) {
27
+ for (let inventory of inventories) {
28
+ try {
29
+ let product = inventory.product;
30
+ const productDetail = inventory.productDetail;
31
+ const warehouseDomainId = inventory.domainId;
32
+ let qb = trxMgr.getRepository(inventory_1.Inventory).createQueryBuilder('inv');
33
+ qb.leftJoinAndSelect('inv.location', 'loc')
34
+ .andWhere('"inv"."domain_id" = :domainId')
35
+ .andWhere('"inv"."bizplace_id" = :bizplaceId')
36
+ .andWhere('"inv"."product_id" = :productId')
37
+ .andWhere('"inv"."product_detail_id" = :productDetailId')
38
+ .andWhere('"inv"."status" = :status')
39
+ .andWhere('"loc"."type" NOT IN (:...locationTypes)')
40
+ .setParameters({
41
+ domainId: warehouseDomainId,
42
+ bizplaceId: bizplace.id,
43
+ productId: product.id,
44
+ productDetailId: productDetail.id,
45
+ status: constants_1.INVENTORY_STATUS.STORED,
46
+ locationTypes: [constants_1.LOCATION_TYPE.QUARANTINE, constants_1.LOCATION_TYPE.DAMAGE]
47
+ });
48
+ let foundInventories = await qb.getMany();
49
+ let inventoryTotalQty = 0;
50
+ let inventoryTotalLockedQty = 0;
51
+ let inventoryBufferQty = 0;
52
+ foundInventories.forEach((inventory) => {
53
+ const { qty, lockedQty } = inventory;
54
+ inventoryTotalQty += qty;
55
+ inventoryTotalLockedQty += lockedQty;
56
+ if (inventory.location.type === constants_1.LOCATION_TYPE.RESERVE) {
57
+ inventoryBufferQty += qty;
58
+ }
59
+ });
60
+ const productDetailStock = await trxMgr
61
+ .getRepository(product_detail_stock_1.ProductDetailStock)
62
+ .findOne({ productDetail });
63
+ const powrupInvs = [
64
+ {
65
+ refCode: productDetail.refCode,
66
+ stock: {
67
+ quantityTotal: inventoryTotalQty || 0,
68
+ quantityReserved: inventoryTotalLockedQty + (productDetailStock.unassignedQty || 0) || 0,
69
+ quantityBuffer: 0
70
+ }
71
+ }
72
+ ];
73
+ await integration_powrup_1.PowrupAPI.updateStock(powrup, {
74
+ context: { state: { domain: customerDomain || null, user: user || user } },
75
+ warehouseDomainId,
76
+ powrupInvs
77
+ });
78
+ }
79
+ catch (e) {
80
+ console.log(e);
81
+ }
82
+ }
83
+ }
84
+ }
85
+ }
86
+ exports.PowrupController = PowrupController;
87
+ //# sourceMappingURL=powrup-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"powrup-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/powrup-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SellercraftController = void 0;
4
+ const biz_base_1 = require("@things-factory/biz-base");
5
+ const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
6
+ const constants_1 = require("../../constants");
7
+ const inventory_1 = require("../../service/inventory/inventory");
8
+ const warehouse_controller_1 = require("../warehouse-controller");
9
+ class SellercraftController extends warehouse_controller_1.WarehouseController {
10
+ async updateSellercraftStock(sellercraft, inventory) {
11
+ try {
12
+ let sellercraftSetting = sellercraft.sellercraftSetting;
13
+ let disableUpdateStock = (sellercraftSetting === null || sellercraftSetting === void 0 ? void 0 : sellercraftSetting.disableUpdateStock) && (sellercraftSetting === null || sellercraftSetting === void 0 ? void 0 : sellercraftSetting.disableUpdateStock) == 1 ? true : false;
14
+ if (!disableUpdateStock) {
15
+ const bizplace = await this.trxMgr.getRepository(biz_base_1.Bizplace).findOne({ domain: sellercraft.domain });
16
+ let product = inventory.product;
17
+ const productDetails = product.productDetails;
18
+ let qb = await this.trxMgr.getRepository(inventory_1.Inventory).createQueryBuilder('inv');
19
+ qb.leftJoinAndSelect('inv.location', 'loc')
20
+ .andWhere('"inv"."domain_id" = :domainId')
21
+ .andWhere('"inv"."bizplace_id" = :bizplaceId')
22
+ .andWhere('"inv"."product_id" = :productId')
23
+ .andWhere('"inv"."status" = :status')
24
+ .andWhere('"loc"."type" NOT IN (:...locationTypes)')
25
+ .setParameters({
26
+ domainId: this.domain.id,
27
+ bizplaceId: bizplace.id,
28
+ productId: product.id,
29
+ status: constants_1.INVENTORY_STATUS.STORED,
30
+ locationTypes: [constants_1.LOCATION_TYPE.QUARANTINE, constants_1.LOCATION_TYPE.RESERVE]
31
+ });
32
+ let inventories = await qb.getMany();
33
+ let defaultProductDetail = product.productDetails.find(productDetail => productDetail.isDefault);
34
+ let inventoryTotalQty = 0;
35
+ let inventoryTotalLockedQty = 0;
36
+ if ((inventories === null || inventories === void 0 ? void 0 : inventories.length) > 0) {
37
+ const sellercraftInvs = await Promise.all(inventories.map(async (inventory) => {
38
+ const inventoryPackingType = inventory.packingType;
39
+ let packingSize = 1;
40
+ if (inventoryPackingType !== defaultProductDetail.packingType) {
41
+ const unmatchingProductDetail = product.productDetails.find(productDetail => productDetail.packingType === inventoryPackingType);
42
+ packingSize = await this.getChildPackingSize(productDetails, defaultProductDetail, unmatchingProductDetail);
43
+ }
44
+ return { totalQty: inventory.qty * packingSize, totalLockedQty: inventory.lockedQty * packingSize };
45
+ }));
46
+ inventoryTotalQty = sellercraftInvs.reduce((total, currentValue) => {
47
+ total += currentValue.totalQty;
48
+ return total;
49
+ }, 0);
50
+ inventoryTotalLockedQty = sellercraftInvs.reduce((total, currentValue) => {
51
+ total += currentValue.totalLockedQty;
52
+ return total;
53
+ }, 0);
54
+ }
55
+ const sellercraftInv = [
56
+ {
57
+ sku: product.sku,
58
+ gtin: defaultProductDetail.gtin,
59
+ stock: {
60
+ quantity_total: inventoryTotalQty,
61
+ quantity_reserved: inventoryTotalLockedQty,
62
+ unit_of_measure: 'EA'
63
+ },
64
+ package_weight_gm: defaultProductDetail.nettWeight < 1 ? 1 : defaultProductDetail.nettWeight,
65
+ package_dimensions: {
66
+ length_mm: defaultProductDetail.depth < 1 ? 1 : defaultProductDetail.depth,
67
+ width_mm: defaultProductDetail.width < 1 ? 1 : defaultProductDetail.width,
68
+ height_mm: defaultProductDetail.height < 1 ? 1 : defaultProductDetail.height
69
+ }
70
+ }
71
+ ];
72
+ await integration_sellercraft_1.SellercraftAPI.updateProduct(sellercraft, {
73
+ context: { state: { domain: this === null || this === void 0 ? void 0 : this.domain, user: this === null || this === void 0 ? void 0 : this.user } },
74
+ accountId: sellercraft.accountId,
75
+ sellercraftInv
76
+ });
77
+ }
78
+ }
79
+ catch (error) {
80
+ console.error(error);
81
+ }
82
+ }
83
+ }
84
+ exports.SellercraftController = SellercraftController;
85
+ //# sourceMappingURL=sellercraft-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sellercraft-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/sellercraft-controller.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,qFAAqF;AAGrF,+CAAiE;AACjE,iEAA6D;AAC7D,kEAA6D;AAE7D,MAAa,qBAAsB,SAAQ,0CAAmB;IAC5D,KAAK,CAAC,sBAAsB,CAAC,WAAwB,EAAE,SAAoB;QACzE,IAAI;YACF,IAAI,kBAAkB,GAAQ,WAAW,CAAC,kBAAkB,CAAA;YAC5D,IAAI,kBAAkB,GACpB,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,kBAAkB,KAAI,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,kBAAkB,KAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;YAEtG,IAAI,CAAC,kBAAkB,EAAE;gBACvB,MAAM,QAAQ,GAAa,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;gBAE5G,IAAI,OAAO,GAAY,SAAS,CAAC,OAAO,CAAA;gBACxC,MAAM,cAAc,GAAoB,OAAO,CAAC,cAAc,CAAA;gBAE9D,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAS,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBAC7E,EAAE,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,CAAC;qBACxC,QAAQ,CAAC,+BAA+B,CAAC;qBACzC,QAAQ,CAAC,mCAAmC,CAAC;qBAC7C,QAAQ,CAAC,iCAAiC,CAAC;qBAC3C,QAAQ,CAAC,0BAA0B,CAAC;qBACpC,QAAQ,CAAC,yCAAyC,CAAC;qBACnD,aAAa,CAAC;oBACb,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;oBACxB,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,MAAM,EAAE,4BAAgB,CAAC,MAAM;oBAC/B,aAAa,EAAE,CAAC,yBAAa,CAAC,UAAU,EAAE,yBAAa,CAAC,OAAO,CAAC;iBACjE,CAAC,CAAA;gBAEJ,IAAI,WAAW,GAAgB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;gBAEjD,IAAI,oBAAoB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;gBAC/G,IAAI,iBAAiB,GAAW,CAAC,CAAA;gBACjC,IAAI,uBAAuB,GAAW,CAAC,CAAA;gBAEvC,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,IAAG,CAAC,EAAE;oBAC3B,MAAM,eAAe,GAAU,MAAM,OAAO,CAAC,GAAG,CAC9C,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,SAAoB,EAAE,EAAE;wBAC7C,MAAM,oBAAoB,GAAW,SAAS,CAAC,WAAW,CAAA;wBAE1D,IAAI,WAAW,GAAW,CAAC,CAAA;wBAC3B,IAAI,oBAAoB,KAAK,oBAAoB,CAAC,WAAW,EAAE;4BAC7D,MAAM,uBAAuB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CACxE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,KAAK,oBAAoB,CACpE,CAAA;4BAED,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC1C,cAAc,EACd,oBAAoB,EACpB,uBAAuB,CACxB,CAAA;yBACF;wBAED,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,WAAW,EAAE,cAAc,EAAE,SAAS,CAAC,SAAS,GAAG,WAAW,EAAE,CAAA;oBACrG,CAAC,CAAC,CACH,CAAA;oBAED,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;wBACjE,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAA;wBAC9B,OAAO,KAAK,CAAA;oBACd,CAAC,EAAE,CAAC,CAAC,CAAA;oBAEL,uBAAuB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;wBACvE,KAAK,IAAI,YAAY,CAAC,cAAc,CAAA;wBACpC,OAAO,KAAK,CAAA;oBACd,CAAC,EAAE,CAAC,CAAC,CAAA;iBACN;gBAED,MAAM,cAAc,GAAU;oBAC5B;wBACE,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,IAAI,EAAE,oBAAoB,CAAC,IAAI;wBAC/B,KAAK,EAAE;4BACL,cAAc,EAAE,iBAAiB;4BACjC,iBAAiB,EAAE,uBAAuB;4BAC1C,eAAe,EAAE,IAAI;yBACtB;wBACD,iBAAiB,EAAE,oBAAoB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU;wBAC5F,kBAAkB,EAAE;4BAClB,SAAS,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;4BAC1E,QAAQ,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;4BACzE,SAAS,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM;yBAC7E;qBACF;iBACF,CAAA;gBAED,MAAM,wCAAc,CAAC,aAAa,CAAC,WAAW,EAAE;oBAC9C,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,EAAE;oBAC9D,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,cAAc;iBACf,CAAC,CAAA;aACH;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SACrB;IACH,CAAC;CACF;AA/FD,sDA+FC"}