@things-factory/worksheet-base 4.3.393 → 4.3.395
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/index.js +3 -0
- package/dist-server/controllers/outbound/index.js.map +1 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +160 -14
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js +71 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +21 -28
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/bulk-activate-picking.js +21 -4
- package/dist-server/graphql/resolvers/worksheet/picking/bulk-activate-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +96 -130
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +22 -56
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/dist-server/index.js +3 -0
- package/dist-server/index.js.map +1 -1
- package/dist-server/utils/lmd-util.js +193 -162
- package/dist-server/utils/lmd-util.js.map +1 -1
- package/package.json +9 -9
- package/server/controllers/outbound/index.ts +2 -0
- package/server/controllers/outbound/picking-worksheet-controller.ts +172 -19
- package/server/graphql/resolvers/worksheet/picking/activate-batch-picking.ts +107 -6
- package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +73 -65
- package/server/graphql/resolvers/worksheet/picking/bulk-activate-picking.ts +30 -5
- package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +34 -56
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +4 -36
- package/server/index.ts +2 -0
- package/server/utils/lmd-util.ts +180 -144
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
PickingWorksheetController
|
|
18
18
|
} from '../../../../controllers'
|
|
19
19
|
import { Worksheet } from '../../../../entities'
|
|
20
|
+
import { createLmdParcel } from '../../../../utils'
|
|
20
21
|
|
|
21
22
|
export const activateBulkPickingResolver = {
|
|
22
23
|
async activateBulkPicking(_: any, { worksheetNo }, context: any) {
|
|
@@ -33,6 +34,7 @@ export async function activateBulkPicking(
|
|
|
33
34
|
worksheetNo: string[]
|
|
34
35
|
): Promise<Worksheet[]> {
|
|
35
36
|
const worksheetController: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
|
|
37
|
+
const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
|
|
36
38
|
const worksheets = await worksheetController.activateBulkPicking(worksheetNo)
|
|
37
39
|
|
|
38
40
|
for (const worksheet of worksheets) {
|
|
@@ -40,6 +42,11 @@ export async function activateBulkPicking(
|
|
|
40
42
|
let releaseGood: ReleaseGood = worksheet.releaseGood
|
|
41
43
|
const orderSource: string = releaseGood.source
|
|
42
44
|
|
|
45
|
+
const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
46
|
+
where: { orderNo: releaseGood.refNo, domain: companyDomain },
|
|
47
|
+
relations: ['marketplaceStore']
|
|
48
|
+
})
|
|
49
|
+
|
|
43
50
|
switch (orderSource) {
|
|
44
51
|
case ApplicationType.MMS:
|
|
45
52
|
// find for any existing marketplace store connections
|
|
@@ -56,11 +63,6 @@ export async function activateBulkPicking(
|
|
|
56
63
|
await ecommerceCtrl.updateProductVariationStock(marketplaceStores, orderInventories, companyDomain)
|
|
57
64
|
}
|
|
58
65
|
|
|
59
|
-
const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
60
|
-
where: { orderNo: releaseGood.refNo, domain: companyDomain },
|
|
61
|
-
relations: ['marketplaceStore']
|
|
62
|
-
})
|
|
63
|
-
|
|
64
66
|
if (marketplaceOrder) {
|
|
65
67
|
const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore
|
|
66
68
|
|
|
@@ -68,12 +70,35 @@ export async function activateBulkPicking(
|
|
|
68
70
|
const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
|
|
69
71
|
await ecommerceCtrl.createOrderComment(marketplaceStore, marketplaceOrder, ORDER_STATUS.PICKING)
|
|
70
72
|
}
|
|
73
|
+
|
|
74
|
+
await ecommerceCtrl.createOrderPackage(tx, marketplaceOrder, companyDomain, marketplaceStore, releaseGood)
|
|
71
75
|
}
|
|
72
76
|
}
|
|
73
77
|
break
|
|
74
78
|
default:
|
|
75
79
|
break
|
|
76
80
|
}
|
|
81
|
+
|
|
82
|
+
if (
|
|
83
|
+
releaseGood?.orderPackages?.length &&
|
|
84
|
+
releaseGood.lmdOption &&
|
|
85
|
+
releaseGood.lastMileDelivery &&
|
|
86
|
+
releaseGood?.orderPackages?.some(op => op.parcelId == null)
|
|
87
|
+
) {
|
|
88
|
+
await createLmdParcel([releaseGood], tx, domain, user, marketplaceOrder)
|
|
89
|
+
|
|
90
|
+
//where to trigger update parcel count
|
|
91
|
+
let countParcel = releaseGood?.countParcel ? releaseGood.countParcel : 0
|
|
92
|
+
const releaseGoodId = releaseGood?.id
|
|
93
|
+
|
|
94
|
+
await tx.getRepository(ReleaseGood).update(
|
|
95
|
+
{ id: releaseGoodId },
|
|
96
|
+
{
|
|
97
|
+
countParcel: countParcel+1,
|
|
98
|
+
updater: user.id
|
|
99
|
+
}
|
|
100
|
+
)
|
|
101
|
+
}
|
|
77
102
|
}
|
|
78
103
|
return worksheets
|
|
79
104
|
}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
EntityManager,
|
|
3
|
+
getManager,
|
|
4
|
+
In
|
|
5
|
+
} from 'typeorm'
|
|
2
6
|
|
|
3
|
-
import {
|
|
4
|
-
|
|
7
|
+
import {
|
|
8
|
+
ApplicationType,
|
|
9
|
+
User
|
|
10
|
+
} from '@things-factory/auth-base'
|
|
5
11
|
import { logger } from '@things-factory/env'
|
|
6
12
|
import { Account } from '@things-factory/integration-accounting'
|
|
7
13
|
import { sqsSendMessage } from '@things-factory/integration-base'
|
|
8
14
|
import { MarketplaceStore } from '@things-factory/integration-marketplace'
|
|
9
15
|
import { Powrup } from '@things-factory/integration-powrup'
|
|
10
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
Sellercraft,
|
|
18
|
+
SellercraftStatus
|
|
19
|
+
} from '@things-factory/integration-sellercraft'
|
|
11
20
|
import { MarketplaceOrder } from '@things-factory/marketplace-base'
|
|
12
21
|
import {
|
|
13
22
|
ORDER_STATUS,
|
|
@@ -23,15 +32,17 @@ import { Domain } from '@things-factory/shell'
|
|
|
23
32
|
import { Inventory } from '@things-factory/warehouse-base'
|
|
24
33
|
|
|
25
34
|
import {
|
|
35
|
+
createOrderPackageAndItems,
|
|
26
36
|
PackingWorksheetController,
|
|
27
37
|
PickingWorksheetController,
|
|
28
38
|
SellercraftController,
|
|
29
39
|
SortingWorksheetController
|
|
30
40
|
} from '../../../../controllers/'
|
|
31
41
|
import { EcommerceController } from '../../../../controllers/ecommerce'
|
|
32
|
-
import {
|
|
33
|
-
|
|
34
|
-
|
|
42
|
+
import {
|
|
43
|
+
Worksheet,
|
|
44
|
+
WorksheetDetail
|
|
45
|
+
} from '../../../../entities'
|
|
35
46
|
|
|
36
47
|
export const completeBatchPickingResolver = {
|
|
37
48
|
async completeBatchPicking(_: any, { taskNo }, context: any) {
|
|
@@ -209,55 +220,22 @@ export async function completeBatchPicking(
|
|
|
209
220
|
break
|
|
210
221
|
|
|
211
222
|
default:
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
let savedOrderPackage: OrderPackage = await tx.getRepository(OrderPackage).save(orderPackage)
|
|
227
|
-
const orderPackageItems: OrderPackageItem[] = foundReleaseGood.orderProducts.map(op => {
|
|
228
|
-
if (op.product){
|
|
229
|
-
return {
|
|
230
|
-
name: OrderNoGenerator.orderPackageItem(),
|
|
231
|
-
orderProduct: op,
|
|
232
|
-
status: ORDER_STATUS.PROCESSING,
|
|
233
|
-
releaseQty: op.releaseQty,
|
|
234
|
-
orderPackage: savedOrderPackage,
|
|
235
|
-
domain: foundReleaseGood.domain,
|
|
236
|
-
bizplace: foundReleaseGood.bizplace,
|
|
237
|
-
creator: foundReleaseGood.creator,
|
|
238
|
-
updater: foundReleaseGood.updater,
|
|
239
|
-
productDetail: op.productDetail
|
|
240
|
-
}
|
|
241
|
-
} else {
|
|
242
|
-
let productBundle = op.productBundle
|
|
243
|
-
return productBundle.productBundleSettings.map(pbs => ({
|
|
244
|
-
name: OrderNoGenerator.orderPackageItem(),
|
|
245
|
-
orderProduct: op,
|
|
246
|
-
status: ORDER_STATUS.PROCESSING,
|
|
247
|
-
releaseQty: op.releaseQty * pbs.bundleQty,
|
|
248
|
-
orderPackage: savedOrderPackage,
|
|
249
|
-
domain: foundReleaseGood.domain,
|
|
250
|
-
bizplace: foundReleaseGood.bizplace,
|
|
251
|
-
creator: foundReleaseGood.creator,
|
|
252
|
-
updater: foundReleaseGood.updater,
|
|
253
|
-
productDetail: pbs.productDetail
|
|
254
|
-
}))
|
|
223
|
+
if(!foundReleaseGood?.orderPackages?.length){
|
|
224
|
+
let orderPackage: OrderPackage = {
|
|
225
|
+
name: OrderNoGenerator.orderPackage(),
|
|
226
|
+
packageId: null,
|
|
227
|
+
trackingNo: null,
|
|
228
|
+
transporter: null,
|
|
229
|
+
airwayBill: null,
|
|
230
|
+
status: ORDER_STATUS.PROCESSING,
|
|
231
|
+
releaseGood: foundReleaseGood,
|
|
232
|
+
domain: foundReleaseGood.domain,
|
|
233
|
+
bizplace: foundReleaseGood.bizplace,
|
|
234
|
+
creator: foundReleaseGood.creator,
|
|
235
|
+
updater: foundReleaseGood.updater
|
|
255
236
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
await tx.getRepository(OrderPackageItem).save(orderPackageItems)
|
|
259
|
-
orderPackage.orderPackageItems = orderPackageItems
|
|
260
|
-
foundReleaseGood.orderPackages = [orderPackage]
|
|
237
|
+
|
|
238
|
+
await createOrderPackageAndItems(tx, foundReleaseGood, orderPackage)
|
|
261
239
|
break
|
|
262
240
|
}
|
|
263
241
|
|
|
@@ -308,7 +286,6 @@ export async function completeBatchPicking(
|
|
|
308
286
|
foundReleaseGood.lastMileDelivery &&
|
|
309
287
|
foundReleaseGood?.orderPackages?.some(op => op.parcelId == null)
|
|
310
288
|
) {
|
|
311
|
-
await createLmdParcel([foundReleaseGood], tx, domain, user, marketplaceOrder)
|
|
312
289
|
// trigger RTS
|
|
313
290
|
try {
|
|
314
291
|
const orderSource: string = foundReleaseGood.source
|
|
@@ -360,6 +337,7 @@ export async function completeBatchPicking(
|
|
|
360
337
|
}
|
|
361
338
|
|
|
362
339
|
return false
|
|
340
|
+
}
|
|
363
341
|
} else {
|
|
364
342
|
let foundObsoleteInventories: any = worksheet
|
|
365
343
|
await tx.getRepository(Inventory).update({ id: In(foundObsoleteInventories) }, { obsolete: true })
|
|
@@ -57,6 +57,7 @@ import {
|
|
|
57
57
|
WORKSHEET_TYPE
|
|
58
58
|
} from '../../../../constants'
|
|
59
59
|
import {
|
|
60
|
+
createOrderPackageAndItems,
|
|
60
61
|
LoadingWorksheetController,
|
|
61
62
|
PackingWorksheetController,
|
|
62
63
|
PickingWorksheetController,
|
|
@@ -70,7 +71,6 @@ import {
|
|
|
70
71
|
WorksheetDetail,
|
|
71
72
|
ActiveWorksheetPickingView
|
|
72
73
|
} from '../../../../entities'
|
|
73
|
-
import { createLmdParcel } from '../../../../utils'
|
|
74
74
|
import { activateVas } from '../vas/activate-vas'
|
|
75
75
|
|
|
76
76
|
export const completePickingResolver = {
|
|
@@ -359,6 +359,7 @@ export async function completePicking(
|
|
|
359
359
|
break
|
|
360
360
|
|
|
361
361
|
default:
|
|
362
|
+
if (!releaseGood?.orderPackages?.length) {
|
|
362
363
|
let orderPackage: OrderPackage = {
|
|
363
364
|
name: OrderNoGenerator.orderPackage(),
|
|
364
365
|
packageId: null,
|
|
@@ -374,40 +375,8 @@ export async function completePicking(
|
|
|
374
375
|
updater: releaseGood.updater
|
|
375
376
|
}
|
|
376
377
|
|
|
377
|
-
|
|
378
|
-
|
|
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
|
-
}))
|
|
406
|
-
}
|
|
407
|
-
}).flat()
|
|
408
|
-
await tx.getRepository(OrderPackageItem).save(orderPackageItems)
|
|
409
|
-
orderPackage.orderPackageItems = orderPackageItems
|
|
410
|
-
releaseGood.orderPackages = [orderPackage]
|
|
378
|
+
await createOrderPackageAndItems(tx, releaseGood, orderPackage)
|
|
379
|
+
}
|
|
411
380
|
break
|
|
412
381
|
}
|
|
413
382
|
|
|
@@ -515,7 +484,6 @@ export async function completePicking(
|
|
|
515
484
|
releaseGood.lastMileDelivery &&
|
|
516
485
|
releaseGood?.orderPackages?.some(op => op.parcelId == null)
|
|
517
486
|
) {
|
|
518
|
-
await createLmdParcel([releaseGood], tx, domain, user, marketplaceOrder)
|
|
519
487
|
// trigger RTS
|
|
520
488
|
try {
|
|
521
489
|
const orderSource: string = releaseGood.source
|
package/server/index.ts
CHANGED
|
@@ -16,3 +16,5 @@ export * from './controllers/render-orientage-grn'
|
|
|
16
16
|
export * from './controllers/render-orientage-do'
|
|
17
17
|
export * from './controllers/render-ro-do'
|
|
18
18
|
export * from './controllers/ecommerce/ecommerce-controller'
|
|
19
|
+
|
|
20
|
+
export {createOrderPackageAndItems} from './controllers/outbound/picking-worksheet-controller'
|