@things-factory/worksheet-base 4.3.343 → 4.3.345

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.
@@ -13,11 +13,12 @@ const biz_base_1 = require("@things-factory/biz-base");
13
13
  const board_service_1 = require("@things-factory/board-service");
14
14
  const env_1 = require("@things-factory/env");
15
15
  const geography_1 = require("@things-factory/geography");
16
+ require("jspdf");
16
17
  const integration_base_1 = require("@things-factory/integration-base");
17
18
  const integration_lmd_1 = require("@things-factory/integration-lmd");
18
- const marketplace_base_1 = require("@things-factory/marketplace-base");
19
19
  const sales_base_1 = require("@things-factory/sales-base");
20
20
  const index_1 = require("../index");
21
+ const marketplace_base_1 = require("@things-factory/marketplace-base");
21
22
  const debug = require('debug')('things-factory:worksheet-base:lmd-util');
22
23
  // import { SellercraftController } from '../controllers'
23
24
  const LMD_BOARDS = {
@@ -25,7 +26,7 @@ const LMD_BOARDS = {
25
26
  airspeed: 'operato-lmd-airspeed-awb'
26
27
  };
27
28
  async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder) {
28
- var _a, _b, _c, _d, _e, _f, _g;
29
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
29
30
  try {
30
31
  let parcelsRequest = [];
31
32
  for (let releaseGood of releaseGoods) {
@@ -40,6 +41,7 @@ async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder)
40
41
  const recipientGeoArea = await tx
41
42
  .getRepository(geography_1.GeoArea)
42
43
  .findOne({ where: { postalCode: releaseGood.postalCode } });
44
+ const currentTimestamp = Math.floor(Date.now() / 1000);
43
45
  if ((lmd === null || lmd === void 0 ? void 0 : lmd.platform) == 'NINJA_VAN') {
44
46
  const currentTimestamp = Math.floor(Date.now() / 1000);
45
47
  if (currentTimestamp >= (lmd === null || lmd === void 0 ? void 0 : lmd.expiresIn)) {
@@ -47,6 +49,22 @@ async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder)
47
49
  lmd.accessToken = lastMileDelivery.accessToken;
48
50
  }
49
51
  }
52
+ if ((lmd === null || lmd === void 0 ? void 0 : lmd.platform) == 'EMS') {
53
+ if (currentTimestamp >= (lmd === null || lmd === void 0 ? void 0 : lmd.expiresIn) || (lmd === null || lmd === void 0 ? void 0 : lmd.expiresIn) == null) {
54
+ let 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 } });
55
+ lmd.accessToken = lastMileDelivery.accessToken;
56
+ }
57
+ }
58
+ if ((lmd === null || lmd === void 0 ? void 0 : lmd.platform) == 'DHL_EXPRESS') {
59
+ if ((releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress2) != undefined && (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress3) != undefined ||
60
+ (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress2) == '-' && (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress3) == '-' ||
61
+ (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress2) == null && (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress3) == null) {
62
+ let addArray = (_a = releaseGood.deliveryAddress1) === null || _a === void 0 ? void 0 : _a.split(',');
63
+ releaseGood.deliveryAddress1 = ((_b = addArray[0]) === null || _b === void 0 ? void 0 : _b.trim()) + (',');
64
+ releaseGood.deliveryAddress2 = ((_c = addArray[1]) === null || _c === void 0 ? void 0 : _c.trim()) + (',');
65
+ releaseGood.deliveryAddress3 = addArray === null || addArray === void 0 ? void 0 : addArray.slice(2).join(', ').trim();
66
+ }
67
+ }
50
68
  let data = {
51
69
  courier: lmd.platform,
52
70
  clientId: lmd === null || lmd === void 0 ? void 0 : lmd.clientId,
@@ -56,28 +74,31 @@ async function createLmdParcel(releaseGoods, tx, domain, user, marketplaceOrder)
56
74
  token: lmd === null || lmd === void 0 ? void 0 : lmd.accessToken,
57
75
  staging: lmd === null || lmd === void 0 ? void 0 : lmd.staging,
58
76
  accountNumber: lmd === null || lmd === void 0 ? void 0 : lmd.accountNumber,
77
+ accountName: lmd === null || lmd === void 0 ? void 0 : lmd.name,
78
+ orderDate: (lmd.platform == 'DHL_EXPRESS' ? dateTime() : new Date().toISOString),
79
+ remark: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.remark,
59
80
  prefix: lmd === null || lmd === void 0 ? void 0 : lmd.prefix,
60
81
  orderNo: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.refNo,
61
- orderDate: new Date(),
62
- remark: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.remark,
63
82
  cod: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.codOption,
64
83
  recipient: releaseGood.attentionTo,
65
84
  phone: releaseGood.phone1,
66
85
  email: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.email) || (lmd.platform == 'AIRSPEED' ? 'N/A' : 'support@hatio.asia'),
67
86
  address: releaseGood.deliveryAddress1,
68
87
  address2: releaseGood.deliveryAddress2,
69
- ward: (_a = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.ward) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
70
- city: (_b = releaseGood.city) === null || _b === void 0 ? void 0 : _b.toUpperCase(),
88
+ address3: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress3,
89
+ ward: (_d = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.ward) === null || _d === void 0 ? void 0 : _d.toUpperCase(),
90
+ city: (_e = releaseGood.city) === null || _e === void 0 ? void 0 : _e.toUpperCase(),
71
91
  postcode: releaseGood.postalCode,
