@things-factory/sales-base 4.3.622 → 4.3.629

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.
@@ -29,14 +29,19 @@ export class PowrupController {
29
29
  let roUpdateFields: Partial<ReleaseGood> = null
30
30
 
31
31
  const updateRO = async (releaseGoodId, roUpdateFields, trxMgr) => {
32
- if (roUpdateFields) {
33
- await trxMgr.getRepository(ReleaseGood).update({ id: releaseGoodId }, roUpdateFields)
32
+ try {
33
+ if (roUpdateFields) {
34
+ const result = await trxMgr.getRepository(ReleaseGood).save({ id: releaseGoodId }, roUpdateFields)
35
+ }
36
+ } catch (e) {
37
+ logger.error(e)
34
38
  }
35
39
  }
36
40
 
37
41
  try {
38
42
  const orderProducts: OrderProduct[] = releaseGood.orderProducts
39
43
  const orderInformation: any = { refOrderId: releaseGood.refOrderId }
44
+ const lmdOption = releaseGood?.lmdOption
40
45
 
41
46
  if (
42
47
  releaseGood?.lastMarketPackCall &&
@@ -49,112 +54,43 @@ export class PowrupController {
49
54
  roUpdateFields = {
50
55
  lastMarketPackCall: new Date()
51
56
  }
52
- performance.mark(`start:${releaseGood.refOrderId}`)
53
- const orderPack: any = await PowrupAPI.packOrder(powrup, {
54
- ...orderInformation,
55
- context: { state: { domain: domain || null, user: user || null } }
56
- })
57
- performance.mark(`end:${releaseGood.refOrderId}`)
58
-
59
- if (orderPack?.packages) {
60
- const packages: any[] = orderPack.packages
61
-
62
- const createOrderPackageItems = (
63
- orderProducts: OrderProduct[],
64
- orderPackage: OrderPackage,
65
- items: any[],
66
- unassignedItems?: Boolean
67
- ) => {
68
- return items
69
- .map(itm => {
70
- const { refCode, qty, productDetail, releaseQty } = itm
71
- if (!refCode && !unassignedItems) {
72
- throw new Error(`universalIdentifier missing`)
73
- }
74
- const idx = orderProducts.findIndex(
75
- op => op.productDetail?.refCode == refCode || op.productDetail?.refCode == productDetail?.refCode
76
- )
77
-
78
- const matchedOrderProduct: OrderProduct = idx !== -1 ? { ...orderProducts[idx] } : undefined
79
-
80
- const matchedOrderPackageItem: OrderPackageItem = orderPackage?.orderPackageItems?.find(
81
- itm => itm.orderProductId == matchedOrderProduct?.id
82
- )
83
57
 
84
- if (!matchedOrderProduct || orderProducts[idx].releaseQty <= 0) {
85
- return null
86
- }
58
+ // non-sof orders will trigger packOrder - create consignment - order package
59
+ if (!lmdOption) {
60
+ performance.mark(`start:${releaseGood.refOrderId}`)
61
+ const orderPack: any = await PowrupAPI.packOrder(powrup, {
62
+ ...orderInformation,
63
+ context: { state: { domain: domain || null, user: user || null } }
64
+ })
65
+ performance.mark(`end:${releaseGood.refOrderId}`)
87
66
 
88
- const commonProperties = {
89
- orderProduct: matchedOrderProduct,
90
- status: ORDER_STATUS.PROCESSING,
91
- orderPackage: orderPackage,
92
- domain: releaseGood.domain,
93
- bizplace: releaseGood.bizplace,
94
- creator: user?.id,
95
- updater: user?.id,
96
- productDetail: matchedOrderProduct.productDetail
97
- }
67
+ if (orderPack?.packages) {
68
+ const packages: any[] = orderPack.packages
98
69
 
99
- // If an existing order package item is found, update its release quantity
100
- if (matchedOrderPackageItem) {
101
- return {
102
- ...commonProperties,
103
- id: matchedOrderPackageItem.id,
104
- name: matchedOrderPackageItem.name,
105
- releaseQty: (matchedOrderPackageItem.releaseQty || 0) + (releaseQty || 0)
106
- }
107
- }
70
+ await Promise.all(
71
+ packages.map(async pkg => {
72
+ const items = pkg.items
108
73
 
109
- // Update release quantity of the matched order product
110
- orderProducts[idx].releaseQty = (orderProducts[idx].releaseQty || 0) - (qty || 0)
111
-
112
- // Return a new order package item if no existing item was found
113
- return {
114
- ...commonProperties,
115
- name: OrderNoGenerator.orderPackageItem(),
116
- releaseQty: releaseQty
117
- ? releaseQty
118
- : qty > matchedOrderProduct.releaseQty
119
- ? matchedOrderProduct.releaseQty
120
- : qty
121
- }
122
- })
123
- .filter(item => item != null)
124
- }
125
- //
126
-
127
- await Promise.all(
128
- packages.map(async pkg => {
129
- const items = pkg.items
130
- const isMps = releaseGood?.lastMileDelivery?.mps
131
-
132
- if (isMps) {
133
- let newReleaseGood = await splitOrderConsignment(trxMgr, releaseGood, items, user)
134
- await updatePackageId(packages, newReleaseGood, trxMgr)
135
- } else {
136
74
  let orderConsignment = await createOrderConsignment(trxMgr, releaseGood, user)
137
- const orderPackage: any = {
138
- name: OrderNoGenerator.orderPackage(),
139
- packageId: pkg.packageId,
140
- status: ORDER_STATUS.PROCESSING,
75
+ let savedOrderPackage: OrderPackage = await this.createOrderPackage(
76
+ trxMgr,
141
77
  releaseGood,
142
78
  orderConsignment,
143
- domain: releaseGood.domain,
144
- bizplace: releaseGood.bizplace,
145
- creator: user,
146
- updater: user,
147
- originalPackResponse: JSON.stringify(pkg)
148
- }
149
-
150
- let savedOrderPackage: OrderPackage = await trxMgr.getRepository(OrderPackage).save(orderPackage)
151
- const orderPackageItems = createOrderPackageItems(orderProducts, savedOrderPackage, items, false)
79
+ user,
80
+ pkg
81
+ )
82
+ const orderPackageItems: OrderPackageItem[] = await this.createOrderPackageItems(
83
+ orderProducts,
84
+ savedOrderPackage,
85
+ items,
86
+ user,
87
+ false,
88
+ releaseGood
89
+ )
152
90
  await trxMgr.getRepository(OrderPackageItem).save(orderPackageItems)
153
- }
154
- })
155
- )
91
+ })
92
+ )
156
93
 
157
- if (!releaseGood?.lastMileDelivery?.mps) {
158
94
  const unassignedOrderProducts: OrderProduct[] = orderProducts.filter(op => {
159
95
  return (
160
96
  op.releaseQty > 0 ||
@@ -162,33 +98,83 @@ export class PowrupController {
162
98
  )
163
99
  })
164
100
 
165
- if (unassignedOrderProducts?.length > 0) {
166
- const orderPackages: OrderPackage[] = await trxMgr.getRepository(OrderPackage).find({
167
- where: { releaseGood: releaseGood.id },
168
- relations: ['orderPackageItems']
169
- })
101
+ if (unassignedOrderProducts?.length > 0)
102
+ await this.unassignedOrderProducts(unassignedOrderProducts, releaseGood, user, trxMgr)
170
103
 
171
- let selectedOrderPackage = orderPackages.reduce((minOrderPackage, currentOrderPackage) => {
172
- return currentOrderPackage?.orderPackageItems.length < minOrderPackage?.orderPackageItems.length
173
- ? currentOrderPackage
174
- : minOrderPackage
175
- }, orderPackages[0])
176
-
177
- const unassignedPackageItems = createOrderPackageItems(
178
- unassignedOrderProducts,
179
- selectedOrderPackage,
180
- unassignedOrderProducts,
181
- true
182
- )
183
- await trxMgr.getRepository(OrderPackageItem).save(unassignedPackageItems)
104
+ roUpdateFields = {
105
+ packageId: packages[0].packageId,
106
+ marketPackCallSuccess: new Date(),
107
+ lastMarketPackCall: new Date(),
108
+ updatedAt: new Date()
184
109
  }
185
110
  }
111
+ await updateRO(releaseGood.id, roUpdateFields, trxMgr)
112
+ } else {
113
+ //sof orders will create consignment - order package - trigger packOrder
114
+
115
+ let newReleaseGood
116
+ let orderPackages: OrderPackage[] = []
186
117
 
187
- roUpdateFields = {
188
- packageId: packages[0].packageId,
189
- marketPackCallSuccess: new Date(),
190
- lastMarketPackCall: new Date(),
191
- updatedAt: new Date()
118
+ const isMps = releaseGood?.lastMileDelivery?.mps
119
+ const orderInformation: any = { refOrderId: releaseGood.refOrderId, isSof: true }
120
+
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
127
+ 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
+
144
+ newReleaseGood = releaseGood
145
+ }
146
+
147
+ const packages = orderPackages.map(op => {
148
+ const items = op.orderPackageItems.map(opi => {
149
+ return {
150
+ universalIdentifier: opi.productDetail.refCode,
151
+ sku: opi.orderProduct.product.sku,
152
+ quantity: opi.releaseQty
153
+ }
154
+ })
155
+ return {
156
+ packageId: op.id,
157
+ items: items
158
+ }
159
+ })
160
+
161
+ performance.mark(`start:${newReleaseGood?.refOrderId}`)
162
+ const orderPack: any = await PowrupAPI.packOrder(powrup, {
163
+ ...orderInformation,
164
+ packages,
165
+ context: { state: { domain: domain || null, user: user || null } }
166
+ })
167
+ performance.mark(`end:${newReleaseGood.refOrderId}`)
168
+
169
+ if (orderPack?.packages) {
170
+ roUpdateFields = {
171
+ marketPackCallSuccess: new Date(),
172
+ lastMarketPackCall: new Date(),
173
+ updatedAt: new Date()
174
+ }
175
+
176
+ let packages = orderPack.packages
177
+ await updatePackageId(packages, releaseGood, trxMgr)
192
178
  }
193
179
  }
194
180
  } catch (error) {
@@ -207,8 +193,6 @@ export class PowrupController {
207
193
  console.info(perf.toJSON())
208
194
  }
209
195
 
210
- await updateRO(releaseGood.id, roUpdateFields, trxMgr)
211
-
212
196
  return releaseGood
213
197
  }
214
198
 
@@ -253,13 +237,10 @@ export class PowrupController {
253
237
 
254
238
  let orderInformation: any = {
255
239
  refOrderId: releaseGood.refOrderId,
256
- packageId: op.packageId
240
+ packageId: op.packageId,
241
+ platform: releaseGood?.platformCode
257
242
  }
258
243
  if (op?.releaseGood?.lmdOption) {
259
- // let releaseGoodQuery: ReleaseGood = await releaseGoodRepo.findOne({
260
- // where: { id: releaseGood.id },
261
- // relations: ['lastMileDelivery']
262
- // })
263
244
  orderInformation = {
264
245
  ...orderInformation,
265
246
  awb: op.airwayBill,
@@ -458,6 +439,135 @@ export class PowrupController {
458
439
  }
459
440
  }
460
441
  }
442
+
443
+ //create orderPackage for non-sof / sof- non mps orders
444
+ async createOrderPackage(
445
+ tx: EntityManager,
446
+ releaseGood: ReleaseGood,
447
+ orderConsignment?: OrderConsignment,
448
+ user?: User,
449
+ pkg?: any
450
+ ) {
451
+ try {
452
+ const orderPackage: any = {
453
+ id: uuidv4(),
454
+ name: OrderNoGenerator.orderPackage(),
455
+ packageId: pkg ? pkg.packageId : null,
456
+ status: ORDER_STATUS.PROCESSING,
457
+ releaseGood,
458
+ orderConsignment,
459
+ domain: releaseGood.domain,
460
+ bizplace: releaseGood.bizplace,
461
+ creator: user.id,
462
+ updater: user.id,
463
+ originalPackResponse: pkg ? JSON.stringify(pkg) : null
464
+ }
465
+ let savedOrderPackage: OrderPackage = await tx.getRepository(OrderPackage).save(orderPackage)
466
+ return savedOrderPackage
467
+ } catch (e) {
468
+ logger.error(`[lmd-create-order-consignment]: ${e} `)
469
+ }
470
+ }
471
+
472
+ async createOrderPackageItems(
473
+ orderProducts: OrderProduct[],
474
+ orderPackage: OrderPackage,
475
+ items: any[],
476
+ user: User,
477
+ unassignedItems?: Boolean,
478
+ releaseGood?: any
479
+ ): Promise<any[]> {
480
+ try {
481
+ const processedItems = items.map(itm => {
482
+ const { refCode, qty, productDetail, releaseQty } = itm
483
+
484
+ if (!refCode && !unassignedItems) {
485
+ throw new Error(`universalIdentifier missing`)
486
+ }
487
+
488
+ const idx = orderProducts.findIndex(
489
+ op => op.productDetail?.refCode === refCode || op.productDetail?.refCode === productDetail?.refCode
490
+ )
491
+
492
+ const matchedOrderProduct: OrderProduct = idx !== -1 ? { ...orderProducts[idx] } : undefined
493
+
494
+ if (!matchedOrderProduct || matchedOrderProduct.releaseQty <= 0) {
495
+ return null // No matched product or no remaining quantity to release
496
+ }
497
+
498
+ const matchedOrderPackageItem: OrderPackageItem = orderPackage?.orderPackageItems?.find(
499
+ itm => itm.orderProductId === matchedOrderProduct.id
500
+ )
501
+
502
+ const commonProperties = {
503
+ orderProduct: matchedOrderProduct,
504
+ status: ORDER_STATUS.PROCESSING,
505
+ orderPackage: orderPackage,
506
+ domain: releaseGood.domain,
507
+ bizplace: releaseGood.bizplace,
508
+ creator: user.id,
509
+ updater: user.id,
510
+ productDetail: matchedOrderProduct.productDetail
511
+ }
512
+
513
+ let result = {}
514
+
515
+ if (matchedOrderPackageItem) {
516
+ result = {
517
+ ...commonProperties,
518
+ id: matchedOrderPackageItem.id,
519
+ name: matchedOrderPackageItem.name,
520
+ releaseQty: (matchedOrderPackageItem.releaseQty || 0) + (releaseQty || 0)
521
+ }
522
+ } else {
523
+ orderProducts[idx].releaseQty = (orderProducts[idx].releaseQty || 0) - (qty || 0)
524
+ result = {
525
+ ...commonProperties,
526
+ name: OrderNoGenerator.orderPackageItem(),
527
+ releaseQty: releaseQty
528
+ ? releaseQty
529
+ : qty > matchedOrderProduct.releaseQty
530
+ ? matchedOrderProduct.releaseQty
531
+ : qty
532
+ }
533
+ }
534
+
535
+ return result
536
+ })
537
+
538
+ return processedItems.filter(item => item != null)
539
+ } catch (e) {
540
+ logger.error(`unable-to-create-opi-powrup: ${e}`)
541
+ }
542
+ }
543
+
544
+ async unassignedOrderProducts(
545
+ unassignedOrderProducts: OrderProduct[],
546
+ releaseGood: ReleaseGood,
547
+ user: User,
548
+ trxMgr: EntityManager
549
+ ) {
550
+ const orderPackages: OrderPackage[] = await trxMgr.getRepository(OrderPackage).find({
551
+ where: { releaseGood: releaseGood.id },
552
+ relations: ['orderPackageItems']
553
+ })
554
+
555
+ let selectedOrderPackage = orderPackages.reduce((minOrderPackage, currentOrderPackage) => {
556
+ return currentOrderPackage?.orderPackageItems.length < minOrderPackage?.orderPackageItems.length
557
+ ? currentOrderPackage
558
+ : minOrderPackage
559
+ }, orderPackages[0])
560
+
561
+ const unassignedPackageItems = await this.createOrderPackageItems(
562
+ unassignedOrderProducts,
563
+ selectedOrderPackage,
564
+ unassignedOrderProducts,
565
+ user,
566
+ true,
567
+ releaseGood
568
+ )
569
+ await trxMgr.getRepository(OrderPackageItem).save(unassignedPackageItems)
570
+ }
461
571
  }
462
572
 
463
573
  export async function createOrderConsignment(
@@ -485,42 +595,24 @@ export async function createOrderConsignment(
485
595
  }
486
596
  }
487
597
 
488
- export async function sortingProduct(items, releaseGood): Promise<any> {
598
+ export async function sortingProduct(orderProducts): Promise<any> {
489
599
  try {
490
- let orderProducts: OrderProduct[] = releaseGood.orderProducts
491
-
492
- const sortedMatchedOrderProducts = items
493
- .map(itm => {
494
- const { refCode, qty } = itm
495
- if (!refCode) {
496
- throw new Error(`universalIdentifier missing`)
497
- }
498
- // Find matched order product for each item
499
- return orderProducts.find(op => op.productDetail.refCode === refCode) || null
500
- })
501
- .filter(item => item) // Filter out any null values
502
- .sort((a, b) => {
503
- if (a.product.packingType !== b.product.packingType) {
504
- return a.product.packingType < b.product.packingType ? -1 : 1
505
- }
506
- if (a.product.sku !== b.product.sku) {
507
- return a.product.sku < b.product.sku ? -1 : 1
508
- }
509
- return 0
510
- })
511
-
600
+ const sortedMatchedOrderProducts = orderProducts.sort((a, b) => {
601
+ if (a.product.packingType !== b.product.packingType) {
602
+ return a.product.packingType < b.product.packingType ? -1 : 1
603
+ }
604
+ if (a.product.sku !== b.product.sku) {
605
+ return a.product.sku < b.product.sku ? -1 : 1
606
+ }
607
+ return 0
608
+ })
512
609
  return sortedMatchedOrderProducts
513
610
  } catch (e) {
514
611
  logger.error(`[lmd-sort-product]: ${e} `)
515
612
  }
516
613
  }
517
614
 
518
- export async function splitOrderConsignment(
519
- tx: EntityManager,
520
- releaseGood: ReleaseGood,
521
- items: any,
522
- user: User
523
- ): Promise<any> {
615
+ export async function splitOrderConsignment(tx: EntityManager, releaseGood: ReleaseGood, user: User): Promise<any> {
524
616
  try {
525
617
  let currentConsignment = { id: uuidv4(), totalWeight: 0, orderPackages: [] }
526
618
  let totalConsignments = []
@@ -530,8 +622,8 @@ export async function splitOrderConsignment(
530
622
  let orderProducts = releaseGood.orderProducts
531
623
  let maxConsignmentWeight = releaseGood.lastMileDelivery.consignmentWeight
532
624
 
533
- //sort items from packOrder API
534
- let sortItems = await sortingProduct(items, releaseGood)
625
+ //sort products according to the packingType
626
+ let sortItems = await sortingProduct(orderProducts)
535
627
 
536
628
  //initialise new orderConsignment created
537
629
  const createdNewConsignment = () => ({
@@ -628,7 +720,7 @@ export async function splitOrderConsignment(
628
720
  id: uuidv4(),
629
721
  name: OrderNoGenerator.orderPackageItem(),
630
722
  releaseQty: op.releaseQty,
631
- orderProducts: op,
723
+ orderProduct: op,
632
724
  domain: releaseGood.domain,
633
725
  bizplace: releaseGood.bizplace,
634
726
  creator: releaseGood.creator,
@@ -707,14 +799,14 @@ export async function createConsignmentWithMultipackage(
707
799
  const savedOrderConsignment = await createOrderConsignment(tx, releaseGood, user, orderCons)
708
800
 
709
801
  for (const currentPackage of orderCons.orderPackages) {
710
- const savedOrderPackage = await createConsignmentPackage(
802
+ const savedOrderPackage = await createSofOrderPackage(
711
803
  tx,
712
804
  currentPackage,
713
805
  releaseGood,
714
806
  user,
715
807
  savedOrderConsignment
716
808
  )
717
- const orderPackageItems = await createConsignmentPackageItem(
809
+ const orderPackageItems = await createSofOrderPackageItem(
718
810
  tx,
719
811
  currentPackage.orderPackageItems,
720
812
  savedOrderPackage,
@@ -738,7 +830,7 @@ export async function createConsignmentWithMultipackage(
738
830
  }
739
831
  }
740
832
 
741
- export async function createConsignmentPackage(
833
+ export async function createSofOrderPackage(
742
834
  tx: EntityManager,
743
835
  orderPackageData: any,
744
836
  releaseGood: ReleaseGood,
@@ -768,26 +860,36 @@ export async function createConsignmentPackage(
768
860
  }
769
861
  }
770
862
 
771
- export async function createConsignmentPackageItem(
863
+ export async function createSofOrderPackageItem(
772
864
  tx: EntityManager,
773
865
  orderPackageItemsData: any[],
774
866
  savedOrderPackage: OrderPackage,
775
867
  releaseGood: ReleaseGood
776
868
  ): Promise<OrderPackageItem[]> {
777
869
  try {
778
- const orderPackageItems = orderPackageItemsData.map(opi => ({
779
- id: opi.id,
780
- name: opi.name,
781
- orderProduct: opi.orderProduct,
782
- status: ORDER_STATUS.PROCESSING,
783
- releaseQty: opi.releaseQty,
784
- orderPackage: savedOrderPackage,
785
- domain: releaseGood.domain,
786
- bizplace: releaseGood.bizplace,
787
- creator: releaseGood.creator,
788
- updater: releaseGood.updater,
789
- productDetail: opi.productDetail
790
- }))
870
+ const orderPackageItems = (
871
+ orderPackageItemsData.length > 0 ? orderPackageItemsData : releaseGood.orderProducts
872
+ ).map(item => {
873
+ const isOrderPackageItemData = orderPackageItemsData.length > 0
874
+ const id = isOrderPackageItemData ? item.id : uuidv4()
875
+ const name = isOrderPackageItemData ? item.name : OrderNoGenerator.orderPackageItem()
876
+ const orderProduct = isOrderPackageItemData ? item.orderProduct : item
877
+ const releaseQty = isOrderPackageItemData ? item.releaseQty : item.releaseQty
878
+
879
+ return {
880
+ id,
881
+ name,
882
+ orderProduct,
883
+ status: ORDER_STATUS.PROCESSING,
884
+ releaseQty,
885
+ orderPackage: savedOrderPackage,
886
+ domain: releaseGood.domain,
887
+ bizplace: releaseGood.bizplace,
888
+ creator: releaseGood.creator,
889
+ updater: releaseGood.updater,
890
+ productDetail: isOrderPackageItemData ? item.productDetail : item.productDetail
891
+ }
892
+ })
791
893
 
792
894
  let savedOrderPackageItems: OrderPackageItem[] = await tx.getRepository(OrderPackageItem).save(orderPackageItems)
793
895
 
@@ -799,19 +901,42 @@ export async function createConsignmentPackageItem(
799
901
 
800
902
  export async function updatePackageId(packages, releaseGood, trxMgr) {
801
903
  try {
802
- const orderPackage = await trxMgr.getRepository(OrderPackage).findOne({
803
- where: { releaseGood: { id: releaseGood.id } },
804
- relations: ['releaseGood']
805
- })
806
- if (orderPackage) {
807
- await trxMgr.getRepository(OrderPackage).update(
808
- { name: orderPackage.name },
809
- {
810
- packageId: packages[0].packageId
904
+ //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
+ )
811
923
  }
812
- )
813
- }
924
+ }
925
+
926
+ let rg = await tx2.getRepository(ReleaseGood).findOne({ id: releaseGood.id })
927
+
928
+ if (rg) {
929
+ await tx2.getRepository(ReleaseGood).update(
930
+ { id: releaseGood.id },
931
+ {
932
+ marketPackCallSuccess: new Date(),
933
+ lastMarketPackCall: new Date(),
934
+ updatedAt: new Date()
935
+ }
936
+ )
937
+ }
938
+ })
814
939
  } catch (e) {
815
- logger.error('unable-to-update-package-id-powrup')
940
+ logger.error('unable-to-update-package-id-mps')
816
941
  }
817
942
  }
@@ -1,8 +1,4 @@
1
- import {
2
- Field,
3
- ID,
4
- ObjectType
5
- } from 'type-graphql'
1
+ import { Field, ID, ObjectType } from 'type-graphql'
6
2
  import {
7
3
  Column,
8
4
  CreateDateColumn,
@@ -19,10 +15,7 @@ import {
19
15
 
20
16
  import { Attachment } from '@things-factory/attachment-base'
21
17
  import { User } from '@things-factory/auth-base'
22
- import {
23
- Bizplace,
24
- ContactPoint
25
- } from '@things-factory/biz-base'
18
+ import { Bizplace, ContactPoint } from '@things-factory/biz-base'
26
19
  import { config } from '@things-factory/env'
27
20
  import { LastMileDelivery } from '@things-factory/integration-lmd'
28
21
  import { Domain } from '@things-factory/shell'
@@ -63,13 +56,11 @@ export enum DispatchmentStatus {
63
56
  @Index('ix_release-good_2', (releaseGood: ReleaseGood) => [releaseGood.domain, releaseGood.refNo2])
64
57
  @Index('ix_release-good_3', (releaseGood: ReleaseGood) => [releaseGood.domain, releaseGood.remark])
65
58
  @Index('ix_release-good_4', (releaseGood: ReleaseGood) => [releaseGood.domain, releaseGood.bizplace])
66
- @Index(
67
- 'ix_release-good_5',
68
- (releaseGood: ReleaseGood) => [releaseGood.domain, releaseGood.bizplace, releaseGood.refOrderId],
69
- {
70
- unique: true
71
- }
72
- )
59
+ @Index('ix_release-good_5', (releaseGood: ReleaseGood) => [
60
+ releaseGood.domain,
61
+ releaseGood.bizplace,
62
+ releaseGood.refOrderId
63
+ ])
73
64
  @ObjectType()
74
65
  export class ReleaseGood {
75
66
  @PrimaryGeneratedColumn('uuid')
@@ -667,4 +658,4 @@ export class ReleaseGood {
667
658
  })
668
659
  @Field({ nullable: true })
669
660
  sourceData: string
670
- }
661
+ }