@things-factory/worksheet-base 4.3.383 → 4.3.387

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.
@@ -116,12 +116,17 @@ export async function completePicking(
116
116
  'lastMileDelivery',
117
117
  'orderPackages',
118
118
  'orderPackages.orderPackageItems',
119
+ 'orderPackages.orderPackageItems.productDetail',
120
+ 'orderPackages.orderPackageItems.productDetail.product',
119
121
  'orderPackages.orderPackageItems.orderProduct',
120
122
  'orderPackages.orderPackageItems.orderProduct.product',
121
123
  'orderPackages.orderPackageItems.orderProduct.productDetail',
122
124
  'orderProducts',
123
125
  'orderProducts.product',
124
126
  'orderProducts.productDetail',
127
+ 'orderProducts.productBundle',
128
+ 'orderProducts.productBundle.productBundleSettings',
129
+ 'orderProducts.productBundle.productBundleSettings.productDetail',
125
130
  'creator',
126
131
  'updater'
127
132
  ]
@@ -371,18 +376,35 @@ export async function completePicking(
371
376
 
372
377
  let savedOrderPackage: OrderPackage = await tx.getRepository(OrderPackage).save(orderPackage)
373
378
  const orderPackageItems: OrderPackageItem[] = releaseGood.orderProducts.map(op => {
374
- return {
375
- name: OrderNoGenerator.orderPackageItem(),
376
- orderProduct: op,
377
- status: ORDER_STATUS.PROCESSING,
378
- releaseQty: op.releaseQty,
379
- orderPackage: savedOrderPackage,
380
- domain: releaseGood.domain,
381
- bizplace: releaseGood.bizplace,
382
- creator: releaseGood.creator,
383
- updater: releaseGood.updater
379
+ if (op.product){
380
+ return {
381
+ name: OrderNoGenerator.orderPackageItem(),
382
+ orderProduct: op,
383
+ status: ORDER_STATUS.PROCESSING,
384
+ releaseQty: op.releaseQty,
385
+ orderPackage: savedOrderPackage,
386
+ domain: releaseGood.domain,
387
+ bizplace: releaseGood.bizplace,
388
+ creator: releaseGood.creator,
389
+ updater: releaseGood.updater,
390
+ productDetail: op.productDetail
391
+ }
392
+ } else {
393
+ let productBundle = op.productBundle
394
+ return productBundle.productBundleSettings.map(pbs => ({
395
+ name: OrderNoGenerator.orderPackageItem(),
396
+ orderProduct: op,
397
+ status: ORDER_STATUS.PROCESSING,
398
+ releaseQty: op.releaseQty * pbs.bundleQty,
399
+ orderPackage: savedOrderPackage,
400
+ domain: releaseGood.domain,
401
+ bizplace: releaseGood.bizplace,
402
+ creator: releaseGood.creator,
403
+ updater: releaseGood.updater,
404
+ productDetail: pbs.productDetail
405
+ }))
384
406
  }
385
- })
407
+ }).flat()
386
408
  await tx.getRepository(OrderPackageItem).save(orderPackageItems)
387
409
  orderPackage.orderPackageItems = orderPackageItems
388
410
  releaseGood.orderPackages = [orderPackage]
@@ -155,20 +155,20 @@ export async function createLmdParcel(releaseGoods, tx, domain, user, marketplac
155
155
  ...data,
156
156
  refNo: op.name,
157
157
  items: op.orderPackageItems.map(opi => {
158
- let lengthUnit = opi?.orderProduct.productDetail?.lengthUnit?.toString()?.toLowerCase() || ''
158
+ let lengthUnit = opi?.productDetail?.lengthUnit?.toString()?.toLowerCase() || ''
159
159
 
160
160
  let items = {
161
161
  quantity: opi?.releaseQty?.toString() || ' ',
162
- item: opi.orderProduct.product.name.slice(0, 49).trim() || ' ',
163
- sku: opi.orderProduct.product.sku || ' ',
162
+ item: opi.productDetail.product.name.slice(0, 49).trim() || ' ',
163
+ sku: opi.productDetail.product.sku || ' ',
164
164
  price:
165
165
  opi?.orderProduct?.paidAmount?.toString() ||
166
- (opi?.releaseQty * opi?.orderProduct.productDetail?.costPrice || 0)?.toString() ||
166
+ (opi?.releaseQty * opi?.productDetail?.costPrice || 0)?.toString() ||
167
167
  ' ',
168
- weight: opi?.orderProduct.productDetail?.grossWeight?.toString() || ' ',
169
- width: opi?.orderProduct.productDetail?.width || ' ',
170
- length: opi?.orderProduct.productDetail?.depth || ' ',
171
- height: opi?.orderProduct.productDetail?.height || ' '
168
+ weight: opi?.productDetail?.grossWeight?.toString() || ' ',
169
+ width: opi?.productDetail?.width || ' ',
170
+ length: opi?.productDetail?.depth || ' ',
171
+ height: opi?.productDetail?.height || ' '
172
172
  }
173
173
 
174
174
  if (lmd.platform == 'SAPX' || lmd.platform == 'VIETTEL_POST') {