72
- district: ((_c = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.district) === null || _c === void 0 ? void 0 : _c.toUpperCase()) || ((_d = releaseGood.city) === null || _d === void 0 ? void 0 : _d.toUpperCase()),
73
- state: ((_e = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.state) === null || _e === void 0 ? void 0 : _e.toUpperCase()) ||
74
- ((_f = recipientGeoArea === null || recipientGeoArea === void 0 ? void 0 : recipientGeoArea.stateName) === null || _f === void 0 ? void 0 : _f.toUpperCase()) ||
75
- ((_g = releaseGood.city) === null || _g === void 0 ? void 0 : _g.toUpperCase()),
92
+ district: ((_f = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.district) === null || _f === void 0 ? void 0 : _f.toUpperCase()) || ((_g = releaseGood.city) === null || _g === void 0 ? void 0 : _g.toUpperCase()),
93
+ state: ((_h = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.state) === null || _h === void 0 ? void 0 : _h.toUpperCase()) ||
94
+ ((_j = recipientGeoArea === null || recipientGeoArea === void 0 ? void 0 : recipientGeoArea.stateName) === null || _j === void 0 ? void 0 : _j.toUpperCase()) ||
95
+ ((_k = releaseGood.city) === null || _k === void 0 ? void 0 : _k.toUpperCase()),
76
96
  country: releaseGood.country,
77
97
  pSender: bizplace.name,
78
98
  pAddress: bizplace.address,
79
99
  pAddress2: bizplace.address2,
80
100
  pPhone: bizplace === null || bizplace === void 0 ? void 0 : bizplace.phone,
101
+ pEmail: bizplace.email,
81
102
  pWard: bizplace === null || bizplace === void 0 ? void 0 : bizplace.ward,
82
103
  pCity: bizplace.city || senderGeoArea.cityName,
83
104
  pPostcode: bizplace.postalCode || senderGeoArea.postalCode,
