@things-factory/sales-base 8.0.0-beta.0 → 8.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/package.json +13 -13
  2. package/server/constants/attachment-type.ts +0 -9
  3. package/server/constants/index.ts +0 -7
  4. package/server/constants/load-type.ts +0 -4
  5. package/server/constants/order.ts +0 -203
  6. package/server/constants/product-group-type.ts +0 -4
  7. package/server/constants/release-good.ts +0 -9
  8. package/server/constants/transfer-order-type.ts +0 -6
  9. package/server/constants/validation-error-code.ts +0 -3
  10. package/server/constants/vas-target-type.ts +0 -25
  11. package/server/controllers/ecommerce/ecommerce-controller.ts +0 -122
  12. package/server/controllers/ecommerce/index.ts +0 -2
  13. package/server/controllers/ecommerce/sellercraft-controller.ts +0 -182
  14. package/server/controllers/index.ts +0 -2
  15. package/server/controllers/order-controller.ts +0 -296
  16. package/server/errors/index.ts +0 -1
  17. package/server/errors/validation-error.ts +0 -25
  18. package/server/index.ts +0 -5
  19. package/server/migrations/index.ts +0 -9
  20. package/server/service/arrival-notice/arrival-notice-mutation.ts +0 -1152
  21. package/server/service/arrival-notice/arrival-notice-query.ts +0 -549
  22. package/server/service/arrival-notice/arrival-notice-types.ts +0 -310
  23. package/server/service/arrival-notice/arrival-notice.ts +0 -202
  24. package/server/service/arrival-notice/index.ts +0 -9
  25. package/server/service/claim/claim-mutation.ts +0 -308
  26. package/server/service/claim/claim-query.ts +0 -122
  27. package/server/service/claim/claim-types.ts +0 -130
  28. package/server/service/claim/claim.ts +0 -140
  29. package/server/service/claim/index.ts +0 -9
  30. package/server/service/claim-detail/claim-detail-mutation.ts +0 -102
  31. package/server/service/claim-detail/claim-detail-query.ts +0 -55
  32. package/server/service/claim-detail/claim-detail-types.ts +0 -47
  33. package/server/service/claim-detail/claim-detail.ts +0 -69
  34. package/server/service/claim-detail/index.ts +0 -9
  35. package/server/service/claim-order/claim-order-mutation.ts +0 -101
  36. package/server/service/claim-order/claim-order-query.ts +0 -47
  37. package/server/service/claim-order/claim-order-types.ts +0 -35
  38. package/server/service/claim-order/claim-order.ts +0 -81
  39. package/server/service/claim-order/index.ts +0 -9
  40. package/server/service/collection-order/collection-order-mutation.ts +0 -245
  41. package/server/service/collection-order/collection-order-query.ts +0 -97
  42. package/server/service/collection-order/collection-order-types.ts +0 -165
  43. package/server/service/collection-order/collection-order.ts +0 -135
  44. package/server/service/collection-order/index.ts +0 -9
  45. package/server/service/delivery-order/delivery-order-mutation.ts +0 -967
  46. package/server/service/delivery-order/delivery-order-query.ts +0 -631
  47. package/server/service/delivery-order/delivery-order-types.ts +0 -268
  48. package/server/service/delivery-order/delivery-order.ts +0 -258
  49. package/server/service/delivery-order/index.ts +0 -9
  50. package/server/service/draft-release-good/draft-release-good-mutation.ts +0 -765
  51. package/server/service/draft-release-good/draft-release-good-query.ts +0 -354
  52. package/server/service/draft-release-good/draft-release-good-type.ts +0 -261
  53. package/server/service/draft-release-good/draft-release-good.ts +0 -284
  54. package/server/service/draft-release-good/index.ts +0 -9
  55. package/server/service/goods-receival-note/goods-receival-note-mutation.ts +0 -129
  56. package/server/service/goods-receival-note/goods-receival-note-query.ts +0 -280
  57. package/server/service/goods-receival-note/goods-receival-note-types.ts +0 -105
  58. package/server/service/goods-receival-note/goods-receival-note.ts +0 -127
  59. package/server/service/goods-receival-note/index.ts +0 -9
  60. package/server/service/index.ts +0 -238
  61. package/server/service/inventory-check/index.ts +0 -9
  62. package/server/service/inventory-check/inventory-check-mutation.ts +0 -149
  63. package/server/service/inventory-check/inventory-check-query.ts +0 -48
  64. package/server/service/inventory-check/inventory-check-types.ts +0 -48
  65. package/server/service/inventory-check/inventory-check.ts +0 -90
  66. package/server/service/invoice/index.ts +0 -9
  67. package/server/service/invoice/invoice-mutation.ts +0 -95
  68. package/server/service/invoice/invoice-query.ts +0 -53
  69. package/server/service/invoice/invoice-types.ts +0 -279
  70. package/server/service/invoice/invoice.ts +0 -230
  71. package/server/service/invoice-product/index.ts +0 -9
  72. package/server/service/invoice-product/invoice-product-mutation.ts +0 -54
  73. package/server/service/invoice-product/invoice-product-query.ts +0 -54
  74. package/server/service/invoice-product/invoice-product-types.ts +0 -84
  75. package/server/service/invoice-product/invoice-product.ts +0 -92
  76. package/server/service/job-sheet/index.ts +0 -9
  77. package/server/service/job-sheet/job-sheet-mutation.ts +0 -92
  78. package/server/service/job-sheet/job-sheet-query.ts +0 -112
  79. package/server/service/job-sheet/job-sheet-types.ts +0 -78
  80. package/server/service/job-sheet/job-sheet.ts +0 -102
  81. package/server/service/manifest/index.ts +0 -6
  82. package/server/service/manifest/manifest-mutation.ts +0 -190
  83. package/server/service/manifest/manifest-query.ts +0 -149
  84. package/server/service/manifest/manifest-type.ts +0 -84
  85. package/server/service/manifest/manifest.ts +0 -114
  86. package/server/service/order-inventory/index.ts +0 -9
  87. package/server/service/order-inventory/order-inventory-mutation.ts +0 -54
  88. package/server/service/order-inventory/order-inventory-query.ts +0 -722
  89. package/server/service/order-inventory/order-inventory-types.ts +0 -238
  90. package/server/service/order-inventory/order-inventory.ts +0 -401
  91. package/server/service/order-product/index.ts +0 -9
  92. package/server/service/order-product/order-product-mutation.ts +0 -48
  93. package/server/service/order-product/order-product-query.ts +0 -89
  94. package/server/service/order-product/order-product-types.ts +0 -335
  95. package/server/service/order-product/order-product.ts +0 -362
  96. package/server/service/order-tote/index.ts +0 -9
  97. package/server/service/order-tote/order-tote-mutation.ts +0 -31
  98. package/server/service/order-tote/order-tote-query.ts +0 -112
  99. package/server/service/order-tote/order-tote-types.ts +0 -47
  100. package/server/service/order-tote/order-tote.ts +0 -73
  101. package/server/service/order-tote-item/index.ts +0 -9
  102. package/server/service/order-tote-item/order-tote-item-mutation.ts +0 -31
  103. package/server/service/order-tote-item/order-tote-item-query.ts +0 -82
  104. package/server/service/order-tote-item/order-tote-item-types.ts +0 -56
  105. package/server/service/order-tote-item/order-tote-item.ts +0 -72
  106. package/server/service/order-tote-seal/index.ts +0 -9
  107. package/server/service/order-tote-seal/order-tote-seal-mutation.ts +0 -31
  108. package/server/service/order-tote-seal/order-tote-seal-query.ts +0 -59
  109. package/server/service/order-tote-seal/order-tote-seal-types.ts +0 -41
  110. package/server/service/order-tote-seal/order-tote-seal.ts +0 -46
  111. package/server/service/order-vas/index.ts +0 -9
  112. package/server/service/order-vas/order-vas-mutation.ts +0 -20
  113. package/server/service/order-vas/order-vas-query.ts +0 -72
  114. package/server/service/order-vas/order-vas-types.ts +0 -159
  115. package/server/service/order-vas/order-vas.ts +0 -207
  116. package/server/service/others/index.ts +0 -5
  117. package/server/service/others/other-query.ts +0 -563
  118. package/server/service/others/other-types.ts +0 -115
  119. package/server/service/purchase-order/index.ts +0 -9
  120. package/server/service/purchase-order/purchase-order-mutation.ts +0 -458
  121. package/server/service/purchase-order/purchase-order-query.ts +0 -90
  122. package/server/service/purchase-order/purchase-order-types.ts +0 -154
  123. package/server/service/purchase-order/purchase-order.ts +0 -172
  124. package/server/service/purchase-order-other-charge/index.ts +0 -9
  125. package/server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.ts +0 -31
  126. package/server/service/purchase-order-other-charge/purchase-order-other-charge-query.ts +0 -52
  127. package/server/service/purchase-order-other-charge/purchase-order-other-charge-types.ts +0 -44
  128. package/server/service/purchase-order-other-charge/purchase-order-other-charge.ts +0 -68
  129. package/server/service/release-good/index.ts +0 -9
  130. package/server/service/release-good/release-good-mutation.ts +0 -1686
  131. package/server/service/release-good/release-good-query.ts +0 -980
  132. package/server/service/release-good/release-good-types.ts +0 -662
  133. package/server/service/release-good/release-good.ts +0 -490
  134. package/server/service/retail-replenishment-order/index.ts +0 -9
  135. package/server/service/retail-replenishment-order/retail-replenishment-order-mutation.ts +0 -382
  136. package/server/service/retail-replenishment-order/retail-replenishment-order-query.ts +0 -54
  137. package/server/service/retail-replenishment-order/retail-replenishment-order-types.ts +0 -101
  138. package/server/service/retail-replenishment-order/retail-replenishment-order.ts +0 -115
  139. package/server/service/return-order/index.ts +0 -9
  140. package/server/service/return-order/return-order-mutation.ts +0 -516
  141. package/server/service/return-order/return-order-query.ts +0 -226
  142. package/server/service/return-order/return-order-types.ts +0 -196
  143. package/server/service/return-order/return-order.ts +0 -127
  144. package/server/service/reverse-kitting-order/index.ts +0 -9
  145. package/server/service/reverse-kitting-order/reverse-kitting-order-mutation.ts +0 -500
  146. package/server/service/reverse-kitting-order/reverse-kitting-order-query.ts +0 -197
  147. package/server/service/reverse-kitting-order/reverse-kitting-order-type.ts +0 -173
  148. package/server/service/reverse-kitting-order/reverse-kitting-order.ts +0 -121
  149. package/server/service/reverse-kitting-order-inventory/index.ts +0 -9
  150. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.ts +0 -129
  151. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.ts +0 -52
  152. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.ts +0 -95
  153. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.ts +0 -143
  154. package/server/service/shipping-order/index.ts +0 -9
  155. package/server/service/shipping-order/shipping-order-mutation.ts +0 -61
  156. package/server/service/shipping-order/shipping-order-query.ts +0 -61
  157. package/server/service/shipping-order/shipping-order-types.ts +0 -89
  158. package/server/service/shipping-order/shipping-order.ts +0 -129
  159. package/server/service/transfer-order/index.ts +0 -9
  160. package/server/service/transfer-order/transfer-order-mutation.ts +0 -309
  161. package/server/service/transfer-order/transfer-order-query.ts +0 -66
  162. package/server/service/transfer-order/transfer-order-types.ts +0 -97
  163. package/server/service/transfer-order/transfer-order.ts +0 -117
  164. package/server/service/vas/index.ts +0 -9
  165. package/server/service/vas/vas-mutation.ts +0 -106
  166. package/server/service/vas/vas-query.ts +0 -60
  167. package/server/service/vas/vas-types.ts +0 -71
  168. package/server/service/vas/vas.ts +0 -77
  169. package/server/service/vas-order/index.ts +0 -9
  170. package/server/service/vas-order/vas-order-mutation.ts +0 -259
  171. package/server/service/vas-order/vas-order-query.ts +0 -119
  172. package/server/service/vas-order/vas-order-types.ts +0 -49
  173. package/server/service/vas-order/vas-order.ts +0 -81
  174. package/server/utils/datetime-util.ts +0 -54
  175. package/server/utils/index.ts +0 -3
  176. package/server/utils/inventory-util.ts +0 -1155
  177. package/server/utils/order-no-generator.ts +0 -146
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/sales-base",
3
- "version": "8.0.0-beta.0",
3
+ "version": "8.0.0-beta.2",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,17 +24,17 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"
25
25
  },
