@things-factory/worksheet-base 4.3.771 → 4.3.772
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-returning-worksheet-controller.js +10 -5
- package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inbound/putaway-worksheet-controller.js +10 -5
- package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inbound/unloading-worksheet-controller.js +45 -19
- package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/packing-worksheet-controller.js +2 -2
- package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +18 -2
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/returning-worksheet-controller.js +36 -3
- package/dist-server/controllers/outbound/returning-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/sorting-worksheet-controller.js +2 -2
- package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/replenishment/replenishment-worksheet-controller.js +1 -1
- package/dist-server/controllers/replenishment/replenishment-worksheet-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js +12 -8
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js.map +1 -1
- package/package.json +4 -4
- package/server/controllers/inbound/putaway-returning-worksheet-controller.ts +26 -5
- package/server/controllers/inbound/putaway-worksheet-controller.ts +26 -5
- package/server/controllers/inbound/unloading-worksheet-controller.ts +66 -23
- package/server/controllers/outbound/packing-worksheet-controller.ts +3 -2
- package/server/controllers/outbound/picking-worksheet-controller.ts +44 -2
- package/server/controllers/outbound/returning-worksheet-controller.ts +41 -16
- package/server/controllers/outbound/sorting-worksheet-controller.ts +3 -2
- package/server/controllers/replenishment/replenishment-worksheet-controller.ts +1 -7
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts +14 -16
|
@@ -440,19 +440,17 @@ export class UnloadingWorksheetController extends VasWorksheetController {
|
|
|
440
440
|
foundInventory = await this.trxMgr.getRepository(Inventory).save(newInventory)
|
|
441
441
|
|
|
442
442
|
//refer to scanUnload
|
|
443
|
-
|
|
444
|
-
|
|
443
|
+
await generateInventoryHistory(
|
|
444
|
+
foundInventory,
|
|
445
445
|
Boolean(arrivalNotice) ? arrivalNotice : returnOrder,
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
446
|
+
INVENTORY_TRANSACTION_TYPE.UNLOADING,
|
|
447
|
+
foundInventory.qty,
|
|
448
|
+
foundInventory.uomValue,
|
|
449
|
+
this.user,
|
|
450
|
+
this.trxMgr
|
|
449
451
|
)
|
|
450
452
|
} else {
|
|
451
|
-
const
|
|
452
|
-
foundInventory.expirationDate = foundInventory.expirationDate ? new Date(foundInventory.expirationDate) : null
|
|
453
|
-
foundInventory.manufactureDate = foundInventory?.manufactureDate ? new Date(foundInventory?.manufactureDate) : null
|
|
454
|
-
foundInventory.qty = updatedQty
|
|
455
|
-
foundInventory.uomValue +=
|
|
453
|
+
const addUomValue: number =
|
|
456
454
|
Math.round(
|
|
457
455
|
qty *
|
|
458
456
|
(Boolean(arrivalNotice)
|
|
@@ -460,20 +458,39 @@ export class UnloadingWorksheetController extends VasWorksheetController {
|
|
|
460
458
|
: targetInventory.returnUomValue / targetInventory.returnQty) *
|
|
461
459
|
1000
|
|
462
460
|
) / 1000
|
|
463
|
-
foundInventory.conditionOfGoods = conditionOfGoods ?? foundInventory.conditionOfGoods // DEFAULT BACK TO PREVIOUS INVENTORY'S CONDITION OF GOODS
|
|
464
461
|
|
|
465
|
-
|
|
466
|
-
|
|
462
|
+
const updateFields: any = {
|
|
463
|
+
qty: () => `"qty" + :addQty::numeric`,
|
|
464
|
+
uomValue: () => `"uom_value" + :addUomValue::numeric`,
|
|
465
|
+
updater: this.user,
|
|
466
|
+
updatedAt: new Date()
|
|
467
|
+
}
|
|
468
|
+
if (conditionOfGoods) {
|
|
469
|
+
updateFields.conditionOfGoods = conditionOfGoods
|
|
470
|
+
}
|
|
471
|
+
await this.trxMgr.getRepository(Inventory).createQueryBuilder()
|
|
472
|
+
.update(Inventory).set(updateFields)
|
|
473
|
+
.setParameter('addQty', qty)
|
|
474
|
+
.setParameter('addUomValue', addUomValue)
|
|
475
|
+
.where('id = :id', { id: foundInventory.id }).execute()
|
|
476
|
+
|
|
477
|
+
// Update in-memory for downstream
|
|
478
|
+
foundInventory.qty += qty
|
|
479
|
+
foundInventory.uomValue += addUomValue
|
|
480
|
+
if (conditionOfGoods) foundInventory.conditionOfGoods = conditionOfGoods
|
|
481
|
+
|
|
482
|
+
await generateInventoryHistory(
|
|
467
483
|
foundInventory,
|
|
468
484
|
Boolean(arrivalNotice) ? arrivalNotice : returnOrder,
|
|
485
|
+
INVENTORY_TRANSACTION_TYPE.UNLOADING,
|
|
469
486
|
foundInventory.qty,
|
|
470
487
|
foundInventory.uomValue,
|
|
471
|
-
|
|
488
|
+
this.user,
|
|
489
|
+
this.trxMgr
|
|
472
490
|
)
|
|
473
491
|
|
|
474
492
|
if (arrivalNotice) targetProduct.actualPackQty = targetProduct.actualPackQty + qty
|
|
475
493
|
else if (returnOrder) targetInventory.actualPackQty = targetInventory.actualPackQty + qty
|
|
476
|
-
foundInventory = await this.trxMgr.getRepository(Inventory).save(foundInventory)
|
|
477
494
|
}
|
|
478
495
|
|
|
479
496
|
let inventoryItem: InventoryItem = new InventoryItem()
|
|
@@ -770,14 +787,20 @@ export class UnloadingWorksheetController extends VasWorksheetController {
|
|
|
770
787
|
let foundInventory: Inventory = await invQb.getOne()
|
|
771
788
|
if (!foundInventory) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(foundInventory.palletId))
|
|
772
789
|
|
|
790
|
+
await this.trxMgr.getRepository(Inventory).update(
|
|
791
|
+
{ id: foundInventory.id },
|
|
792
|
+
{ status: INVENTORY_STATUS.UNLOADED, updater: this.user }
|
|
793
|
+
)
|
|
773
794
|
foundInventory.status = INVENTORY_STATUS.UNLOADED
|
|
774
795
|
|
|
775
|
-
|
|
796
|
+
await generateInventoryHistory(
|
|
776
797
|
foundInventory,
|
|
777
798
|
Boolean(arrivalNotice) ? arrivalNotice : returnOrder,
|
|
799
|
+
INVENTORY_TRANSACTION_TYPE.UNLOADING,
|
|
778
800
|
foundInventory.qty,
|
|
779
801
|
foundInventory.uomValue,
|
|
780
|
-
|
|
802
|
+
this.user,
|
|
803
|
+
this.trxMgr
|
|
781
804
|
)
|
|
782
805
|
}
|
|
783
806
|
|
|
@@ -888,14 +911,23 @@ export class UnloadingWorksheetController extends VasWorksheetController {
|
|
|
888
911
|
await this.trxMgr.getRepository(Inventory).save(inventory)
|
|
889
912
|
|
|
890
913
|
if (inventory.qty == 0) {
|
|
914
|
+
await this.trxMgr.getRepository(Inventory).createQueryBuilder()
|
|
915
|
+
.update(Inventory).set({
|
|
916
|
+
lastSeq: () => `"last_seq" + 1`,
|
|
917
|
+
status: INVENTORY_STATUS.DELETED,
|
|
918
|
+
updater: this.user, updatedAt: new Date()
|
|
919
|
+
})
|
|
920
|
+
.where('id = :id', { id: inventory.id }).execute()
|
|
891
921
|
inventory.lastSeq++
|
|
892
922
|
inventory.status = INVENTORY_STATUS.DELETED
|
|
893
|
-
|
|
923
|
+
await generateInventoryHistory(
|
|
894
924
|
inventory,
|
|
895
925
|
Boolean(orderType === ORDER_TYPES.ARRIVAL_NOTICE) ? arrivalNotice : returnOrder,
|
|
926
|
+
INVENTORY_TRANSACTION_TYPE.UNDO_UNLOADING,
|
|
896
927
|
-inventory.qty,
|
|
897
928
|
-inventory.uomValue,
|
|
898
|
-
|
|
929
|
+
this.user,
|
|
930
|
+
this.trxMgr
|
|
899
931
|
)
|
|
900
932
|
inventory.qty = 0
|
|
901
933
|
inventory.uomValue = 0
|
|
@@ -909,14 +941,23 @@ export class UnloadingWorksheetController extends VasWorksheetController {
|
|
|
909
941
|
await this.trxMgr.getRepository(Inventory).delete({ id: inventory.id })
|
|
910
942
|
}
|
|
911
943
|
} else {
|
|
944
|
+
await this.trxMgr.getRepository(Inventory).createQueryBuilder()
|
|
945
|
+
.update(Inventory).set({
|
|
946
|
+
lastSeq: () => `"last_seq" + 1`,
|
|
947
|
+
status: INVENTORY_STATUS.DELETED,
|
|
948
|
+
updater: this.user, updatedAt: new Date()
|
|
949
|
+
})
|
|
950
|
+
.where('id = :id', { id: inventory.id }).execute()
|
|
912
951
|
inventory.lastSeq++
|
|
913
952
|
inventory.status = INVENTORY_STATUS.DELETED
|
|
914
|
-
|
|
953
|
+
await generateInventoryHistory(
|
|
915
954
|
inventory,
|
|
916
955
|
Boolean(orderType === ORDER_TYPES.ARRIVAL_NOTICE) ? arrivalNotice : returnOrder,
|
|
956
|
+
INVENTORY_TRANSACTION_TYPE.UNDO_UNLOADING,
|
|
917
957
|
-inventory.qty,
|
|
918
958
|
-inventory.uomValue,
|
|
919
|
-
|
|
959
|
+
this.user,
|
|
960
|
+
this.trxMgr
|
|
920
961
|
)
|
|
921
962
|
inventory.qty = 0
|
|
922
963
|
inventory.uomValue = 0
|
|
@@ -1096,12 +1137,14 @@ export class UnloadingWorksheetController extends VasWorksheetController {
|
|
|
1096
1137
|
}
|
|
1097
1138
|
|
|
1098
1139
|
for (const inventory of inventories) {
|
|
1099
|
-
await
|
|
1140
|
+
await generateInventoryHistory(
|
|
1100
1141
|
inventory,
|
|
1101
1142
|
arrivalNotice,
|
|
1143
|
+
INVENTORY_TRANSACTION_TYPE.UNLOADING,
|
|
1102
1144
|
inventory.qty,
|
|
1103
1145
|
inventory.uomValue,
|
|
1104
|
-
|
|
1146
|
+
this.user,
|
|
1147
|
+
this.trxMgr
|
|
1105
1148
|
)
|
|
1106
1149
|
}
|
|
1107
1150
|
} catch (e) {
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
} from '@things-factory/sales-base'
|
|
19
19
|
import { webhookHandler, WebhookEventsEnum } from '@things-factory/integration-base'
|
|
20
20
|
import {
|
|
21
|
+
generateInventoryHistory,
|
|
21
22
|
Inventory,
|
|
22
23
|
INVENTORY_ITEM_SOURCE,
|
|
23
24
|
INVENTORY_STATUS,
|
|
@@ -296,7 +297,7 @@ export class PackingWorksheetController extends VasWorksheetController {
|
|
|
296
297
|
await this.trxMgr.getRepository(InventoryItem).save(inventoryItems)
|
|
297
298
|
}
|
|
298
299
|
|
|
299
|
-
await
|
|
300
|
+
await generateInventoryHistory(inventory, releaseGood, INVENTORY_TRANSACTION_TYPE.PACKING, 0, 0, this.user, this.trxMgr)
|
|
300
301
|
|
|
301
302
|
worksheetDetail.status = WORKSHEET_STATUS.DONE
|
|
302
303
|
}
|
|
@@ -484,7 +485,7 @@ export class PackingWorksheetController extends VasWorksheetController {
|
|
|
484
485
|
|
|
485
486
|
if (orderInventory.packedQty === releaseQty) {
|
|
486
487
|
orderInventory.status = ORDER_INVENTORY_STATUS.PACKED
|
|
487
|
-
await
|
|
488
|
+
await generateInventoryHistory(inventory, releaseGood, INVENTORY_TRANSACTION_TYPE.PACKING, 0, 0, this.user, this.trxMgr)
|
|
488
489
|
await this.trxMgr.getRepository(WorksheetDetail).update(
|
|
489
490
|
{ targetInventory: { id: orderInventory.id }, type: 'PACKING' },
|
|
490
491
|
{
|
|
@@ -1414,10 +1414,31 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
1414
1414
|
if (!toLocation) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(locationName))
|
|
1415
1415
|
|
|
1416
1416
|
if (fromLocation.id !== toLocation.id) {
|
|
1417
|
+
await this.trxMgr
|
|
1418
|
+
.getRepository(Inventory)
|
|
1419
|
+
.update(
|
|
1420
|
+
{ id: inventory.id },
|
|
1421
|
+
{
|
|
1422
|
+
location: toLocation,
|
|
1423
|
+
warehouse: toLocation.warehouse,
|
|
1424
|
+
zone: toLocation.zone,
|
|
1425
|
+
updater: this.user
|
|
1426
|
+
}
|
|
1427
|
+
)
|
|
1428
|
+
|
|
1417
1429
|
inventory.location = toLocation
|
|
1418
1430
|
inventory.warehouse = toLocation.warehouse
|
|
1419
1431
|
inventory.zone = toLocation.zone
|
|
1420
|
-
|
|
1432
|
+
|
|
1433
|
+
await generateInventoryHistory(
|
|
1434
|
+
inventory,
|
|
1435
|
+
releaseGood,
|
|
1436
|
+
INVENTORY_TRANSACTION_TYPE.RELOCATE,
|
|
1437
|
+
0,
|
|
1438
|
+
0,
|
|
1439
|
+
this.user,
|
|
1440
|
+
this.trxMgr
|
|
1441
|
+
)
|
|
1421
1442
|
}
|
|
1422
1443
|
}
|
|
1423
1444
|
} catch (error) {
|
|
@@ -1578,10 +1599,31 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
1578
1599
|
if (!toLocation) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(locationName))
|
|
1579
1600
|
|
|
1580
1601
|
if (fromLocation.id !== toLocation.id) {
|
|
1602
|
+
await this.trxMgr
|
|
1603
|
+
.getRepository(Inventory)
|
|
1604
|
+
.update(
|
|
1605
|
+
{ id: inventory.id },
|
|
1606
|
+
{
|
|
1607
|
+
location: toLocation,
|
|
1608
|
+
warehouse: toLocation.warehouse,
|
|
1609
|
+
zone: toLocation.zone,
|
|
1610
|
+
updater: this.user
|
|
1611
|
+
}
|
|
1612
|
+
)
|
|
1613
|
+
|
|
1581
1614
|
inventory.location = toLocation
|
|
1582
1615
|
inventory.warehouse = toLocation.warehouse
|
|
1583
1616
|
inventory.zone = toLocation.zone
|
|
1584
|
-
|
|
1617
|
+
|
|
1618
|
+
await generateInventoryHistory(
|
|
1619
|
+
inventory,
|
|
1620
|
+
releaseGood,
|
|
1621
|
+
INVENTORY_TRANSACTION_TYPE.RELOCATE,
|
|
1622
|
+
0,
|
|
1623
|
+
0,
|
|
1624
|
+
this.user,
|
|
1625
|
+
this.trxMgr
|
|
1626
|
+
)
|
|
1585
1627
|
}
|
|
1586
1628
|
}
|
|
1587
1629
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { OrderInventory, ORDER_INVENTORY_STATUS, ORDER_STATUS, ReleaseGood } from '@things-factory/sales-base'
|
|
2
2
|
import {
|
|
3
|
+
generateInventoryHistory,
|
|
3
4
|
Inventory,
|
|
4
5
|
Warehouse,
|
|
5
6
|
INVENTORY_STATUS,
|
|
@@ -114,24 +115,37 @@ export class ReturningWorksheetController extends VasWorksheetController {
|
|
|
114
115
|
throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('return', 'pallet ID is not matched'))
|
|
115
116
|
}
|
|
116
117
|
|
|
118
|
+
const isLocationChanged: boolean = originLocation.id !== toLocation.id
|
|
119
|
+
|
|
120
|
+
const updateFields: any = {
|
|
121
|
+
qty: () => `"qty" + :addQty::numeric`,
|
|
122
|
+
uomValue: () => `"uom_value" + :addUomValue::numeric`,
|
|
123
|
+
status: INVENTORY_STATUS.STORED,
|
|
124
|
+
updater: this.user,
|
|
125
|
+
updatedAt: new Date()
|
|
126
|
+
}
|
|
127
|
+
if (isLocationChanged) {
|
|
128
|
+
updateFields.location = toLocation
|
|
129
|
+
updateFields.warehouse = toLocation.warehouse
|
|
130
|
+
updateFields.zone = toLocation.zone
|
|
131
|
+
}
|
|
132
|
+
await this.trxMgr.getRepository(Inventory).createQueryBuilder()
|
|
133
|
+
.update(Inventory).set(updateFields)
|
|
134
|
+
.setParameter('addQty', targetInventory.releaseQty)
|
|
135
|
+
.setParameter('addUomValue', targetInventory.releaseUomValue)
|
|
136
|
+
.where('id = :id', { id: inventory.id }).execute()
|
|
137
|
+
|
|
138
|
+
// Update in-memory for downstream
|
|
117
139
|
inventory.qty += targetInventory.releaseQty
|
|
118
140
|
inventory.uomValue += targetInventory.releaseUomValue
|
|
119
141
|
inventory.status = INVENTORY_STATUS.STORED
|
|
120
|
-
|
|
121
|
-
const isLocationChanged: boolean = originLocation.id !== toLocation.id
|
|
122
142
|
if (isLocationChanged) {
|
|
123
143
|
inventory.location = toLocation
|
|
124
144
|
inventory.warehouse = toLocation.warehouse
|
|
125
145
|
inventory.zone = toLocation.zone
|
|
126
146
|
}
|
|
127
147
|
|
|
128
|
-
await this.
|
|
129
|
-
inventory,
|
|
130
|
-
releaseGood,
|
|
131
|
-
targetInventory.releaseQty,
|
|
132
|
-
targetInventory.releaseUomValue,
|
|
133
|
-
INVENTORY_TRANSACTION_TYPE.RETURN
|
|
134
|
-
)
|
|
148
|
+
await generateInventoryHistory(inventory, releaseGood, INVENTORY_TRANSACTION_TYPE.RETURN, targetInventory.releaseQty, targetInventory.releaseUomValue, this.user, this.trxMgr)
|
|
135
149
|
|
|
136
150
|
// update status of order inventory
|
|
137
151
|
targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED
|
|
@@ -205,19 +219,30 @@ export class ReturningWorksheetController extends VasWorksheetController {
|
|
|
205
219
|
const warehouse: Warehouse = location.warehouse
|
|
206
220
|
const zone: string = warehouse.zone
|
|
207
221
|
|
|
222
|
+
await this.trxMgr.getRepository(Inventory).createQueryBuilder()
|
|
223
|
+
.update(Inventory).set({
|
|
224
|
+
qty: () => `"qty" + :addQty::numeric`,
|
|
225
|
+
uomValue: () => `"uom_value" + :addUomValue::numeric`,
|
|
226
|
+
status: INVENTORY_STATUS.STORED,
|
|
227
|
+
location: location,
|
|
228
|
+
warehouse: warehouse,
|
|
229
|
+
zone: zone,
|
|
230
|
+
updater: this.user,
|
|
231
|
+
updatedAt: new Date()
|
|
232
|
+
})
|
|
233
|
+
.setParameter('addQty', targetInventory.releaseQty)
|
|
234
|
+
.setParameter('addUomValue', targetInventory.releaseUomValue)
|
|
235
|
+
.where('id = :id', { id: inventory.id }).execute()
|
|
236
|
+
|
|
237
|
+
// Update in-memory for downstream
|
|
208
238
|
inventory.qty += targetInventory.releaseQty
|
|
209
239
|
inventory.uomValue += targetInventory.releaseUomValue
|
|
210
240
|
inventory.location = location
|
|
211
241
|
inventory.status = INVENTORY_STATUS.STORED
|
|
212
242
|
inventory.warehouse = warehouse
|
|
213
243
|
inventory.zone = zone
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
releaseGood,
|
|
217
|
-
targetInventory.releaseQty,
|
|
218
|
-
targetInventory.releaseUomValue,
|
|
219
|
-
INVENTORY_TRANSACTION_TYPE.RETURN
|
|
220
|
-
)
|
|
244
|
+
|
|
245
|
+
await generateInventoryHistory(inventory, releaseGood, INVENTORY_TRANSACTION_TYPE.RETURN, targetInventory.releaseQty, targetInventory.releaseUomValue, this.user, this.trxMgr)
|
|
221
246
|
|
|
222
247
|
targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED
|
|
223
248
|
targetInventory.updater = this.user
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
} from '@things-factory/sales-base'
|
|
15
15
|
import { Setting } from '@things-factory/setting-base'
|
|
16
16
|
import {
|
|
17
|
+
generateInventoryHistory,
|
|
17
18
|
Inventory,
|
|
18
19
|
INVENTORY_ITEM_SOURCE,
|
|
19
20
|
INVENTORY_STATUS,
|
|
@@ -347,7 +348,7 @@ export class SortingWorksheetController extends VasWorksheetController {
|
|
|
347
348
|
if (matchingOI.sortedQty == pickedQty) {
|
|
348
349
|
matchingOI.status = ORDER_INVENTORY_STATUS.SORTED
|
|
349
350
|
await this.updateOrderTargets([matchingOI])
|
|
350
|
-
await
|
|
351
|
+
await generateInventoryHistory(inventory, releaseGood, INVENTORY_TRANSACTION_TYPE.SORTING, 0, 0, this.user, this.trxMgr)
|
|
351
352
|
|
|
352
353
|
let worksheetDetail = worksheetDetails.find(wd => wd.targetInventory.id == matchingOI.id)
|
|
353
354
|
await this.trxMgr
|
|
@@ -493,7 +494,7 @@ export class SortingWorksheetController extends VasWorksheetController {
|
|
|
493
494
|
if (matchingOI.sortedQty == releaseQty) {
|
|
494
495
|
matchingOI.status = ORDER_INVENTORY_STATUS.SORTED
|
|
495
496
|
await this.updateOrderTargets([matchingOI])
|
|
496
|
-
await
|
|
497
|
+
await generateInventoryHistory(inventory, releaseGood, INVENTORY_TRANSACTION_TYPE.SORTING, 0, 0, this.user, this.trxMgr)
|
|
497
498
|
|
|
498
499
|
let inventoryItems: InventoryItem = await this.trxMgr
|
|
499
500
|
.getRepository(InventoryItem)
|
|
@@ -572,13 +572,7 @@ export class ReplenishmentWorksheetController extends WorksheetController {
|
|
|
572
572
|
await this.trxMgr.getRepository(InventoryItem).save(inventoryItems)
|
|
573
573
|
}
|
|
574
574
|
|
|
575
|
-
await this.
|
|
576
|
-
newInventory,
|
|
577
|
-
replenishment,
|
|
578
|
-
actualQty,
|
|
579
|
-
newUomValue,
|
|
580
|
-
INVENTORY_TRANSACTION_TYPE.RELOCATE
|
|
581
|
-
)
|
|
575
|
+
await generateInventoryHistory(newInventory, replenishment, INVENTORY_TRANSACTION_TYPE.RELOCATE, actualQty, newUomValue, this.user, this.trxMgr)
|
|
582
576
|
|
|
583
577
|
if (actualQty + targetInventory.actualPackQty === targetInventory.releaseQty) {
|
|
584
578
|
targetInventory.actualPackQty = targetInventory.releaseQty
|
package/server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts
CHANGED
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
} from '@things-factory/sales-base'
|
|
25
25
|
import { Setting } from '@things-factory/setting-base'
|
|
26
26
|
import { Domain } from '@things-factory/shell'
|
|
27
|
-
import { Inventory, INVENTORY_TRANSACTION_TYPE
|
|
27
|
+
import { generateInventoryHistory, Inventory, INVENTORY_TRANSACTION_TYPE } from '@things-factory/warehouse-base'
|
|
28
28
|
|
|
29
29
|
import { PickingWorksheetController } from '../../../../controllers/'
|
|
30
30
|
import { Worksheet, WorksheetDetail } from '../../../../entities'
|
|
@@ -66,8 +66,6 @@ export async function generatePickingWorksheet(
|
|
|
66
66
|
})
|
|
67
67
|
|
|
68
68
|
if (releaseGood.type == 'b2c' && directReleaseOrder && directReleaseOrder.value.toLowerCase() == 'true') {
|
|
69
|
-
const inventoryUtil = new InventoryUtil(tx, domain, user)
|
|
70
|
-
|
|
71
69
|
await mmsProcessOrder(tx, domain, user, releaseGood, context)
|
|
72
70
|
|
|
73
71
|
let orderInventories: OrderInventory[] = await tx.getRepository(OrderInventory).find({
|
|
@@ -86,19 +84,19 @@ export async function generatePickingWorksheet(
|
|
|
86
84
|
.getRepository(Inventory)
|
|
87
85
|
.findOne({ where: { id: orderInventory.inventory.id } })
|
|
88
86
|
|
|
89
|
-
await
|
|
90
|
-
{
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
)
|
|
87
|
+
await tx.getRepository(Inventory).createQueryBuilder()
|
|
88
|
+
.update(Inventory).set({
|
|
89
|
+
qty: () => `"qty" - :releaseQty::numeric`,
|
|
90
|
+
uomValue: () => `ROUND(("uom_value" - :releaseUomValue::numeric)::numeric, 2)`,
|
|
91
|
+
lockedQty: () => `"locked_qty" - :releaseQty::numeric`,
|
|
92
|
+
lockedUomValue: () => `ROUND(("locked_uom_value" - :releaseUomValue::numeric)::numeric, 2)`,
|
|
93
|
+
updater: user, updatedAt: new Date()
|
|
94
|
+
})
|
|
95
|
+
.setParameter('releaseQty', orderInventory.releaseQty)
|
|
96
|
+
.setParameter('releaseUomValue', orderInventory.releaseUomValue)
|
|
97
|
+
.where('id = :id', { id: inventory.id }).execute()
|
|
98
|
+
|
|
99
|
+
await generateInventoryHistory(inventory, releaseGood, INVENTORY_TRANSACTION_TYPE.DIRECT_DEDUCTION, -orderInventory.releaseQty, -orderInventory.releaseUomValue, user, tx)
|
|
102
100
|
|
|
103
101
|
await tx
|
|
104
102
|
.getRepository(OrderInventory)
|