@@ -165,7 +186,9 @@ async function processAwbAndTrackingNo(orderPackages, tx, domain, user, marketpl
165
186
  let awbRes = await integration_lmd_1.LastMileAPI.getAwb(Object.assign(Object.assign({}, orderPackage.releaseGood.lastMileDelivery), { platform: 'lmdMiddleware' }), { parcelId: orderPackage.parcelId, staging: (_a = orderPackage.releaseGood.lastMileDelivery) === null || _a === void 0 ? void 0 : _a.staging });
166
187
  if (awbRes) {
167
188
  let awbContent;
189
+ let invoiceContent;
168
190
  let awb;
191
+ let invoice;
169
192
  const { deliveryConfirmationNo, tracking_no } = awbRes;
170
193
  if (awbRes.content) {
171
194
  if (releaseGood.lastMileDelivery.platform == 'VIETTEL_POST') {
@@ -204,10 +227,14 @@ async function processAwbAndTrackingNo(orderPackages, tx, domain, user, marketpl
204
227
  else {
205
228
  awbContent = await constructAwb(orderPackage, awbRes);
206
229
  }
230
+ if (awbRes.invoice) {
231
+ invoiceContent = Buffer.from(awbRes.invoice, 'base64');
232
+ }
207
233
  awb = await uploadAwbToS3(awbContent, orderPackage);
234
+ invoice = invoiceContent ? await uploadInvoiceToS3(invoiceContent, orderPackage) : null;
208
235
  await tx
209
236
  .getRepository(sales_base_1.OrderPackage)
210
- .update({ name: orderPackage.name }, { airwayBill: awb.url, trackingNo: deliveryConfirmationNo || tracking_no });
237
+ .update({ name: orderPackage.name }, { airwayBill: awb.url, invoice: (invoice === null || invoice === void 0 ? void 0 : invoice.url) || null, trackingNo: deliveryConfirmationNo || tracking_no });
211
238
  releaseOrders.push(releaseGood);
212
239
  const integration = await tx.getRepository(integration_base_1.Integration).findOne({
213
240
  where: {
@@ -305,6 +332,19 @@ async function processCallback(packageInfo) {
305
332
  env_1.logger.error(e);
306
333
  }
307
334
  }
335
+ function dateTime() {
336
+ const currentDate = new Date();
337
+ const timezoneGMT = 8 * 60; // 8 hours ahead in minutes
338
+ currentDate.setMinutes(currentDate.getMinutes() + timezoneGMT);
339
+ const yy = currentDate.getFullYear();
340
+ const mm = String(currentDate.getMonth() + 1).padStart(2, '0');
341
+ const dd = String(currentDate.getDate()).padStart(2, '0');
342
+ const hrs = String(currentDate.getHours()).padStart(2, '0');
343
+ const mins = String(currentDate.getMinutes()).padStart(2, '0');
344
+ const secs = String(currentDate.getSeconds()).padStart(2, '0');
345
+ const dateTime = `${yy}-${mm}-${dd}T${hrs}:${mins}:${secs}GMT+08:00`;
346
+ return dateTime;
347
+ }
308
348
  async function constructAwb(orderPackage, awbRes) {
309
349
  const releaseOrder = orderPackage.releaseGood;
310
350
  let { shipmentID, deliveryConfirmationNo, deliveryDepotCode, primarySortCode, secondarySortCode, recipient, sender, tracking_no, courier } = awbRes;
@@ -365,4 +405,26 @@ async function uploadAwbToS3(result, orderPackage) {
365
405
  });
366
406
  return awb;
367
407
  }
408
+ async function uploadInvoiceToS3(result, orderPackage) {
409
+ const releaseOrder = orderPackage.releaseGood;
410
+ const uuid = (0, uuid_1.v4)();
411
+ const invoice = await (0, attachment_base_1.uploadInvoice)({
412
+ content: result,
413
+ title: uuid
414
+ });
415
+ if (!(invoice === null || invoice === void 0 ? void 0 : invoice.url))
416
+ throw new Error(`invoice was not uploaded for (RO: ${releaseOrder.name})`);
417
+ // create attachment
418
+ await (0, typeorm_1.getRepository)(attachment_base_1.Attachment).insert({
419
+ name: uuid,
420
+ mimetype: 'application/pdf',
421
+ category: 'LMD_INVOICE',
422
+ refBy: orderPackage.name,
423
+ path: invoice.url,
424
+ domain: releaseOrder.domain,
425
+ size: 0,
426
+ encoding: ''
427
+ });
428
+ return invoice;
429
+ }
368
430
  //# sourceMappingURL=lmd-util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lmd-util.js","sourceRoot":"","sources":["../../server/utils/lmd-util.ts"],"names":[],"mappings":";;;;;;AAAA,iBAAc;AAEd,4DAA8B;AAC9B,qCAGgB;AAChB,+BAAmC;AAEnC,qEAGwC;AACxC,uDAAmD;AACnD,iEAIsC;AACtC,6CAA4C;AAC5C,yDAAmD;AACnD,uEAGyC;AACzC,qEAIwC;AAExC,uEAAmE;AACnE,2DAGmC;AAGnC,oCAA8C;AAE9C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,CAAA;AAExE,yDAAyD;AAEzD,MAAM,UAAU,GAAG;IACjB,8BAA8B;IAC9B,QAAQ,EAAE,0BAA0B;CACrC,CAAA;AAEM,KAAK,UAAU,eAAe,CAAC,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB;;IACpF,IAAI;QACF,IAAI,cAAc,GAAG,EAAE,CAAA;QACvB,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE;YACpC,IAAI,GAAG,GAAqB,WAAW,CAAC,gBAAgB,CAAA;YAExD,MAAM,QAAQ,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;gBAClE,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE;gBACrC,SAAS,EAAE,CAAC,QAAQ,CAAC;aACtB,CAAC,CAAA;YAEF,MAAM,aAAa,GAAY,MAAM,EAAE;iBACpC,aAAa,CAAC,mBAAO,CAAC;iBACtB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;YAE1D,MAAM,gBAAgB,GAAY,MAAM,EAAE;iBACvC,aAAa,CAAC,mBAAO,CAAC;iBACtB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;YAE7D,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,KAAI,WAAW,EAAE;gBAChC,MAAM,gBAAgB,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;gBAC9D,IAAI,gBAAgB,KAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,CAAA,EAAE;oBACtC,MAAM,gBAAgB,GAAG,MAAM,IAAA,4CAA0B,EAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;oBACrF,GAAG,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAA;iBAC/C;aACF;YAED,IAAI,IAAI,GAAG;gBACT,OAAO,EAAE,GAAG,CAAC,QAAQ;gBACrB,QAAQ,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ;gBACvB,UAAU,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS;gBAC1B,eAAe,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,eAAe;gBACrC,eAAe,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,eAAe;gBACrC,KAAK,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW;gBACvB,OAAO,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO;gBACrB,aAAa,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,aAAa;gBACjC,MAAM,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM;gBAEnB,OAAO,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK;gBAC3B,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,MAAM,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM;gBAC3B,GAAG,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS;gBAC3B,SAAS,EAAE,WAAW,CAAC,WAAW;gBAClC,KAAK,EAAE,WAAW,CAAC,MAAM;gBACzB,KAAK,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,KAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACxF,OAAO,EAAE,WAAW,CAAC,gBAAgB;gBACrC,QAAQ,EAAE,WAAW,CAAC,gBAAgB;gBACtC,IAAI,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,WAAW,EAAE;gBACtC,IAAI,EAAE,MAAA,WAAW,CAAC,IAAI,0CAAE,WAAW,EAAE;gBACrC,QAAQ,EAAE,WAAW,CAAC,UAAU;gBAChC,QAAQ,EAAE,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,0CAAE,WAAW,EAAE,MAAI,MAAA,WAAW,CAAC,IAAI,0CAAE,WAAW,EAAE,CAAA;gBACjF,KAAK,EACH,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,0CAAE,WAAW,EAAE;qBACjC,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,SAAS,0CAAE,WAAW,EAAE,CAAA;qBAC1C,MAAA,WAAW,CAAC,IAAI,0CAAE,WAAW,EAAE,CAAA;gBACjC,OAAO,EAAE,WAAW,CAAC,OAAO;gBAE5B,OAAO,EAAE,QAAQ,CAAC,IAAI;gBACtB,QAAQ,EAAE,QAAQ,CAAC,OAAO;gBAC1B,SAAS,EAAE,QAAQ,CAAC,QAAQ;gBAC5B,MAAM,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK;gBACvB,KAAK,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI;gBACrB,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,aAAa,CAAC,QAAQ;gBAC9C,SAAS,EAAE,QAAQ,CAAC,UAAU,IAAI,aAAa,CAAC,UAAU;gBAC1D,SAAS,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,KAAI,QAAQ,CAAC,IAAI;gBAC9C,MAAM,EAAE,QAAQ,CAAC,KAAK,IAAI,aAAa,CAAC,SAAS;gBACjD,QAAQ,EAAE,QAAQ,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW;gBAE3D,cAAc,EAAE,CAAC;aAClB,CAAA;YAED,IAAI,wBAAwB,GAAmB,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;YAEnG,IAAI,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACnD,uCACK,IAAI,KACP,KAAK,EAAE,EAAE,CAAC,IAAI,EACd,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;;wBACpC,IAAI,UAAU,GAAG,CAAA,MAAA,MAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,CAAC,aAAa,0CAAE,UAAU,0CAAE,QAAQ,EAAE,0CAAE,WAAW,EAAE,KAAI,EAAE,CAAA;wBAE7F,IAAI,KAAK,GAAG;4BACV,QAAQ,EAAE,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,0CAAE,QAAQ,EAAE,KAAI,GAAG;4BAC5C,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG;4BAC9D,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG;4BACxC,KAAK,EACH,CAAA,MAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,0CAAE,UAAU,0CAAE,QAAQ,EAAE;iCACzC,MAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,CAAC,aAAa,0CAAE,SAAS,0CAAE,QAAQ,EAAE,CAAA;gCACtD,GAAG;4BACL,MAAM,EAAE,CAAA,MAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,CAAC,aAAa,0CAAE,WAAW,0CAAE,QAAQ,EAAE,KAAI,GAAG;4BACvE,KAAK,EAAE,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,CAAC,aAAa,0CAAE,KAAK,KAAI,GAAG;4BACpD,MAAM,EAAE,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,CAAC,aAAa,0CAAE,KAAK,KAAI,GAAG;4BACrD,MAAM,EAAE,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,CAAC,aAAa,0CAAE,MAAM,KAAI,GAAG;yBACvD,CAAA;wBAED,IAAI,GAAG,CAAC,QAAQ,IAAI,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,cAAc,EAAE;4BAC5D,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,IAAI,GAAG,EAAE;gCAC3C,CAAC;gCAAA,CAAC,KAAK,CAAC,KAAK,GAAG,MAAA,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,0CAAE,QAAQ,EAAE,CAAC;oCAC7C,CAAC,KAAK,CAAC,MAAM,GAAG,MAAA,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,0CAAE,QAAQ,EAAE,CAAC;oCAChD,CAAC,KAAK,CAAC,MAAM,GAAG,MAAA,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,0CAAE,QAAQ,EAAE,CAAC,CAAA;6BACnD;iCAAM;gCACL,CAAC;gCAAA,CAAC,KAAK,CAAC,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,0CAAE,QAAQ,EAAE,CAAC;oCACtC,CAAC,KAAK,CAAC,MAAM,GAAG,MAAA,KAAK,CAAC,MAAM,0CAAE,QAAQ,EAAE,CAAC;oCACzC,CAAC,KAAK,CAAC,MAAM,GAAG,MAAA,KAAK,CAAC,MAAM,0CAAE,QAAQ,EAAE,CAAC,CAAA;6BAC5C;yBACF;wBACD,OAAO,KAAK,CAAA;oBACd,CAAC,CAAC,IACH;YACH,CAAC,CAAC,CAAA;YAEF,cAAc,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;SACrC;QAED,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/C,IAAI,GAAG,GAAG,MAAM,6BAAW,CAAC,YAAY,iCACjC,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,KAAE,QAAQ,EAAE,eAAe,KAChE,cAAc,CACf,CAAA;YACD,KAAK,IAAI,MAAM,IAAI,GAAG,EAAE;gBACtB,IAAI,OAAO,GAAG,MAAM,CAAC,WAAW,CAAA;gBAChC,IAAI,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBAC5C,MAAM,EAAE,CAAC,aAAa,CAAC,yBAAY,CAAC;qBACnC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,EAC9B,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;aACzD;YAED,MAAM,EAAE,GAAqC,EAAE;iBAC5C,aAAa,CAAC,yBAAY,CAAC;iBAC3B,kBAAkB,CAAC,IAAI,CAAC;iBACxB,kBAAkB,CAAC,gBAAgB,EAAE,IAAI,CAAC;iBAC1C,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC;iBACpC,kBAAkB,CAAC,aAAa,EAAE,GAAG,CAAC;iBACtC,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC;iBACpC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC;iBAC/C,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC;iBACpC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,CAAC;iBAC/C,KAAK,CAAC,kCAAkC,EAAE;gBACzC,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;oBAChC,OAAO,MAAM,CAAC,KAAK,CAAA;gBACrB,CAAC,CAAC;aACH,CAAC,CAAA;YAEJ,MAAM,aAAa,GAAmB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;YACxD,MAAM,uBAAuB,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAA;SACjF;KACF;IAAC,OAAO,CAAC,EAAE;QACV,YAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAA;KAC1C;AACH,CAAC;AApJD,0CAoJC;AAEM,KAAK,UAAU,uBAAuB,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB;;IAC7F,MAAM,aAAa,GAAwB,IAAI,2BAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACpF,IAAI,aAAa,GAAgB,EAAE,CAAA;IAEnC,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;QACtC,kDAAkD;QAClD,IAAI;YACF,IAAI,WAAW,GAAG,YAAY,CAAC,WAAW,CAAA;YAC1C,IAAI,MAAM,GAAG,MAAM,6BAAW,CAAC,MAAM,iCAC9B,YAAY,CAAC,WAAW,CAAC,gBAAgB,KAAE,QAAQ,EAAE,eAAe,KACzE,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAA,YAAY,CAAC,WAAW,CAAC,gBAAgB,0CAAE,OAAO,EAAE,CACjG,CAAA;YAED,IAAI,MAAM,EAAE;gBACV,IAAI,UAAe,CAAA;gBACnB,IAAI,GAAQ,CAAA;gBACZ,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;gBAEtD,IAAI,MAAM,CAAC,OAAO,EAAE;oBAClB,IAAI,WAAW,CAAC,gBAAgB,CAAC,QAAQ,IAAI,cAAc,EAAE;wBAC3D,IAAI;4BACF,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;4BACpC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;4BAC1D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;4BACpC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAA;4BAE9D,MAAM,IAAI,CAAC,WAAW,CAAC;gCACrB,OAAO,EAAE,4EAA4E;6BACtF,CAAC,CAAA;4BACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;4BAC/C,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;4BACrB,UAAU,GAAG,MAAM,CAAA;yBACpB;wBAAC,OAAO,CAAC,EAAE;4BACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;yBACf;qBACF;yBAAM,IACL,WAAW,CAAC,gBAAgB,CAAC,QAAQ,IAAI,SAAS;wBAClD,WAAW,CAAC,gBAAgB,CAAC,QAAQ,IAAI,MAAM,EAC/C;wBACA,IAAI;4BACF,MAAM,QAAQ,GAAQ,MAAM,IAAA,oBAAK,EAAC,MAAM,CAAC,OAAO,EAAE;gCAChD,MAAM,EAAE,KAAK;6BACd,CAAC,CAAA;4BACF,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;yBACvD;wBAAC,OAAO,CAAC,EAAE;4BACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;yBACf;qBACF;yBAAM;wBACL,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;qBACnD;iBACF;qBAAM;oBACL,UAAU,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;iBACtD;gBACD,GAAG,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;gBACnD,MAAM,EAAE;qBACL,aAAa,CAAC,yBAAY,CAAC;qBAC3B,MAAM,CACL,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,EAC3B,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,sBAAsB,IAAI,WAAW,EAAE,CAC3E,CAAA;gBACH,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAE/B,MAAM,WAAW,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAW,CAAC,CAAC,OAAO,CAAC;oBAC3E,KAAK,EAAE;wBACL,MAAM,EAAE,WAAW,CAAC,MAAM;wBAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;wBAC9B,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,2BAAQ,CAAC,MAAM;qBAC1B;iBACF,CAAC,CAAA;gBAEF,IAAI,WAAW,EAAE;oBACf,MAAM,eAAe,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;iBAClE;gBAED,4CAA4C;gBAE5C,MAAM,aAAa,GAAW,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAA;gBACjE,IAAI,CAAC,gBAAgB,EAAE;oBACrB,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mCAAgB,CAAC,CAAC,OAAO,CAAC;wBAClE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE;wBAC5D,SAAS,EAAE;4BACT,kBAAkB;4BAClB,0CAA0C;4BAC1C,uBAAuB;4BACvB,qDAAqD;4BACrD,8EAA8E;yBAC/E;qBACF,CAAC,CAAA;iBACH;gBAED,IAAI,gBAAgB,EAAE;oBACpB,MAAM,aAAa,GAAwB,IAAI,2BAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;oBACpF,MAAM,gBAAgB,GAAqB,gBAAgB,CAAC,gBAAgB,CAAA;oBAE5E,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,oBAAoB,EAAE;wBAC1C,MAAM,aAAa,CAAC,eAAe,CACjC,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,WAAW,CACZ,CAAA;qBACF;iBACF;aACF;SACF;QAAC,OAAO,CAAC,EAAE;YACV,YAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;SAChB;QACD,KAAK;KACN;IAED,cAAc;IACd,QAAQ;IACR,gHAAgH;IAEhH,oDAAoD;IACpD,sDAAsD;IAEtD,wDAAwD;IACxD,oFAAoF;IACpF,gDAAgD;IAChD,2CAA2C;IAC3C,WAAW;IACX,2BAA2B;IAC3B,0DAA0D;IAC1D,qGAAqG;IACrG,uFAAuF;IACvF,qGAAqG;IACrG,eAAe;IAEf,iFAAiF;IACjF,qFAAqF;IACrF,cAAc;IACd,aAAa;IACb,UAAU;IACV,QAAQ;IACR,MAAM;IACN,gBAAgB;IAChB,oDAAoD;IACpD,IAAI;IACJ,EAAE;AACJ,CAAC;AA9ID,0DA8IC;AAED,KAAK,UAAU,eAAe,CAAC,WAAW;IACxC,IAAI;QACF,IAAI,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,WAAW,EAAE,0CAA0C;gBACvD,KAAK,EAAE;oBACL,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK;oBACxD,eAAe,EAAE,WAAW,CAAC,WAAW;oBACxC,SAAS,EAAE,EAAE;oBACb,SAAS,EAAE,UAAU;oBACrB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAClC,SAAS,EAAE,KAAK;oBAChB,kBAAkB,EAAE,WAAW,CAAC,WAAW;oBAC3C,0BAA0B,EAAE,IAAI;oBAChC,oBAAoB,EAAE,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ;oBACpF,iBAAiB,EAAE,IAAI;iBACxB;aACF,CAAC;SACH,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;KACjC;IAAC,OAAO,CAAC,EAAE;QACV,YAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,YAAY,EAAE,MAAM;IAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAA;IAC7C,IAAI,EACF,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,MAAM,EACN,WAAW,EACX,OAAO,EACR,GAAG,MAAM,CAAA;IAEV,IAAI,iBAAiB,GAAG,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,IAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA,CAAC,CAAC,CAAC,EAAE,GAC1F,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,IAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA,CAAC,CAAC,CAAC,EAC/C,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAC,CAAC,CAAC,IAAI,IAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,IAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA,CAAC,CAAC,CAAC,EAAE,GAC1F,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAC,CAAC,CAAC,IAAI,IAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA,CAAC,CAAC,CAAC,EACzC,EAAE,CAAA;IAEF,IAAI,iBAAiB,GAAG,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,IAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA,CAAC,CAAC,CAAC,EAAE,GACnG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,IAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA,CAAC,CAAC,CAAC,EACrD,EAAE,CAAA;IAEF,IAAI,iBAAiB,GAAG,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,EAAC,CAAC,CAAC,IAAI,IAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAA,CAAC,CAAC,CAAC,EAAE,GACzF,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,IAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA,CAAC,CAAC,CAAC,EACrD,EAAE,CAAA;IAEF,IAAI,IAAI,GAAG;QACT,iBAAiB;QACjB,UAAU,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI;QACxB,iBAAiB;QACjB,iBAAiB;QACjB,cAAc,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK;QAChC,aAAa,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI;QAC9B,KAAK,EAAE,UAAU;QACjB,sBAAsB,EAAE,sBAAsB,IAAI,WAAW;QAC7D,iBAAiB,EAAE,iBAAiB;QACpC,eAAe,EAAE,eAAe;QAChC,iBAAiB,EAAE,iBAAiB;QACpC,OAAO,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK;KAC7B,CAAA;IAED,IAAI,QAAQ,GAAU,MAAM,IAAA,uBAAa,EAAC,qBAAK,CAAC,CAAC,OAAO,CAAC;QACvD,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE;QACpC,SAAS,EAAE,CAAC,QAAQ,CAAC;KACtB,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAA;IAE7F,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,6BAAa,EAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEnF,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAG,EAAC;QACvB,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,KAAK;QACL,IAAI;QACJ,OAAO,EAAE;YACP,MAAM,EAAE,IAAI;SACb;QACD,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE;KAChD,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAM,EAAE,YAAY;IAC/C,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAA;IAC7C,MAAM,IAAI,GAAG,IAAA,SAAM,GAAE,CAAA;IACrB,MAAM,GAAG,GAAQ,MAAM,IAAA,2BAAS,EAAC;QAC/B,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,IAAI;KACZ,CAAC,CAAA;IAEF,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,CAAA;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,YAAY,CAAC,IAAI,GAAG,CAAC,CAAA;IAEnG,oBAAoB;IAEpB,MAAM,IAAA,uBAAa,EAAC,4BAAU,CAAC,CAAC,MAAM,CAAC;QACrC,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,YAAY,CAAC,IAAI;QACxB,IAAI,EAAE,GAAG,CAAC,GAAG;QACb,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,EAAE;KACb,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"lmd-util.js","sourceRoot":"","sources":["../../server/utils/lmd-util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/worksheet-base",
3
- "version": "4.3.343",
3
+ "version": "4.3.345",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,26 +24,26 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@things-factory/auth-base": "^4.3.281",
27
- "@things-factory/biz-base": "^4.3.301",
27
+ "@things-factory/biz-base": "^4.3.344",
28
28
  "@things-factory/document-template-base": "^4.3.281",
29
29
  "@things-factory/id-rule-base": "^4.3.281",
30
- "@things-factory/integration-accounting": "^4.3.332",
30
+ "@things-factory/integration-accounting": "^4.3.344",
31
31
  "@things-factory/integration-base": "^4.3.332",
32
- "@things-factory/integration-lmd": "^4.3.342",
33
- "@things-factory/integration-marketplace": "^4.3.342",
34
- "@things-factory/integration-powrup": "^4.3.342",
35
- "@things-factory/integration-sellercraft": "^4.3.342",
36
- "@things-factory/integration-sftp": "^4.3.332",
37
- "@things-factory/marketplace-base": "^4.3.342",
32
+ "@things-factory/integration-lmd": "^4.3.345",
33
+ "@things-factory/integration-marketplace": "^4.3.345",
34
+ "@things-factory/integration-powrup": "^4.3.345",
35
+ "@things-factory/integration-sellercraft": "^4.3.345",
36
+ "@things-factory/integration-sftp": "^4.3.344",
37
+ "@things-factory/marketplace-base": "^4.3.345",
38
38
  "@things-factory/notification": "^4.3.281",
39
- "@things-factory/sales-base": "^4.3.343",
39
+ "@things-factory/sales-base": "^4.3.345",
40
40
  "@things-factory/setting-base": "^4.3.281",
41
41
  "@things-factory/shell": "^4.3.281",
42
- "@things-factory/transport-base": "^4.3.301",
43
- "@things-factory/warehouse-base": "^4.3.343",
42
+ "@things-factory/transport-base": "^4.3.344",
43
+ "@things-factory/warehouse-base": "^4.3.345",
44
44
  "jspdf": "2.5.1",
45
45
  "puppeteer": "21.0.3",
46
46
  "uuid": "^9.0.0"
47
47
  },
48
- "gitHead": "791002cce6e317c1c017ca2c446131bddcb2920d"
48
+ "gitHead": "9f0c745f3b86edf8d20dac827e6b02739144136e"
49
49
  }
@@ -7,10 +7,7 @@ import {
7
7
  } from 'typeorm'
8
8
  import { v4 as uuidv4 } from 'uuid'
9
9
 
10
- import {
11
- Attachment,
12
- uploadAwb
13
- } from '@things-factory/attachment-base'
10
+ import { Attachment, uploadAwb, uploadInvoice } from '@things-factory/attachment-base'
14
11
  import { Bizplace } from '@things-factory/biz-base'
15
12
  import {
16
13
  Board,
@@ -19,6 +16,8 @@ import {
19
16
  } from '@things-factory/board-service'
20
17
  import { logger } from '@things-factory/env'
21
18
  import { GeoArea } from '@things-factory/geography'
19
+ import 'jspdf'
20
+ import jsPDF from 'jspdf'
22
21
  import {
23
22
  Integration,
24
23
  Platform
@@ -26,17 +25,18 @@ import {
26
25
  import {
27
26
  LastMileAPI,
28
27
  LastMileDelivery,
29
- refreshAccessTokenNinjavan
28
+ refreshAccessTokenNinjavan,
29
+ getAccessTokenEfmx
30
30
  } from '@things-factory/integration-lmd'
31
- import { MarketplaceStore } from '@things-factory/integration-marketplace'
32
- import { MarketplaceOrder } from '@things-factory/marketplace-base'
33
31
  import {
34
32
  OrderPackage,
35
33
  ReleaseGood
36
34
  } from '@things-factory/sales-base'
35
+ import { EcommerceController } from '../index'
36
+ import { MarketplaceOrder } from '@things-factory/marketplace-base'
37
+ import { MarketplaceStore } from '@things-factory/integration-marketplace'
37
38
  import { Domain } from '@things-factory/shell'
38
39
 
39
- import { EcommerceController } from '../index'
40
40
 
41
41
  const debug = require('debug')('things-factory:worksheet-base:lmd-util')
42
42
 
@@ -66,6 +66,7 @@ export async function createLmdParcel(releaseGoods, tx, domain, user, marketplac
66
66
  .getRepository(GeoArea)
67
67
  .findOne({ where: { postalCode: releaseGood.postalCode } })
68
68
 
69
+ const currentTimestamp: number = Math.floor(Date.now() / 1000)
69
70
  if (lmd?.platform == 'NINJA_VAN') {
70
71
  const currentTimestamp: number = Math.floor(Date.now() / 1000)
71
72
  if (currentTimestamp >= lmd?.expiresIn) {
@@ -74,6 +75,25 @@ export async function createLmdParcel(releaseGoods, tx, domain, user, marketplac
74
75
  }
75
76
  }
76
77
 
78
+ if(lmd?.platform=='EMS'){
79
+ if (currentTimestamp >= lmd?.expiresIn || lmd?.expiresIn == null) {
80
+ let lastMileDelivery= await getAccessTokenEfmx(lmd?.id, lmd?.clientId,lmd?.secretKey,{state:{ tx }})
81
+ lmd.accessToken = lastMileDelivery.accessToken
82
+ }
83
+ }
84
+ if(lmd?.platform =='DHL_EXPRESS'){
85
+ if(releaseGood?.deliveryAddress2 != undefined && releaseGood?.deliveryAddress3 != undefined ||
86
+ releaseGood?.deliveryAddress2 == '-' && releaseGood?.deliveryAddress3 == '-' ||
87
+ releaseGood?.deliveryAddress2 == null && releaseGood?.deliveryAddress3 == null){
88
+
89
+ let addArray = releaseGood.deliveryAddress1?.split(',')
90
+ releaseGood.deliveryAddress1 = addArray[0]?.trim() +(',')
91
+ releaseGood.deliveryAddress2 = addArray[1]?.trim() + (',')
92
+ releaseGood.deliveryAddress3 = addArray?.slice(2).join(', ').trim()
93
+
94
+ }
95
+ }
96
+
77
97
  let data = {
78
98
  courier: lmd.platform,
79
99
  clientId: lmd?.clientId,
@@ -83,17 +103,19 @@ export async function createLmdParcel(releaseGoods, tx, domain, user, marketplac
83
103
  token: lmd?.accessToken,
84
104
  staging: lmd?.staging,
85
105
  accountNumber: lmd?.accountNumber,
106
+ accountName: lmd?.name,
107
+ orderDate: (lmd.platform == 'DHL_EXPRESS' ? dateTime() : new Date().toISOString ),
108
+ remark: releaseGood?.remark,
86
109
  prefix: lmd?.prefix,
87
110
 
88
111
  orderNo: releaseGood?.refNo,
89
- orderDate: new Date(),
90
- remark: releaseGood?.remark,
91
112
  cod: releaseGood?.codOption,
92
113
  recipient: releaseGood.attentionTo,
93
114
  phone: releaseGood.phone1,
94
115
  email: releaseGood?.email || (lmd.platform == 'AIRSPEED' ? 'N/A' : 'support@hatio.asia'),
95
116
  address: releaseGood.deliveryAddress1,
96
117
  address2: releaseGood.deliveryAddress2,
118
+ address3: releaseGood?.deliveryAddress3,
97
119
  ward: releaseGood?.ward?.toUpperCase(), //only for viettel lmd
98
120
  city: releaseGood.city?.toUpperCase(),
99
121
  postcode: releaseGood.postalCode,
@@ -108,6 +130,7 @@ export async function createLmdParcel(releaseGoods, tx, domain, user, marketplac
108
130
  pAddress: bizplace.address,
109
131
  pAddress2: bizplace.address2,
110
132
  pPhone: bizplace?.phone,
133
+ pEmail: bizplace.email,
111
134
  pWard: bizplace?.ward, // only for viettel lmd
112
135
  pCity: bizplace.city || senderGeoArea.cityName,
113
136
  pPostcode: bizplace.postalCode || senderGeoArea.postalCode,
@@ -212,7 +235,9 @@ export async function processAwbAndTrackingNo(orderPackages, tx, domain, user, m
212
235
 
213
236
  if (awbRes) {
214
237
  let awbContent: any
238
+ let invoiceContent: any
215
239
  let awb: any
240
+ let invoice: any
216
241
  const { deliveryConfirmationNo, tracking_no } = awbRes
217
242
 
218
243
  if (awbRes.content) {
@@ -250,12 +275,19 @@ export async function processAwbAndTrackingNo(orderPackages, tx, domain, user, m
250
275
  } else {
251
276
  awbContent = await constructAwb(orderPackage, awbRes)
252
277
  }
278
+
279
+ if(awbRes.invoice){
280
+ invoiceContent = Buffer.from(awbRes.invoice, 'base64')
281
+ }
282
+
253
283
  awb = await uploadAwbToS3(awbContent, orderPackage)
284
+ invoice = invoiceContent? await uploadInvoiceToS3(invoiceContent, orderPackage) : null
285
+
254
286
  await tx
255
287
  .getRepository(OrderPackage)
256
288
  .update(
257
289
  { name: orderPackage.name },
258
- { airwayBill: awb.url, trackingNo: deliveryConfirmationNo || tracking_no }
290
+ { airwayBill: awb.url, invoice: invoice?.url || null, trackingNo: deliveryConfirmationNo || tracking_no }
259
291
  )
260
292
  releaseOrders.push(releaseGood)
261
293
 
@@ -369,6 +401,22 @@ async function processCallback(packageInfo) {
369
401
  }
370
402
  }
371
403
 
404
+ function dateTime() {
405
+ const currentDate = new Date()
406
+ const timezoneGMT = 8 * 60 // 8 hours ahead in minutes
407
+ currentDate.setMinutes(currentDate.getMinutes() + timezoneGMT)
408
+
409
+ const yy = currentDate.getFullYear();
410
+ const mm = String(currentDate.getMonth() + 1).padStart(2, '0')
411
+ const dd = String(currentDate.getDate()).padStart(2, '0')
412
+ const hrs = String(currentDate.getHours()).padStart(2, '0')
413
+ const mins = String(currentDate.getMinutes()).padStart(2, '0')
414
+ const secs = String(currentDate.getSeconds()).padStart(2, '0')
415
+ const dateTime = `${yy}-${mm}-${dd}T${hrs}:${mins}:${secs}GMT+08:00`
416
+
417
+ return dateTime
418
+ }
419
+
372
420
  async function constructAwb(orderPackage, awbRes) {
373
421
  const releaseOrder = orderPackage.releaseGood
374
422
  let {
@@ -459,3 +507,28 @@ async function uploadAwbToS3(result, orderPackage) {
459
507
 
460
508
  return awb
461
509
  }
510
+
511
+ async function uploadInvoiceToS3(result, orderPackage) {
512
+ const releaseOrder = orderPackage.releaseGood
513
+ const uuid = uuidv4()
514
+ const invoice: any = await uploadInvoice({
515
+ content: result,
516
+ title: uuid
517
+ })
518
+
519
+ if (!invoice?.url) throw new Error(`invoice was not uploaded for (RO: ${releaseOrder.name})`)
520
+
521
+ // create attachment
522
+ await getRepository(Attachment).insert({
523
+ name: uuid,
524
+ mimetype: 'application/pdf',
525
+ category: 'LMD_INVOICE',
526
+ refBy: orderPackage.name,
527
+ path: invoice.url,
528
+ domain: releaseOrder.domain,
529
+ size: 0,
530
+ encoding: ''
531
+ })
532
+
533
+ return invoice
534
+ }