@things-factory/worksheet-base 4.3.770 → 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 +169 -44
- 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 +211 -45
- 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
|
@@ -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)
|