@things-factory/worksheet-base 4.3.828 → 4.3.829
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/outbound/packing-worksheet-controller.js +10 -3
- package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/fetch-powrup-document.js +4 -2
- package/dist-server/graphql/resolvers/worksheet/fetch-powrup-document.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js +3 -2
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js +24 -11
- package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +46 -48
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +26 -21
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +37 -32
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/package.json +2 -2
- package/server/controllers/outbound/packing-worksheet-controller.ts +11 -4
- package/server/graphql/resolvers/worksheet/fetch-powrup-document.ts +4 -2
- package/server/graphql/resolvers/worksheet/fetch-sellercraft-document.ts +4 -3
- package/server/graphql/resolvers/worksheet/loading/complete-loading.ts +28 -17
- package/server/graphql/resolvers/worksheet/packing-worksheet.ts +46 -48
- package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +25 -20
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +37 -32
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EntityManager, getManager, In } from 'typeorm'
|
|
1
|
+
import { EntityManager, getManager, getRepository, In } from 'typeorm'
|
|
2
2
|
import { ApplicationType, User } from '@things-factory/auth-base'
|
|
3
3
|
import { Bizplace, ContactPoint, getMyBizplace } from '@things-factory/biz-base'
|
|
4
4
|
import { logger } from '@things-factory/env'
|
|
@@ -169,21 +169,22 @@ export async function completePicking(
|
|
|
169
169
|
|
|
170
170
|
if (sellercraft) {
|
|
171
171
|
const initSCOrderShipment = async (sellercraft, rtsTriggerLevel) => {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
}
|
|
172
|
+
// Issue #4104: don't wrap marketplace HTTP calls in a transaction.
|
|
173
|
+
// Bind the controller to getManager() (auto-commit) and use the
|
|
174
|
+
// global repository for the orderProducts read.
|
|
175
|
+
const sellercraftCtrl: SellercraftController = new SellercraftController(getManager(), domain, user)
|
|
176
|
+
|
|
177
|
+
if (!releaseGood?.orderPackages?.length && !releaseGood?.marketPackCallSuccess) {
|
|
178
|
+
///// Q: why need to refetch Order Products?
|
|
179
|
+
const orderProducts: OrderProduct[] = await getRepository(OrderProduct).find({
|
|
180
|
+
where: { releaseGood },
|
|
181
|
+
relations: ['product', 'product.productDetails', 'productDetail']
|
|
182
|
+
})
|
|
183
|
+
await sellercraftCtrl.packOrder(sellercraft, { ...releaseGood, orderProducts })
|
|
184
|
+
}
|
|
183
185
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
})
|
|
186
|
+
// Trigger if RTS Trigger Level Setting == 1
|
|
187
|
+
if (rtsTriggerLevel == 1) await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)
|
|
187
188
|
}
|
|
188
189
|
|
|
189
190
|
// asynchronouly call to initiate sellercraft order shipment/ RTS
|
|
@@ -196,22 +197,22 @@ export async function completePicking(
|
|
|
196
197
|
|
|
197
198
|
if (powrup) {
|
|
198
199
|
const initPowrupShipment = async (powrup, rtsTriggerLevel) => {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
if (!releaseGood?.orderPackages?.length && !releaseGood?.marketPackCallSuccess && !releaseGood.lastMileDelivery?.isTms) {
|
|
203
|
-
///// Q: why need to refetch Order Products?
|
|
204
|
-
const orderProducts: OrderProduct[] = await txMgr.getRepository(OrderProduct).find({
|
|
205
|
-
where: { releaseGood },
|
|
206
|
-
relations: ['product', 'productDetail']
|
|
207
|
-
})
|
|
208
|
-
await powrupController.packOrder(powrup, { ...releaseGood, orderProducts }, domain, user, txMgr)
|
|
209
|
-
}
|
|
200
|
+
// Issue #4104: same fix — no surrounding transaction, no trxMgr
|
|
201
|
+
// passed to controller methods.
|
|
202
|
+
const powrupController: PowrupController = new PowrupController()
|
|
210
203
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
204
|
+
if (!releaseGood?.orderPackages?.length && !releaseGood?.marketPackCallSuccess && !releaseGood.lastMileDelivery?.isTms) {
|
|
205
|
+
///// Q: why need to refetch Order Products?
|
|
206
|
+
const orderProducts: OrderProduct[] = await getRepository(OrderProduct).find({
|
|
207
|
+
where: { releaseGood },
|
|
208
|
+
relations: ['product', 'productDetail']
|
|
209
|
+
})
|
|
210
|
+
await powrupController.packOrder(powrup, { ...releaseGood, orderProducts }, domain, user)
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// Trigger if RTS Trigger Level Setting == 1
|
|
214
|
+
if (rtsTriggerLevel == 1)
|
|
215
|
+
await powrupController.initiateShipment(powrup, releaseGood, domain, user)
|
|
215
216
|
}
|
|
216
217
|
// asynchronouly call to initiate powrup order shipment/ RTS
|
|
217
218
|
initPowrupShipment(powrup, rtsTriggerLevel)
|
|
@@ -445,7 +446,10 @@ export async function completePicking(
|
|
|
445
446
|
status: SellercraftStatus.ACTIVE
|
|
446
447
|
})
|
|
447
448
|
if (sellercraft) {
|
|
448
|
-
|
|
449
|
+
// Issue #4104: bind to getManager() (auto-commit), not the
|
|
450
|
+
// outer @transaction `tx`, so marketplace HTTP calls don't
|
|
451
|
+
// hold row locks on order_packages.
|
|
452
|
+
const sellercraftCtrl: SellercraftController = new SellercraftController(getManager(), null, null)
|
|
449
453
|
const rtsTriggerLevel: Setting = await tx.getRepository(Setting).findOne({
|
|
450
454
|
where: { domain: releaseGood.domain, category: 'id-rule', name: 'rts-trigger-level' }
|
|
451
455
|
})
|
|
@@ -464,7 +468,8 @@ export async function completePicking(
|
|
|
464
468
|
})
|
|
465
469
|
|
|
466
470
|
if (rtsTriggerLevel && parseInt(rtsTriggerLevel?.value || 0) == 1) {
|
|
467
|
-
|
|
471
|
+
// Issue #4104: don't pass `tx` — same reason as above.
|
|
472
|
+
powrupController.initiateShipment(powrup, releaseGood, domain, user)
|
|
468
473
|
}
|
|
469
474
|
}
|
|
470
475
|
}
|