@things-factory/operato-mms 4.0.39 → 4.0.43
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.
- package/client/pages/order/logistics/request-ro-popup.js +1 -1
- package/client/pages/order/order-by-store.js +1 -1
- package/client/pages/reports/sales-by-platform/lazada-sales-report.js +108 -17
- package/client/pages/reports/sales-by-platform/shopee-sales-report.js +66 -8
- package/dist-server/graphql/resolvers/interface-with-hub/add-release-order.js +134 -61
- package/dist-server/graphql/resolvers/interface-with-hub/add-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/interface-with-hub/auto-add-release-order.js +68 -62
- package/dist-server/graphql/resolvers/interface-with-hub/auto-add-release-order.js.map +1 -1
- package/dist-server/routers/etrax-router.js +31 -9
- package/dist-server/routers/etrax-router.js.map +1 -1
- package/package.json +62 -62
- package/server/graphql/resolvers/interface-with-hub/add-release-order.ts +148 -64
- package/server/graphql/resolvers/interface-with-hub/auto-add-release-order.ts +70 -63
- package/server/routers/etrax-router.ts +41 -12
- package/translations/en.json +6 -6
- package/translations/ko.json +6 -6
- package/translations/ms.json +6 -6
- package/translations/zh.json +6 -6
|
@@ -2,7 +2,8 @@ import { getRepository } from 'typeorm'
|
|
|
2
2
|
|
|
3
3
|
import { Bizplace, getCustomerBizplaces } from '@things-factory/biz-base'
|
|
4
4
|
import { FulfillmentAPI, FulfillmentCenter } from '@things-factory/integration-fulfillment'
|
|
5
|
-
import { MarketplaceOrder, MarketplaceOrderShipping } from '@things-factory/marketplace-base'
|
|
5
|
+
import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShipping } from '@things-factory/marketplace-base'
|
|
6
|
+
import { Product, ProductBundle } from '@things-factory/product-base'
|
|
6
7
|
import { Domain } from '@things-factory/shell'
|
|
7
8
|
|
|
8
9
|
export const addReleaseOrderResolver = {
|
|
@@ -30,82 +31,165 @@ export const addReleaseOrderResolver = {
|
|
|
30
31
|
relations: [
|
|
31
32
|
'marketplaceOrderItems',
|
|
32
33
|
'marketplaceOrderItems.marketplaceProductVariation',
|
|
33
|
-
'marketplaceOrderItems.marketplaceOrderShipping'
|
|
34
|
+
'marketplaceOrderItems.marketplaceOrderShipping',
|
|
35
|
+
'marketplaceStore'
|
|
34
36
|
]
|
|
35
37
|
})
|
|
36
38
|
|
|
37
|
-
|
|
38
|
-
where: { orderNoRef: marketplaceOrder.orderNo, domain }
|
|
39
|
+
let marketplaceOrderShippings: MarketplaceOrderShipping[] = await getRepository(MarketplaceOrderShipping).find({
|
|
40
|
+
where: { orderNoRef: marketplaceOrder.orderNo, domain },
|
|
41
|
+
order: { subOrderNoRef: 'ASC' },
|
|
42
|
+
relations: ['marketplaceOrderItems']
|
|
39
43
|
})
|
|
40
44
|
|
|
41
45
|
for (var j = 0; j < marketplaceOrderShippings.length; j++) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
.
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
46
|
+
let marketplaceOrderShipping: MarketplaceOrderShipping = marketplaceOrderShippings[j]
|
|
47
|
+
|
|
48
|
+
if (!marketplaceOrderShipping?.releaseOrderId) {
|
|
49
|
+
const date: Date = new Date()
|
|
50
|
+
const releaseDate = `${date.getFullYear()}-${(date.getMonth() + 1)
|
|
51
|
+
.toString()
|
|
52
|
+
.padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`
|
|
53
|
+
|
|
54
|
+
const newReleaseOrder: any = {
|
|
55
|
+
releaseDate,
|
|
56
|
+
type: 'b2c',
|
|
57
|
+
transporter: marketplaceOrder.shippingProvider,
|
|
58
|
+
trackingNo: marketplaceOrderShipping?.ownTrackingNo
|
|
59
|
+
? marketplaceOrderShipping.ownTrackingNo
|
|
60
|
+
: marketplaceOrderShipping.trackingNo,
|
|
61
|
+
packingOption: true,
|
|
62
|
+
exportOption: false,
|
|
63
|
+
ownTransport: true,
|
|
64
|
+
courierOption: true,
|
|
65
|
+
collectionOrderNo: marketplaceOrder.orderNo,
|
|
66
|
+
refNo: marketplaceOrder.orderNo,
|
|
67
|
+
refNo2:
|
|
68
|
+
marketplaceOrderShippings.length > 1 ? marketplaceOrderShipping?.subOrderNoRef : marketplaceOrder.orderNo,
|
|
69
|
+
deliverTo: {
|
|
70
|
+
deliveryAddress1: marketplaceOrderShipping.address1,
|
|
71
|
+
deliveryAddress2: marketplaceOrderShipping.address2,
|
|
72
|
+
deliveryAddress3: marketplaceOrderShipping.address3,
|
|
73
|
+
deliveryAddress4: marketplaceOrderShipping.address4,
|
|
74
|
+
deliveryAddress5: marketplaceOrderShipping.address5,
|
|
75
|
+
attentionTo: marketplaceOrderShipping.attentionTo,
|
|
76
|
+
city: marketplaceOrderShipping.city,
|
|
77
|
+
postalCode: marketplaceOrderShipping.postCode,
|
|
78
|
+
country: marketplaceOrderShipping.country,
|
|
79
|
+
state: marketplaceOrderShipping.state,
|
|
80
|
+
phone1: marketplaceOrderShipping.phone1,
|
|
81
|
+
phone2: marketplaceOrderShipping?.phone2 ? marketplaceOrderShipping.phone2 : null
|
|
82
|
+
},
|
|
83
|
+
marketplaceOrderStatus: marketplaceOrder.status,
|
|
84
|
+
airwayBill: marketplaceOrderShipping?.airwayBill ? marketplaceOrderShipping.airwayBill : null,
|
|
85
|
+
invoice: marketplaceOrderShipping?.invoice ? marketplaceOrderShipping.invoice : null,
|
|
86
|
+
orderInventories: marketplaceOrder.marketplaceOrderItems
|
|
87
|
+
.filter(item => {
|
|
88
|
+
if (item.marketplaceOrderShipping.id === marketplaceOrderShipping.id) {
|
|
89
|
+
return item
|
|
90
|
+
}
|
|
91
|
+
})
|
|
92
|
+
.map((orderItem: any) => {
|
|
93
|
+
const { marketplaceProductVariation: productVariation }: any = orderItem
|
|
94
|
+
return {
|
|
95
|
+
product: {
|
|
96
|
+
sku: productVariation.sku
|
|
97
|
+
},
|
|
98
|
+
releaseQty: orderItem.qty
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
var releaseOrder: any = await FulfillmentAPI.createOutboundOrder(fulfilmentCenter, {
|
|
104
|
+
customerBizplaceId,
|
|
105
|
+
releaseOrder: newReleaseOrder
|
|
106
|
+
})
|
|
107
|
+
|
|
108
|
+
var invoiceProducts = await Promise.all(
|
|
109
|
+
newReleaseOrder.orderInventories.map(async oi => {
|
|
110
|
+
let product: Product = await getRepository(Product).findOne({
|
|
111
|
+
where: { domain, sku: oi.product.sku }
|
|
112
|
+
})
|
|
113
|
+
|
|
114
|
+
if (!product) {
|
|
115
|
+
product = await getRepository(ProductBundle).findOne({
|
|
116
|
+
where: { domain, sku: oi.product.sku }
|
|
117
|
+
})
|
|
87
118
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
119
|
+
|
|
120
|
+
let moi: MarketplaceOrderItem = marketplaceOrder.marketplaceOrderItems.find(
|
|
121
|
+
moi => moi.marketplaceProductVariation.sku === product.sku
|
|
122
|
+
)
|
|
123
|
+
|
|
91
124
|
return {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
125
|
+
sku: product.sku,
|
|
126
|
+
name: product.name,
|
|
127
|
+
description: product.description,
|
|
128
|
+
product: { sku: product.sku },
|
|
129
|
+
qty: oi.releaseQty,
|
|
130
|
+
unitPrice: moi.originalPrice / moi.qty,
|
|
131
|
+
paidPrice: moi.paidPrice / moi.qty
|
|
96
132
|
}
|
|
97
133
|
})
|
|
98
|
-
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
let newInvoice = {
|
|
137
|
+
invoiceProducts,
|
|
138
|
+
releaseGood: { id: releaseOrder.id, name: releaseOrder.name },
|
|
139
|
+
refNo1: newReleaseOrder.refNo.toString(),
|
|
140
|
+
refNo2: newReleaseOrder.refNo2.toString(),
|
|
141
|
+
issuedOn: new Date(),
|
|
142
|
+
from: marketplaceOrder.marketplaceStore.storeName,
|
|
143
|
+
fromContactPhone: '-',
|
|
144
|
+
fromAddress1: '-',
|
|
145
|
+
fromAddress2: null,
|
|
146
|
+
fromAddress3: null,
|
|
147
|
+
fromAddress4: null,
|
|
148
|
+
fromAddress5: null,
|
|
149
|
+
fromPostcode: null,
|
|
150
|
+
fromCity: null,
|
|
151
|
+
fromState: null,
|
|
152
|
+
fromCountry: null,
|
|
153
|
+
deliverTo: newReleaseOrder.deliverTo.attentionTo || '-',
|
|
154
|
+
deliverToPhone: newReleaseOrder.deliverTo.phone1 || '-',
|
|
155
|
+
deliveryAddress1: newReleaseOrder.deliverTo.deliveryAddress1 || '-',
|
|
156
|
+
deliveryAddress2: newReleaseOrder.deliverTo.deliveryAddress2,
|
|
157
|
+
deliveryAddress3: newReleaseOrder.deliverTo.deliveryAddress3,
|
|
158
|
+
deliveryAddress4: newReleaseOrder.deliverTo.deliveryAddress4,
|
|
159
|
+
deliveryAddress5: newReleaseOrder.deliverTo.deliveryAddress5,
|
|
160
|
+
deliveryPostcode: newReleaseOrder.deliverTo.postalCode || '-',
|
|
161
|
+
deliveryCity: newReleaseOrder.deliverTo.city || '-',
|
|
162
|
+
deliveryState: newReleaseOrder.deliverTo.state || '-',
|
|
163
|
+
deliveryCountry: newReleaseOrder.deliverTo.country || '-',
|
|
164
|
+
billTo: newReleaseOrder.deliverTo.attentionTo || '-',
|
|
165
|
+
billToPhone: newReleaseOrder.deliverTo.phone1 || '-',
|
|
166
|
+
billingAddress1: releaseOrder.billingAddress || newReleaseOrder.deliverTo.deliveryAddress1 || '-',
|
|
167
|
+
billingAddress2: null,
|
|
168
|
+
billingAddress3: null,
|
|
169
|
+
billingAddress4: null,
|
|
170
|
+
billingAddress5: null,
|
|
171
|
+
billingPostcode: '-',
|
|
172
|
+
billingCity: '-',
|
|
173
|
+
billingState: '-',
|
|
174
|
+
billingCountry: '-'
|
|
175
|
+
}
|
|
99
176
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
177
|
+
var invoice: any = await FulfillmentAPI.createSalesInvoice(fulfilmentCenter, {
|
|
178
|
+
customerBizplaceId,
|
|
179
|
+
invoice: newInvoice
|
|
180
|
+
})
|
|
181
|
+
|
|
182
|
+
marketplaceOrderShipping.releaseOrderId = releaseOrder.id
|
|
183
|
+
marketplaceOrderShipping.fulfillmentCenter = fulfilmentCenter
|
|
184
|
+
await getRepository(MarketplaceOrderShipping).save(marketplaceOrderShipping)
|
|
185
|
+
}
|
|
104
186
|
}
|
|
105
187
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
188
|
+
if (releaseOrder && releaseOrder?.id) {
|
|
189
|
+
marketplaceOrder.releaseOrderId = releaseOrder.id
|
|
190
|
+
marketplaceOrder.fulfillmentCenter = fulfilmentCenter
|
|
191
|
+
await getRepository(MarketplaceOrder).save(marketplaceOrder)
|
|
192
|
+
}
|
|
109
193
|
}
|
|
110
194
|
}
|
|
111
195
|
}
|
|
@@ -36,77 +36,84 @@ export const autoAddReleaseOrderResolver = {
|
|
|
36
36
|
const marketplaceOrder = marketplaceOrders[i]
|
|
37
37
|
|
|
38
38
|
const marketplaceOrderShippings: MarketplaceOrderShipping[] = await getRepository(MarketplaceOrderShipping).find({
|
|
39
|
-
where: { orderNoRef: marketplaceOrder.orderNo, domain }
|
|
39
|
+
where: { orderNoRef: marketplaceOrder.orderNo, domain },
|
|
40
|
+
order: { subOrderNoRef: 'ASC' }
|
|
40
41
|
})
|
|
41
42
|
|
|
42
43
|
for (var j = 0; j < marketplaceOrderShippings.length; j++) {
|
|
43
|
-
|
|
44
|
+
let marketplaceOrderShipping: MarketplaceOrderShipping = marketplaceOrderShippings[j]
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
.
|
|
48
|
-
|
|
46
|
+
if (!marketplaceOrderShipping?.releaseOrderId) {
|
|
47
|
+
const date: Date = new Date()
|
|
48
|
+
const releaseDate = `${date.getFullYear()}-${(date.getMonth() + 1)
|
|
49
|
+
.toString()
|
|
50
|
+
.padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`
|
|
49
51
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
:
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
52
|
+
const newMarketplaceOrder: any = {
|
|
53
|
+
releaseDate,
|
|
54
|
+
type: 'b2c',
|
|
55
|
+
transporter: marketplaceOrder.shippingProvider,
|
|
56
|
+
trackingNo: marketplaceOrderShipping?.ownTrackingNo
|
|
57
|
+
? marketplaceOrderShipping.ownTrackingNo
|
|
58
|
+
: marketplaceOrderShipping.trackingNo,
|
|
59
|
+
packingOption: true,
|
|
60
|
+
exportOption: false,
|
|
61
|
+
ownTransport: true,
|
|
62
|
+
courierOption: true,
|
|
63
|
+
collectionOrderNo: marketplaceOrder.orderNo,
|
|
64
|
+
refNo: marketplaceOrder.orderNo,
|
|
65
|
+
refNo2:
|
|
66
|
+
marketplaceOrderShippings.length > 1 ? marketplaceOrderShipping?.subOrderNoRef : marketplaceOrder.orderNo,
|
|
67
|
+
deliverTo: {
|
|
68
|
+
deliveryAddress1: marketplaceOrderShipping.address1,
|
|
69
|
+
deliveryAddress2: marketplaceOrderShipping.address2,
|
|
70
|
+
deliveryAddress3: marketplaceOrderShipping.address3,
|
|
71
|
+
deliveryAddress4: marketplaceOrderShipping.address4,
|
|
72
|
+
deliveryAddress5: marketplaceOrderShipping.address5,
|
|
73
|
+
attentionTo: marketplaceOrderShipping.attentionTo,
|
|
74
|
+
city: marketplaceOrderShipping.city,
|
|
75
|
+
postalCode: marketplaceOrderShipping.postCode,
|
|
76
|
+
country: marketplaceOrderShipping.country,
|
|
77
|
+
state: marketplaceOrderShipping.state,
|
|
78
|
+
phone1: marketplaceOrderShipping.phone1,
|
|
79
|
+
phone2: marketplaceOrderShipping?.phone2 ? marketplaceOrderShipping.phone2 : null
|
|
80
|
+
},
|
|
81
|
+
marketplaceOrderStatus: marketplaceOrder.status,
|
|
82
|
+
airwayBill: marketplaceOrderShipping?.airwayBill ? marketplaceOrderShipping.airwayBill : null,
|
|
83
|
+
invoice: marketplaceOrderShipping?.invoice ? marketplaceOrderShipping.invoice : null,
|
|
84
|
+
orderInventories: marketplaceOrder.marketplaceOrderItems
|
|
85
|
+
.filter(item => {
|
|
86
|
+
if (item.marketplaceOrderShipping.id === marketplaceOrderShipping.id) {
|
|
87
|
+
return item
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
.map((orderItem: any) => {
|
|
91
|
+
const { marketplaceProductVariation: productVariation }: any = orderItem
|
|
92
|
+
return {
|
|
93
|
+
product: {
|
|
94
|
+
sku: productVariation.sku
|
|
95
|
+
},
|
|
96
|
+
releaseQty: orderItem.qty
|
|
97
|
+
}
|
|
98
|
+
})
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
var releaseOrder: any = await FulfillmentAPI.createOutboundOrder(fulfilmentCenter, {
|
|
102
|
+
customerBizplaceId,
|
|
103
|
+
releaseOrder: newMarketplaceOrder
|
|
104
|
+
})
|
|
100
105
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
106
|
+
marketplaceOrderShipping.releaseOrderId = releaseOrder.id
|
|
107
|
+
marketplaceOrderShipping.fulfillmentCenter = fulfilmentCenter
|
|
108
|
+
await getRepository(MarketplaceOrderShipping).save(marketplaceOrderShipping)
|
|
109
|
+
}
|
|
105
110
|
}
|
|
106
111
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
112
|
+
if (releaseOrder && releaseOrder?.id) {
|
|
113
|
+
marketplaceOrder.releaseOrderId = releaseOrder.id
|
|
114
|
+
marketplaceOrder.fulfillmentCenter = fulfilmentCenter
|
|
115
|
+
await getRepository(MarketplaceOrder).save(marketplaceOrder)
|
|
116
|
+
}
|
|
110
117
|
}
|
|
111
118
|
}
|
|
112
119
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import Router from 'koa-router'
|
|
2
2
|
import { getRepository } from 'typeorm'
|
|
3
3
|
|
|
4
|
+
import { Bizplace, getCustomerBizplaces } from '@things-factory/biz-base'
|
|
5
|
+
import { FulfillmentAPI, FulfillmentCenter } from '@things-factory/integration-fulfillment'
|
|
4
6
|
import { Etrax, LastMileDelivery } from '@things-factory/integration-lmd'
|
|
5
|
-
import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
|
|
7
|
+
import { MarketplaceStore, MarketplaceTransporter, StoreAPI } from '@things-factory/integration-marketplace'
|
|
6
8
|
import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShipping } from '@things-factory/marketplace-base'
|
|
7
|
-
|
|
8
|
-
//import { MarketplaceOrder, MarketplaceOrderShipping, MarketplaceOrderItem } from "@things-factory/marketplace-base"
|
|
9
|
+
import { Domain } from '@things-factory/shell'
|
|
9
10
|
|
|
10
11
|
const debug = require('debug')('things-factory:jest.config')
|
|
11
12
|
export const etraxRouter = new Router()
|
|
12
13
|
|
|
13
14
|
etraxRouter.post(`/lmd/etrax/status_update`, async (context, next) => {
|
|
14
|
-
const { domain, user } = context.state
|
|
15
15
|
const repo = getRepository(LastMileDelivery)
|
|
16
16
|
const requestBody = context.request.body
|
|
17
17
|
debug('etrax_status_update/context: ', context)
|
|
@@ -22,7 +22,6 @@ etraxRouter.post(`/lmd/etrax/status_update`, async (context, next) => {
|
|
|
22
22
|
const extOrderNo = requestBody.ExtOrderNo
|
|
23
23
|
const trackingNo = requestBody.TrackingNo
|
|
24
24
|
const status = requestBody.Status
|
|
25
|
-
const trackingDate = requestBody.TrackingDate //yyyyMMddHHmmss
|
|
26
25
|
const awbUrl = requestBody.AWBurl
|
|
27
26
|
|
|
28
27
|
const customerCode = bodySourceID
|
|
@@ -63,19 +62,52 @@ etraxRouter.post(`/lmd/etrax/status_update`, async (context, next) => {
|
|
|
63
62
|
if (status === 'TAS') {
|
|
64
63
|
//Update DB if Validate Success
|
|
65
64
|
const orderRepo = getRepository(MarketplaceOrder)
|
|
66
|
-
const orderItemRepo = getRepository(MarketplaceOrderItem)
|
|
67
65
|
const orderShippingRepo = getRepository(MarketplaceOrderShipping)
|
|
68
66
|
|
|
69
67
|
let order: MarketplaceOrder = await orderRepo.findOne({
|
|
70
68
|
where: { orderNo: extOrderNo },
|
|
71
|
-
relations: [
|
|
69
|
+
relations: [
|
|
70
|
+
'domain',
|
|
71
|
+
'marketplaceStore',
|
|
72
|
+
'marketplaceOrderItems',
|
|
73
|
+
'marketplaceOrderItems.marketplaceOrderShipping',
|
|
74
|
+
'marketplaceOrderItems.marketplaceOrderShipping.fulfillmentCenter'
|
|
75
|
+
]
|
|
72
76
|
})
|
|
73
77
|
let orderItems: MarketplaceOrderItem[] = order.marketplaceOrderItems
|
|
74
78
|
|
|
75
79
|
for (const orderItem of orderItems) {
|
|
76
80
|
if (orderItem.marketplaceOrderShipping !== null) {
|
|
77
|
-
const orderShipping = orderItem.marketplaceOrderShipping
|
|
81
|
+
const orderShipping: MarketplaceOrderShipping = orderItem.marketplaceOrderShipping
|
|
82
|
+
const fulfillmentCenter: FulfillmentCenter = orderShipping?.fulfillmentCenter
|
|
83
|
+
const marketplaceStore: MarketplaceStore = order.marketplaceStore
|
|
84
|
+
|
|
78
85
|
const currentDate: Date = new Date()
|
|
86
|
+
|
|
87
|
+
const centerId: string = fulfillmentCenter.centerId
|
|
88
|
+
const warehouseDomain: Domain = await getRepository(Domain).findOne({ where: { subdomain: centerId } })
|
|
89
|
+
const customerBizplaces: Bizplace[] = await getCustomerBizplaces(warehouseDomain)
|
|
90
|
+
const customerBizplaceId: string = customerBizplaces.find(
|
|
91
|
+
customerBizplace => customerBizplace.company.domain.id == order?.domain.id
|
|
92
|
+
).id
|
|
93
|
+
|
|
94
|
+
const marketplaceTransporter: MarketplaceTransporter = await getRepository(MarketplaceTransporter).findOne({
|
|
95
|
+
where: { marketplaceStore },
|
|
96
|
+
relations: ['pickupTransporter']
|
|
97
|
+
})
|
|
98
|
+
|
|
99
|
+
let patch = {
|
|
100
|
+
id: orderShipping.releaseOrderId,
|
|
101
|
+
trackingNo: trackingNo,
|
|
102
|
+
transporter: marketplaceTransporter?.pickupTransporter.name
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
FulfillmentAPI.updateReleaseGoodDetails(fulfillmentCenter, {
|
|
106
|
+
customerBizplaceId,
|
|
107
|
+
releaseOrder: { ...patch },
|
|
108
|
+
shippingOrder: null
|
|
109
|
+
})
|
|
110
|
+
|
|
79
111
|
await orderShippingRepo.update(
|
|
80
112
|
{ id: orderShipping.id },
|
|
81
113
|
{ trackingNo: trackingNo, airwayBill: awbUrl, updatedAt: currentDate }
|
|
@@ -89,7 +121,7 @@ etraxRouter.post(`/lmd/etrax/status_update`, async (context, next) => {
|
|
|
89
121
|
// to-do update tracking no to every marketplaces
|
|
90
122
|
if (marketplaceStore.platform === 'woocommerce') {
|
|
91
123
|
const note = 'http://ets.sntglobal.com/?mod=tracking&action=index&orders=' + trackingNo
|
|
92
|
-
|
|
124
|
+
await StoreAPI.createOrderNote(marketplaceStore, { orderId: order.name, note })
|
|
93
125
|
}
|
|
94
126
|
|
|
95
127
|
const resp = {
|
|
@@ -102,8 +134,5 @@ etraxRouter.post(`/lmd/etrax/status_update`, async (context, next) => {
|
|
|
102
134
|
}
|
|
103
135
|
context.type = 'application/json'
|
|
104
136
|
context.body = JSON.stringify(resp)
|
|
105
|
-
//let orderShipping: MarketplaceOrderShipping = orderItemRepo.find({})
|
|
106
|
-
//await orderItemRepo.save(orderItem)
|
|
107
|
-
//await orderShippingRepo.save(orderShipping)
|
|
108
137
|
}
|
|
109
138
|
})
|
package/translations/en.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"field.variation_id": "variation
|
|
3
|
-
"field.voucher_amt": "voucher
|
|
2
|
+
"field.variation_id": "variation ID",
|
|
3
|
+
"field.voucher_amt": "voucher amount",
|
|
4
4
|
"field.shipping_rebate": "shipping rebate",
|
|
5
5
|
"field.shipping_mode": "shipping mode",
|
|
6
6
|
"field.service_fee": "service fee",
|
|
7
7
|
"field.transaction_fee": "transaction fee",
|
|
8
|
-
"field.total_released_amt": "total release
|
|
8
|
+
"field.total_released_amt": "total release amount",
|
|
9
9
|
"field.voucher_code": "voucher code",
|
|
10
10
|
"field.comission_fee": "comission fee",
|
|
11
11
|
"field.fulfilment_center": "fulfilment center",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"field.ending_on": "ending on",
|
|
63
63
|
"field.eta_date": "eta date",
|
|
64
64
|
"field.from_date": "from date",
|
|
65
|
-
"field.fulfillment_partner": "
|
|
65
|
+
"field.fulfillment_partner": "fulfilment partner",
|
|
66
66
|
"field.grand_total": "grand total",
|
|
67
67
|
"field.import_cargo": "import cargo",
|
|
68
68
|
"field.isku": "ISKU",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"field.packing_type": "packing type",
|
|
93
93
|
"field.paid_price": "paid price",
|
|
94
94
|
"field.pallet_qty": "pallet qty",
|
|
95
|
-
"field.
|
|
95
|
+
"field.payout_date": "payout date",
|
|
96
96
|
"field.payment_fee": "payment fee",
|
|
97
97
|
"field.pickup_date": "pickup date",
|
|
98
98
|
"field.pickup_time_id": "pickup time id",
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
"field.shipping_fee": "shipping fee",
|
|
128
128
|
"field.shipping_provider": "shipping provider",
|
|
129
129
|
"field.sku_name": "sku name",
|
|
130
|
-
"field.sku": "
|
|
130
|
+
"field.sku": "SKU",
|
|
131
131
|
"field.sold_stock": "sold stock",
|
|
132
132
|
"field.started_on": "started on",
|
|
133
133
|
"field.starting_on": "starting on",
|
package/translations/ko.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"field.variation_id": "[ko] variation
|
|
3
|
-
"field.voucher_amt": "[ko] voucher
|
|
2
|
+
"field.variation_id": "[ko] variation ID",
|
|
3
|
+
"field.voucher_amt": "[ko] voucher amount",
|
|
4
4
|
"field.shipping_rebate": "[ko] shipping rebate",
|
|
5
5
|
"field.shipping_mode": "[ko] shipping mode",
|
|
6
6
|
"field.service_fee": "[ko] service fee",
|
|
7
7
|
"field.transaction_fee": "[ko] transaction fee",
|
|
8
|
-
"field.total_released_amt": "[ko] total release
|
|
8
|
+
"field.total_released_amt": "[ko] total release amount",
|
|
9
9
|
"field.voucher_code": "[ko] voucher code",
|
|
10
10
|
"field.comission_fee": "[ko] comission fee",
|
|
11
11
|
"field.fulfilment_center": "[ko] fulfilment center",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"field.ending_on": "[ko] ending on",
|
|
63
63
|
"field.eta_date": "[ko] eta date",
|
|
64
64
|
"field.from_date": "[ko] from date",
|
|
65
|
-
"field.fulfillment_partner": "[ko]
|
|
65
|
+
"field.fulfillment_partner": "[ko] fulfilment partner",
|
|
66
66
|
"field.grand_total": "[ko] grand total",
|
|
67
67
|
"field.import_cargo": "[ko] import cargo",
|
|
68
68
|
"field.isku": "[ko] ISKU",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"field.packing_type": "[ko] packing type",
|
|
93
93
|
"field.paid_price": "[ko] paid price",
|
|
94
94
|
"field.pallet_qty": "[ko] pallet qty",
|
|
95
|
-
"field.
|
|
95
|
+
"field.payout_date": "[ko] payout date",
|
|
96
96
|
"field.payment_fee": "[ko] payment fee",
|
|
97
97
|
"field.pickup_date": "[ko] pickup date",
|
|
98
98
|
"field.pickup_time_id": "[ko] pickup time id",
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
"field.shipping_fee": "[ko] shipping fee",
|
|
128
128
|
"field.shipping_provider": "[ko] shipping provider",
|
|
129
129
|
"field.sku_name": "[ko] sku name",
|
|
130
|
-
"field.sku": "[ko]
|
|
130
|
+
"field.sku": "[ko] SKU",
|
|
131
131
|
"field.sold_stock": "[ko] sold stock",
|
|
132
132
|
"field.started_on": "[ko] started on",
|
|
133
133
|
"field.starting_on": "[ko] starting on",
|
package/translations/ms.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"field.variation_id": "[ms] variation
|
|
3
|
-
"field.voucher_amt": "[ms] voucher
|
|
2
|
+
"field.variation_id": "[ms] variation ID",
|
|
3
|
+
"field.voucher_amt": "[ms] voucher amount",
|
|
4
4
|
"field.shipping_rebate": "[ms] shipping rebate",
|
|
5
5
|
"field.shipping_mode": "[ms] shipping mode",
|
|
6
6
|
"field.service_fee": "[ms] service fee",
|
|
7
7
|
"field.transaction_fee": "[ms] transaction fee",
|
|
8
|
-
"field.total_released_amt": "[ms] total release
|
|
8
|
+
"field.total_released_amt": "[ms] total release amount",
|
|
9
9
|
"field.voucher_code": "[ms] voucher code",
|
|
10
10
|
"field.comission_fee": "[ms] comission fee",
|
|
11
11
|
"field.fulfilment_center": "[ms] fulfilment center",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"field.ending_on": "[ms] ending on",
|
|
63
63
|
"field.eta_date": "[ms] eta date",
|
|
64
64
|
"field.from_date": "[ms] from date",
|
|
65
|
-
"field.fulfillment_partner": "[ms]
|
|
65
|
+
"field.fulfillment_partner": "[ms] fulfilment partner",
|
|
66
66
|
"field.grand_total": "[ms] grand total",
|
|
67
67
|
"field.import_cargo": "[ms] import cargo",
|
|
68
68
|
"field.isku": "[ms] ISKU",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"field.packing_type": "[ms] packing type",
|
|
93
93
|
"field.paid_price": "[ms] paid price",
|
|
94
94
|
"field.pallet_qty": "[ms] pallet qty",
|
|
95
|
-
"field.
|
|
95
|
+
"field.payout_date": "[ms] payout date",
|
|
96
96
|
"field.payment_fee": "[ms] payment fee",
|
|
97
97
|
"field.pickup_date": "[ms] pickup date",
|
|
98
98
|
"field.pickup_time_id": "[ms] pickup time id",
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
"field.shipping_fee": "[ms] shipping fee",
|
|
128
128
|
"field.shipping_provider": "[ms] shipping provider",
|
|
129
129
|
"field.sku_name": "[ms] sku name",
|
|
130
|
-
"field.sku": "[ms]
|
|
130
|
+
"field.sku": "[ms] SKU",
|
|
131
131
|
"field.sold_stock": "[ms] sold stock",
|
|
132
132
|
"field.started_on": "[ms] started on",
|
|
133
133
|
"field.starting_on": "[ms] starting on",
|