26
26
  "dependencies": {
27
- "@things-factory/attachment-base": "^8.0.0-beta.0",
28
- "@things-factory/auth-base": "^8.0.0-beta.0",
29
- "@things-factory/biz-base": "^8.0.0-beta.0",
30
- "@things-factory/code-base": "^8.0.0-beta.0",
31
- "@things-factory/integration-sftp": "^8.0.0-beta.0",
32
- "@things-factory/notification": "^8.0.0-beta.0",
33
- "@things-factory/product-base": "^8.0.0-beta.0",
34
- "@things-factory/setting-base": "^8.0.0-beta.0",
35
- "@things-factory/shell": "^8.0.0-beta.0",
36
- "@things-factory/transport-base": "^8.0.0-beta.0",
37
- "@things-factory/warehouse-base": "^8.0.0-beta.0"
27
+ "@things-factory/attachment-base": "^8.0.0-beta.2",
28
+ "@things-factory/auth-base": "^8.0.0-beta.2",
29
+ "@things-factory/biz-base": "^8.0.0-beta.2",
30
+ "@things-factory/code-base": "^8.0.0-beta.2",
31
+ "@things-factory/integration-sftp": "^8.0.0-beta.2",
32
+ "@things-factory/notification": "^8.0.0-beta.2",
33
+ "@things-factory/product-base": "^8.0.0-beta.2",
34
+ "@things-factory/setting-base": "^8.0.0-beta.2",
35
+ "@things-factory/shell": "^8.0.0-beta.2",
36
+ "@things-factory/transport-base": "^8.0.0-beta.2",
37
+ "@things-factory/warehouse-base": "^8.0.0-beta.2"
38
38
  },
