@things-factory/operato-wms 4.3.758 → 4.3.760
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/client/pages/outbound/loading-v2/delivery-order-info.js +38 -3
- package/client/pages/outbound/loading-v2/loading-execution-base.js +122 -19
- package/dist-server/graphql/resolvers/outbound/complete-load.js +8 -18
- package/dist-server/graphql/resolvers/outbound/complete-load.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js +15 -0
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js +9 -8
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/load-by-qty.js +115 -45
- package/dist-server/graphql/resolvers/outbound/load-by-qty.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js +4 -0
- package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/undo-load.js +94 -42
- package/dist-server/graphql/resolvers/outbound/undo-load.js.map +1 -1
- package/dist-server/graphql/resolvers/route-label/route-label.js +8 -12
- package/dist-server/graphql/resolvers/route-label/route-label.js.map +1 -1
- package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js +31 -2
- package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js.map +1 -1
- package/package.json +4 -4
- package/server/graphql/resolvers/outbound/complete-load.ts +8 -18
- package/server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.ts +15 -0
- package/server/graphql/resolvers/outbound/find-loadable-release-good.ts +9 -7
- package/server/graphql/resolvers/outbound/load-by-qty.ts +198 -81
- package/server/graphql/resolvers/outbound/loading-worksheet-v2.ts +4 -0
- package/server/graphql/resolvers/outbound/undo-load.ts +116 -44
- package/server/graphql/resolvers/route-label/route-label.ts +9 -12
- package/server/graphql/resolvers/zone-worksheet/zone-picking.ts +41 -2
|
@@ -30,9 +30,11 @@ exports.zonePicking = {
|
|
|
30
30
|
throw new Error('No worksheet found');
|
|
31
31
|
let worksheetDetails = worksheet.worksheetDetails;
|
|
32
32
|
let oiIds = worksheetDetails.map(wsd => wsd.targetInventory.id);
|
|
33
|
+
// Use pessimistic lock to prevent race conditions with concurrent requests
|
|
33
34
|
const targetInventories = await tx
|
|
34
35
|
.getRepository(sales_base_1.OrderInventory)
|
|
35
36
|
.createQueryBuilder('oi')
|
|
37
|
+
.setLock('pessimistic_write')
|
|
36
38
|
.innerJoinAndSelect('oi.inventory', 'i', 'i.id = oi.inventory_id')
|
|
37
39
|
.where('oi.id IN(:...oiIds)', { oiIds: oiIds })
|
|
38
40
|
.andWhere('i.carton_id = :cartonId', { cartonId: cartonId })
|
|
@@ -82,6 +84,9 @@ exports.zonePicking = {
|
|
|
82
84
|
if (totalPickedQty > sumOfReleaseQty)
|
|
83
85
|
throw new Error(wsController.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `quantity can't exceed limitation`));
|
|
84
86
|
let productOrderInventory = targetInventories.filter(oi => oi.productId === product.id && oi.productDetailId === productDetail.id);
|
|
87
|
+
// Track processed OI and inventory IDs to prevent duplicate processing within this transaction
|
|
88
|
+
const processedOiIds = new Set();
|
|
89
|
+
const processedInventoryDeductions = new Map();
|
|
85
90
|
//update all oi
|
|
86
91
|
for (const oi of productOrderInventory) {
|
|
87
92
|
let targetInventory = oi;
|
|
@@ -91,6 +96,11 @@ exports.zonePicking = {
|
|
|
91
96
|
const releaseGood = targetInventory.releaseGood;
|
|
92
97
|
if (pickedQty <= 0)
|
|
93
98
|
break;
|
|
99
|
+
// Skip if this OI was already processed in this transaction
|
|
100
|
+
if (processedOiIds.has(targetInventory.id)) {
|
|
101
|
+
console.warn(`Skipping duplicate OI processing: ${targetInventory.id}`);
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
94
104
|
// validation to prevent picking if the inventory is involved in cycle count
|
|
95
105
|
let inventoryCheckItem = await tx.getRepository(sales_base_1.InventoryCheckItem).findOne({
|
|
96
106
|
where: {
|
|
@@ -113,6 +123,17 @@ exports.zonePicking = {
|
|
|
113
123
|
if (targetInventory.status === sales_base_1.ORDER_INVENTORY_STATUS.PROCESSING &&
|
|
114
124
|
targetReleaseQty > targetPickedQty &&
|
|
115
125
|
pickedQty > 0) {
|
|
126
|
+
// Re-verify OI status from database to prevent race condition
|
|
127
|
+
const freshOiStatus = await tx
|
|
128
|
+
.getRepository(sales_base_1.OrderInventory)
|
|
129
|
+
.createQueryBuilder('oi')
|
|
130
|
+
.select('oi.status')
|
|
131
|
+
.where('oi.id = :id', { id: targetInventory.id })
|
|
132
|
+
.getRawOne();
|
|
133
|
+
if ((freshOiStatus === null || freshOiStatus === void 0 ? void 0 : freshOiStatus.oi_status) !== sales_base_1.ORDER_INVENTORY_STATUS.PROCESSING) {
|
|
134
|
+
console.warn(`OI ${targetInventory.id} status changed to ${freshOiStatus === null || freshOiStatus === void 0 ? void 0 : freshOiStatus.oi_status}, skipping`);
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
116
137
|
let remainingAssignedQty = pickedQty - (targetReleaseQty - targetPickedQty); // -1, 0, 1
|
|
117
138
|
const gapQtyRemaining = targetReleaseQty - targetPickedQty; // > 0
|
|
118
139
|
if (binNo && !(targetInventory === null || targetInventory === void 0 ? void 0 : targetInventory.binLocation)) {
|
|
@@ -127,7 +148,10 @@ exports.zonePicking = {
|
|
|
127
148
|
remainingAssignedQty = remainingAssignedQty < 0 ? 0 : remainingAssignedQty;
|
|
128
149
|
if (targetInventory.pickedQty == targetReleaseQty) {
|
|
129
150
|
//update oi and wsd to done if pickedQty matches releaseQty
|
|
130
|
-
|
|
151
|
+
// Account for any previous deductions to this inventory in this transaction
|
|
152
|
+
const previousDeduction = processedInventoryDeductions.get(inventory.id) || 0;
|
|
153
|
+
const adjustedInventoryQty = inventory.qty - previousDeduction;
|
|
154
|
+
const leftQty = adjustedInventoryQty - targetInventory.releaseQty;
|
|
131
155
|
if (leftQty < 0) {
|
|
132
156
|
throw new Error(wsController.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `quantity can't exceed limitation`));
|
|
133
157
|
}
|
|
@@ -137,6 +161,8 @@ exports.zonePicking = {
|
|
|
137
161
|
//update oi
|
|
138
162
|
targetInventory.status = sales_base_1.ORDER_INVENTORY_STATUS.PICKED;
|
|
139
163
|
await updateOrderInventories(tx, targetInventory);
|
|
164
|
+
// Mark this OI as processed
|
|
165
|
+
processedOiIds.add(targetInventory.id);
|
|
140
166
|
//update loading wsd if exist
|
|
141
167
|
let loadingWorksheetDetail = await tx.getRepository(worksheet_base_1.WorksheetDetail).findOne({
|
|
142
168
|
where: { type: worksheet_base_1.WORKSHEET_TYPE.LOADING, targetInventory: targetInventory }
|
|
@@ -163,8 +189,9 @@ exports.zonePicking = {
|
|
|
163
189
|
.where('id = :id', { id: targetInventory.inventory.id })
|
|
164
190
|
.returning(['qty'])
|
|
165
191
|
.execute();
|
|
192
|
+
// Track the deduction for this inventory
|
|
193
|
+
processedInventoryDeductions.set(inventory.id, previousDeduction + targetInventory.releaseQty);
|
|
166
194
|
console.time('inv history');
|
|
167
|
-
//slow
|
|
168
195
|
await (0, warehouse_base_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.PICKING, -targetInventory.releaseQty, -targetInventory.releaseUomValue, user, tx);
|
|
169
196
|
console.timeEnd('inv history');
|
|
170
197
|
if (leftQty === 0) {
|
|
@@ -182,6 +209,8 @@ exports.zonePicking = {
|
|
|
182
209
|
else {
|
|
183
210
|
//updates oi if pickedQty != releaseQty
|
|
184
211
|
await updateOrderInventories(tx, targetInventory);
|
|
212
|
+
// Mark this OI as processed even for partial picks
|
|
213
|
+
processedOiIds.add(targetInventory.id);
|
|
185
214
|
}
|
|
186
215
|
//deduct pickedQty for the next oi
|
|
187
216
|
pickedQty = pickedQty - (targetReleaseQty - targetPickedQty);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zone-picking.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/zone-worksheet/zone-picking.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zone-picking.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/zone-worksheet/zone-picking.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/operato-wms",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.760",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"@things-factory/print-ui": "^4.3.755",
|
|
92
92
|
"@things-factory/product-base": "^4.3.755",
|
|
93
93
|
"@things-factory/resource-ui": "^4.3.755",
|
|
94
|
-
"@things-factory/sales-ui": "^4.3.
|
|
94
|
+
"@things-factory/sales-ui": "^4.3.759",
|
|
95
95
|
"@things-factory/scene-data-transform": "^4.3.755",
|
|
96
96
|
"@things-factory/scene-excel": "^4.3.755",
|
|
97
97
|
"@things-factory/scene-firebase": "^4.3.755",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"@things-factory/transport-base": "^4.3.755",
|
|
109
109
|
"@things-factory/tutorial-ui": "^4.3.755",
|
|
110
110
|
"@things-factory/warehouse-base": "^4.3.755",
|
|
111
|
-
"@things-factory/worksheet-base": "^4.3.
|
|
111
|
+
"@things-factory/worksheet-base": "^4.3.760"
|
|
112
112
|
},
|
|
113
113
|
"devDependencies": {
|
|
114
114
|
"@things-factory/builder": "^4.3.755",
|
|
@@ -117,5 +117,5 @@
|
|
|
117
117
|
"cypress-localstorage-commands": "^1.6.1",
|
|
118
118
|
"eslint-plugin-cypress": "^2.12.1"
|
|
119
119
|
},
|
|
120
|
-
"gitHead": "
|
|
120
|
+
"gitHead": "c6b185ad92efc92e1ea5d80899f2a1f38cf37c4b"
|
|
121
121
|
}
|
|
@@ -45,31 +45,21 @@ async function completeLoading(
|
|
|
45
45
|
orderId: String,
|
|
46
46
|
worksheetId: String
|
|
47
47
|
) {
|
|
48
|
-
// Fetch release order
|
|
48
|
+
// Fetch release order - optimized to reduce DB locks (14 relations → 4 relations)
|
|
49
|
+
// - orderProducts re-fetched at line 200 with fresh relations
|
|
50
|
+
// - deliveryOrders re-fetched at line 109
|
|
51
|
+
// - Only load essential relations needed before those re-fetches
|
|
52
|
+
console.time('completeLoading - fetch releaseGood')
|
|
49
53
|
const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
|
|
50
54
|
where: {
|
|
51
|
-
|
|
55
|
+
name: orderId,
|
|
52
56
|
domain: domain,
|
|
53
57
|
status: In([ORDER_STATUS.LOADING, ORDER_STATUS.PROCESSING, ORDER_STATUS.PARTIAL_PROCESSING])
|
|
54
58
|
},
|
|
55
|
-
relations: [
|
|
56
|
-
'domain',
|
|
57
|
-
'bizplace',
|
|
58
|
-
'bizplace.domain',
|
|
59
|
-
'creator',
|
|
60
|
-
'updater',
|
|
61
|
-
'orderInventories',
|
|
62
|
-
'lastMileDelivery',
|
|
63
|
-
'orderProducts',
|
|
64
|
-
'orderProducts.product',
|
|
65
|
-
'orderProducts.productDetail',
|
|
66
|
-
'deliveryOrders',
|
|
67
|
-
'deliveryOrders.orderInventories',
|
|
68
|
-
'deliveryOrders.orderInventories.productDetail',
|
|
69
|
-
'deliveryOrders.orderInventories.product'
|
|
70
|
-
]
|
|
59
|
+
relations: ['bizplace', 'bizplace.domain', 'orderInventories', 'lastMileDelivery']
|
|
71
60
|
})
|
|
72
61
|
|
|
62
|
+
console.timeEnd('completeLoading - fetch releaseGood')
|
|
73
63
|
if (!releaseGood) {
|
|
74
64
|
throw new Error('Release good not found or not in a valid status')
|
|
75
65
|
}
|
|
@@ -124,6 +124,21 @@ const transformToWorksheetFormat = (orderInventories: OrderInventory[], releaseG
|
|
|
124
124
|
binLocation: {
|
|
125
125
|
name: oi.binLocation?.name
|
|
126
126
|
},
|
|
127
|
+
// Include releaseGood for each item to support filtering by release order in bin scan mode
|
|
128
|
+
releaseGood: oi.releaseGood
|
|
129
|
+
? {
|
|
130
|
+
id: oi.releaseGood.id,
|
|
131
|
+
name: oi.releaseGood.name,
|
|
132
|
+
attentionCompany: oi.releaseGood.attentionCompany,
|
|
133
|
+
attentionTo: oi.releaseGood.attentionTo,
|
|
134
|
+
deliveryAddress1: oi.releaseGood.deliveryAddress1,
|
|
135
|
+
deliveryAddress2: oi.releaseGood.deliveryAddress2,
|
|
136
|
+
status: oi.releaseGood.status,
|
|
137
|
+
refNo: oi.releaseGood.refNo,
|
|
138
|
+
refNo2: oi.releaseGood.refNo2,
|
|
139
|
+
refNo3: oi.releaseGood.refNo3
|
|
140
|
+
}
|
|
141
|
+
: null,
|
|
127
142
|
productName: oi.inventory?.product?.name,
|
|
128
143
|
productSku: oi.inventory?.product?.sku,
|
|
129
144
|
relatedOrderInv: {
|
|
@@ -57,6 +57,11 @@ async function getInventoryCounts(
|
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* Assigns itemCounts and tabCounts to a release good based on inventory counts
|
|
60
|
+
*
|
|
61
|
+
* Business logic for "completed" items:
|
|
62
|
+
* - QC tab: completed = items that passed QC (LOADING + LOADED status)
|
|
63
|
+
* - LOADING tab: completed = items that were loaded (LOADED status)
|
|
64
|
+
* - LOADED tab: completed = items that are loaded (LOADED status)
|
|
60
65
|
*/
|
|
61
66
|
function assignCountsToReleaseGood(
|
|
62
67
|
releaseGood: ReleaseGood,
|
|
@@ -67,13 +72,10 @@ function assignCountsToReleaseGood(
|
|
|
67
72
|
const { loadingTotal, loadingCompleted, loadedTotal, loadedCompleted, total } = counts
|
|
68
73
|
|
|
69
74
|
// Calculate completed count for current tab (backward compatibility)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
// ORDER scan: QC tab considers LOADING+LOADED as completed
|
|
75
|
-
currentCompleted = tabName === 'QC' ? loadingTotal + loadedTotal : loadedTotal
|
|
76
|
-
}
|
|
75
|
+
// For QC tab: completed = items that passed QC (LOADING + LOADED)
|
|
76
|
+
// For LOADING/LOADED tabs: completed = items that are loaded (LOADED)
|
|
77
|
+
// This logic applies to both BIN scan and ORDER scan
|
|
78
|
+
const currentCompleted = tabName === 'QC' ? loadingTotal + loadedTotal : loadedTotal
|
|
77
79
|
|
|
78
80
|
// Backward compatibility: itemCounts for current tab
|
|
79
81
|
releaseGood['itemCounts'] = {
|
|
@@ -65,97 +65,214 @@ export const loadByQty = {
|
|
|
65
65
|
|
|
66
66
|
const updatedOrderInventories: OrderInventory[] = []
|
|
67
67
|
for (const wsd of updatedWorksheetDetails) {
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
// Check if this is combined data with multiple order inventory references
|
|
69
|
+
// (from bin scan flow with combineSameProductsWithAllRefs)
|
|
70
|
+
if (wsd.allRelatedOrderInvs && wsd.allRelatedOrderInvs.length > 0) {
|
|
71
|
+
// Combined mode: distribute loadedQty across multiple order inventories (FIFO)
|
|
72
|
+
let remainingLoadQty = wsd.loadedQty
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
for (const ref of wsd.allRelatedOrderInvs) {
|
|
75
|
+
if (remainingLoadQty <= 0) break
|
|
76
|
+
|
|
77
|
+
let orderInventory = orderInventories.find(oi => oi.id === ref.id)
|
|
78
|
+
if (!orderInventory) continue
|
|
79
|
+
|
|
80
|
+
const foundWorksheetDetail = worksheet.worksheetDetails.find(
|
|
81
|
+
foundWsd => foundWsd.targetInventory.id === orderInventory.id
|
|
82
|
+
)
|
|
83
|
+
if (!foundWorksheetDetail) continue
|
|
84
|
+
|
|
85
|
+
// Skip if already loaded or DO generated
|
|
86
|
+
if (orderInventory.status === ORDER_INVENTORY_STATUS.LOADED || orderInventory.deliveryOrderId !== null) {
|
|
87
|
+
continue
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Calculate how much to load from this order inventory
|
|
91
|
+
const availableQty = orderInventory.pickedQty
|
|
92
|
+
const qtyToLoad = Math.min(remainingLoadQty, availableQty)
|
|
93
|
+
remainingLoadQty -= qtyToLoad
|
|
94
|
+
|
|
95
|
+
if (qtyToLoad === orderInventory.releaseQty) {
|
|
96
|
+
// Full load - mark as LOADED
|
|
97
|
+
orderInventory = {
|
|
98
|
+
...orderInventory,
|
|
99
|
+
status: ORDER_INVENTORY_STATUS.LOADED,
|
|
100
|
+
updater: user,
|
|
101
|
+
updatedAt: new Date()
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
await tx.getRepository(WorksheetDetail).update(foundWorksheetDetail.id, {
|
|
105
|
+
status: WORKSHEET_STATUS.DONE,
|
|
106
|
+
updater: user,
|
|
107
|
+
updatedAt: new Date()
|
|
108
|
+
})
|
|
109
|
+
} else if (qtyToLoad < orderInventory.releaseQty && qtyToLoad > 0) {
|
|
110
|
+
// Partial load - split order inventory
|
|
111
|
+
const remainingOiQty = orderInventory.releaseQty - qtyToLoad
|
|
112
|
+
const newOrderInventory = tx.getRepository(OrderInventory).create({
|
|
113
|
+
...orderInventory,
|
|
114
|
+
id: undefined,
|
|
115
|
+
name: OrderNoGenerator.orderInventory(),
|
|
116
|
+
releaseQty: remainingOiQty,
|
|
117
|
+
releaseUomValue: (orderInventory.releaseUomValue / orderInventory.releaseQty) * remainingOiQty,
|
|
118
|
+
pickedQty: orderInventory.pickedQty - qtyToLoad,
|
|
119
|
+
sortedQty: orderInventory.sortedQty === 0 ? 0 : orderInventory.sortedQty - qtyToLoad,
|
|
120
|
+
status: orderInventory.status,
|
|
121
|
+
updater: user,
|
|
122
|
+
updatedAt: new Date()
|
|
123
|
+
})
|
|
124
|
+
|
|
125
|
+
await tx.getRepository(OrderInventory).save(newOrderInventory)
|
|
78
126
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
127
|
+
const newWorksheetDetail = tx.getRepository(WorksheetDetail).create({
|
|
128
|
+
...foundWorksheetDetail,
|
|
129
|
+
id: undefined,
|
|
130
|
+
name: `LOAD-DETAIL-` + uuidv4(),
|
|
131
|
+
worksheet: worksheet,
|
|
132
|
+
targetInventory: newOrderInventory,
|
|
133
|
+
status: WORKSHEET_STATUS.EXECUTING,
|
|
134
|
+
updater: user,
|
|
135
|
+
updatedAt: new Date()
|
|
136
|
+
})
|
|
137
|
+
|
|
138
|
+
await tx.getRepository(WorksheetDetail).save(newWorksheetDetail)
|
|
139
|
+
|
|
140
|
+
orderInventory = {
|
|
141
|
+
...orderInventory,
|
|
142
|
+
status: ORDER_INVENTORY_STATUS.LOADED,
|
|
143
|
+
releaseUomValue: (orderInventory.releaseUomValue / orderInventory.releaseQty) * qtyToLoad,
|
|
144
|
+
releaseQty: qtyToLoad,
|
|
145
|
+
pickedQty: qtyToLoad,
|
|
146
|
+
sortedQty: qtyToLoad,
|
|
147
|
+
updater: user,
|
|
148
|
+
updatedAt: new Date()
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
await tx.getRepository(WorksheetDetail).update(foundWorksheetDetail.id, {
|
|
152
|
+
status: WORKSHEET_STATUS.DONE,
|
|
153
|
+
updater: user,
|
|
154
|
+
updatedAt: new Date()
|
|
155
|
+
})
|
|
156
|
+
} else {
|
|
157
|
+
// qtyToLoad is 0, skip this order inventory
|
|
158
|
+
continue
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
const inventory = await tx.getRepository(Inventory).findOne({
|
|
162
|
+
where: { id: orderInventory.inventoryId }
|
|
163
|
+
})
|
|
164
|
+
|
|
165
|
+
await generateInventoryHistory(inventory, releaseGood, INVENTORY_TRANSACTION_TYPE.LOADING, 0, 0, user, tx)
|
|
166
|
+
updatedOrderInventories.push(orderInventory)
|
|
91
167
|
}
|
|
92
168
|
|
|
93
|
-
//
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
//
|
|
101
|
-
//
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
...orderInventory,
|
|
105
|
-
id: undefined,
|
|
106
|
-
name: OrderNoGenerator.orderInventory(),
|
|
107
|
-
releaseQty: remainingQty,
|
|
108
|
-
releaseUomValue: (orderInventory.releaseUomValue / orderInventory.releaseQty) * remainingQty,
|
|
109
|
-
pickedQty: orderInventory.pickedQty - wsd.loadedQty,
|
|
110
|
-
sortedQty: orderInventory.sortedQty === 0 ? 0 : orderInventory.sortedQty - wsd.loadedQty,
|
|
111
|
-
status: orderInventory.status,
|
|
112
|
-
updater: user,
|
|
113
|
-
updatedAt: new Date()
|
|
114
|
-
})
|
|
169
|
+
// Validate that all requested quantity was loaded
|
|
170
|
+
if (remainingLoadQty > 0) {
|
|
171
|
+
console.warn(`Could not fully distribute loadedQty for SKU ${wsd.productSku}. Remaining: ${remainingLoadQty}`)
|
|
172
|
+
}
|
|
173
|
+
} else {
|
|
174
|
+
// Standard mode: single order inventory reference
|
|
175
|
+
// Support both:
|
|
176
|
+
// 1. Match by worksheetDetail name (when using LOADING_WORKSHEET_V2 query)
|
|
177
|
+
// 2. Match by relatedOrderInv.id (when name is null)
|
|
178
|
+
let foundWorksheetDetail: WorksheetDetail
|
|
179
|
+
let orderInventory: OrderInventory
|
|
115
180
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
name: `LOAD-DETAIL-` + uuidv4(),
|
|
123
|
-
worksheet: worksheet,
|
|
124
|
-
targetInventory: newOrderInventory,
|
|
125
|
-
status: WORKSHEET_STATUS.EXECUTING,
|
|
126
|
-
updater: user,
|
|
127
|
-
updatedAt: new Date()
|
|
128
|
-
})
|
|
181
|
+
if (wsd.name) {
|
|
182
|
+
foundWorksheetDetail = worksheet.worksheetDetails.find(foundWsd => foundWsd.name === wsd.name)
|
|
183
|
+
if (foundWorksheetDetail) {
|
|
184
|
+
orderInventory = orderInventories.find(oi => oi.id === foundWorksheetDetail.targetInventory.id)
|
|
185
|
+
}
|
|
186
|
+
}
|
|
129
187
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
releaseQty: wsd.loadedQty,
|
|
138
|
-
pickedQty: wsd.loadedQty,
|
|
139
|
-
sortedQty: wsd.loadedQty,
|
|
140
|
-
updater: user,
|
|
141
|
-
updatedAt: new Date()
|
|
188
|
+
if (!foundWorksheetDetail && wsd.relatedOrderInv?.id) {
|
|
189
|
+
orderInventory = orderInventories.find(oi => oi.id === wsd.relatedOrderInv.id)
|
|
190
|
+
if (orderInventory) {
|
|
191
|
+
foundWorksheetDetail = worksheet.worksheetDetails.find(
|
|
192
|
+
foundWsd => foundWsd.targetInventory.id === orderInventory.id
|
|
193
|
+
)
|
|
194
|
+
}
|
|
142
195
|
}
|
|
143
196
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
197
|
+
if (!foundWorksheetDetail || !orderInventory) {
|
|
198
|
+
console.warn(`Could not find worksheet detail or order inventory for item: ${JSON.stringify({ name: wsd.name, relatedOrderInvId: wsd.relatedOrderInv?.id, productSku: wsd.productSku })}`)
|
|
199
|
+
continue
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
if (orderInventory.status === ORDER_INVENTORY_STATUS.LOADED || orderInventory.deliveryOrderId !== null) {
|
|
203
|
+
continue
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (wsd.loadedQty > orderInventory.pickedQty) {
|
|
207
|
+
throw new Error('Load qty is more than picked qty for sku ' + wsd.productSku)
|
|
208
|
+
} else if (wsd.loadedQty == orderInventory.releaseQty) {
|
|
209
|
+
orderInventory = {
|
|
210
|
+
...orderInventory,
|
|
211
|
+
status: ORDER_INVENTORY_STATUS.LOADED,
|
|
212
|
+
updater: user,
|
|
213
|
+
updatedAt: new Date()
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
await tx.getRepository(WorksheetDetail).update(foundWorksheetDetail.id, {
|
|
217
|
+
status: WORKSHEET_STATUS.DONE,
|
|
218
|
+
updater: user,
|
|
219
|
+
updatedAt: new Date()
|
|
220
|
+
})
|
|
221
|
+
} else if (wsd.loadedQty < orderInventory.releaseQty) {
|
|
222
|
+
const remainingQty = orderInventory.releaseQty - wsd.loadedQty
|
|
223
|
+
const newOrderInventory = tx.getRepository(OrderInventory).create({
|
|
224
|
+
...orderInventory,
|
|
225
|
+
id: undefined,
|
|
226
|
+
name: OrderNoGenerator.orderInventory(),
|
|
227
|
+
releaseQty: remainingQty,
|
|
228
|
+
releaseUomValue: (orderInventory.releaseUomValue / orderInventory.releaseQty) * remainingQty,
|
|
229
|
+
pickedQty: orderInventory.pickedQty - wsd.loadedQty,
|
|
230
|
+
sortedQty: orderInventory.sortedQty === 0 ? 0 : orderInventory.sortedQty - wsd.loadedQty,
|
|
231
|
+
status: orderInventory.status,
|
|
232
|
+
updater: user,
|
|
233
|
+
updatedAt: new Date()
|
|
234
|
+
})
|
|
151
235
|
|
|
152
|
-
|
|
153
|
-
where: { id: orderInventory.inventoryId }
|
|
154
|
-
})
|
|
236
|
+
await tx.getRepository(OrderInventory).save(newOrderInventory)
|
|
155
237
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
238
|
+
const newWorksheetDetail = tx.getRepository(WorksheetDetail).create({
|
|
239
|
+
...foundWorksheetDetail,
|
|
240
|
+
id: undefined,
|
|
241
|
+
name: `LOAD-DETAIL-` + uuidv4(),
|
|
242
|
+
worksheet: worksheet,
|
|
243
|
+
targetInventory: newOrderInventory,
|
|
244
|
+
status: WORKSHEET_STATUS.EXECUTING,
|
|
245
|
+
updater: user,
|
|
246
|
+
updatedAt: new Date()
|
|
247
|
+
})
|
|
248
|
+
|
|
249
|
+
await tx.getRepository(WorksheetDetail).save(newWorksheetDetail)
|
|
250
|
+
|
|
251
|
+
orderInventory = {
|
|
252
|
+
...orderInventory,
|
|
253
|
+
status: ORDER_INVENTORY_STATUS.LOADED,
|
|
254
|
+
releaseUomValue: (orderInventory.releaseUomValue / orderInventory.releaseQty) * wsd.loadedQty,
|
|
255
|
+
releaseQty: wsd.loadedQty,
|
|
256
|
+
pickedQty: wsd.loadedQty,
|
|
257
|
+
sortedQty: wsd.loadedQty,
|
|
258
|
+
updater: user,
|
|
259
|
+
updatedAt: new Date()
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
await tx.getRepository(WorksheetDetail).update(foundWorksheetDetail.id, {
|
|
263
|
+
status: WORKSHEET_STATUS.DONE,
|
|
264
|
+
updater: user,
|
|
265
|
+
updatedAt: new Date()
|
|
266
|
+
})
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
const inventory = await tx.getRepository(Inventory).findOne({
|
|
270
|
+
where: { id: orderInventory.inventoryId }
|
|
271
|
+
})
|
|
272
|
+
|
|
273
|
+
await generateInventoryHistory(inventory, releaseGood, INVENTORY_TRANSACTION_TYPE.LOADING, 0, 0, user, tx)
|
|
274
|
+
updatedOrderInventories.push(orderInventory)
|
|
275
|
+
}
|
|
159
276
|
}
|
|
160
277
|
|
|
161
278
|
if (updatedOrderInventories.length < 1) {
|
|
@@ -163,6 +163,10 @@ export const loadingWorksheetv2 = {
|
|
|
163
163
|
if (filter === FILTER_TYPES.LOADING) {
|
|
164
164
|
if (shouldFilterBySortedQty(releaseGood.status, disableQc)) {
|
|
165
165
|
qb.andWhere('targetInventory.sortedQty > 0')
|
|
166
|
+
// Exclude LOADED items - they should only appear in LOADED tab
|
|
167
|
+
qb.andWhere('targetInventory.status <> :loadedStatus', {
|
|
168
|
+
loadedStatus: ORDER_INVENTORY_STATUS.LOADED
|
|
169
|
+
})
|
|
166
170
|
} else {
|
|
167
171
|
qb.andWhere('targetInventory.status IN (:...loadingStatus)', {
|
|
168
172
|
loadingStatus: [ORDER_INVENTORY_STATUS.SORTING, ORDER_INVENTORY_STATUS.LOADING]
|