@things-factory/sales-base 4.3.520 → 4.3.523
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.
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.WebspertController = void 0;
|
|
4
4
|
const typeorm_1 = require("typeorm");
|
|
5
5
|
const env_1 = require("@things-factory/env");
|
|
6
|
+
const utils_1 = require("@things-factory/utils");
|
|
6
7
|
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
7
8
|
const constants_1 = require("../../constants");
|
|
8
9
|
const service_1 = require("../../service");
|
|
9
|
-
const utils_1 = require("@things-factory/utils");
|
|
10
10
|
const utils_2 = require("../../utils");
|
|
11
11
|
class WebspertController {
|
|
12
12
|
static async packOrder(releaseGood, domain, user) {
|
|
@@ -15,7 +15,7 @@ class WebspertController {
|
|
|
15
15
|
releaseGood = await trx.getRepository(service_1.ReleaseGood).findOne({ where: { id: releaseGood.id, domain } });
|
|
16
16
|
// let releaseOrder = await trx.getRepository(ReleaseGood).findOne({ refNo: releaseGood.refNo, refNo2: releaseGood.refNo2, refNo3: releaseGood.refNo3, domain })
|
|
17
17
|
// // only recall if releaseGood exists and pack Order fail
|
|
18
|
-
if (!releaseGood && (releaseGood
|
|
18
|
+
if (!releaseGood && !(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.marketPackCallSuccess))
|
|
19
19
|
return false;
|
|
20
20
|
try {
|
|
21
21
|
let results = await warehouse_base_1.WebspertController.sendRequestToAPI('order/set_order_status_to_packed', {
|
|
@@ -41,9 +41,15 @@ class WebspertController {
|
|
|
41
41
|
let roUpdateFields = null;
|
|
42
42
|
let releaseOrder = await trx.getRepository(service_1.ReleaseGood).findOne({
|
|
43
43
|
where: { id: releaseGood.id, domain },
|
|
44
|
-
relations: [
|
|
44
|
+
relations: [
|
|
45
|
+
'bizplace',
|
|
46
|
+
'domain',
|
|
47
|
+
'orderProducts',
|
|
48
|
+
'orderProducts.productDetail',
|
|
49
|
+
'orderProducts.productDetail.product'
|
|
50
|
+
]
|
|
45
51
|
});
|
|
46
|
-
if (releaseOrder) {
|
|
52
|
+
if (releaseOrder && releaseOrder.marketPackCallSuccess) {
|
|
47
53
|
try {
|
|
48
54
|
// capture update fields
|
|
49
55
|
roUpdateFields = {
|
|
@@ -106,7 +112,7 @@ class WebspertController {
|
|
|
106
112
|
const waitTime = 200;
|
|
107
113
|
releaseGood = await (0, typeorm_1.getRepository)(service_1.ReleaseGood).findOne({ where: { id: releaseGood.id, domain } });
|
|
108
114
|
// // only recall if fail
|
|
109
|
-
if (releaseGood
|
|
115
|
+
if (!(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.marketPackCallSuccess)) {
|
|
110
116
|
await this.packOrder(releaseGood, domain, user);
|
|
111
117
|
await (0, utils_1.sleep)(waitTime);
|
|
112
118
|
}
|
|
@@ -131,7 +137,13 @@ async function updateRO(releaseGoodId, roUpdateFields, trxMgr) {
|
|
|
131
137
|
async function generatePackage(releaseGood, packages, user, trxMgr) {
|
|
132
138
|
if (packages.length > 0) {
|
|
133
139
|
packages = await Promise.all(packages.map(async (pkg) => {
|
|
134
|
-
const [items, awbUrl, packageId, trackingNo, transporter] = [
|
|
140
|
+
const [items, awbUrl, packageId, trackingNo, transporter] = [
|
|
141
|
+
pkg.products,
|
|
142
|
+
pkg.awb_link,
|
|
143
|
+
pkg.package_id,
|
|
144
|
+
pkg.tracking_number,
|
|
145
|
+
pkg.transporter
|
|
146
|
+
];
|
|
135
147
|
if (items.length < 1) {
|
|
136
148
|
throw new Error('No items found in package');
|
|
137
149
|
}
|
|
@@ -211,7 +223,9 @@ async function generatePackage(releaseGood, packages, user, trxMgr) {
|
|
|
211
223
|
}
|
|
212
224
|
}
|
|
213
225
|
async function updatePackOrderStatus(trx, releaseOrder, status = false) {
|
|
214
|
-
await trx
|
|
226
|
+
await trx
|
|
227
|
+
.getRepository(service_1.ReleaseGood)
|
|
228
|
+
.update({ id: releaseOrder.id }, { lastMarketPackCall: new Date(), packOrderFail: status });
|
|
215
229
|
return true;
|
|
216
230
|
}
|
|
217
231
|
//# sourceMappingURL=webspert-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webspert-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/webspert-controller.ts"],"names":[],"mappings":";;;AAAA,qCAAqE;AAErE,6CAA4C;
|
|
1
|
+
{"version":3,"file":"webspert-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/webspert-controller.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/sales-base",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.523",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"@things-factory/warehouse-base": "^4.3.520",
|
|
40
40
|
"axios": "1.7.7"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "131e5fb338b48f4b82270b38e5b23bd666f71e12"
|
|
43
43
|
}
|
|
@@ -2,29 +2,22 @@ import { EntityManager, getConnection, getRepository } from 'typeorm'
|
|
|
2
2
|
|
|
3
3
|
import { logger } from '@things-factory/env'
|
|
4
4
|
import { Domain, User } from '@things-factory/shell'
|
|
5
|
-
import {
|
|
6
|
-
|
|
5
|
+
import { sleep } from '@things-factory/utils'
|
|
7
6
|
import { WebspertController as BaseWebspertController } from '@things-factory/warehouse-base'
|
|
8
7
|
|
|
9
8
|
import { ORDER_STATUS } from '../../constants'
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
import { sleep } from '@things-factory/utils'
|
|
9
|
+
import { OrderPackage, OrderPackageItem, OrderProduct, ReleaseGood } from '../../service'
|
|
13
10
|
import { OrderNoGenerator } from '../../utils'
|
|
14
11
|
|
|
15
12
|
export class WebspertController {
|
|
16
|
-
public static async packOrder(
|
|
17
|
-
releaseGood: ReleaseGood,
|
|
18
|
-
domain: Domain,
|
|
19
|
-
user: User
|
|
20
|
-
) {
|
|
13
|
+
public static async packOrder(releaseGood: ReleaseGood, domain: Domain, user: User) {
|
|
21
14
|
await getConnection().transaction(async trx => {
|
|
22
15
|
releaseGood = await trx.getRepository(ReleaseGood).findOne({ where: { id: releaseGood.id, domain } })
|
|
23
16
|
|
|
24
17
|
// let releaseOrder = await trx.getRepository(ReleaseGood).findOne({ refNo: releaseGood.refNo, refNo2: releaseGood.refNo2, refNo3: releaseGood.refNo3, domain })
|
|
25
18
|
|
|
26
19
|
// // only recall if releaseGood exists and pack Order fail
|
|
27
|
-
if (!releaseGood &&
|
|
20
|
+
if (!releaseGood && !releaseGood?.marketPackCallSuccess) return false
|
|
28
21
|
|
|
29
22
|
try {
|
|
30
23
|
let results = await BaseWebspertController.sendRequestToAPI(
|
|
@@ -51,20 +44,22 @@ export class WebspertController {
|
|
|
51
44
|
})
|
|
52
45
|
}
|
|
53
46
|
|
|
54
|
-
public static async fetchPackageAndDocument(
|
|
55
|
-
releaseGood: ReleaseGood,
|
|
56
|
-
domain: Domain,
|
|
57
|
-
user: User
|
|
58
|
-
) {
|
|
47
|
+
public static async fetchPackageAndDocument(releaseGood: ReleaseGood, domain: Domain, user: User) {
|
|
59
48
|
await getConnection().transaction(async trx => {
|
|
60
49
|
let roUpdateFields: Partial<ReleaseGood> = null
|
|
61
50
|
|
|
62
51
|
let releaseOrder = await trx.getRepository(ReleaseGood).findOne({
|
|
63
52
|
where: { id: releaseGood.id, domain },
|
|
64
|
-
relations: [
|
|
53
|
+
relations: [
|
|
54
|
+
'bizplace',
|
|
55
|
+
'domain',
|
|
56
|
+
'orderProducts',
|
|
57
|
+
'orderProducts.productDetail',
|
|
58
|
+
'orderProducts.productDetail.product'
|
|
59
|
+
]
|
|
65
60
|
})
|
|
66
61
|
|
|
67
|
-
if (releaseOrder) {
|
|
62
|
+
if (releaseOrder && releaseOrder.marketPackCallSuccess) {
|
|
68
63
|
try {
|
|
69
64
|
// capture update fields
|
|
70
65
|
roUpdateFields = {
|
|
@@ -103,13 +98,12 @@ export class WebspertController {
|
|
|
103
98
|
releaseGood: ReleaseGood,
|
|
104
99
|
orderPackages: OrderPackage[],
|
|
105
100
|
domain: Domain,
|
|
106
|
-
user: User
|
|
101
|
+
user: User
|
|
107
102
|
) {
|
|
108
103
|
if (orderPackages == null || orderPackages.length == 0) {
|
|
109
104
|
if (releaseGood) {
|
|
110
105
|
orderPackages = await getRepository(OrderPackage).find({ where: { releaseGood } })
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
106
|
+
} else {
|
|
113
107
|
console.error('webspert-controller[initiateShipment]: releaseGood is not found')
|
|
114
108
|
return false
|
|
115
109
|
}
|
|
@@ -143,18 +137,13 @@ export class WebspertController {
|
|
|
143
137
|
})
|
|
144
138
|
}
|
|
145
139
|
|
|
146
|
-
public static async triggerOrderProcesses(
|
|
147
|
-
releaseGood: ReleaseGood,
|
|
148
|
-
domain: Domain,
|
|
149
|
-
user: User,
|
|
150
|
-
triggerRTS: false
|
|
151
|
-
) {
|
|
140
|
+
public static async triggerOrderProcesses(releaseGood: ReleaseGood, domain: Domain, user: User, triggerRTS: false) {
|
|
152
141
|
try {
|
|
153
142
|
const waitTime = 200
|
|
154
143
|
|
|
155
144
|
releaseGood = await getRepository(ReleaseGood).findOne({ where: { id: releaseGood.id, domain } })
|
|
156
145
|
// // only recall if fail
|
|
157
|
-
if (releaseGood
|
|
146
|
+
if (!releaseGood?.marketPackCallSuccess) {
|
|
158
147
|
await this.packOrder(releaseGood, domain, user)
|
|
159
148
|
await sleep(waitTime)
|
|
160
149
|
}
|
|
@@ -167,7 +156,6 @@ export class WebspertController {
|
|
|
167
156
|
}
|
|
168
157
|
|
|
169
158
|
return true
|
|
170
|
-
|
|
171
159
|
} catch (error) {
|
|
172
160
|
logger.error(error)
|
|
173
161
|
}
|
|
@@ -180,16 +168,17 @@ async function updateRO(releaseGoodId, roUpdateFields, trxMgr) {
|
|
|
180
168
|
}
|
|
181
169
|
}
|
|
182
170
|
|
|
183
|
-
async function generatePackage(
|
|
184
|
-
releaseGood: ReleaseGood,
|
|
185
|
-
packages: any[],
|
|
186
|
-
user: User,
|
|
187
|
-
trxMgr: EntityManager
|
|
188
|
-
) {
|
|
171
|
+
async function generatePackage(releaseGood: ReleaseGood, packages: any[], user: User, trxMgr: EntityManager) {
|
|
189
172
|
if (packages.length > 0) {
|
|
190
173
|
packages = await Promise.all(
|
|
191
174
|
packages.map(async pkg => {
|
|
192
|
-
const [items, awbUrl, packageId, trackingNo, transporter] = [
|
|
175
|
+
const [items, awbUrl, packageId, trackingNo, transporter] = [
|
|
176
|
+
pkg.products,
|
|
177
|
+
pkg.awb_link,
|
|
178
|
+
pkg.package_id,
|
|
179
|
+
pkg.tracking_number,
|
|
180
|
+
pkg.transporter
|
|
181
|
+
]
|
|
193
182
|
|
|
194
183
|
if (items.length < 1) {
|
|
195
184
|
throw new Error('No items found in package')
|
|
@@ -235,12 +224,16 @@ async function generatePackage(
|
|
|
235
224
|
if (!sku) {
|
|
236
225
|
throw new Error(`universalIdentifier missing`)
|
|
237
226
|
}
|
|
238
|
-
const matchedOrderPackageItem: OrderPackageItem = orderPackageItems.find(
|
|
227
|
+
const matchedOrderPackageItem: OrderPackageItem = orderPackageItems.find(
|
|
228
|
+
op => op.productDetail.product.sku == sku && op.releaseQty == qty
|
|
229
|
+
)
|
|
239
230
|
|
|
240
231
|
if (matchedOrderPackageItem) {
|
|
241
232
|
return matchedOrderPackageItem
|
|
242
233
|
} else {
|
|
243
|
-
const matchedOrderProduct: OrderProduct = releaseGood.orderProducts.find(
|
|
234
|
+
const matchedOrderProduct: OrderProduct = releaseGood.orderProducts.find(
|
|
235
|
+
op => op.productDetail.product.sku == sku
|
|
236
|
+
)
|
|
244
237
|
return {
|
|
245
238
|
name: OrderNoGenerator.orderPackageItem(),
|
|
246
239
|
orderProduct: matchedOrderProduct,
|
|
@@ -282,6 +275,8 @@ async function generatePackage(
|
|
|
282
275
|
}
|
|
283
276
|
|
|
284
277
|
async function updatePackOrderStatus(trx, releaseOrder, status: Boolean = false) {
|
|
285
|
-
await trx
|
|
278
|
+
await trx
|
|
279
|
+
.getRepository(ReleaseGood)
|
|
280
|
+
.update({ id: releaseOrder.id }, { lastMarketPackCall: new Date(), packOrderFail: status })
|
|
286
281
|
return true
|
|
287
|
-
}
|
|
282
|
+
}
|