39
- "gitHead": "add6fb8224b2cb19cbea47bed6a5ecb0424c9a28"
39
+ "gitHead": "f03431a09435511b2595515658f9cb8f78ba4ebb"
40
40
  }
@@ -1,9 +0,0 @@
1
- export const ATTACHMENT_TYPE = {
2
- SIGNATURE: 'SIGNATURE',
3
- GRN: 'GRN',
4
- GAN: 'GAN',
5
- PO: 'PO',
6
- DELIVERY_ORDER: 'DELIVERY_ORDER',
7
- RETURN_ORDER: 'RETURN_ORDER',
8
- DGRN: 'DRAFT_GRN'
9
- }
@@ -1,7 +0,0 @@
1
- export * from './attachment-type'
2
- export * from './load-type'
3
- export * from './product-group-type'
4
- export * from './order'
5
- export * from './vas-target-type'
6
- export * from './transfer-order-type'
7
- export * from './release-good'
@@ -1,4 +0,0 @@
1
- export const LOAD_TYPES = {
2
- FULL_CONTAINER_LOAD: 'FCL',
3
- LOW_CONTAINER_LOAD: 'LCL'
4
- }
@@ -1,203 +0,0 @@
1
- export const ORDER_STATUS = {
2
- DRAFT: 'DRAFT',
3
- PENDING: 'PENDING',
4
- APPROVED: 'APPROVED',
5
- EDITING: 'EDITING',
6
- PENDING_RECEIVE: 'PENDING_RECEIVE',
7
- PENDING_CANCEL: 'PENDING_CANCEL',
8
- PENDING_APPROVAL: 'PENDING_APPROVAL',
9
- PENDING_WORKSHEET: 'PENDING_WORKSHEET',
10
- CANCELLED: 'CANCELLED',
11
- INTRANSIT: 'INTRANSIT',
12
- COLLECTING: 'COLLECTING',
13
- DELIVERING: 'DELIVERING',
14
- READY_TO_DISPATCH: 'READY_TO_DISPATCH',
15
- READY_TO_EXECUTE: 'READY_TO_EXECUTE',
16
- ARRIVED: 'ARRIVED',
17
- READY_TO_UNLOAD: 'READY_TO_UNLOAD',
18
- READY_TO_LOAD: 'READY_TO_LOAD',
19
- READY_TO_PACK: 'READY_TO_PACK',
20
- READY_TO_SORT: 'READY_TO_SORT',
21
- READY_TO_PICK: 'READY_TO_PICK',
22
- READY_TO_PUTAWAY: 'READY_TO_PUTAWAY',
23
- PUTTING_AWAY: 'PUTTING_AWAY',
24
- PACKING: 'PACKING',
25
- PICKING: 'PICKING',
26
- LOADING: 'LOADING',
27
- PROCESSING: 'PROCESSING',
28
- EXECUTING: 'EXECUTING',
29
- PARTIAL_RETURN: 'PARTIAL_RETURN',
30
- DONE: 'DONE',
31
- PENDING_REVIEW: 'PENDING_REVIEW',
32
- INPROCESS: 'INPROCESS',
33
- SORTING: 'SORTING',
34
- INSPECTING: 'INSPECTING',
35
- REJECTED: 'REJECTED',
36
- SHIPPING: 'SHIPPING',
37
- RECEIVED: 'RECEIVED',
38
- PARTIAL_RECEIVED: 'PARTIAL_RECEIVED'
39
- }
40
-
41
- export const DISPATCHMENT_STATUS = {
42
- READY_TO_DISPATCH: 'READY_TO_DISPATCH',
43
- DISPATCHED: 'DISPATCHED'
44
- }
45
-
46
- export const MANIFEST_STATUS = {
47
- OPEN: 'OPEN',
48
- CLOSED: 'CLOSED',
49
- IN_QUEUE: 'IN_QUEUE'
50
- }
51
-
52
- export const ORDER_INVENTORY_TYPE = {
53
- RELEASE_OF_GOODS: 'RELEASE_OF_GOODS',
54
- ARRIVAL_NOTICE: 'ARRIVAL_NOTICE',
55
- DELIVERY: 'DELIVERY',
56
- RETURN_ORDER: 'RETURN_ORDER'
57
- }
58
-
59
- export const ORDER_PRODUCT_STATUS = {
60
- ASSIGNED: 'ASSIGNED',
61
- ADDED: 'ADDED',
62
- EDITED: 'EDITED',
63
- READY_TO_APPROVED: 'READY_TO_APPROVED',
64
- APPROVED: 'APPROVED',
65
- PENDING: 'PENDING',
66
- PENDING_RECEIVE: 'PENDING_RECEIVE',
67
- REJECTED: 'REJECTED',
68
- INTRANSIT: 'INTRANSIT',
69
- ARRIVED: 'ARRIVED',
70
- READY_TO_COLLECT: 'READY_TO_COLLECT',
71
- READY_TO_DELIVER: 'READY_TO_DELIVER',
72
- READY_TO_UNLOAD: 'READY_TO_UNLOAD',
73
- PENDING_APPROVAL: 'PENDING_APPROVAL',
74
- PENDING_ASSIGN: 'PENDING_ASSIGN',
75
- PENDING_WORKSHEET: 'PENDING_WORKSHEET',
76
- READY_TO_PICK: 'READY_TO_PICK',
77
- PICKING: 'PICKING',
78
- UNLOADING: 'UNLOADING',
79
- PARTIALLY_UNLOADED: 'PARTIALLY_UNLOADED',
80
- UNLOADED: 'UNLOADED',
81
- COLLECTED: 'COLLECTED',
82
- DELIVERED: 'DELIVERED',
83
- PUTTING_AWAY: 'PUTTING_AWAY',
84
- STORED: 'STORED',
85
- INSPECTED: 'INSPECTED',
86
- TERMINATED: 'TERMINATED',
87
- RECEIVED: 'RECEIVED',
88
- NOT_RECEIVED: 'NOT_RECEIVED'
89
- }
90
-
91
- export const ORDER_INVENTORY_STATUS = {
92
- ASSIGNED: 'ASSIGNED',
93
- ARRIVED: 'ARRIVED',
94
- INTRANSIT: 'INTRANSIT',
95
- PENDING: 'PENDING',
96
- PENDING_RECEIVE: 'PENDING_RECEIVE',
97
- PENDING_CANCEL: 'PENDING_CANCEL',
98
- PENDING_WORKSHEET: 'PENDING_WORKSHEET',
99
- PENDING_REVERSE: 'PENDING_REVERSE',
100
- CANCELLED: 'CANCELLED',
101
- PENDING_SPLIT: 'PENDING_SPLIT',
102
- COMPLETE_SPLIT: 'COMPLETE_SPLIT',
103
- READY_TO_DISPATCH: 'READY_TO_DISPATCH',
104
- READY_TO_PICK: 'READY_TO_PICK',
105
- READY_TO_PACK: 'READY_TO_PACK',
106
- READY_TO_SORT: 'READY_TO_SORT',
107
- SORTING: 'SORTING',
108
- READY_TO_RETURN: 'READY_TO_RETURN',
109
- PACKING: 'PACKING',
110
- PICKING: 'PICKING',
111
- LOADING: 'LOADING',
112
- INSPECTING: 'INSPECTING',
113
- INSPECTED: 'INSPECTED',
114
- PICKED: 'PICKED',
115
- PACKED: 'PACKED',
116
- SORTED: 'SORTED',
117
- LOADED: 'LOADED',
118
- NOT_TALLY: 'NOT_TALLY',
119
- RELOCATED: 'RELOCATED',
120
- ADDED: 'ADDED',
121
- MISSING: 'MISSING',
122
- EXTRA: 'EXTRA',
123
- REJECTED: 'REJECTED',
124
- RELEASED: 'RELEASED',
125
- REPLACED: 'REPLACED',
126
- DELIVERING: 'DELIVERING',
127
- RETURNING: 'RETURNING',
128
- TERMINATED: 'TERMINATED',
129
- DONE: 'DONE',
130
- RECEIVED: 'RECEIVED',
131
- NOT_RECEIVED: 'NOT_RECEIVED'
132
- }
133
-
134
- export const ORDER_VAS_STATUS = {
135
- PENDING: 'PENDING',
136
- PENDING_RECEIVE: 'PENDING_RECEIVE',
137
- PENDING_CANCEL: 'PENDING_CANCEL',
138
- CANCELLED: 'CANCELLED',
139
- REJECTED: 'REJECTED',
140
- INTRANSIT: 'INTRANSIT',
141
- ARRIVED: 'ARRIVED',
142
- READY_TO_PROCESS: 'READY_TO_PROCESS',
143
- PROCESSING: 'PROCESSING',
144
- COMPLETED: 'COMPLETED',
145
- TERMINATED: 'TERMINATED'
146
- }
147
-
148
- export const ORDER_TYPES = {
149
- ARRIVAL_NOTICE: 'ARRIVAL_NOTICE',
150
- SHIPPING: 'SHIPPING_ORDER',
151
- DELIVERY: 'DELIVERY',
152
- COLLECTION: 'COLLECTION',
153
- RELEASE_OF_GOODS: 'RELEASE_OF_GOODS',
154
- DRAFT_RELEASE_GOODS: 'DRAFT_RELEASE_GOODS',
155
- VAS_ORDER: 'VAS_ORDER',
156
- CYCLE_COUNT: 'CYCLE_COUNT',
157
- STOCK_TAKE: 'STOCK_TAKE',
158
- TRANSFER_ORDER: 'TRANSFER_ORDER'
159
- }
160
-
161
- export const GRN_STATUS = {
162
- READY_TO_SEND: 'READY_TO_SEND',
163
- PENDING_RECEIVE: 'PENDING_RECEIVE',
164
- SENT: 'SENT',
165
- RECEIVED: 'RECEIVED'
166
- }
167
-
168
- export const ORDER_NUMBER_SETTING_KEY = {
169
- GAN_NUMBER_RULE: 'gan-number-rule',
170
- PO_NUMBER_RULE: 'po-number-rule',
171
- GRN_NUMBER_RULE: 'grn-number-rule',
172
- RO_NUMBER_RULE: 'ro-number-rule',
173
- DO_NUMBER_RULE: 'do-number-rule',
174
- RR_NUMBER_RULE: 'rr-number-rule',
175
- TO_NUMBER_RULE: 'to-number-rule',
176
- DRO_NUMBER_RULE: 'dro-number-rule'
177
- }
178
-
179
- export const ORDER_NUMBER_RULE_TYPE = {
180
- GAN_NUMBER: 'gan_number',
181
- PO_NUMBER: 'po_number',
182
- GRN_NUMBER: 'grn_number',
183
- RO_NUMBER: 'ro_number',
184
- DO_NUMBER: 'do_number',
185
- RR_NUMBER: 'rr_number',
186
- TO_NUMBER: 'to_number',
187
- DRO_NUMBER: 'dro_number'
188
- }
189
-
190
- export const PURCHASE_ORDER_STATUS = {
191
- DRAFT: 'DRAFT',
192
- PENDING: 'PENDING',
193
- APPROVED: 'APPROVED',
194
- REJECTED: 'REJECTED',
195
- COMPLETED: 'COMPLETED'
196
- }
197
-
198
- export const DRAFT_RELEASE_ORDER_STATUS = {
199
- DRAFT: 'DRAFT',
200
- INSUFFICIENT: 'INSUFFICIENT',
201
- SUBMITTED: 'SUBMITTED',
202
- CANCELLED: 'CANCELLED'
203
- }
@@ -1,4 +0,0 @@
1
- export const PRODUCT_GROUP_TYPE = {
2
- BUNDLE: 'BUNDLE',
3
- SINGLE: 'SINGLE'
4
- }
@@ -1,9 +0,0 @@
1
- export enum ReleaseOrderType {
2
- B2B = 'b2b',
3
- B2C = 'b2c'
4
- }
5
-
6
- export const ORDER_METHOD = {
7
- SELECT_BY_PRODUCT: 'SELECT_BY_PRODUCT',
8
- SELECT_BY_PALLET: 'SELECT_BY_PALLET'
9
- }
@@ -1,6 +0,0 @@
1
- export const TRANSFER_ORDER_TYPE = {
2
- DIRECT: 'DIRECT',
3
- NORMAL: 'NORMAL',
4
- RETURN: 'RETURN'
5
- }
6
-
@@ -1,3 +0,0 @@
1
- export const INVALID_DATA_FOUND = { errorCode: 'ivd1', message: 'invalid data found' }
2
- export const RELEASE_QTY_OVER_LIMIT = { errorCode: 'rol1', message: 'release qty over limit' }
3
- export const INSUFFICIENT_STOCK = { errorCode: 'ins1', message: 'insufficient stock' }
@@ -1,25 +0,0 @@
1
- export const VAS_TARGET_TYPES = {
2
- BATCH_NO_TYPE: 'BATCH_NO',
3
- PRODUCT_TYPE: 'PRODUCT',
4
- BATCH_AND_PRODUCT_TYPE: 'BATCH_AND_PRODUCT_TYPE',
5
- ETC_TYPE: 'ETC'
6
- }
7
-
8
- export const VAS_TYPES = {
9
- MATERIALS: 'MATERIALS',
10
- SERVICE: 'SERVICE'
11
- }
12
-
13
- export const VAS = {
14
- RELABELING: 'RELABELING',
15
- REPACKING: 'REPACKING',
16
- REPALLETIZING: 'REPALLETIZING',
17
- UNPACKING: 'UNPACKING'
18
- }
19
-
20
- export const VAS_OPERATION_GUIDES = {
21
- VAS_RELABEL: 'vas-relabel',
22
- VAS_REPACK: 'vas-repack',
23
- VAS_REPALLETIZING: 'vas-repalletizing',
24
- VAS_UNPACK: 'vas-unpack'
25
- }
@@ -1,122 +0,0 @@
1
- import { MarketplaceSetting, MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
2
- import { MarketplaceProductVariation } from '@things-factory/marketplace-base'
3
- import { Product } from '@things-factory/product-base'
4
- import { Domain } from '@things-factory/shell'
5
- import { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'
6
-
7
- import { OrderController } from '../order-controller'
8
-
9
- export class EcommerceController extends OrderController {
10
- async updateProductVariationStock(
11
- marketplaceStores: MarketplaceStore[],
12
- productIds: string[],
13
- companyDomain: Domain
14
- ): Promise<void> {
15
- const inventoryProducts: any[] = await Promise.all(
16
- productIds.map(async productId => {
17
- const product: Product = await this.trxMgr.getRepository(Product).findOneBy({ id: productId })
18
- let qb = await this.trxMgr.getRepository(Inventory).createQueryBuilder('inv')
19
- qb.leftJoinAndSelect('inv.location', 'loc')
20
- .andWhere('"inv"."domain_id" = :domainId')
21
- .andWhere('"inv"."product_id" = :productId')
22
- .andWhere('"inv"."status" != :status')
23
- .andWhere('"loc"."type" NOT IN (:...locationTypes)')
24
- .setParameters({
25
- domainId: this.domain.id,
26
- productId: product.id,
27
- status: INVENTORY_STATUS.TERMINATED,
28
- locationTypes: [LOCATION_TYPE.QUARANTINE, LOCATION_TYPE.RESERVE]
29
- })
30
-
31
- let inventories: Inventory[] = await qb.getMany()
32
-
33
- inventories = inventories.filter(
34
- inventory =>
35
- inventory?.location.type !== LOCATION_TYPE.QUARANTINE || inventory?.location.type !== LOCATION_TYPE.RESERVE
36
- )
37
-
38
- const inventoryQty: number = inventories.reduce((total, currentValue) => {
39
- total += currentValue.qty
40
- return total
41
- }, 0)
42
-
43
- const inventoryLockedQty: number = inventories.reduce((total, currentValue) => {
44
- total += currentValue.lockedQty
45
- return total
46
- }, 0)
47
-
48
- return { sku: product.sku, name: product.name, qty: inventoryQty - inventoryLockedQty }
49
- })
50
- )
51
-
52
- for (var i = 0; i < marketplaceStores.length; i++) {
53
- const marketplaceStore = marketplaceStores[i]
54
-
55
- // get marketplace setting based on marketplace connection
56
- const marketplaceSetting: MarketplaceSetting = await this.trxMgr.getRepository(MarketplaceSetting).findOne({
57
- where: { marketplaceStore: { id: marketplaceStore.id }, category: 'stock_allocation' }
58
- })
59
-
60
- for (var j = 0; j < inventoryProducts.length; j++) {
61
- const inventoryProduct = inventoryProducts[j]
62
- const marketplaceProductVariations: MarketplaceProductVariation[] = await this.trxMgr
63
- .getRepository(MarketplaceProductVariation)
64
- .find({
65
- where: { domain: { id: companyDomain.id }, sku: inventoryProduct.sku },
66
- relations: ['marketplaceProduct', 'marketplaceProduct.marketplaceStore']
67
- })
68
-
69
- let storeProductVariations: MarketplaceProductVariation[] = marketplaceProductVariations.filter(
70
- productVariation => productVariation.marketplaceProduct.marketplaceStore.id === marketplaceStore.id
71
- )
72
-
73
- let percentageValue: number = 100
74
- if (storeProductVariations) {
75
- for (let k = 0; k < storeProductVariations.length; k++) {
76
- let storeProductVariation: MarketplaceProductVariation = storeProductVariations[k]
77
- if (marketplaceSetting) {
78
- percentageValue = parseInt(marketplaceSetting.value)
79
- }
80
-
81
- let remainQty: number = Math.floor(
82
- (inventoryProduct.qty - storeProductVariation.reserveQty) * (percentageValue / 100)
83
- )
84
- if (remainQty < 0) remainQty = 0
85
-
86
- let productVariationLocationId = storeProductVariation?.locationId
87
- let adjustQty: number = remainQty
88
-
89
- if (marketplaceStore.platform === 'shopify') {
90
- let locationIds: any[] = JSON.parse(productVariationLocationId)
91
- adjustQty = adjustQty - storeProductVariation.qty
92
- if (locationIds[0]?.location_id) productVariationLocationId = locationIds[0].location_id
93
- }
94
-
95
- let validMarketplaceDistributors: any[] = []
96
- if (marketplaceStore.marketplaceDistributors) {
97
- validMarketplaceDistributors = marketplaceStore.marketplaceDistributors.filter(
98
- distributor => distributor.status === 'ACTIVE'
99
- )
100
- }
101
-
102
- await StoreAPI.updateStoreProductVariationStock(marketplaceStore, [
103
- {
104
- itemId: storeProductVariation.marketplaceProduct.itemId,
105
- variationId: storeProductVariation.variationId,
106
- variationSku: storeProductVariation.variationSku,
107
- qty: adjustQty,
108
- locationId: productVariationLocationId,
109
- inventoryItemId: storeProductVariation.inventoryItemId,
110
- distributors: validMarketplaceDistributors
111
- }
112
- ])
113
-
114
- storeProductVariation.qty = remainQty
115
- storeProductVariation.updater = this.user
116
- await this.trxMgr.getRepository(MarketplaceProductVariation).save(storeProductVariation)
117
- }
118
- }
119
- }
120
- }
121
- }
122
- }
@@ -1,2 +0,0 @@
1
- export * from './ecommerce-controller'
2
- export * from './sellercraft-controller'
@@ -1,182 +0,0 @@
1
- import { Bizplace } from '@things-factory/biz-base'
2
- import { Sellercraft, SellercraftAPI } from '@things-factory/integration-sellercraft'
3
- import { Product, ProductDetail } from '@things-factory/product-base'
4
- import { Domain } from '@things-factory/shell'
5
- import { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'
6
-
7
- import { ORDER_PRODUCT_STATUS } from '../../constants'
8
- import { OrderProduct } from '../../service/order-product/order-product'
9
- import { ReleaseGood } from '../../service/release-good/release-good'
10
- import { OrderController } from '../order-controller'
11
-
12
- export class SellercraftController extends OrderController {
13
- async packOrder(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {
14
- let sellercraftSetting: any = sellercraft.sellercraftSetting
15
- let disablePackOrder: boolean =
16
- sellercraftSetting?.disablePackOrder && sellercraftSetting?.disablePackOrder == 1 ? true : false
17
-
18
- if (!disablePackOrder) {
19
- const orderProducts: OrderProduct[] = releaseGood.orderProducts
20
- let sellercraftOPs: any[] = []
21
-
22
- sellercraftOPs = orderProducts.map(orderProduct => {
23
- const product: Product = orderProduct.product
24
-
25
- return {
26
- sku: product.sku,
27
- releaseQty: orderProduct.releaseQty,
28
- uom: 'EA'
29
- }
30
- })
31
-
32
- const orderInformation: any = {
33
- accountId: sellercraft.accountId,
34
- orderId: releaseGood.refNo2,
35
- sellercraftOPs
36
- }
37
- const packageId: string = await SellercraftAPI.packMarketplaceOrder(sellercraft, {
38
- ...orderInformation,
39
- context: { state: { domain: this?.domain, user: this?.user } }
40
- })
41
-
42
- releaseGood.packageId = packageId
43
- releaseGood.updater = this.user
44
- }
45
-
46
- return releaseGood
47
- }
48
-
49
- async updateSellercraftStock(sellercraft: Sellercraft, orderProducts: OrderProduct[], type: string): Promise<void> {
50
- let sellercraftSetting: any = sellercraft.sellercraftSetting
51
- let disableUpdateStock: boolean =
52
- sellercraftSetting?.disableUpdateStock && sellercraftSetting?.disableUpdateStock == 1 ? true : false
53
-
54
- if (!disableUpdateStock) {
55
- for (var i = 0; i < orderProducts.length; i++) {
56
- const orderProduct: OrderProduct = orderProducts[i]
57
-
58
- const product: Product = orderProduct.product
59
- const pendingAssignOPs: OrderProduct[] = await this.trxMgr.getRepository(OrderProduct).find({
60
- where: {
61
- domain: { id: this.domain.id },
62
- bizplace: orderProduct.bizplace,
63
- product,
64
- status: ORDER_PRODUCT_STATUS.PENDING_ASSIGN
65
- }
66
- })
67
-
68
- const productDetails: ProductDetail[] = product.productDetails
69
-
70
- let totalUnassignReleaseQty: number = 0
71
- if (pendingAssignOPs?.length) {
72
- totalUnassignReleaseQty = pendingAssignOPs.reduce((total, currentValue) => {
73
- total += currentValue.releaseQty
74
- return total
75
- }, 0)
76
- }
77
-
78
- let qb = await this.trxMgr.getRepository(Inventory).createQueryBuilder('inv')
79
- qb.leftJoinAndSelect('inv.location', 'loc')
80
- .andWhere('"inv"."domain_id" = :domainId')
81
- .andWhere('"inv"."product_id" = :productId')
82
- .andWhere('"inv"."bizplace_id" = :bizplaceId')
83
- .andWhere('"inv"."status" = :status')
84
- .andWhere('"loc"."type" NOT IN (:...locationTypes)')
85
- .setParameters({
86
- domainId: this.domain.id,
87
- productId: product.id,
88
- bizplaceId: orderProduct.bizplace.id,
89
- status: INVENTORY_STATUS.STORED,
90
- locationTypes: [LOCATION_TYPE.QUARANTINE, LOCATION_TYPE.RESERVE]
91
- })
92
-
93
- let inventories: Inventory[] = await qb.getMany()
94
-
95
- let defaultProductDetail: ProductDetail
96
- const sellercraftInvs: any[] = await Promise.all(
97
- inventories.map(async (inventory: Inventory) => {
98
- const inventoryPackingType: string = inventory.packingType
99
- defaultProductDetail = product.productDetails.find(productDetail => productDetail.isDefault)
100
-
101
- let packingSize: number = 1
102
- if (inventoryPackingType !== defaultProductDetail.packingType) {
103
- const unmatchingProductDetail: ProductDetail = product.productDetails.find(
104
- productDetail => productDetail.packingType === inventoryPackingType
105
- )
106
-
107
- packingSize = await this.getChildPackingSize(
108
- productDetails,
109
- defaultProductDetail,
110
- unmatchingProductDetail
111
- )
112
- if (packingSize == 0) packingSize = 1
113
- }
114
-
115
- return { totalQty: inventory.qty * packingSize, totalLockedQty: inventory.lockedQty * packingSize }
116
- })
117
- )
118
-
119
- let inventoryTotalQty: number = sellercraftInvs.reduce((total, currentValue) => {
120
- total += currentValue.totalQty
121
- return total
122
- }, 0)
123
-
124
- let inventoryTotalLockedQty: number = sellercraftInvs.reduce((total, currentValue) => {
125
- total += currentValue.totalLockedQty
126
- return total
127
- }, 0)
128
-
129
- switch (type) {
130
- case 'CONFIRM_ORDER':
131
- inventoryTotalQty -= totalUnassignReleaseQty
132
- break
133
- }
134
-
135
- const sellercraftInv: any[] = [
136
- {
137
- sku: product.sku,
138
- gtin: defaultProductDetail.gtin,
139
- stock: {
140
- quantity_total: inventoryTotalQty,
141
- quantity_reserved: inventoryTotalLockedQty,
142
- unit_of_measure: 'EA'
143
- },
144
- package_weight_gm: defaultProductDetail.nettWeight < 1 ? 1 : defaultProductDetail.nettWeight,
145
- package_dimensions: {
146
- length_mm: defaultProductDetail.depth < 1 ? 1 : defaultProductDetail.depth,
147
- width_mm: defaultProductDetail.width < 1 ? 1 : defaultProductDetail.width,
148
- height_mm: defaultProductDetail.height < 1 ? 1 : defaultProductDetail.height
149
- }
150
- }
151
- ]
152
-
153
- await SellercraftAPI.updateProduct(sellercraft, {
154
- context: { state: { domain: this?.domain, user: this?.user } },
155
- accountId: sellercraft.accountId,
156
- sellercraftInv
157
- })
158
- }
159
- }
160
- }
161
-
162
- async checkExistingReleaseGood(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void> {
163
- const { refNo, refNo2 } = releaseGood
164
-
165
- const sellercraftDomain: Domain = await this.trxMgr.getRepository(Domain).findOne({
166
- where: { id: sellercraft.domainId }
167
- })
168
-
169
- const customerBizplace: Bizplace = await this.trxMgr.getRepository(Bizplace).findOne({
170
- where: { domain: { id: sellercraftDomain.id } }
171
- })
172
-
173
- const foundReleaseGood: ReleaseGood = await this.trxMgr.getRepository(ReleaseGood).findOne({
174
- where: { bizplace: { id: customerBizplace.id }, refNo, refNo2 }
175
- })
176
-
177
- if (foundReleaseGood)
178
- throw new Error(
179
- 'Existing release order found, kindly use update release order API if you tend to update the order information'
180
- )
181
- }
182
- }
@@ -1,2 +0,0 @@
1
- export * from './ecommerce'
2
- export * from './order-controller'