@things-factory/worksheet-base 4.3.538 → 4.3.541
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/dist-server/controllers/ecommerce/sellercraft-controller.js +55 -18
- package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
- package/dist-server/controllers/outbound/index.js +7 -1
- package/dist-server/controllers/outbound/index.js.map +1 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +512 -138
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
- package/dist-server/utils/lmd-util.js +213 -124
- package/dist-server/utils/lmd-util.js.map +1 -1
- package/package.json +9 -9
- package/server/controllers/ecommerce/sellercraft-controller.ts +84 -20
- package/server/controllers/outbound/index.ts +9 -1
- package/server/controllers/outbound/picking-worksheet-controller.ts +593 -131
- package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +1 -1
- package/server/utils/lmd-util.ts +271 -140
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.validateLmd = exports.processAwbAndTrackingNo = exports.createLmdParcel = void 0;
|
|
6
|
+
exports.validateLmd = exports.processOrderPackageItems = exports.processOrderPackage = exports.processOrderConsignments = exports.refreshLmdAccessToken = exports.assignBizplaceAddress = exports.processAwbAndTrackingNo = exports.createLmdParcel = void 0;
|
|
7
7
|
require("jspdf");
|
|
8
8
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
9
9
|
const typeorm_1 = require("typeorm");
|
|
@@ -20,7 +20,12 @@ const sales_base_1 = require("@things-factory/sales-base");
|
|
|
20
20
|
const marketplace_base_1 = require("@things-factory/marketplace-base");
|
|
21
21
|
const lambda_const_1 = require("./lambda/lambda-const");
|
|
22
22
|
const index_1 = require("../index");
|
|
23
|
+
const env_2 = require("@things-factory/env");
|
|
23
24
|
const debug = require('debug')('things-factory:worksheet-base:lmd-util');
|
|
25
|
+
const ninjavanConfig = env_2.config.get('lmdIntegrationNinjavan', {});
|
|
26
|
+
const citylinkConfig = env_2.config.get('lmdIntegrationCitylink', {});
|
|
27
|
+
const emsConfig = env_2.config.get('lmdIntegrationEms', {});
|
|
28
|
+
const lmdConfig = env_2.config.get('lmdIntegrationConfig', {});
|
|
24
29
|
// import { SellercraftController } from '../controllers'
|
|
25
30
|
const LMD_BOARDS = {
|
|
26
31
|
// dhl: 'operato-lmd-dhl-awb',
|
|
@@ -31,6 +36,7 @@ async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder)
|
|
|
31
36
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
32
37
|
try {
|
|
33
38
|
let parcelsRequest = [];
|
|
39
|
+
let parcelsRequestV2 = [];
|
|
34
40
|
for (let index = 0; index < releaseGoods.length; index++) {
|
|
35
41
|
let releaseGood = releaseGoods[index];
|
|
36
42
|
try {
|
|
@@ -45,26 +51,16 @@ async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder)
|
|
|
45
51
|
}
|
|
46
52
|
try {
|
|
47
53
|
let lmd = releaseGood.lastMileDelivery;
|
|
48
|
-
let
|
|
54
|
+
let version = (lmd === null || lmd === void 0 ? void 0 : lmd.version) ? lmd.version : 'v1';
|
|
49
55
|
let lmdBizplace = await tx.getRepository(integration_lmd_1.LastMileDeliveryBizplace).findOne({
|
|
50
56
|
where: { lastMileDelivery: lmd.id, bizplace: releaseGood.bizplace },
|
|
51
57
|
relations: ['lastMileDelivery', 'bizplace']
|
|
52
58
|
});
|
|
59
|
+
let bizplace = await assignBizplaceAddress(lmdBizplace, releaseGood, tx);
|
|
60
|
+
let [latitude, longitude] = (_a = bizplace === null || bizplace === void 0 ? void 0 : bizplace.latlng) === null || _a === void 0 ? void 0 : _a.split(',');
|
|
53
61
|
let validLmd = await validateLmd(tx, releaseGood, lmd.id);
|
|
54
62
|
if (!validLmd)
|
|
55
63
|
throw new Error(`Last mile delivery account is not valid. Please contact support team.`);
|
|
56
|
-
if ((lmdBizplace === null || lmdBizplace === void 0 ? void 0 : lmdBizplace.customAddress) == true) {
|
|
57
|
-
bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
|
|
58
|
-
where: { id: lmdBizplace.bizplace.id },
|
|
59
|
-
relations: ['domain']
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
|
|
64
|
-
where: { domain: releaseGood.domain },
|
|
65
|
-
relations: ['domain']
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
64
|
const senderGeoArea = await tx
|
|
69
65
|
.getRepository(geography_1.GeoArea)
|
|
70
66
|
.findOne({ where: { postalCode: bizplace.postalCode } });
|
|
@@ -85,32 +81,12 @@ async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder)
|
|
|
85
81
|
}
|
|
86
82
|
return releaseGood;
|
|
87
83
|
};
|
|
88
|
-
const currentDate = new Date();
|
|
89
|
-
const currentTimestamp = Math.floor(Date.now() / 1000);
|
|
90
84
|
switch (lmd === null || lmd === void 0 ? void 0 : lmd.platform) {
|
|
91
85
|
case 'CITYLINK':
|
|
92
|
-
const expiredDateCitylink = new Date(lmd === null || lmd === void 0 ? void 0 : lmd.expiresIn);
|
|
93
|
-
// Calculate the renewal date as 2 days before the expiry date
|
|
94
|
-
const renewalDateCitylink = new Date(expiredDateCitylink.getTime() - 2 * 24 * 60 * 60 * 1000);
|
|
95
|
-
if (currentDate >= renewalDateCitylink) {
|
|
96
|
-
const lastMileDeliveryCitylink = await (0, integration_lmd_1.getAccessTokenCityLink)(lmd === null || lmd === void 0 ? void 0 : lmd.id, { state: { tx } });
|
|
97
|
-
lmd.accessToken = lastMileDeliveryCitylink.accessToken;
|
|
98
|
-
}
|
|
99
86
|
releaseGood = fnSplitAddress(releaseGood);
|
|
100
|
-
break;
|
|
101
87
|
case 'NINJA_VAN':
|
|
102
88
|
case 'EMS':
|
|
103
|
-
|
|
104
|
-
if (currentTimestamp >= renewalTimestamp) {
|
|
105
|
-
let lastMileDelivery;
|
|
106
|
-
if ((lmd === null || lmd === void 0 ? void 0 : lmd.platform) === 'NINJA_VAN') {
|
|
107
|
-
lastMileDelivery = await (0, integration_lmd_1.refreshAccessTokenNinjavan)(lmd === null || lmd === void 0 ? void 0 : lmd.id, { state: { tx } });
|
|
108
|
-
}
|
|
109
|
-
else if ((lmd === null || lmd === void 0 ? void 0 : lmd.platform) === 'EMS') {
|
|
110
|
-
lastMileDelivery = await (0, integration_lmd_1.getAccessTokenEfmx)(lmd === null || lmd === void 0 ? void 0 : lmd.id, lmd === null || lmd === void 0 ? void 0 : lmd.clientId, lmd === null || lmd === void 0 ? void 0 : lmd.secretKey, { state: { tx } });
|
|
111
|
-
}
|
|
112
|
-
lmd.accessToken = lastMileDelivery.accessToken;
|
|
113
|
-
}
|
|
89
|
+
lmd = await refreshLmdAccessToken(lmd, tx);
|
|
114
90
|
break;
|
|
115
91
|
case 'DHL_EXPRESS':
|
|
116
92
|
releaseGood = fnSplitAddress(releaseGood);
|
|
@@ -118,7 +94,6 @@ async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder)
|
|
|
118
94
|
default:
|
|
119
95
|
break;
|
|
120
96
|
}
|
|
121
|
-
let [latitude, longitude] = (_a = bizplace === null || bizplace === void 0 ? void 0 : bizplace.latlng) === null || _a === void 0 ? void 0 : _a.split(',');
|
|
122
97
|
let data = {
|
|
123
98
|
courier: lmd.platform,
|
|
124
99
|
clientId: lmd === null || lmd === void 0 ? void 0 : lmd.clientId,
|
|
@@ -133,6 +108,7 @@ async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder)
|
|
|
133
108
|
remark: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.remark,
|
|
134
109
|
prefix: lmd === null || lmd === void 0 ? void 0 : lmd.prefix,
|
|
135
110
|
scope: lmd === null || lmd === void 0 ? void 0 : lmd.scope,
|
|
111
|
+
mps: lmd.mps,
|
|
136
112
|
//pass releaseGoodId for rg logs
|
|
137
113
|
releaseGoodId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.id,
|
|
138
114
|
releaseGoodNo: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.name,
|
|
@@ -140,6 +116,7 @@ async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder)
|
|
|
140
116
|
custRef: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.refNo2,
|
|
141
117
|
cod: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.codOption,
|
|
142
118
|
paidAmount: (_b = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.paidAmount) === null || _b === void 0 ? void 0 : _b.toString(),
|
|
119
|
+
source: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.source,
|
|
143
120
|
recipient: releaseGood.attentionTo,
|
|
144
121
|
phone: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone1) ? releaseGood.phone1 : (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone2) ? releaseGood.phone2 : '',
|
|
145
122
|
email: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.email) || (lmd.platform == 'AIRSPEED' ? 'N/A' : 'support@hatio.asia'),
|
|
@@ -169,41 +146,20 @@ async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder)
|
|
|
169
146
|
pLongitude: longitude,
|
|
170
147
|
handoverMethod: 1
|
|
171
148
|
};
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
length: ((_u = (_t = opi === null || opi === void 0 ? void 0 : opi.orderProduct) === null || _t === void 0 ? void 0 : _t.productDetail) === null || _u === void 0 ? void 0 : _u.depth) || ' ',
|
|
187
|
-
height: ((_w = (_v = opi === null || opi === void 0 ? void 0 : opi.orderProduct) === null || _v === void 0 ? void 0 : _v.productDetail) === null || _w === void 0 ? void 0 : _w.height) || ' '
|
|
188
|
-
};
|
|
189
|
-
if (lmd.platform == 'SAPX' || lmd.platform == 'VIETTEL_POST') {
|
|
190
|
-
if (lengthUnit == 'mm' || lengthUnit == 'm') {
|
|
191
|
-
;
|
|
192
|
-
(items.width = (_x = (items.width / 10)) === null || _x === void 0 ? void 0 : _x.toString()),
|
|
193
|
-
(items.length = (_y = (items.length / 10)) === null || _y === void 0 ? void 0 : _y.toString()),
|
|
194
|
-
(items.height = (_z = (items.height / 10)) === null || _z === void 0 ? void 0 : _z.toString());
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
;
|
|
198
|
-
(items.width = (_0 = items.width) === null || _0 === void 0 ? void 0 : _0.toString()),
|
|
199
|
-
(items.length = (_1 = items.length) === null || _1 === void 0 ? void 0 : _1.toString()),
|
|
200
|
-
(items.height = (_2 = items.height) === null || _2 === void 0 ? void 0 : _2.toString());
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
return items;
|
|
204
|
-
}) });
|
|
205
|
-
});
|
|
206
|
-
parcelsRequest.push(...packagesData);
|
|
149
|
+
if (version == 'v2') {
|
|
150
|
+
let unprocessedConsignments = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.orderConsignments.map(oc => (Object.assign(Object.assign({}, oc), { orderPackages: oc.orderPackages.filter(op => !op.parcelId) }))).filter(oc => oc.orderPackages.length > 0);
|
|
151
|
+
let consignmentData = await processOrderConsignments(unprocessedConsignments, data, lmd.platform);
|
|
152
|
+
parcelsRequestV2.push(...consignmentData);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
// for version1 lmd endpoint
|
|
156
|
+
let unprocessedOrderPackages = releaseGood.orderPackages.filter(op => !op.parcelId);
|
|
157
|
+
let packagesData = await Promise.all(unprocessedOrderPackages.map(async (op) => {
|
|
158
|
+
const items = await Promise.all(op.orderPackageItems.map(opi => processOrderPackageItems(opi, lmd.platform)));
|
|
159
|
+
return Object.assign(Object.assign({}, data), { refNo: op.name, items: items });
|
|
160
|
+
}));
|
|
161
|
+
parcelsRequest.push(...packagesData);
|
|
162
|
+
}
|
|
207
163
|
}
|
|
208
164
|
catch (e) {
|
|
209
165
|
(0, sales_base_1.createReleaseGoodLog)('create-lmd-parcel', e.message, releaseGood.id, {
|
|
@@ -212,10 +168,14 @@ async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder)
|
|
|
212
168
|
throw e;
|
|
213
169
|
}
|
|
214
170
|
}
|
|
171
|
+
if (parcelsRequestV2 && parcelsRequestV2.length > 0) {
|
|
172
|
+
await lmdIntegrationV2(parcelsRequestV2, releaseGoods, tx, domain, user, marketplaceOrder);
|
|
173
|
+
}
|
|
215
174
|
if (parcelsRequest && parcelsRequest.length > 0) {
|
|
216
175
|
let orderPackages;
|
|
176
|
+
let res;
|
|
217
177
|
try {
|
|
218
|
-
|
|
178
|
+
res = await integration_lmd_1.LastMileAPI.createParcel(Object.assign(Object.assign({}, releaseGoods[0].lastMileDelivery), { platform: lmdConfig.version.v1 }), parcelsRequest);
|
|
219
179
|
for (let parcel of res) {
|
|
220
180
|
let courier = parcel.transporter;
|
|
221
181
|
let transporter = courier.replace(/_/g, ' ');
|
|
@@ -260,16 +220,70 @@ async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder)
|
|
|
260
220
|
}
|
|
261
221
|
}
|
|
262
222
|
exports.createLmdParcel = createLmdParcel;
|
|
223
|
+
async function lmdIntegrationV2(parcelsRequestV2, releaseGoods, tx, domain, user, marketplaceOrder) {
|
|
224
|
+
let orderPackages;
|
|
225
|
+
let responses;
|
|
226
|
+
let packages;
|
|
227
|
+
let orderPackageIds = [];
|
|
228
|
+
try {
|
|
229
|
+
responses = await integration_lmd_1.LastMileAPI.createParcelV2(Object.assign(Object.assign({}, releaseGoods[0].lastMileDelivery), { platform: lmdConfig.version.v2 }), parcelsRequestV2);
|
|
230
|
+
// diff way return data
|
|
231
|
+
for (let response of responses) {
|
|
232
|
+
let courier = response.transporter;
|
|
233
|
+
let transporter = courier.replace(/_/g, ' ');
|
|
234
|
+
packages = response.packages;
|
|
235
|
+
//update consignmentNumber @orderConsignmentNo in orderConsignment
|
|
236
|
+
await tx
|
|
237
|
+
.getRepository(sales_base_1.OrderConsignment)
|
|
238
|
+
.update({ name: response.refNo }, { consignmentNumber: response.shipmentID });
|
|
239
|
+
for (let op of packages) {
|
|
240
|
+
await tx
|
|
241
|
+
.getRepository(sales_base_1.OrderPackage)
|
|
242
|
+
.update({ name: op.refNo }, { parcelId: op.parcelId, transporter: transporter });
|
|
243
|
+
orderPackageIds.push(op.refNo);
|
|
244
|
+
(0, sales_base_1.createReleaseGoodLog)('lmd-create-parcel', JSON.stringify({ parcelId: op.parcelId, parcelMessage: response.message }), response === null || response === void 0 ? void 0 : response.releaseGoodId, {
|
|
245
|
+
state: { domain: null }
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
const qb = tx
|
|
250
|
+
.getRepository(sales_base_1.OrderPackage)
|
|
251
|
+
.createQueryBuilder('op')
|
|
252
|
+
.innerJoinAndSelect('op.releaseGood', 'rg')
|
|
253
|
+
.innerJoinAndSelect('rg.domain', 'd')
|
|
254
|
+
.innerJoinAndSelect('rg.bizplace', 'b')
|
|
255
|
+
.innerJoinAndSelect('b.company', 'c')
|
|
256
|
+
.innerJoinAndSelect('c.domain', 'companyDomain')
|
|
257
|
+
.innerJoinAndSelect('b.domain', 'd2')
|
|
258
|
+
.leftJoinAndSelect('rg.lastMileDelivery', 'lmd')
|
|
259
|
+
.where('op.name IN (:...orderPackageIds)', {
|
|
260
|
+
orderPackageIds: orderPackageIds
|
|
261
|
+
});
|
|
262
|
+
orderPackages = await qb.getMany();
|
|
263
|
+
await processAwbAndTrackingNo(orderPackages, tx, domain, user, marketplaceOrder);
|
|
264
|
+
}
|
|
265
|
+
catch (error) {
|
|
266
|
+
parcelsRequestV2.map(rg => {
|
|
267
|
+
(0, sales_base_1.createReleaseGoodLog)('error-lmd-create-parcel', error.message, rg.releaseGoodId, {
|
|
268
|
+
state: { domain: null }
|
|
269
|
+
});
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
}
|
|
263
273
|
async function processAwbAndTrackingNo(orderPackages, tx, domain, user, marketplaceOrder) {
|
|
264
274
|
var _a, _b, _c, _d;
|
|
265
275
|
const ecommerceCtrl = new index_1.EcommerceController(tx, domain, user);
|
|
266
276
|
let releaseOrders = [];
|
|
267
277
|
for (let orderPackage of orderPackages) {
|
|
268
|
-
// await getConnection().transaction(async tx => {
|
|
269
278
|
try {
|
|
279
|
+
let awbRes;
|
|
270
280
|
let releaseGood = orderPackage.releaseGood;
|
|
271
|
-
let
|
|
272
|
-
|
|
281
|
+
let lmdVersion = releaseGood.lastMileDelivery.version;
|
|
282
|
+
const platform = lmdConfig.version[lmdVersion === 'v2' ? 'v2' : 'v1'];
|
|
283
|
+
awbRes = await integration_lmd_1.LastMileAPI[lmdVersion === 'v2' ? 'getAwbV2' : 'getAwb'](Object.assign(Object.assign({}, orderPackage.releaseGood.lastMileDelivery), { platform }), {
|
|
284
|
+
parcelId: orderPackage.parcelId,
|
|
285
|
+
staging: (_a = orderPackage.releaseGood.lastMileDelivery) === null || _a === void 0 ? void 0 : _a.staging
|
|
286
|
+
});
|
|
273
287
|
let awbCustomize = (_b = orderPackage.releaseGood.lastMileDelivery) === null || _b === void 0 ? void 0 : _b.awbCustomize;
|
|
274
288
|
if (awbRes) {
|
|
275
289
|
let awbContent;
|
|
@@ -390,41 +404,34 @@ async function processAwbAndTrackingNo(orderPackages, tx, domain, user, marketpl
|
|
|
390
404
|
catch (e) {
|
|
391
405
|
let releaseGoodId = orderPackage.releaseGood.id;
|
|
392
406
|
env_1.logger.error(e);
|
|
393
|
-
(0, sales_base_1.createReleaseGoodLog)('[processAwbAndTrackingNo]error-process-awb-and-tracking-no', e, releaseGoodId, {
|
|
407
|
+
(0, sales_base_1.createReleaseGoodLog)('[processAwbAndTrackingNo]error-process-awb-and-tracking-no', e.message, releaseGoodId, {
|
|
394
408
|
state: { domain: null }
|
|
395
409
|
});
|
|
396
410
|
}
|
|
397
411
|
}
|
|
398
|
-
// })
|
|
399
412
|
}
|
|
400
413
|
exports.processAwbAndTrackingNo = processAwbAndTrackingNo;
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
// }
|
|
423
|
-
// }
|
|
424
|
-
// } catch (e) {
|
|
425
|
-
// logger.error(`[get-lmd-awb-sof-trigger]: ${e}`)
|
|
426
|
-
// }
|
|
427
|
-
//
|
|
414
|
+
function dateTime() {
|
|
415
|
+
const currentDate = new Date();
|
|
416
|
+
const timezoneGMT = 8 * 60; // 8 hours ahead in minutes
|
|
417
|
+
currentDate.setMinutes(currentDate.getMinutes() + timezoneGMT);
|
|
418
|
+
const yy = currentDate.getFullYear();
|
|
419
|
+
const mm = String(currentDate.getMonth() + 1).padStart(2, '0');
|
|
420
|
+
const dd = String(currentDate.getDate()).padStart(2, '0');
|
|
421
|
+
const hrs = String(currentDate.getHours()).padStart(2, '0');
|
|
422
|
+
const mins = String(currentDate.getMinutes()).padStart(2, '0');
|
|
423
|
+
const secs = String(currentDate.getSeconds()).padStart(2, '0');
|
|
424
|
+
const dateTime = `${yy}-${mm}-${dd}T${hrs}:${mins}:${secs}GMT+08:00`;
|
|
425
|
+
return dateTime;
|
|
426
|
+
}
|
|
427
|
+
function formatDate(isoDateString) {
|
|
428
|
+
const date = new Date(isoDateString);
|
|
429
|
+
const day = date.getDate();
|
|
430
|
+
const monthNames = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'];
|
|
431
|
+
const month = monthNames[date.getMonth()];
|
|
432
|
+
const year = date.getFullYear();
|
|
433
|
+
return `${day} ${month} ${year}`;
|
|
434
|
+
}
|
|
428
435
|
async function processCallback(packageInfo) {
|
|
429
436
|
try {
|
|
430
437
|
let response = await (0, node_fetch_1.default)(`${packageInfo.integration.urlCallback}`, {
|
|
@@ -453,19 +460,6 @@ async function processCallback(packageInfo) {
|
|
|
453
460
|
env_1.logger.error(e);
|
|
454
461
|
}
|
|
455
462
|
}
|
|
456
|
-
function dateTime() {
|
|
457
|
-
const currentDate = new Date();
|
|
458
|
-
const timezoneGMT = 8 * 60; // 8 hours ahead in minutes
|
|
459
|
-
currentDate.setMinutes(currentDate.getMinutes() + timezoneGMT);
|
|
460
|
-
const yy = currentDate.getFullYear();
|
|
461
|
-
const mm = String(currentDate.getMonth() + 1).padStart(2, '0');
|
|
462
|
-
const dd = String(currentDate.getDate()).padStart(2, '0');
|
|
463
|
-
const hrs = String(currentDate.getHours()).padStart(2, '0');
|
|
464
|
-
const mins = String(currentDate.getMinutes()).padStart(2, '0');
|
|
465
|
-
const secs = String(currentDate.getSeconds()).padStart(2, '0');
|
|
466
|
-
const dateTime = `${yy}-${mm}-${dd}T${hrs}:${mins}:${secs}GMT+08:00`;
|
|
467
|
-
return dateTime;
|
|
468
|
-
}
|
|
469
463
|
async function constructAwb(orderPackage, awbRes) {
|
|
470
464
|
const releaseOrder = orderPackage.releaseGood;
|
|
471
465
|
let { shipmentID, deliveryConfirmationNo, deliveryDepotCode, primarySortCode, secondarySortCode, recipient, sender, tracking_no, courier, routingCode, accountNo, totalWeight } = awbRes;
|
|
@@ -562,14 +556,109 @@ async function uploadInvoiceToS3(result, orderPackage) {
|
|
|
562
556
|
});
|
|
563
557
|
return invoice;
|
|
564
558
|
}
|
|
565
|
-
function
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
559
|
+
async function assignBizplaceAddress(lmdBizplace, releaseGood, tx) {
|
|
560
|
+
let bizplace;
|
|
561
|
+
if ((lmdBizplace === null || lmdBizplace === void 0 ? void 0 : lmdBizplace.customAddress) == true) {
|
|
562
|
+
bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
|
|
563
|
+
where: { id: lmdBizplace.bizplace.id },
|
|
564
|
+
relations: ['domain']
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
else {
|
|
568
|
+
bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
|
|
569
|
+
where: { domain: releaseGood.domain },
|
|
570
|
+
relations: ['domain']
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
return bizplace;
|
|
574
|
+
}
|
|
575
|
+
exports.assignBizplaceAddress = assignBizplaceAddress;
|
|
576
|
+
async function refreshLmdAccessToken(lmd, tx) {
|
|
577
|
+
const platform = lmd.platform;
|
|
578
|
+
const currentDate = new Date();
|
|
579
|
+
const currentTimestamp = Math.floor(Date.now() / 1000);
|
|
580
|
+
switch (platform) {
|
|
581
|
+
case 'CITYLINK':
|
|
582
|
+
const expiredDateCitylink = new Date(lmd === null || lmd === void 0 ? void 0 : lmd.expiresIn);
|
|
583
|
+
// Calculate the renewal date as 2 days before the expiry date
|
|
584
|
+
const renewalDateCitylink = new Date(expiredDateCitylink.getTime() - 2 * 24 * 60 * 60 * 1000);
|
|
585
|
+
if (currentDate >= renewalDateCitylink) {
|
|
586
|
+
const lastMileDeliveryCitylink = await (0, integration_lmd_1.getAccessTokenCityLink)(lmd === null || lmd === void 0 ? void 0 : lmd.id, { state: { tx } });
|
|
587
|
+
lmd.accessToken = lastMileDeliveryCitylink.accessToken;
|
|
588
|
+
}
|
|
589
|
+
break;
|
|
590
|
+
case 'NINJA_VAN':
|
|
591
|
+
case 'EMS':
|
|
592
|
+
const renewalTimestamp = (lmd === null || lmd === void 0 ? void 0 : lmd.expiresIn) - 12 * 60 * 60; // Renew 12 hr before expiry
|
|
593
|
+
if (currentTimestamp >= renewalTimestamp) {
|
|
594
|
+
let lastMileDelivery;
|
|
595
|
+
if (platform === 'NINJA_VAN') {
|
|
596
|
+
lastMileDelivery = await (0, integration_lmd_1.refreshAccessTokenNinjavan)(lmd === null || lmd === void 0 ? void 0 : lmd.id, { state: { tx } });
|
|
597
|
+
}
|
|
598
|
+
else if (platform === 'EMS') {
|
|
599
|
+
lastMileDelivery = await (0, integration_lmd_1.getAccessTokenEfmx)(lmd === null || lmd === void 0 ? void 0 : lmd.id, lmd === null || lmd === void 0 ? void 0 : lmd.clientId, lmd === null || lmd === void 0 ? void 0 : lmd.secretKey, { state: { tx } });
|
|
600
|
+
}
|
|
601
|
+
lmd.accessToken = lastMileDelivery.accessToken;
|
|
602
|
+
}
|
|
603
|
+
break;
|
|
604
|
+
default:
|
|
605
|
+
break;
|
|
606
|
+
}
|
|
607
|
+
return lmd;
|
|
608
|
+
}
|
|
609
|
+
exports.refreshLmdAccessToken = refreshLmdAccessToken;
|
|
610
|
+
async function processOrderConsignments(orderConsignments, data, platform) {
|
|
611
|
+
return Promise.all(orderConsignments.map(async (oc) => {
|
|
612
|
+
const packages = await Promise.all(oc.orderPackages.map(op => processOrderPackage(op, platform)));
|
|
613
|
+
return Object.assign(Object.assign({}, data), { refNo: oc.name, packages });
|
|
614
|
+
}));
|
|
615
|
+
}
|
|
616
|
+
exports.processOrderConsignments = processOrderConsignments;
|
|
617
|
+
async function processOrderPackage(orderPackage, platform) {
|
|
618
|
+
const items = await Promise.all(orderPackage.orderPackageItems.map(opi => processOrderPackageItems(opi, platform)));
|
|
619
|
+
return {
|
|
620
|
+
refNo: orderPackage.name,
|
|
621
|
+
items
|
|
622
|
+
};
|
|
623
|
+
}
|
|
624
|
+
exports.processOrderPackage = processOrderPackage;
|
|
625
|
+
async function processOrderPackageItems(opi, platform) {
|
|
626
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
|
|
627
|
+
try {
|
|
628
|
+
let lengthUnit = ((_d = (_c = (_b = (_a = opi === null || opi === void 0 ? void 0 : opi.orderProduct) === null || _a === void 0 ? void 0 : _a.productDetail) === null || _b === void 0 ? void 0 : _b.lengthUnit) === null || _c === void 0 ? void 0 : _c.toString()) === null || _d === void 0 ? void 0 : _d.toLowerCase()) || '';
|
|
629
|
+
let items = {
|
|
630
|
+
quantity: ((_e = opi === null || opi === void 0 ? void 0 : opi.releaseQty) === null || _e === void 0 ? void 0 : _e.toString()) || ' ',
|
|
631
|
+
item: ((_f = opi === null || opi === void 0 ? void 0 : opi.orderProduct) === null || _f === void 0 ? void 0 : _f.product.name.slice(0, 49).trim()) || ' ',
|
|
632
|
+
sku: ((_g = opi === null || opi === void 0 ? void 0 : opi.orderProduct) === null || _g === void 0 ? void 0 : _g.product.sku) || ' ',
|
|
633
|
+
price: ((_j = (_h = opi === null || opi === void 0 ? void 0 : opi.orderProduct) === null || _h === void 0 ? void 0 : _h.paidAmount) === null || _j === void 0 ? void 0 : _j.toString()) ||
|
|
634
|
+
((_m = ((opi === null || opi === void 0 ? void 0 : opi.releaseQty) * ((_l = (_k = opi === null || opi === void 0 ? void 0 : opi.orderProduct) === null || _k === void 0 ? void 0 : _k.productDetail) === null || _l === void 0 ? void 0 : _l.costPrice) || 0)) === null || _m === void 0 ? void 0 : _m.toString()) ||
|
|
635
|
+
' ',
|
|
636
|
+
weight: ((_q = (_p = (_o = opi === null || opi === void 0 ? void 0 : opi.orderProduct) === null || _o === void 0 ? void 0 : _o.productDetail) === null || _p === void 0 ? void 0 : _p.grossWeight) === null || _q === void 0 ? void 0 : _q.toString()) || ' ',
|
|
637
|
+
width: ((_s = (_r = opi === null || opi === void 0 ? void 0 : opi.orderProduct) === null || _r === void 0 ? void 0 : _r.productDetail) === null || _s === void 0 ? void 0 : _s.width) || ' ',
|
|
638
|
+
length: ((_u = (_t = opi === null || opi === void 0 ? void 0 : opi.orderProduct) === null || _t === void 0 ? void 0 : _t.productDetail) === null || _u === void 0 ? void 0 : _u.depth) || ' ',
|
|
639
|
+
height: ((_w = (_v = opi === null || opi === void 0 ? void 0 : opi.orderProduct) === null || _v === void 0 ? void 0 : _v.productDetail) === null || _w === void 0 ? void 0 : _w.height) || ' '
|
|
640
|
+
};
|
|
641
|
+
if (platform == 'SAPX' || platform == 'VIETTEL_POST') {
|
|
642
|
+
if (lengthUnit == 'mm' || lengthUnit == 'm') {
|
|
643
|
+
;
|
|
644
|
+
(items.width = (_x = (items.width / 10)) === null || _x === void 0 ? void 0 : _x.toString()),
|
|
645
|
+
(items.length = (_y = (items.length / 10)) === null || _y === void 0 ? void 0 : _y.toString()),
|
|
646
|
+
(items.height = (_z = (items.height / 10)) === null || _z === void 0 ? void 0 : _z.toString());
|
|
647
|
+
}
|
|
648
|
+
else {
|
|
649
|
+
;
|
|
650
|
+
(items.width = (_0 = items.width) === null || _0 === void 0 ? void 0 : _0.toString()),
|
|
651
|
+
(items.length = (_1 = items.length) === null || _1 === void 0 ? void 0 : _1.toString()),
|
|
652
|
+
(items.height = (_2 = items.height) === null || _2 === void 0 ? void 0 : _2.toString());
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
return items;
|
|
656
|
+
}
|
|
657
|
+
catch (e) {
|
|
658
|
+
env_1.logger.error(`[process-order-package-items]: ${e}`);
|
|
659
|
+
}
|
|
572
660
|
}
|
|
661
|
+
exports.processOrderPackageItems = processOrderPackageItems;
|
|
573
662
|
async function validateLmd(tx, releaseGood, lmdId) {
|
|
574
663
|
try {
|
|
575
664
|
let lmdResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lmd-util.js","sourceRoot":"","sources":["../../server/utils/lmd-util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lmd-util.js","sourceRoot":"","sources":["../../server/utils/lmd-util.ts"],"names":[],"mappings":"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"}
|