@things-factory/worksheet-base 4.3.237 → 4.3.238
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/ecommerce/index.js +1 -0
- package/dist-server/controllers/ecommerce/index.js.map +1 -1
- package/dist-server/controllers/ecommerce/powrup-controller.js +201 -0
- package/dist-server/controllers/ecommerce/powrup-controller.js.map +1 -0
- package/dist-server/controllers/outbound/packing-worksheet-controller.js +23 -0
- package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +35 -0
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/packing.js +9 -0
- package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +43 -1
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +23 -0
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +27 -0
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js +13 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js +11 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js.map +1 -1
- package/package.json +12 -11
- package/server/controllers/ecommerce/index.ts +1 -0
- package/server/controllers/ecommerce/powrup-controller.ts +272 -0
- package/server/controllers/outbound/packing-worksheet-controller.ts +29 -1
- package/server/controllers/outbound/picking-worksheet-controller.ts +65 -44
- package/server/graphql/resolvers/worksheet/packing/packing.ts +12 -1
- package/server/graphql/resolvers/worksheet/packing-worksheet.ts +46 -2
- package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +30 -1
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +33 -1
- package/server/graphql/resolvers/worksheet/putaway/complete-putaway.ts +19 -2
- package/server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts +17 -2
|
@@ -1,26 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EntityManager,
|
|
3
|
-
Equal,
|
|
4
|
-
getConnection,
|
|
5
|
-
getManager,
|
|
6
|
-
In,
|
|
7
|
-
IsNull,
|
|
8
|
-
Not
|
|
9
|
-
} from 'typeorm'
|
|
1
|
+
import { EntityManager, Equal, getConnection, getManager, In, IsNull, Not } from 'typeorm'
|
|
10
2
|
|
|
11
3
|
import { ApplicationType } from '@things-factory/auth-base'
|
|
12
4
|
import { Bizplace } from '@things-factory/biz-base'
|
|
13
5
|
import { logger } from '@things-factory/env'
|
|
14
6
|
import { generateId } from '@things-factory/id-rule-base'
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} from '@things-factory/integration-sellercraft'
|
|
19
|
-
import {
|
|
20
|
-
Product,
|
|
21
|
-
ProductBarcode,
|
|
22
|
-
ProductDetail
|
|
23
|
-
} from '@things-factory/product-base'
|
|
7
|
+
import { Powrup } from '@things-factory/integration-powrup'
|
|
8
|
+
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
9
|
+
import { Product, ProductBarcode, ProductDetail } from '@things-factory/product-base'
|
|
24
10
|
import {
|
|
25
11
|
GenerateBatchPickInfo,
|
|
26
12
|
ORDER_INVENTORY_STATUS,
|
|
@@ -50,21 +36,10 @@ import {
|
|
|
50
36
|
TOTE_STATUS
|
|
51
37
|
} from '@things-factory/warehouse-base'
|
|
52
38
|
|
|
53
|
-
import {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
WORKSHEET_TYPE
|
|
58
|
-
} from '../../constants'
|
|
59
|
-
import { SellercraftController } from '../../controllers'
|
|
60
|
-
import {
|
|
61
|
-
Worksheet,
|
|
62
|
-
WorksheetDetail
|
|
63
|
-
} from '../../entities'
|
|
64
|
-
import {
|
|
65
|
-
isInventoryObsolete,
|
|
66
|
-
WorksheetNoGenerator
|
|
67
|
-
} from '../../utils'
|
|
39
|
+
import { TASK_NUMBER_RULE_TYPE, TASK_NUMBER_SETTING_KEY, WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../constants'
|
|
40
|
+
import { SellercraftController, PowrupController } from '../../controllers'
|
|
41
|
+
import { Worksheet, WorksheetDetail } from '../../entities'
|
|
42
|
+
import { isInventoryObsolete, WorksheetNoGenerator } from '../../utils'
|
|
68
43
|
import { VasWorksheetController } from '../vas/vas-worksheet-controller'
|
|
69
44
|
|
|
70
45
|
export class PickingWorksheetController extends VasWorksheetController {
|
|
@@ -292,6 +267,30 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
292
267
|
})
|
|
293
268
|
break
|
|
294
269
|
|
|
270
|
+
case ApplicationType.POWRUP:
|
|
271
|
+
getManager().transaction(async txMgr => {
|
|
272
|
+
const powrup: Powrup = await txMgr.getRepository(Powrup).findOne({ active: true })
|
|
273
|
+
|
|
274
|
+
if (powrup) {
|
|
275
|
+
const powrupCtrl: PowrupController = new PowrupController(txMgr, this.domain, this.user)
|
|
276
|
+
|
|
277
|
+
if (!releaseGood?.orderPackages?.length) {
|
|
278
|
+
const orderProducts: OrderProduct[] = await txMgr.getRepository(OrderProduct).find({
|
|
279
|
+
where: { releaseGood },
|
|
280
|
+
relations: ['product', 'productDetail']
|
|
281
|
+
})
|
|
282
|
+
|
|
283
|
+
// asynchronously pack order
|
|
284
|
+
await powrupCtrl.packOrder(powrup, {
|
|
285
|
+
...releaseGood,
|
|
286
|
+
orderProducts,
|
|
287
|
+
domain: worksheet.domain
|
|
288
|
+
})
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
})
|
|
292
|
+
break
|
|
293
|
+
|
|
295
294
|
default:
|
|
296
295
|
break
|
|
297
296
|
}
|
|
@@ -331,16 +330,16 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
331
330
|
const pickingOrderInventory: OrderInventory[] = await this.trxMgr.getRepository(OrderInventory).find({
|
|
332
331
|
where: { domain: this.domain, refWorksheetId: worksheet.id, status: ORDER_STATUS.PICKING },
|
|
333
332
|
relations: [
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
333
|
+
'releaseGood',
|
|
334
|
+
'releaseGood.domain',
|
|
335
|
+
'releaseGood.lastMileDelivery',
|
|
336
|
+
'releaseGood.bizplace',
|
|
337
|
+
'releaseGood.bizplace.domain',
|
|
338
|
+
'releaseGood.orderPackages',
|
|
339
|
+
'releaseGood.orderPackages.orderPackageItems',
|
|
340
|
+
'releaseGood.orderPackages.orderPackageItems.orderProduct',
|
|
341
|
+
'releaseGood.orderPackages.orderPackageItems.orderProduct.product'
|
|
342
|
+
]
|
|
344
343
|
})
|
|
345
344
|
|
|
346
345
|
let releaseGoods: ReleaseGood[] = pickingOrderInventory.reduce((data, oi: OrderInventory) => {
|
|
@@ -383,6 +382,26 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
383
382
|
})
|
|
384
383
|
break
|
|
385
384
|
|
|
385
|
+
case ApplicationType.POWRUP:
|
|
386
|
+
getManager().transaction(async txMgr => {
|
|
387
|
+
const powrup: Powrup = await txMgr.getRepository(Powrup).findOne({ active: true })
|
|
388
|
+
|
|
389
|
+
if (powrup) {
|
|
390
|
+
const powrupCtrl: PowrupController = new PowrupController(txMgr, this.domain, this.user)
|
|
391
|
+
|
|
392
|
+
if (!releaseGood?.orderPackages?.length) {
|
|
393
|
+
const orderProducts: OrderProduct[] = await txMgr.getRepository(OrderProduct).find({
|
|
394
|
+
where: { releaseGood },
|
|
395
|
+
relations: ['product', 'productDetail']
|
|
396
|
+
})
|
|
397
|
+
|
|
398
|
+
// asynchronously pack order
|
|
399
|
+
await powrupCtrl.packOrder(powrup, { ...releaseGood, orderProducts })
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
})
|
|
403
|
+
break
|
|
404
|
+
|
|
386
405
|
default:
|
|
387
406
|
break
|
|
388
407
|
}
|
|
@@ -1354,7 +1373,9 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
1354
1373
|
worksheet.endedAt = new Date()
|
|
1355
1374
|
worksheet.updater = this.user
|
|
1356
1375
|
|
|
1357
|
-
const worksheetDetails: any = worksheet.worksheetDetails.filter(
|
|
1376
|
+
const worksheetDetails: any = worksheet.worksheetDetails.filter(
|
|
1377
|
+
wsD => wsD.status != 'MISSING' && wsD.status != 'CANCELLED'
|
|
1378
|
+
)
|
|
1358
1379
|
worksheetDetails.forEach((wsd: WorksheetDetail) => {
|
|
1359
1380
|
wsd.status = WORKSHEET_STATUS.DONE
|
|
1360
1381
|
wsd.updater = this.user
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { EntityManager } from 'typeorm'
|
|
2
2
|
|
|
3
3
|
import { ApplicationType, User } from '@things-factory/auth-base'
|
|
4
|
+
import { Powrup } from '@things-factory/integration-powrup'
|
|
4
5
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
5
6
|
import { ReleaseGood } from '@things-factory/sales-base'
|
|
6
7
|
import { Domain } from '@things-factory/shell'
|
|
8
|
+
// import { PowrupController } from '@things-factory/warehouse-base'
|
|
7
9
|
|
|
8
|
-
import { PackingWorksheetController, SellercraftController } from '../../../../controllers'
|
|
10
|
+
import { PackingWorksheetController, SellercraftController, PowrupController } from '../../../../controllers'
|
|
9
11
|
|
|
10
12
|
export const packingResolver = {
|
|
11
13
|
async packing(_: any, { orderPackageItemId, releaseQty, serialNumber }, context: any) {
|
|
@@ -40,6 +42,15 @@ export async function packing(
|
|
|
40
42
|
}
|
|
41
43
|
break
|
|
42
44
|
|
|
45
|
+
case ApplicationType.POWRUP:
|
|
46
|
+
const powrup: Powrup = await tx.getRepository(Powrup).findOne({ active: true })
|
|
47
|
+
|
|
48
|
+
if (powrup) {
|
|
49
|
+
const powrupCtrl: PowrupController = new PowrupController(tx, domain, user)
|
|
50
|
+
await powrupCtrl.fetchDocument(powrup, releaseGood)
|
|
51
|
+
}
|
|
52
|
+
break
|
|
53
|
+
|
|
43
54
|
default:
|
|
44
55
|
break
|
|
45
56
|
}
|
|
@@ -2,6 +2,7 @@ import { EntityManager, getManager, SelectQueryBuilder } from 'typeorm'
|
|
|
2
2
|
|
|
3
3
|
import { ApplicationType, User } from '@things-factory/auth-base'
|
|
4
4
|
import { logger } from '@things-factory/env'
|
|
5
|
+
import { Powrup } from '@things-factory/integration-powrup'
|
|
5
6
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
6
7
|
import {
|
|
7
8
|
MarketplaceOrder,
|
|
@@ -22,7 +23,7 @@ import { Domain } from '@things-factory/shell'
|
|
|
22
23
|
import { Location } from '@things-factory/warehouse-base'
|
|
23
24
|
|
|
24
25
|
import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
|
|
25
|
-
import { PackingWorksheetController, SellercraftController } from '../../../controllers'
|
|
26
|
+
import { PackingWorksheetController, SellercraftController, PowrupController } from '../../../controllers'
|
|
26
27
|
import { Worksheet } from '../../../entities'
|
|
27
28
|
|
|
28
29
|
export const packingWorksheetResolver = {
|
|
@@ -210,6 +211,15 @@ export const packingWorksheetResolver = {
|
|
|
210
211
|
}
|
|
211
212
|
break
|
|
212
213
|
|
|
214
|
+
case ApplicationType.POWRUP:
|
|
215
|
+
const powrup: Powrup = await tx.getRepository(Powrup).findOne({ active: true })
|
|
216
|
+
|
|
217
|
+
if (powrup) {
|
|
218
|
+
// asynchronously get document from powrup
|
|
219
|
+
getPowrupDocument(powrup, releaseGood, domain, user)
|
|
220
|
+
}
|
|
221
|
+
break
|
|
222
|
+
|
|
213
223
|
case ApplicationType.MMS:
|
|
214
224
|
marketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
215
225
|
where: { orderNo: releaseGood.refNo },
|
|
@@ -297,7 +307,9 @@ export const packingWorksheetResolver = {
|
|
|
297
307
|
// packingType: inventory.packingType,
|
|
298
308
|
// packingSize: inventory.packingSize,
|
|
299
309
|
// this is the problem
|
|
300
|
-
binLocation: binLocation
|
|
310
|
+
binLocation: binLocation
|
|
311
|
+
? releaseGood.orderInventories.find(oi => oi.orderProductId == opi.orderProduct.id)?.binLocation
|
|
312
|
+
: binLocation,
|
|
301
313
|
isBatchPicking
|
|
302
314
|
// location: inventory.location,
|
|
303
315
|
// relatedOrderInv: targetInventory
|
|
@@ -397,3 +409,35 @@ async function getSellercraftDocument(sellercraft: Sellercraft, releaseGood: Rel
|
|
|
397
409
|
}
|
|
398
410
|
})
|
|
399
411
|
}
|
|
412
|
+
|
|
413
|
+
//trigger RTS, init document, and fetch powrup document in separated transaction
|
|
414
|
+
async function getPowrupDocument(powrup: Powrup, releaseGood: ReleaseGood, domain: Domain, user: User) {
|
|
415
|
+
await getManager().transaction(async txMgr => {
|
|
416
|
+
const powrupCtrl: PowrupController = new PowrupController(txMgr, domain, user)
|
|
417
|
+
try {
|
|
418
|
+
if (!releaseGood?.airwayBill) {
|
|
419
|
+
try {
|
|
420
|
+
// try fetch order document / AWB
|
|
421
|
+
releaseGood = await powrupCtrl.fetchDocument(powrup, releaseGood)
|
|
422
|
+
} catch (error) {
|
|
423
|
+
try {
|
|
424
|
+
// retry initiate order shipment / RTS
|
|
425
|
+
await powrupCtrl.initiateShipment(powrup, releaseGood)
|
|
426
|
+
} catch (error) {
|
|
427
|
+
throw new Error(`initiateOrderShipment: ${error}`)
|
|
428
|
+
}
|
|
429
|
+
throw new Error(`fetchOrderDocument: ${error}`)
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
} catch (error) {
|
|
433
|
+
logger.error(
|
|
434
|
+
`packing-worksheet[getPowrupDocument]:(data:${JSON.stringify({
|
|
435
|
+
powrup,
|
|
436
|
+
releaseGood,
|
|
437
|
+
domain,
|
|
438
|
+
user
|
|
439
|
+
})}) ${error} `
|
|
440
|
+
)
|
|
441
|
+
}
|
|
442
|
+
})
|
|
443
|
+
}
|
|
@@ -6,6 +6,7 @@ import { logger } from '@things-factory/env'
|
|
|
6
6
|
import { Account } from '@things-factory/integration-accounting'
|
|
7
7
|
import { sqsSendMessage } from '@things-factory/integration-base'
|
|
8
8
|
import { MarketplaceStore } from '@things-factory/integration-marketplace'
|
|
9
|
+
import { Powrup } from '@things-factory/integration-powrup'
|
|
9
10
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
10
11
|
import { MarketplaceOrder } from '@things-factory/marketplace-base'
|
|
11
12
|
import {
|
|
@@ -24,7 +25,8 @@ import {
|
|
|
24
25
|
PackingWorksheetController,
|
|
25
26
|
PickingWorksheetController,
|
|
26
27
|
SellercraftController,
|
|
27
|
-
SortingWorksheetController
|
|
28
|
+
SortingWorksheetController,
|
|
29
|
+
PowrupController
|
|
28
30
|
} from '../../../../controllers/'
|
|
29
31
|
import { EcommerceController } from '../../../../controllers/ecommerce'
|
|
30
32
|
import { WorksheetController } from '../../../../controllers/worksheet-controller'
|
|
@@ -131,6 +133,33 @@ export async function completeBatchPicking(
|
|
|
131
133
|
}
|
|
132
134
|
break
|
|
133
135
|
|
|
136
|
+
case ApplicationType.POWRUP:
|
|
137
|
+
const powrup: Powrup = await tx.getRepository(Powrup).findOne({ active: true })
|
|
138
|
+
|
|
139
|
+
if (powrup) {
|
|
140
|
+
const initPowrupShipment = async (powrup: Powrup, foundReleaseGood: ReleaseGood) => {
|
|
141
|
+
await getManager().transaction(async txMgr => {
|
|
142
|
+
const powrupCtrl: PowrupController = new PowrupController(txMgr, domain, user)
|
|
143
|
+
|
|
144
|
+
if (!foundReleaseGood?.orderPackages?.length && !foundReleaseGood?.marketPackCallSuccess) {
|
|
145
|
+
await powrupCtrl.packOrder(powrup, foundReleaseGood)
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
const rtsTriggerLevel: Setting = await tx.getRepository(Setting).findOne({
|
|
149
|
+
where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
|
|
150
|
+
})
|
|
151
|
+
|
|
152
|
+
if (rtsTriggerLevel && parseInt(rtsTriggerLevel?.value || 0) == 1) {
|
|
153
|
+
await powrupCtrl.initiateShipment(powrup, foundReleaseGood)
|
|
154
|
+
}
|
|
155
|
+
})
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// asynchronouly call to initiate sellercraft order shipment/ RTS
|
|
159
|
+
initPowrupShipment(powrup, foundReleaseGood)
|
|
160
|
+
}
|
|
161
|
+
break
|
|
162
|
+
|
|
134
163
|
case ApplicationType.MMS:
|
|
135
164
|
const companyDomain: Domain = foundReleaseGood.bizplace.company.domain
|
|
136
165
|
const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
@@ -7,6 +7,7 @@ import { Account } from '@things-factory/integration-accounting'
|
|
|
7
7
|
import { sqsSendMessage } from '@things-factory/integration-base'
|
|
8
8
|
import { LastMileAPI, LastMileDelivery } from '@things-factory/integration-lmd'
|
|
9
9
|
import { MarketplaceStore, MarketplaceTransporter } from '@things-factory/integration-marketplace'
|
|
10
|
+
import { Powrup } from '@things-factory/integration-powrup'
|
|
10
11
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
11
12
|
import {
|
|
12
13
|
MarketplaceOrder,
|
|
@@ -35,7 +36,8 @@ import {
|
|
|
35
36
|
PackingWorksheetController,
|
|
36
37
|
PickingWorksheetController,
|
|
37
38
|
ReplenishmentWorksheetController,
|
|
38
|
-
SellercraftController
|
|
39
|
+
SellercraftController,
|
|
40
|
+
PowrupController
|
|
39
41
|
} from '../../../../controllers/'
|
|
40
42
|
import { EcommerceController } from '../../../../controllers/ecommerce'
|
|
41
43
|
import { WorksheetController } from '../../../../controllers/worksheet-controller'
|
|
@@ -153,6 +155,36 @@ export async function completePicking(
|
|
|
153
155
|
}
|
|
154
156
|
break
|
|
155
157
|
|
|
158
|
+
case ApplicationType.POWRUP:
|
|
159
|
+
const powrup: Powrup = await tx.getRepository(Powrup).findOne({ active: true })
|
|
160
|
+
|
|
161
|
+
if (powrup) {
|
|
162
|
+
const initPowrupShipment = async powrup => {
|
|
163
|
+
await getManager().transaction(async txMgr => {
|
|
164
|
+
const powrupController: PowrupController = new PowrupController(txMgr, domain, user)
|
|
165
|
+
|
|
166
|
+
if (!releaseGood?.orderPackages?.length && !releaseGood?.marketPackCallSuccess) {
|
|
167
|
+
const orderProducts: OrderProduct[] = await txMgr.getRepository(OrderProduct).find({
|
|
168
|
+
where: { releaseGood },
|
|
169
|
+
relations: ['product', 'productDetail']
|
|
170
|
+
})
|
|
171
|
+
await powrupController.packOrder(powrup, { ...releaseGood, orderProducts })
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
const rtsTriggerLevel: Setting = await txMgr.getRepository(Setting).findOne({
|
|
175
|
+
where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
|
|
176
|
+
})
|
|
177
|
+
|
|
178
|
+
if (rtsTriggerLevel && parseInt(rtsTriggerLevel?.value || 0) == 1) {
|
|
179
|
+
await powrupController.initiateShipment(powrup, releaseGood)
|
|
180
|
+
}
|
|
181
|
+
})
|
|
182
|
+
}
|
|
183
|
+
// asynchronouly call to initiate powrup order shipment/ RTS
|
|
184
|
+
initPowrupShipment(powrup)
|
|
185
|
+
}
|
|
186
|
+
break
|
|
187
|
+
|
|
156
188
|
case ApplicationType.MMS:
|
|
157
189
|
const companyDomain: Domain = releaseGood.bizplace.company.domain
|
|
158
190
|
let marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { EntityManager } from 'typeorm'
|
|
2
2
|
|
|
3
|
-
import { User } from '@things-factory/auth-base'
|
|
3
|
+
import { Application, User } from '@things-factory/auth-base'
|
|
4
4
|
import { MarketplaceStore } from '@things-factory/integration-marketplace'
|
|
5
5
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
6
6
|
import { ArrivalNotice } from '@things-factory/sales-base'
|
|
7
7
|
import { Domain } from '@things-factory/shell'
|
|
8
|
+
// import { PowrupController } from '@things-factory/warehouse-base'
|
|
9
|
+
import { Powrup } from '@things-factory/integration-powrup'
|
|
10
|
+
import { Bizplace, getCompanyBizplace } from '@things-factory/biz-base'
|
|
8
11
|
|
|
9
12
|
import { PutawayWorksheetController } from '../../../../controllers'
|
|
10
13
|
import { EcommerceController, SellercraftController } from '../../../../controllers/ecommerce'
|
|
@@ -26,13 +29,16 @@ export const completePutawayResolver = {
|
|
|
26
29
|
'orderProducts',
|
|
27
30
|
'orderProducts.product',
|
|
28
31
|
'orderProducts.product.productDetails',
|
|
29
|
-
'orderProducts.product.productDetails.childProductDetail'
|
|
32
|
+
'orderProducts.product.productDetails.childProductDetail',
|
|
33
|
+
'orderProducts.productDetail'
|
|
30
34
|
]
|
|
31
35
|
})
|
|
32
36
|
|
|
33
37
|
// search for any active marketplace connection
|
|
34
38
|
const companyDomain: Domain = arrivalNotice.bizplace.company.domain
|
|
35
39
|
const customerDomain: Domain = arrivalNotice.bizplace.domain
|
|
40
|
+
const customerBizplaceId: string = arrivalNotice.bizplace.id
|
|
41
|
+
const companyBizplace: Bizplace = await getCompanyBizplace(domain, null, customerBizplaceId, tx)
|
|
36
42
|
|
|
37
43
|
// const orderSource: string = arrivalNotice.source
|
|
38
44
|
// switch (orderSource) {
|
|
@@ -72,6 +78,10 @@ export const completePutawayResolver = {
|
|
|
72
78
|
.getRepository(Sellercraft)
|
|
73
79
|
.findOne({ domain: customerDomain, status: SellercraftStatus.ACTIVE })
|
|
74
80
|
|
|
81
|
+
// const powrup: Powrup = await tx
|
|
82
|
+
// .getRepository(Application)
|
|
83
|
+
// .findOne({ domain: companyBizplace.domain, status: 'ACTIVE' })
|
|
84
|
+
|
|
75
85
|
if (sellercraft) {
|
|
76
86
|
const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
77
87
|
|
|
@@ -85,6 +95,13 @@ export const completePutawayResolver = {
|
|
|
85
95
|
// allow async run to skip user wait time
|
|
86
96
|
ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain)
|
|
87
97
|
}
|
|
98
|
+
|
|
99
|
+
// if (powrup) {
|
|
100
|
+
// const powrupController: PowrupController = new PowrupController(tx, domain, user)
|
|
101
|
+
|
|
102
|
+
// // allow async run to skip user wait time
|
|
103
|
+
// powrupController.updateStock(powrup, arrivalNotice)
|
|
104
|
+
// }
|
|
88
105
|
}
|
|
89
106
|
}
|
|
90
107
|
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { EntityManager } from 'typeorm'
|
|
2
2
|
|
|
3
|
-
import { User } from '@things-factory/auth-base'
|
|
3
|
+
import { Application, User } from '@things-factory/auth-base'
|
|
4
4
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
5
5
|
import { ReturnOrder } from '@things-factory/sales-base'
|
|
6
6
|
import { Domain } from '@things-factory/shell'
|
|
7
|
+
// import { PowrupController } from '@things-factory/warehouse-base'
|
|
8
|
+
import { Bizplace, getCompanyBizplace } from '@things-factory/biz-base'
|
|
9
|
+
import { Powrup } from '@things-factory/integration-powrup'
|
|
7
10
|
|
|
8
11
|
import { PutawayReturningWorksheetController } from '../../../../controllers'
|
|
9
12
|
import { SellercraftController } from '../../../../controllers/ecommerce'
|
|
@@ -22,7 +25,8 @@ export const completePutawayReturnResolver = {
|
|
|
22
25
|
'orderInventories',
|
|
23
26
|
'orderInventories.inventory',
|
|
24
27
|
'orderInventories.product',
|
|
25
|
-
'orderInventories.product.productDetails'
|
|
28
|
+
'orderInventories.product.productDetails',
|
|
29
|
+
'orderInventories.productDetail'
|
|
26
30
|
]
|
|
27
31
|
})
|
|
28
32
|
|
|
@@ -31,10 +35,21 @@ export const completePutawayReturnResolver = {
|
|
|
31
35
|
.getRepository(Sellercraft)
|
|
32
36
|
.findOne({ domain: customerDomain, status: SellercraftStatus.ACTIVE })
|
|
33
37
|
|
|
38
|
+
// const customerBizplaceId: string = returnOrder.bizplace.id
|
|
39
|
+
// const companyBizplace: Bizplace = await getCompanyBizplace(domain, null, customerBizplaceId, tx)
|
|
40
|
+
// const powrup: Powrup = await tx
|
|
41
|
+
// .getRepository(Application)
|
|
42
|
+
// .findOne({ domain: companyBizplace.domain, status: 'ACTIVE' })
|
|
43
|
+
|
|
34
44
|
if (sellercraft) {
|
|
35
45
|
const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
36
46
|
await sellercraftCtrl.registerProductReturn(sellercraft, returnOrder)
|
|
37
47
|
}
|
|
48
|
+
|
|
49
|
+
// if (powrup) {
|
|
50
|
+
// const powrupController: PowrupController = new PowrupController(tx, domain, user)
|
|
51
|
+
// await powrupController.updateStock(powrup, returnOrder)
|
|
52
|
+
// }
|
|
38
53
|
}
|
|
39
54
|
}
|
|
40
55
|
|