From 8ff3573af2ae36e29a3e5ef0bb5962f745f8077a Mon Sep 17 00:00:00 2001 From: Jerald-Golden-B Date: Wed, 24 Sep 2025 18:12:36 +0530 Subject: [PATCH] storage to human bug fixed --- .../actionHandler/useRetrieveHandler.ts | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/app/src/modules/simulation/actions/storageUnit/actionHandler/useRetrieveHandler.ts b/app/src/modules/simulation/actions/storageUnit/actionHandler/useRetrieveHandler.ts index 859c82c..78c102e 100644 --- a/app/src/modules/simulation/actions/storageUnit/actionHandler/useRetrieveHandler.ts +++ b/app/src/modules/simulation/actions/storageUnit/actionHandler/useRetrieveHandler.ts @@ -291,7 +291,7 @@ export function useRetrieveHandler() { return; } - if (human && !human.isScheduled && human.state === "idle" && human.currentLoad < action.loadCapacity) { + if (human) { const triggeredModel = action.triggers[0]?.triggeredAsset?.triggeredModel?.modelUuid ? getEventByModelUuid(selectedProduct.productUuid, action.triggers[0].triggeredAsset.triggeredModel.modelUuid) : null; @@ -445,19 +445,21 @@ export function useRetrieveHandler() { ); } monitoredHumansRef.current.add(human.modelUuid); - const lastMaterial = getLastMaterial(storageUnit.modelUuid); - if (lastMaterial) { - const material = createNewMaterial(lastMaterial.materialId, lastMaterial.materialType, storageAction as StorageAction); - if (material) { - removeLastMaterial(storageUnit.modelUuid); - updateCurrentLoad(storageUnit.modelUuid, -1); - incrementHumanLoad(human.modelUuid, 1); - addCurrentMaterialToHuman(human.modelUuid, material.materialType, material.materialId); - retrieveLogStatus(material.materialName, `is picked by ${human.modelName}`); + if (humanAsset?.animationState?.current === "pickup" && humanAsset.animationState.isCompleted) { + const lastMaterial = getLastMaterial(storageUnit.modelUuid); + if (lastMaterial) { + const material = createNewMaterial(lastMaterial.materialId, lastMaterial.materialType, storageAction as StorageAction); + if (material) { + removeLastMaterial(storageUnit.modelUuid); + updateCurrentLoad(storageUnit.modelUuid, -1); + incrementHumanLoad(human.modelUuid, 1); + addCurrentMaterialToHuman(human.modelUuid, material.materialType, material.materialId); + retrieveLogStatus(material.materialName, `is picked by ${human.modelName}`); - retrievalCountRef.current.set(actionUuid, currentCount + 1); + retrievalCountRef.current.set(actionUuid, currentCount + 1); + } + monitoredHumansRef.current.delete(human.modelUuid); } - monitoredHumansRef.current.delete(human.modelUuid); } } }