From b7f74c975c8f986caad9ee14dc5d8fab2135bd6c Mon Sep 17 00:00:00 2001 From: Jerald-Golden-B Date: Tue, 13 May 2025 18:03:57 +0530 Subject: [PATCH] Refactor material handling to include setEndTime in despawn and store actions for improved state management --- .../actions/conveyor/actionHandler/useDespawnHandler.ts | 3 ++- .../actions/storageUnit/actionHandler/useStoreHandler.ts | 3 ++- .../simulation/vehicle/instances/instance/vehicleInstance.tsx | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/modules/simulation/actions/conveyor/actionHandler/useDespawnHandler.ts b/app/src/modules/simulation/actions/conveyor/actionHandler/useDespawnHandler.ts index 9364d70..48cc3e7 100644 --- a/app/src/modules/simulation/actions/conveyor/actionHandler/useDespawnHandler.ts +++ b/app/src/modules/simulation/actions/conveyor/actionHandler/useDespawnHandler.ts @@ -2,7 +2,7 @@ import { useCallback } from "react"; import { useMaterialStore } from "../../../../../store/simulation/useMaterialStore"; export function useDespawnHandler() { - const { getMaterialById, removeMaterial } = useMaterialStore(); + const { getMaterialById, removeMaterial, setEndTime } = useMaterialStore(); const deSpawnLogStatus = (materialUuid: string, status: string) => { echo.info(`${materialUuid}, ${status}`); @@ -14,6 +14,7 @@ export function useDespawnHandler() { const material = getMaterialById(materialId); if (!material) return; + setEndTime(material.materialId, performance.now()); removeMaterial(material.materialId); deSpawnLogStatus(material.materialName, `Despawned`); diff --git a/app/src/modules/simulation/actions/storageUnit/actionHandler/useStoreHandler.ts b/app/src/modules/simulation/actions/storageUnit/actionHandler/useStoreHandler.ts index 2b0e990..0e8a920 100644 --- a/app/src/modules/simulation/actions/storageUnit/actionHandler/useStoreHandler.ts +++ b/app/src/modules/simulation/actions/storageUnit/actionHandler/useStoreHandler.ts @@ -5,7 +5,7 @@ import { useProductStore } from "../../../../../store/simulation/useProductStore import { useSelectedProduct } from "../../../../../store/simulation/useSimulationStore"; export function useStoreHandler() { - const { getMaterialById, removeMaterial } = useMaterialStore(); + const { getMaterialById, removeMaterial, setEndTime } = useMaterialStore(); const { addCurrentMaterial, updateCurrentLoad } = useStorageUnitStore(); const { getModelUuidByActionUuid } = useProductStore(); const { selectedProduct } = useSelectedProduct(); @@ -23,6 +23,7 @@ export function useStoreHandler() { const modelUuid = getModelUuidByActionUuid(selectedProduct.productId, action.actionUuid); if (!modelUuid) return; + setEndTime(material.materialId, performance.now()); removeMaterial(material.materialId); addCurrentMaterial(modelUuid, material.materialType, material.materialId); updateCurrentLoad(modelUuid, 1); diff --git a/app/src/modules/simulation/vehicle/instances/instance/vehicleInstance.tsx b/app/src/modules/simulation/vehicle/instances/instance/vehicleInstance.tsx index 84fa7f2..612e9a3 100644 --- a/app/src/modules/simulation/vehicle/instances/instance/vehicleInstance.tsx +++ b/app/src/modules/simulation/vehicle/instances/instance/vehicleInstance.tsx @@ -15,7 +15,7 @@ import MaterialAnimator from '../animator/materialAnimator'; function VehicleInstance({ agvDetail }: Readonly<{ agvDetail: VehicleStatus }>) { const { navMesh } = useNavMesh(); const { isPlaying } = usePlayButtonStore(); - const { removeMaterial } = useMaterialStore(); + const { removeMaterial, setEndTime } = useMaterialStore(); const { getStorageUnitById } = useStorageUnitStore(); const { triggerPointActions } = useTriggerHandler(); const { getActionByUuid, getEventByModelUuid, getTriggerByUuid } = useProductStore(); @@ -296,6 +296,7 @@ function VehicleInstance({ agvDetail }: Readonly<{ agvDetail: VehicleStatus }>) decrementVehicleLoad(agvDetail.modelUuid, 1); const material = removeLastMaterial(agvDetail.modelUuid); if (material) { + setEndTime(material.materialId, performance.now()); removeMaterial(material.materialId); } if (droppedMat > 0) {