@things-factory/sales-base 4.3.667 → 4.3.669

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.
@@ -6,6 +6,7 @@ const uuid_1 = require("uuid");
6
6
  const biz_base_1 = require("@things-factory/biz-base");
7
7
  const env_1 = require("@things-factory/env");
8
8
  const integration_powrup_1 = require("@things-factory/integration-powrup");
9
+ const integration_lmd_1 = require("@things-factory/integration-lmd");
9
10
  const warehouse_base_1 = require("@things-factory/warehouse-base");
10
11
  const constants_1 = require("../../constants");
11
12
  const order_package_item_1 = require("../../service/order-package-item/order-package-item");
@@ -17,7 +18,7 @@ const order_consignment_1 = require("../../service/order-consignment/order-consi
17
18
  const { PerformanceObserver, performance } = require('node:perf_hooks');
18
19
  class PowrupController {
19
20
  async packOrder(powrup, releaseGood, domain, user, trxMgr) {
20
- var _a;
21
+ var _a, _b, _c, _d;
21
22
  let roUpdateFields = null;
22
23
  const updateRO = async (releaseGoodId, roUpdateFields, trxMgr) => {
23
24
  try {
@@ -37,6 +38,11 @@ class PowrupController {
37
38
  datetime_util_1.DateTimeDifference.timeDifferenceInSeconds(releaseGood.lastMarketPackCall, new Date()) <= 5) {
38
39
  return;
39
40
  }
41
+ if (releaseGood.type == 'b2b' &&
42
+ !(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lastMileDelivery) &&
43
+ ((releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryOrders) == undefined || ((_a = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryOrders) === null || _a === void 0 ? void 0 : _a.length) <= 0)) {
44
+ return;
45
+ }
40
46
  // capture update fields
41
47
  roUpdateFields = {
42
48
  lastMarketPackCall: new Date()
@@ -74,28 +80,60 @@ class PowrupController {
74
80
  //sof orders will create consignment - order package - trigger packOrder
75
81
  let newReleaseGood;
76
82
  let orderPackages = [];
77
- const isMps = (_a = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lastMileDelivery) === null || _a === void 0 ? void 0 : _a.mps;
83
+ const isMps = (_b = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lastMileDelivery) === null || _b === void 0 ? void 0 : _b.mps;
78
84
  const orderInformation = { refOrderId: releaseGood.refOrderId, isSof: true };
79
- if (isMps) {
80
- newReleaseGood = await splitOrderConsignment(trxMgr, releaseGood, user);
81
- orderPackages = newReleaseGood.orderPackages;
82
- releaseGood.orderPackages = orderPackages;
83
- }
84
- else {
85
- //create package like normal non sof orders
85
+ if (((_c = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lastMileDelivery) === null || _c === void 0 ? void 0 : _c.platform) == integration_lmd_1.LmdPlatform.VERSA_FLEET ||
86
+ ((releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lastMileDelivery) == null && ((_d = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryOrders) === null || _d === void 0 ? void 0 : _d.length) > 0)) {
86
87
  let orderConsignment = await createOrderConsignment(trxMgr, releaseGood, user);
87
- let savedOrderPackage = await this.createOrderPackage(trxMgr, releaseGood, orderConsignment, user);
88
- let orderPackageItems = await createSofOrderPackageItem(trxMgr, [], savedOrderPackage, releaseGood);
89
- savedOrderPackage.orderPackageItems = orderPackageItems;
90
- orderPackages.push(savedOrderPackage);
91
- releaseGood.orderPackages = orderPackages;
88
+ for (const deliveryOrder of releaseGood.deliveryOrders) {
89
+ const savedOrderPackage = await this.createOrderPackage(trxMgr, releaseGood, orderConsignment, user, deliveryOrder);
90
+ const orderInventoriesGroupByProduct = Object.values(deliveryOrder.orderInventories.reduce((acc, oi) => {
91
+ const key = oi.productDetail.id;
92
+ if (!acc[key]) {
93
+ acc[key] = {
94
+ id: (0, uuid_1.v4)(),
95
+ name: utils_1.OrderNoGenerator.orderPackageItem(),
96
+ orderProduct: null,
97
+ productDetail: {
98
+ id: oi.productDetail.id,
99
+ refCode: oi.productDetail.refCode,
100
+ product: { sku: oi.product.sku }
101
+ },
102
+ releaseQty: 0
103
+ };
104
+ }
105
+ acc[key].releaseQty += oi.releaseQty || 0;
106
+ return acc;
107
+ }, {}));
108
+ const orderPackageItems = await createSofOrderPackageItem(trxMgr, orderInventoriesGroupByProduct, savedOrderPackage, releaseGood);
109
+ savedOrderPackage.orderPackageItems = orderPackageItems;
110
+ orderPackages.push(savedOrderPackage);
111
+ }
92
112
  newReleaseGood = releaseGood;
93
113
  }
114
+ else {
115
+ if (isMps) {
116
+ newReleaseGood = await splitOrderConsignment(trxMgr, releaseGood, user);
117
+ orderPackages = newReleaseGood.orderPackages;
118
+ releaseGood.orderPackages = orderPackages;
119
+ }
120
+ else {
121
+ //create package like normal non sof orders
122
+ let orderConsignment = await createOrderConsignment(trxMgr, releaseGood, user);
123
+ let savedOrderPackage = await this.createOrderPackage(trxMgr, releaseGood, orderConsignment, user);
124
+ let orderPackageItems = await createSofOrderPackageItem(trxMgr, [], savedOrderPackage, releaseGood);
125
+ savedOrderPackage.orderPackageItems = orderPackageItems;
126
+ orderPackages.push(savedOrderPackage);
127
+ releaseGood.orderPackages = orderPackages;
128
+ newReleaseGood = releaseGood;
129
+ }
130
+ }
94
131
  const packages = orderPackages.map(op => {
95
132
  const items = op.orderPackageItems.map(opi => {
133
+ var _a, _b, _c, _d;
96
134
  return {
97
135
  universalIdentifier: opi.productDetail.refCode,
98
- sku: opi.orderProduct.product.sku,
136
+ sku: ((_b = (_a = opi === null || opi === void 0 ? void 0 : opi.orderProduct) === null || _a === void 0 ? void 0 : _a.product) === null || _b === void 0 ? void 0 : _b.sku) || ((_d = (_c = opi === null || opi === void 0 ? void 0 : opi.productDetail) === null || _c === void 0 ? void 0 : _c.product) === null || _d === void 0 ? void 0 : _d.sku),
99
137
  quantity: opi.releaseQty
100
138
  };
101
139
  });
@@ -153,18 +191,34 @@ class PowrupController {
153
191
  await Promise.all(orderPackages
154
192
  .filter(op => (op === null || op === void 0 ? void 0 : op.marketRtsCallSuccess) == undefined)
155
193
  .map(async (op) => {
156
- var _a, _b;
157
- if (!(op === null || op === void 0 ? void 0 : op.packageId))
194
+ var _a, _b, _c, _d, _e, _f, _g, _h;
195
+ if (!((_a = op === null || op === void 0 ? void 0 : op.releaseGood) === null || _a === void 0 ? void 0 : _a.lmdOption) && !(op === null || op === void 0 ? void 0 : op.packageId)) {
158
196
  throw new Error('Order package id is not found');
159
- if (op.lmdOption && !(op === null || op === void 0 ? void 0 : op.parcelId))
160
- return;
197
+ }
198
+ if ((_b = op === null || op === void 0 ? void 0 : op.releaseGood) === null || _b === void 0 ? void 0 : _b.lmdOption) {
199
+ if ((_c = op.releaseGood) === null || _c === void 0 ? void 0 : _c.lastMileDelivery) {
200
+ if (op.releaseGood.lastMileDelivery.isTms && !((_d = op === null || op === void 0 ? void 0 : op.releaseGood) === null || _d === void 0 ? void 0 : _d.taskId)) {
201
+ return;
202
+ }
203
+ else {
204
+ if (!(op === null || op === void 0 ? void 0 : op.parcelId)) {
205
+ return;
206
+ }
207
+ }
208
+ }
209
+ else {
210
+ if (!(op === null || op === void 0 ? void 0 : op.trackingNo)) {
211
+ return;
212
+ }
213
+ }
214
+ }
161
215
  let orderInformation = {
162
216
  refOrderId: releaseGood.refOrderId,
163
217
  packageId: op.packageId,
164
218
  platform: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.platformCode
165
219
  };
166
- if ((_a = op === null || op === void 0 ? void 0 : op.releaseGood) === null || _a === void 0 ? void 0 : _a.lmdOption) {
167
- orderInformation = Object.assign(Object.assign({}, orderInformation), { awb: op.airwayBill, trackingNo: op.trackingNo, lmdOption: (_b = op === null || op === void 0 ? void 0 : op.releaseGood) === null || _b === void 0 ? void 0 : _b.lmdOption, shipperName: op.releaseGood.lastMileDelivery.platform });
220
+ if ((_e = op === null || op === void 0 ? void 0 : op.releaseGood) === null || _e === void 0 ? void 0 : _e.lmdOption) {
221
+ orderInformation = Object.assign(Object.assign({}, orderInformation), { awb: op === null || op === void 0 ? void 0 : op.airwayBill, trackingNo: op.trackingNo, lmdOption: (_f = op === null || op === void 0 ? void 0 : op.releaseGood) === null || _f === void 0 ? void 0 : _f.lmdOption, shipperName: ((_h = (_g = op.releaseGood) === null || _g === void 0 ? void 0 : _g.lastMileDelivery) === null || _h === void 0 ? void 0 : _h.platform) || 'OTHERS' });
168
222
  }
169
223
  performance.mark(`start:${releaseGood.refOrderId} - ${op.packageId}`);
170
224
  try {
@@ -189,7 +243,7 @@ class PowrupController {
189
243
  }
190
244
  async fetchDocument(powrup, releaseGood, domain, user, trxMgr) {
191
245
  if (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lmdOption) {
192
- return;
246
+ throw new Error(`Release good ${releaseGood.name} is not a non-sof order`);
193
247
  }
194
248
  try {
195
249
  let orderPackages = await ((trxMgr === null || trxMgr === void 0 ? void 0 : trxMgr.getRepository(order_package_1.OrderPackage)) || (0, typeorm_1.getRepository)(order_package_1.OrderPackage)).find({ where: { releaseGood } });
@@ -299,10 +353,12 @@ class PowrupController {
299
353
  //create orderPackage for non-sof / sof- non mps orders
300
354
  async createOrderPackage(tx, releaseGood, orderConsignment, user, pkg) {
301
355
  try {
356
+ const packageId = (0, uuid_1.v4)();
302
357
  const orderPackage = {
303
- id: (0, uuid_1.v4)(),
358
+ id: packageId,
304
359
  name: utils_1.OrderNoGenerator.orderPackage(),
305
- packageId: pkg ? pkg.packageId : null,
360
+ packageId: pkg ? ((pkg === null || pkg === void 0 ? void 0 : pkg.packageId) ? packageId : null) : null,
361
+ trackingNo: pkg ? ((pkg === null || pkg === void 0 ? void 0 : pkg.trackingNo) ? pkg.trackingNo : pkg.name) : null,
306
362
  status: constants_1.ORDER_STATUS.PROCESSING,
307
363
  releaseGood,
308
364
  orderConsignment,
@@ -379,12 +435,16 @@ class PowrupController {
379
435
  }
380
436
  exports.PowrupController = PowrupController;
381
437
  async function createOrderConsignment(tx, releaseGood, user, orderCons) {
382
- var _a;
438
+ var _a, _b;
383
439
  try {
384
440
  const orderConsignment = {
385
441
  id: (0, uuid_1.v4)(),
386
442
  name: utils_1.OrderNoGenerator.orderConsignment(),
387
- noOfPackages: ((_a = orderCons === null || orderCons === void 0 ? void 0 : orderCons.orderPackages) === null || _a === void 0 ? void 0 : _a.length) ? orderCons.orderPackages.length : 1,
443
+ noOfPackages: ((_a = orderCons === null || orderCons === void 0 ? void 0 : orderCons.orderPackages) === null || _a === void 0 ? void 0 : _a.length)
444
+ ? orderCons.orderPackages.length
445
+ : ((_b = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryOrders) === null || _b === void 0 ? void 0 : _b.length)
446
+ ? releaseGood.deliveryOrders.length
447
+ : 1,
388
448
  domain: releaseGood.domain,
389
449
  bizplace: releaseGood.bizplace,
390
450
  releaseGood: releaseGood,
@@ -599,13 +659,13 @@ async function createConsignmentWithMultipackage(tx, orderConsList, releaseGood,
599
659
  }
600
660
  }
601
661
  exports.createConsignmentWithMultipackage = createConsignmentWithMultipackage;
602
- async function createSofOrderPackage(tx, orderPackageData, releaseGood, user, orderConsignment) {
662
+ async function createSofOrderPackage(tx, orderPackageData, releaseGood, user, orderConsignment, trackingNo) {
603
663
  try {
604
664
  const orderPackage = {
605
665
  id: (0, uuid_1.v4)(),
606
666
  name: utils_1.OrderNoGenerator.orderPackage(),
607
667
  packageId: null,
608
- trackingNo: null,
668
+ trackingNo: trackingNo || null,
609
669
  transporter: null,
610
670
  airwayBill: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill) || null,
611
671
  invoice: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.invoice,
@@ -654,33 +714,30 @@ async function createSofOrderPackageItem(tx, orderPackageItemsData, savedOrderPa
654
714
  }
655
715
  }
656
716
  exports.createSofOrderPackageItem = createSofOrderPackageItem;
657
- async function updatePackageId(packages, releaseGood, trxMgr) {
717
+ async function updatePackageId(packages, releaseGood, tx2) {
658
718
  try {
659
719
  //open new transactiion - same transaction will cause blocking
660
- await (0, typeorm_1.getConnection)().transaction(async (tx2) => {
661
- const orderPackages = await tx2.getRepository(order_package_1.OrderPackage).find({
662
- where: { releaseGood: { id: releaseGood.id } },
663
- relations: ['releaseGood']
720
+ // await getConnection().transaction(async tx2 => {
721
+ const orderPackages = await tx2.getRepository(order_package_1.OrderPackage).find({
722
+ where: { releaseGood: { id: releaseGood.id } },
723
+ relations: ['releaseGood']
724
+ });
725
+ for (let orderPackage of orderPackages) {
726
+ let matchedPackage = packages.find(p => {
727
+ return p.orderPackageId == orderPackage.id;
664
728
  });
665
- for (let orderPackage of orderPackages) {
666
- let matchedPackage = packages.find(p => {
667
- return p.orderPackageId == orderPackage.id;
668
- });
669
- if (matchedPackage) {
670
- await tx2.getRepository(order_package_1.OrderPackage).update({ id: orderPackage.id }, {
671
- packageId: matchedPackage.packageId
672
- });
673
- }
674
- }
675
- let rg = await tx2.getRepository(release_good_1.ReleaseGood).findOne({ id: releaseGood.id });
676
- if (rg) {
677
- await tx2.getRepository(release_good_1.ReleaseGood).update({ id: releaseGood.id }, {
678
- marketPackCallSuccess: new Date(),
679
- lastMarketPackCall: new Date(),
680
- updatedAt: new Date()
729
+ if (matchedPackage) {
730
+ await tx2.getRepository(order_package_1.OrderPackage).update({ id: orderPackage.id }, {
731
+ packageId: matchedPackage.packageId
681
732
  });
682
733
  }
734
+ }
735
+ await tx2.getRepository(release_good_1.ReleaseGood).update({ id: releaseGood.id }, {
736
+ marketPackCallSuccess: new Date(),
737
+ lastMarketPackCall: new Date(),
738
+ updatedAt: new Date()
683
739
  });
740
+ // })
684
741
  }
685
742
  catch (e) {
686
743
  env_1.logger.error('unable-to-update-package-id-mps');
@@ -1 +1 @@
1
- {"version":3,"file":"powrup-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/powrup-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"powrup-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/powrup-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.667",
3
+ "version": "4.3.669",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -29,16 +29,16 @@
29
29
  "@things-factory/code-base": "^4.3.591",
30
30
  "@things-factory/integration-accounting": "^4.3.660",
31
31
  "@things-factory/integration-base": "^4.3.653",
32
- "@things-factory/integration-lmd": "^4.3.660",
33
- "@things-factory/integration-powrup": "^4.3.660",
34
- "@things-factory/integration-sftp": "^4.3.667",
32
+ "@things-factory/integration-lmd": "^4.3.669",
33
+ "@things-factory/integration-powrup": "^4.3.669",
34
+ "@things-factory/integration-sftp": "^4.3.668",
35
35
  "@things-factory/notification": "^4.3.609",
36
36
  "@things-factory/product-base": "^4.3.660",
37
37
  "@things-factory/setting-base": "^4.3.609",
38
38
  "@things-factory/shell": "^4.3.591",
39
39
  "@things-factory/transport-base": "^4.3.631",
40
- "@things-factory/warehouse-base": "^4.3.667",
40
+ "@things-factory/warehouse-base": "^4.3.669",
41
41
  "axios": "1.7.7"
42
42
  },
43
- "gitHead": "15af1b6b847926ba9bd57df72df45c89f6bf4d4d"
43
+ "gitHead": "c13a564c8b4cbf6b8e92b31fd933590f013cbccb"
44
44
  }
@@ -3,11 +3,12 @@ import { v4 as uuidv4 } from 'uuid'
3
3
  import { Bizplace } from '@things-factory/biz-base'
4
4
  import { logger } from '@things-factory/env'
5
5
  import { Platform, Powrup, PowrupAPI } from '@things-factory/integration-powrup'
6
+ import { LmdPlatform } from '@things-factory/integration-lmd'
6
7
  import { Product, ProductDetail } from '@things-factory/product-base'
7
8
  import { Domain, User } from '@things-factory/shell'
8
9
  import { Inventory, INVENTORY_STATUS, LOCATION_TYPE, ProductDetailStock } from '@things-factory/warehouse-base'
9
10
 
10
- import { ORDER_STATUS } from '../../constants'
11
+ import { ORDER_STATUS, ReleaseOrderType } from '../../constants'
11
12
  import { OrderPackageItem } from '../../service/order-package-item/order-package-item'
12
13
  import { OrderPackage } from '../../service/order-package/order-package'
13
14
  import { OrderProduct } from '../../service/order-product/order-product'
@@ -50,6 +51,14 @@ export class PowrupController {
50
51
  return
51
52
  }
52
53
 
54
+ if (
55
+ releaseGood.type == 'b2b' &&
56
+ !releaseGood?.lastMileDelivery &&
57
+ (releaseGood?.deliveryOrders == undefined || releaseGood?.deliveryOrders?.length <= 0)
58
+ ) {
59
+ return
60
+ }
61
+
53
62
  // capture update fields
54
63
  roUpdateFields = {
55
64
  lastMarketPackCall: new Date()
@@ -118,37 +127,85 @@ export class PowrupController {
118
127
  const isMps = releaseGood?.lastMileDelivery?.mps
119
128
  const orderInformation: any = { refOrderId: releaseGood.refOrderId, isSof: true }
120
129
 
121
- if (isMps) {
122
- newReleaseGood = await splitOrderConsignment(trxMgr, releaseGood, user)
123
- orderPackages = newReleaseGood.orderPackages
124
- releaseGood.orderPackages = orderPackages
125
- } else {
126
- //create package like normal non sof orders
130
+ if (
131
+ releaseGood?.lastMileDelivery?.platform == LmdPlatform.VERSA_FLEET ||
132
+ (releaseGood?.lastMileDelivery == null && releaseGood?.deliveryOrders?.length > 0)
133
+ ) {
127
134
  let orderConsignment = await createOrderConsignment(trxMgr, releaseGood, user)
128
- let savedOrderPackage: OrderPackage = await this.createOrderPackage(
129
- trxMgr,
130
- releaseGood,
131
- orderConsignment,
132
- user
133
- )
134
- let orderPackageItems: OrderPackageItem[] = await createSofOrderPackageItem(
135
- trxMgr,
136
- [],
137
- savedOrderPackage,
138
- releaseGood
139
- )
140
- savedOrderPackage.orderPackageItems = orderPackageItems
141
- orderPackages.push(savedOrderPackage)
142
- releaseGood.orderPackages = orderPackages
143
135
 
136
+ for (const deliveryOrder of releaseGood.deliveryOrders) {
137
+ const savedOrderPackage: OrderPackage = await this.createOrderPackage(
138
+ trxMgr,
139
+ releaseGood,
140
+ orderConsignment,
141
+ user,
142
+ deliveryOrder
143
+ )
144
+
145
+ const orderInventoriesGroupByProduct: any[] = Object.values(
146
+ deliveryOrder.orderInventories.reduce((acc, oi) => {
147
+ const key = oi.productDetail.id
148
+ if (!acc[key]) {
149
+ acc[key] = {
150
+ id: uuidv4(),
151
+ name: OrderNoGenerator.orderPackageItem(),
152
+ orderProduct: null,
153
+ productDetail: {
154
+ id: oi.productDetail.id,
155
+ refCode: oi.productDetail.refCode,
156
+ product: { sku: oi.product.sku }
157
+ },
158
+ releaseQty: 0
159
+ }
160
+ }
161
+ acc[key].releaseQty += oi.releaseQty || 0
162
+ return acc
163
+ }, {})
164
+ )
165
+
166
+ const orderPackageItems: OrderPackageItem[] = await createSofOrderPackageItem(
167
+ trxMgr,
168
+ orderInventoriesGroupByProduct,
169
+ savedOrderPackage,
170
+ releaseGood
171
+ )
172
+ savedOrderPackage.orderPackageItems = orderPackageItems
173
+ orderPackages.push(savedOrderPackage)
174
+ }
144
175
  newReleaseGood = releaseGood
176
+ } else {
177
+ if (isMps) {
178
+ newReleaseGood = await splitOrderConsignment(trxMgr, releaseGood, user)
179
+ orderPackages = newReleaseGood.orderPackages
180
+ releaseGood.orderPackages = orderPackages
181
+ } else {
182
+ //create package like normal non sof orders
183
+ let orderConsignment = await createOrderConsignment(trxMgr, releaseGood, user)
184
+ let savedOrderPackage: OrderPackage = await this.createOrderPackage(
185
+ trxMgr,
186
+ releaseGood,
187
+ orderConsignment,
188
+ user
189
+ )
190
+ let orderPackageItems: OrderPackageItem[] = await createSofOrderPackageItem(
191
+ trxMgr,
192
+ [],
193
+ savedOrderPackage,
194
+ releaseGood
195
+ )
196
+ savedOrderPackage.orderPackageItems = orderPackageItems
197
+ orderPackages.push(savedOrderPackage)
198
+ releaseGood.orderPackages = orderPackages
199
+
200
+ newReleaseGood = releaseGood
201
+ }
145
202
  }
146
203
 
147
204
  const packages = orderPackages.map(op => {
148
205
  const items = op.orderPackageItems.map(opi => {
149
206
  return {
150
207
  universalIdentifier: opi.productDetail.refCode,
151
- sku: opi.orderProduct.product.sku,
208
+ sku: opi?.orderProduct?.product?.sku || opi?.productDetail?.product?.sku,
152
209
  quantity: opi.releaseQty
153
210
  }
154
211
  })
@@ -232,8 +289,25 @@ export class PowrupController {
232
289
  orderPackages
233
290
  .filter(op => op?.marketRtsCallSuccess == undefined)
234
291
  .map(async op => {
235
- if (!op?.packageId) throw new Error('Order package id is not found')
236
- if (op.lmdOption && !op?.parcelId) return
292
+ if (!op?.releaseGood?.lmdOption && !op?.packageId) {
293
+ throw new Error('Order package id is not found')
294
+ }
295
+
296
+ if (op?.releaseGood?.lmdOption) {
297
+ if (op.releaseGood?.lastMileDelivery) {
298
+ if (op.releaseGood.lastMileDelivery.isTms && !op?.releaseGood?.taskId) {
299
+ return
300
+ } else {
301
+ if (!op?.parcelId) {
302
+ return
303
+ }
304
+ }
305
+ } else {
306
+ if (!op?.trackingNo) {
307
+ return
308
+ }
309
+ }
310
+ }
237
311
 
238
312
  let orderInformation: any = {
239
313
  refOrderId: releaseGood.refOrderId,
@@ -243,10 +317,10 @@ export class PowrupController {
243
317
  if (op?.releaseGood?.lmdOption) {
244
318
  orderInformation = {
245
319
  ...orderInformation,
246
- awb: op.airwayBill,
320
+ awb: op?.airwayBill,
247
321
  trackingNo: op.trackingNo,
248
322
  lmdOption: op?.releaseGood?.lmdOption,
249
- shipperName: op.releaseGood.lastMileDelivery.platform
323
+ shipperName: op.releaseGood?.lastMileDelivery?.platform || 'OTHERS'
250
324
  }
251
325
  }
252
326
 
@@ -291,7 +365,7 @@ export class PowrupController {
291
365
  trxMgr?: EntityManager
292
366
  ): Promise<ReleaseGood> {
293
367
  if (releaseGood?.lmdOption) {
294
- return
368
+ throw new Error(`Release good ${releaseGood.name} is not a non-sof order`)
295
369
  }
296
370
 
297
371
  try {
@@ -449,10 +523,12 @@ export class PowrupController {
449
523
  pkg?: any
450
524
  ) {
451
525
  try {
526
+ const packageId = uuidv4()
452
527
  const orderPackage: any = {
453
- id: uuidv4(),
528
+ id: packageId,
454
529
  name: OrderNoGenerator.orderPackage(),
455
- packageId: pkg ? pkg.packageId : null,
530
+ packageId: pkg ? (pkg?.packageId ? packageId : null) : null,
531
+ trackingNo: pkg ? (pkg?.trackingNo ? pkg.trackingNo : pkg.name) : null,
456
532
  status: ORDER_STATUS.PROCESSING,
457
533
  releaseGood,
458
534
  orderConsignment,
@@ -527,8 +603,8 @@ export class PowrupController {
527
603
  releaseQty: releaseQty
528
604
  ? releaseQty
529
605
  : qty > matchedOrderProduct.releaseQty
530
- ? matchedOrderProduct.releaseQty
531
- : qty
606
+ ? matchedOrderProduct.releaseQty
607
+ : qty
532
608
  }
533
609
  }
534
610
 
@@ -580,7 +656,11 @@ export async function createOrderConsignment(
580
656
  const orderConsignment: OrderConsignment = {
581
657
  id: uuidv4(),
582
658
  name: OrderNoGenerator.orderConsignment(),
583
- noOfPackages: orderCons?.orderPackages?.length ? orderCons.orderPackages.length : 1,
659
+ noOfPackages: orderCons?.orderPackages?.length
660
+ ? orderCons.orderPackages.length
661
+ : releaseGood?.deliveryOrders?.length
662
+ ? releaseGood.deliveryOrders.length
663
+ : 1,
584
664
  domain: releaseGood.domain,
585
665
  bizplace: releaseGood.bizplace,
586
666
  releaseGood: releaseGood,
@@ -835,14 +915,15 @@ export async function createSofOrderPackage(
835
915
  orderPackageData: any,
836
916
  releaseGood: ReleaseGood,
837
917
  user: User,
838
- orderConsignment: OrderConsignment
918
+ orderConsignment: OrderConsignment,
919
+ trackingNo?: string
839
920
  ): Promise<OrderPackage> {
840
921
  try {
841
922
  const orderPackage: any = {
842
923
  id: uuidv4(),
843
924
  name: OrderNoGenerator.orderPackage(),
844
925
  packageId: null,
845
- trackingNo: null,
926
+ trackingNo: trackingNo || null,
846
927
  transporter: null,
847
928
  airwayBill: releaseGood?.airwayBill || null,
848
929
  invoice: releaseGood?.invoice,
@@ -899,43 +980,39 @@ export async function createSofOrderPackageItem(
899
980
  }
900
981
  }
901
982
 
902
- export async function updatePackageId(packages, releaseGood, trxMgr) {
983
+ export async function updatePackageId(packages, releaseGood, tx2) {
903
984
  try {
904
985
  //open new transactiion - same transaction will cause blocking
905
- await getConnection().transaction(async tx2 => {
906
- const orderPackages: OrderPackage[] = await tx2.getRepository(OrderPackage).find({
907
- where: { releaseGood: { id: releaseGood.id } },
908
- relations: ['releaseGood']
909
- })
910
-
911
- for (let orderPackage of orderPackages) {
912
- let matchedPackage = packages.find(p => {
913
- return p.orderPackageId == orderPackage.id
914
- })
915
-
916
- if (matchedPackage) {
917
- await tx2.getRepository(OrderPackage).update(
918
- { id: orderPackage.id },
919
- {
920
- packageId: matchedPackage.packageId
921
- }
922
- )
923
- }
924
- }
986
+ // await getConnection().transaction(async tx2 => {
987
+ const orderPackages: OrderPackage[] = await tx2.getRepository(OrderPackage).find({
988
+ where: { releaseGood: { id: releaseGood.id } },
989
+ relations: ['releaseGood']
990
+ })
925
991
 
926
- let rg = await tx2.getRepository(ReleaseGood).findOne({ id: releaseGood.id })
992
+ for (let orderPackage of orderPackages) {
993
+ let matchedPackage = packages.find(p => {
994
+ return p.orderPackageId == orderPackage.id
995
+ })
927
996
 
928
- if (rg) {
929
- await tx2.getRepository(ReleaseGood).update(
930
- { id: releaseGood.id },
997
+ if (matchedPackage) {
998
+ await tx2.getRepository(OrderPackage).update(
999
+ { id: orderPackage.id },
931
1000
  {
932
- marketPackCallSuccess: new Date(),
933
- lastMarketPackCall: new Date(),
934
- updatedAt: new Date()
1001
+ packageId: matchedPackage.packageId
935
1002
  }
936
1003
  )
937
1004
  }
938
- })
1005
+ }
1006
+
1007
+ await tx2.getRepository(ReleaseGood).update(
1008
+ { id: releaseGood.id },
1009
+ {
1010
+ marketPackCallSuccess: new Date(),
1011
+ lastMarketPackCall: new Date(),
1012
+ updatedAt: new Date()
1013
+ }
1014
+ )
1015
+ // })
939
1016
  } catch (e) {
940
1017
  logger.error('unable-to-update-package-id-mps')
941
1018
  }