@things-factory/worksheet-base 4.3.535 → 4.3.536
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/inbound/putaway-worksheet-controller.js +3 -1
- package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/loading-worksheet-controller.js +5 -2
- package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/packing-worksheet-controller.js +5 -0
- package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +11 -0
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/sorting-worksheet-controller.js +7 -0
- package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/worksheet-controller.js +14 -1
- package/dist-server/controllers/worksheet-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +12 -5
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js +8 -2
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js.map +1 -1
- package/package.json +12 -12
- package/server/controllers/inbound/putaway-worksheet-controller.ts +11 -4
- package/server/controllers/outbound/loading-worksheet-controller.ts +22 -16
- package/server/controllers/outbound/packing-worksheet-controller.ts +16 -3
- package/server/controllers/outbound/picking-worksheet-controller.ts +16 -1
- package/server/controllers/outbound/sorting-worksheet-controller.ts +13 -18
- package/server/controllers/worksheet-controller.ts +21 -33
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +21 -40
- package/server/graphql/resolvers/worksheet/unloading/complete-unloading.ts +16 -5
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
} from 'typeorm'
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
Product,
|
|
8
|
-
ProductBarcode,
|
|
9
|
-
ProductDetail
|
|
10
|
-
} from '@things-factory/product-base'
|
|
1
|
+
import { In, IsNull } from 'typeorm'
|
|
2
|
+
import { webhookHandler, WebhookEvents } from '@things-factory/integration-base'
|
|
3
|
+
import { Product, ProductBarcode, ProductDetail } from '@things-factory/product-base'
|
|
11
4
|
import {
|
|
12
5
|
ORDER_INVENTORY_STATUS,
|
|
13
6
|
ORDER_STATUS,
|
|
@@ -28,14 +21,8 @@ import {
|
|
|
28
21
|
TOTE_STATUS
|
|
29
22
|
} from '@things-factory/warehouse-base'
|
|
30
23
|
|
|
31
|
-
import {
|
|
32
|
-
|
|
33
|
-
WORKSHEET_TYPE
|
|
34
|
-
} from '../../constants'
|
|
35
|
-
import {
|
|
36
|
-
Worksheet,
|
|
37
|
-
WorksheetDetail
|
|
38
|
-
} from '../../entities'
|
|
24
|
+
import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../constants'
|
|
25
|
+
import { Worksheet, WorksheetDetail } from '../../entities'
|
|
39
26
|
import { VasWorksheetController } from '../vas/vas-worksheet-controller'
|
|
40
27
|
|
|
41
28
|
export class SortingWorksheetController extends VasWorksheetController {
|
|
@@ -505,6 +492,14 @@ export class SortingWorksheetController extends VasWorksheetController {
|
|
|
505
492
|
worksheet.updater = this.user
|
|
506
493
|
worksheet = await this.trxMgr.getRepository(Worksheet).save(worksheet)
|
|
507
494
|
|
|
495
|
+
const releaseGoods: ReleaseGood[] = await this.trxMgr
|
|
496
|
+
.getRepository(ReleaseGood)
|
|
497
|
+
.find({ where: { id: In(releaseGoodIds) }, relations: ['domain', 'bizplace'] })
|
|
498
|
+
|
|
499
|
+
for (let releaseGood of releaseGoods) {
|
|
500
|
+
webhookHandler(releaseGood, releaseGood.bizplace, WebhookEvents.LoadingStarted)
|
|
501
|
+
}
|
|
502
|
+
|
|
508
503
|
return worksheet
|
|
509
504
|
}
|
|
510
505
|
|
|
@@ -1,25 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
getRepository,
|
|
7
|
-
In,
|
|
8
|
-
Not
|
|
9
|
-
} from 'typeorm'
|
|
10
|
-
|
|
11
|
-
import {
|
|
12
|
-
Role,
|
|
13
|
-
User
|
|
14
|
-
} from '@things-factory/auth-base'
|
|
15
|
-
import {
|
|
16
|
-
Bizplace,
|
|
17
|
-
getDomainUsers
|
|
18
|
-
} from '@things-factory/biz-base'
|
|
19
|
-
import {
|
|
20
|
-
Product,
|
|
21
|
-
ProductDetail
|
|
22
|
-
} from '@things-factory/product-base'
|
|
1
|
+
import { EntityManager, EntitySchema, Equal, FindOneOptions, getRepository, In, Not, getConnection } from 'typeorm'
|
|
2
|
+
import { webhookHandler, WebhookEvents } from '@things-factory/integration-base'
|
|
3
|
+
import { Role, User } from '@things-factory/auth-base'
|
|
4
|
+
import { Bizplace, getDomainUsers } from '@things-factory/biz-base'
|
|
5
|
+
import { Product, ProductDetail } from '@things-factory/product-base'
|
|
23
6
|
import {
|
|
24
7
|
ArrivalNotice,
|
|
25
8
|
DeliveryOrder,
|
|
@@ -45,14 +28,8 @@ import {
|
|
|
45
28
|
Pallet
|
|
46
29
|
} from '@things-factory/warehouse-base'
|
|
47
30
|
|
|
48
|
-
import {
|
|
49
|
-
|
|
50
|
-
WORKSHEET_TYPE
|
|
51
|
-
} from '../constants'
|
|
52
|
-
import {
|
|
53
|
-
Worksheet,
|
|
54
|
-
WorksheetDetail
|
|
55
|
-
} from '../entities'
|
|
31
|
+
import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../constants'
|
|
32
|
+
import { Worksheet, WorksheetDetail } from '../entities'
|
|
56
33
|
import { WorksheetNoGenerator } from '../utils'
|
|
57
34
|
|
|
58
35
|
export type ReferenceOrderType =
|
|
@@ -774,7 +751,6 @@ export class WorksheetController {
|
|
|
774
751
|
changedWorksheetDetails: Partial<WorksheetDetail>[],
|
|
775
752
|
tx?: EntityManager
|
|
776
753
|
): Promise<Worksheet> {
|
|
777
|
-
|
|
778
754
|
const transaction = tx ? tx : this.trxMgr
|
|
779
755
|
|
|
780
756
|
if (!worksheet.id || worksheetDetails.some((wsd: WorksheetDetail) => !wsd.id)) {
|
|
@@ -786,7 +762,6 @@ export class WorksheetController {
|
|
|
786
762
|
worksheet.updater = this.user
|
|
787
763
|
worksheet = await transaction.getRepository(Worksheet).save(worksheet)
|
|
788
764
|
|
|
789
|
-
|
|
790
765
|
worksheetDetails = this.renewWorksheetDetails(worksheetDetails, changedWorksheetDetails, 'name', {
|
|
791
766
|
status: WORKSHEET_STATUS.EXECUTING,
|
|
792
767
|
updater: this.user
|
|
@@ -886,6 +861,10 @@ export class WorksheetController {
|
|
|
886
861
|
refOrder.status = updatedRefOrderStatus
|
|
887
862
|
refOrder.updater = this.user
|
|
888
863
|
await this.updateRefOrder(refOrder)
|
|
864
|
+
|
|
865
|
+
if (!(worksheetType === WORKSHEET_TYPE.PUTAWAY) && updatedRefOrderStatus === 'DONE') {
|
|
866
|
+
webhookHandler(refOrder, refOrder.bizplace, WebhookEvents.ReleaseOrderCompleted)
|
|
867
|
+
}
|
|
889
868
|
}
|
|
890
869
|
|
|
891
870
|
return worksheet
|
|
@@ -1029,7 +1008,16 @@ export class WorksheetController {
|
|
|
1029
1008
|
null
|
|
1030
1009
|
if (!refOrder) {
|
|
1031
1010
|
const wsWithRefOrd: Worksheet = await this.trxMgr.getRepository(Worksheet).findOne(worksheet.id, {
|
|
1032
|
-
relations: [
|
|
1011
|
+
relations: [
|
|
1012
|
+
'arrivalNotice',
|
|
1013
|
+
'releaseGood',
|
|
1014
|
+
'releaseGood.domain',
|
|
1015
|
+
'releaseGood.bizplace',
|
|
1016
|
+
'vasOrder',
|
|
1017
|
+
'inventoryCheck',
|
|
1018
|
+
'returnOrder',
|
|
1019
|
+
'replenishment'
|
|
1020
|
+
]
|
|
1033
1021
|
})
|
|
1034
1022
|
|
|
1035
1023
|
refOrder =
|
|
@@ -1,34 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
} from 'typeorm'
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
ApplicationType,
|
|
9
|
-
User
|
|
10
|
-
} from '@things-factory/auth-base'
|
|
11
|
-
import {
|
|
12
|
-
Bizplace,
|
|
13
|
-
ContactPoint,
|
|
14
|
-
getMyBizplace
|
|
15
|
-
} from '@things-factory/biz-base'
|
|
1
|
+
import { EntityManager, getManager, In } from 'typeorm'
|
|
2
|
+
import { webhookHandler, WebhookEvents } from '@things-factory/integration-base'
|
|
3
|
+
import { ApplicationType, User } from '@things-factory/auth-base'
|
|
4
|
+
import { Bizplace, ContactPoint, getMyBizplace } from '@things-factory/biz-base'
|
|
16
5
|
import { logger } from '@things-factory/env'
|
|
17
6
|
import { Account } from '@things-factory/integration-accounting'
|
|
18
7
|
import { sqsSendMessage } from '@things-factory/integration-base'
|
|
19
|
-
import {
|
|
20
|
-
|
|
21
|
-
LastMileDelivery
|
|
22
|
-
} from '@things-factory/integration-lmd'
|
|
23
|
-
import {
|
|
24
|
-
MarketplaceStore,
|
|
25
|
-
MarketplaceTransporter
|
|
26
|
-
} from '@things-factory/integration-marketplace'
|
|
8
|
+
import { LastMileAPI, LastMileDelivery } from '@things-factory/integration-lmd'
|
|
9
|
+
import { MarketplaceStore, MarketplaceTransporter } from '@things-factory/integration-marketplace'
|
|
27
10
|
import { Powrup } from '@things-factory/integration-powrup'
|
|
28
|
-
import {
|
|
29
|
-
Sellercraft,
|
|
30
|
-
SellercraftStatus
|
|
31
|
-
} from '@things-factory/integration-sellercraft'
|
|
11
|
+
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
32
12
|
import {
|
|
33
13
|
MarketplaceOrder,
|
|
34
14
|
MarketplaceOrderItem,
|
|
@@ -52,10 +32,7 @@ import { Setting } from '@things-factory/setting-base'
|
|
|
52
32
|
import { Domain } from '@things-factory/shell'
|
|
53
33
|
import { Inventory } from '@things-factory/warehouse-base'
|
|
54
34
|
|
|
55
|
-
import {
|
|
56
|
-
WORKSHEET_STATUS,
|
|
57
|
-
WORKSHEET_TYPE
|
|
58
|
-
} from '../../../../constants'
|
|
35
|
+
import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'
|
|
59
36
|
import {
|
|
60
37
|
createOrderPackageAndItems,
|
|
61
38
|
LoadingWorksheetController,
|
|
@@ -66,10 +43,7 @@ import {
|
|
|
66
43
|
} from '../../../../controllers/'
|
|
67
44
|
import { EcommerceController } from '../../../../controllers/ecommerce'
|
|
68
45
|
import { WorksheetController } from '../../../../controllers/worksheet-controller'
|
|
69
|
-
import {
|
|
70
|
-
Worksheet,
|
|
71
|
-
WorksheetDetail
|
|
72
|
-
} from '../../../../entities'
|
|
46
|
+
import { Worksheet, WorksheetDetail } from '../../../../entities'
|
|
73
47
|
import { activateVas } from '../vas/activate-vas'
|
|
74
48
|
|
|
75
49
|
export const completePickingResolver = {
|
|
@@ -174,9 +148,14 @@ export async function completePicking(
|
|
|
174
148
|
|
|
175
149
|
let foundObsoleteInventories = await pickingWSCtrl.completePicking(releaseGood, worksheet, inventories)
|
|
176
150
|
|
|
177
|
-
const rtsTriggerLevel: Setting = await tx
|
|
178
|
-
|
|
179
|
-
|
|
151
|
+
const rtsTriggerLevel: Setting = await tx
|
|
152
|
+
.getRepository(Setting)
|
|
153
|
+
.findOne({
|
|
154
|
+
where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
|
|
155
|
+
})
|
|
156
|
+
.then((setting: Setting) => {
|
|
157
|
+
return parseInt(setting?.value || 0)
|
|
158
|
+
})
|
|
180
159
|
|
|
181
160
|
if (foundObsoleteInventories?.type) {
|
|
182
161
|
const orderSource: string = releaseGood.source
|
|
@@ -228,7 +207,8 @@ export async function completePicking(
|
|
|
228
207
|
}
|
|
229
208
|
|
|
230
209
|
// Trigger if RTS Trigger Level Setting == 1
|
|
231
|
-
if (rtsTriggerLevel == 1)
|
|
210
|
+
if (rtsTriggerLevel == 1)
|
|
211
|
+
await powrupController.initiateShipment(powrup, releaseGood, domain, user, txMgr)
|
|
232
212
|
})
|
|
233
213
|
}
|
|
234
214
|
// asynchronouly call to initiate powrup order shipment/ RTS
|
|
@@ -356,7 +336,7 @@ export async function completePicking(
|
|
|
356
336
|
|
|
357
337
|
case ApplicationType.WEBSPERT:
|
|
358
338
|
// Trigger Whole Order Process
|
|
359
|
-
WebspertController.triggerOrderProcesses(releaseGood, domain, user,
|
|
339
|
+
WebspertController.triggerOrderProcesses(releaseGood, domain, user, rtsTriggerLevel == 1)
|
|
360
340
|
|
|
361
341
|
break
|
|
362
342
|
default:
|
|
@@ -460,6 +440,7 @@ export async function completePicking(
|
|
|
460
440
|
|
|
461
441
|
const loadingWorksheetDetails: WorksheetDetail[] = loadingWorksheet.worksheetDetails
|
|
462
442
|
await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails)
|
|
443
|
+
webhookHandler(releaseGood, releaseGood.bizplace, WebhookEvents.LoadingStarted)
|
|
463
444
|
} else {
|
|
464
445
|
const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)
|
|
465
446
|
let loadingWorksheet: Worksheet = await loadingWSCtrl.updateLoadingWorksheet(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EntityManager, In } from 'typeorm'
|
|
1
|
+
import { EntityManager, In, getConnection } from 'typeorm'
|
|
2
2
|
|
|
3
3
|
import { User } from '@things-factory/auth-base'
|
|
4
4
|
import { Bizplace } from '@things-factory/biz-base'
|
|
@@ -6,11 +6,11 @@ import { Account } from '@things-factory/integration-accounting'
|
|
|
6
6
|
import { ArrivalNotice, generateGoodsReceivalNote } from '@things-factory/sales-base'
|
|
7
7
|
import { Domain } from '@things-factory/shell'
|
|
8
8
|
import { Inventory, INVENTORY_STATUS } from '@things-factory/warehouse-base'
|
|
9
|
-
|
|
9
|
+
import { webhookHandler, WebhookEvents } from '@things-factory/integration-base'
|
|
10
10
|
import { WORKSHEET_STATUS } from '../../../../constants'
|
|
11
11
|
import { PutawayWorksheetController, UnloadingWorksheetController } from '../../../../controllers'
|
|
12
12
|
import { XilnexController } from '../../../../controllers/pos'
|
|
13
|
-
import { Worksheet, WorksheetDetail } from '../../../../entities'
|
|
13
|
+
import { Worksheet, WorksheetDetail } from '../../../../entities'
|
|
14
14
|
|
|
15
15
|
export const completeUnloadingResolver = {
|
|
16
16
|
async completeUnloading(_: any, { arrivalNoticeNo, worksheetDetails }, context: any) {
|
|
@@ -36,7 +36,11 @@ export const completeUnloadingResolver = {
|
|
|
36
36
|
let putawayWorksheet: Worksheet
|
|
37
37
|
|
|
38
38
|
const inventories: Inventory[] = await tx.getRepository(Inventory).find({
|
|
39
|
-
where: {
|
|
39
|
+
where: {
|
|
40
|
+
domain,
|
|
41
|
+
refOrderId: arrivalNotice.id,
|
|
42
|
+
status: In([INVENTORY_STATUS.UNLOADED, INVENTORY_STATUS.CHECKED])
|
|
43
|
+
},
|
|
40
44
|
relations: ['productDetail', 'product', 'creator']
|
|
41
45
|
})
|
|
42
46
|
|
|
@@ -49,7 +53,12 @@ export const completeUnloadingResolver = {
|
|
|
49
53
|
}
|
|
50
54
|
|
|
51
55
|
const bizplaceId: Bizplace = arrivalNotice.bizplace.id
|
|
52
|
-
await generateGoodsReceivalNote(
|
|
56
|
+
const goodReceiveNote = await generateGoodsReceivalNote(
|
|
57
|
+
{ refNo: arrivalNoticeNo, customer: bizplaceId },
|
|
58
|
+
domain,
|
|
59
|
+
user,
|
|
60
|
+
tx
|
|
61
|
+
)
|
|
53
62
|
|
|
54
63
|
const customerDomain: Domain = arrivalNotice.bizplace.domain
|
|
55
64
|
const xilnex: Account = await tx
|
|
@@ -68,6 +77,8 @@ export const completeUnloadingResolver = {
|
|
|
68
77
|
url: context.header.referer,
|
|
69
78
|
data: { url: context.header.referer }
|
|
70
79
|
})
|
|
80
|
+
|
|
81
|
+
webhookHandler(goodReceiveNote, goodReceiveNote.bizplace, WebhookEvents.GrnCreated)
|
|
71
82
|
}
|
|
72
83
|
}
|
|
73
84
|
|