diff --git a/src/components/floor-plan/CanvasFrame.jsx b/src/components/floor-plan/CanvasFrame.jsx index 20d6a348..bd4c6dbb 100644 --- a/src/components/floor-plan/CanvasFrame.jsx +++ b/src/components/floor-plan/CanvasFrame.jsx @@ -131,7 +131,7 @@ export default function CanvasFrame() { // 메뉴 이동 시 canvasSetting이 덮어쓰이는 것을 방지 // 이미 canvasSetting에 roofSizeSet이 있으면 API 호출 건너뛰기 if (!canvasSetting?.roofSizeSet) { - fetchBasicSettings(Number(currentCanvasPlan.planNo), null) + fetchBasicSettings(Number(currentCanvasPlan.planNo), null, currentCanvasPlan.objectNo) } }, 100) } diff --git a/src/hooks/option/useCanvasSetting.js b/src/hooks/option/useCanvasSetting.js index 9176c1d2..1a54e537 100644 --- a/src/hooks/option/useCanvasSetting.js +++ b/src/hooks/option/useCanvasSetting.js @@ -316,7 +316,10 @@ export function useCanvasSetting(executeEffect = true) { /** * 기본설정(PlacementShapeSetting) 조회 및 초기화 */ - const fetchBasicSettings = async (planNo, openPoint) => { + const fetchBasicSettings = async (planNo, openPoint, objectNo) => { + // objectNo가 전달되면 사용, 아니면 Recoil state의 correntObjectNo 사용 + const targetObjectNo = objectNo || correntObjectNo + // 지붕재 데이터가 없으면 먼저 로드 let materials = roofMaterials if (!materials || materials.length === 0) { @@ -326,9 +329,9 @@ export function useCanvasSetting(executeEffect = true) { } try { - const apiUrl = `/api/canvas-management/canvas-basic-settings/by-object/${correntObjectNo}/${planNo}` + const apiUrl = `/api/canvas-management/canvas-basic-settings/by-object/${targetObjectNo}/${planNo}` logger.log('🔍 fetchBasicSettings API 호출:', apiUrl) - logger.log('🔍 correntObjectNo:', correntObjectNo, 'planNo:', planNo) + logger.log('🔍 targetObjectNo:', targetObjectNo, 'planNo:', planNo) await get({ url: apiUrl, diff --git a/src/hooks/usePlan.js b/src/hooks/usePlan.js index cdb02fef..5c4a9a38 100644 --- a/src/hooks/usePlan.js +++ b/src/hooks/usePlan.js @@ -254,7 +254,7 @@ export function usePlan(params = {}) { setPlans([newPlan]) /* 플랜 추가 시 배치면초기설정 정보 조회 */ - fetchBasicSettings(newPlan.planNo, null) + fetchBasicSettings(newPlan.planNo, null, objectNo) } else { if (isCopy) { const currentSelectedMenu = selectedMenu @@ -579,7 +579,7 @@ export function usePlan(params = {}) { setPlans((plans) => plans.map((plan) => ({ ...plan, isCurrent: plan.id === lastPlan.id }))) /* 플랜 삭제 시 그 전 플랫의 배치면초기설정 정보 조회 */ - fetchBasicSettings(lastPlan.planNo, null) + fetchBasicSettings(lastPlan.planNo, null, lastPlan.objectNo) } }