diff --git a/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx b/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx index 5320bef9..71691717 100644 --- a/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx @@ -181,19 +181,19 @@ export default function StepUp(props) { modules.forEach((module) => { if (!module.circuit || !module.pcsItemId) return - if (!pcsSummary[module.pcsItemId]) { - pcsSummary[module.pcsItemId] = { + if (!pcsSummary[module.circuit.circuitInfo.id]) { + pcsSummary[module.circuit.circuitInfo.id] = { circuits: {}, totalModules: 0, } } const circuitNumber = module.circuitNumber - if (!pcsSummary[module.pcsItemId].circuits[circuitNumber]) { - pcsSummary[module.pcsItemId].circuits[circuitNumber] = 0 + if (!pcsSummary[module.circuit.circuitInfo.id].circuits[circuitNumber]) { + pcsSummary[module.circuit.circuitInfo.id].circuits[circuitNumber] = 0 } - pcsSummary[module.pcsItemId].circuits[circuitNumber]++ - pcsSummary[module.pcsItemId].totalModules++ + pcsSummary[module.circuit.circuitInfo.id].circuits[circuitNumber]++ + pcsSummary[module.circuit.circuitInfo.id].totalModules++ }) const params = { @@ -205,8 +205,8 @@ export default function StepUp(props) { getPcsConnOptionItemList(params).then((res) => { if (res?.result.code === 200 && res?.data) { /** PCS 아이템 리스트에 serQtyList 추가 */ - const pcsItemListWithSerQty = res.data.pcsItemList.map((pcsItem) => { - const pcsData = pcsSummary[pcsItem.itemId] || { circuits: {}, totalModules: 0 } + const pcsItemListWithSerQty = res.data.pcsItemList.map((pcsItem, index) => { + const pcsData = pcsSummary[selectedModels[index].id] || { circuits: {}, totalModules: 0 } const circuitCounts = Object.values(pcsData.circuits) return { ...pcsItem, diff --git a/src/hooks/usePlan.js b/src/hooks/usePlan.js index f7fa7508..eb61ed12 100644 --- a/src/hooks/usePlan.js +++ b/src/hooks/usePlan.js @@ -5,7 +5,7 @@ import { usePathname, useRouter } from 'next/navigation' import { useRecoilState, useResetRecoilState } from 'recoil' -import { canvasState, currentCanvasPlanState, plansState, canvasSettingState } from '@/store/canvasAtom' +import { canvasState, currentCanvasPlanState, plansState, canvasSettingState, currentObjectState, moduleSetupSurfaceState } from '@/store/canvasAtom' import { useAxios } from '@/hooks/useAxios' import { useMessage } from '@/hooks/useMessage' import { useSwal } from '@/hooks/useSwal' @@ -61,6 +61,11 @@ export function usePlan(params = {}) { const [selectedModules, setSelectedModules] = useRecoilState(selectedModuleState) const { selectedMenu, setSelectedMenu } = useCanvasMenu() + //선택된 객체 초기화 + const resetCurrentObject = useResetRecoilState(currentObjectState) + //선택된 모듈 배치면 초기화 + const resetModuleSetupSurface = useResetRecoilState(moduleSetupSurfaceState) + /** * 마우스 포인터의 가이드라인 제거 */ @@ -415,6 +420,8 @@ export function usePlan(params = {}) { useEffect(() => { setSelectedPlan(currentCanvasPlan) handleCurrentPlanUrl() + resetCurrentObject() + resetModuleSetupSurface() }, [currentCanvasPlan]) /**