Merge pull request 'dev' (#709) from dev into prd-deploy
Reviewed-on: #709
This commit is contained in:
commit
431b7216c5
@ -128,10 +128,10 @@ export default function CanvasFrame() {
|
|||||||
if (currentCanvasPlan.planNo) {
|
if (currentCanvasPlan.planNo) {
|
||||||
/* 약간의 지연을 줘서 roofMaterials가 로드될 시간을 확보 */
|
/* 약간의 지연을 줘서 roofMaterials가 로드될 시간을 확보 */
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// 메뉴 이동 시 canvasSetting이 덮어쓰이는 것을 방지
|
// 플랜이 변경되었거나 아직 roofSizeSet이 없는 경우에만 fetch
|
||||||
// 이미 canvasSetting에 roofSizeSet이 있으면 API 호출 건너뛰기
|
const isPlanChanged = canvasSetting?.planNo !== undefined && Number(canvasSetting.planNo) !== Number(currentCanvasPlan.planNo)
|
||||||
if (!canvasSetting?.roofSizeSet) {
|
if (!canvasSetting?.roofSizeSet || isPlanChanged) {
|
||||||
fetchBasicSettings(Number(currentCanvasPlan.planNo), null)
|
fetchBasicSettings(Number(currentCanvasPlan.planNo), null, currentCanvasPlan.objectNo)
|
||||||
}
|
}
|
||||||
}, 100)
|
}, 100)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -316,7 +316,10 @@ export function useCanvasSetting(executeEffect = true) {
|
|||||||
/**
|
/**
|
||||||
* 기본설정(PlacementShapeSetting) 조회 및 초기화
|
* 기본설정(PlacementShapeSetting) 조회 및 초기화
|
||||||
*/
|
*/
|
||||||
const fetchBasicSettings = async (planNo, openPoint) => {
|
const fetchBasicSettings = async (planNo, openPoint, objectNo) => {
|
||||||
|
// objectNo가 전달되면 사용, 아니면 Recoil state의 correntObjectNo 사용
|
||||||
|
const targetObjectNo = objectNo || correntObjectNo
|
||||||
|
|
||||||
// 지붕재 데이터가 없으면 먼저 로드
|
// 지붕재 데이터가 없으면 먼저 로드
|
||||||
let materials = roofMaterials
|
let materials = roofMaterials
|
||||||
if (!materials || materials.length === 0) {
|
if (!materials || materials.length === 0) {
|
||||||
@ -326,9 +329,9 @@ export function useCanvasSetting(executeEffect = true) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
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('🔍 fetchBasicSettings API 호출:', apiUrl)
|
||||||
logger.log('🔍 correntObjectNo:', correntObjectNo, 'planNo:', planNo)
|
logger.log('🔍 targetObjectNo:', targetObjectNo, 'planNo:', planNo)
|
||||||
|
|
||||||
await get({
|
await get({
|
||||||
url: apiUrl,
|
url: apiUrl,
|
||||||
@ -454,7 +457,9 @@ export function useCanvasSetting(executeEffect = true) {
|
|||||||
if (openPoint !== 'basicSettingSave') {
|
if (openPoint !== 'basicSettingSave') {
|
||||||
// canvasSetting은 현재 값을 유지하고 basicSetting만 업데이트
|
// canvasSetting은 현재 값을 유지하고 basicSetting만 업데이트
|
||||||
// 새로고침 시 canvasSetting이 바뀌는 문제 방지
|
// 새로고침 시 canvasSetting이 바뀌는 문제 방지
|
||||||
if (!canvasSetting?.roofSizeSet) {
|
// 단, 플랜이 변경된 경우에는 항상 업데이트
|
||||||
|
const isPlanChanged = canvasSetting?.planNo !== undefined && Number(canvasSetting.planNo) !== Number(roofsRow[0].planNo)
|
||||||
|
if (!canvasSetting?.roofSizeSet || isPlanChanged) {
|
||||||
setCanvasSetting({
|
setCanvasSetting({
|
||||||
...basicSetting,
|
...basicSetting,
|
||||||
roofMaterials: addRoofs[0],
|
roofMaterials: addRoofs[0],
|
||||||
@ -507,16 +512,16 @@ export function useCanvasSetting(executeEffect = true) {
|
|||||||
roofMatlCd:
|
roofMatlCd:
|
||||||
params.roofsData.roofMatlCd === null || params.roofsData.roofMatlCd === undefined ? 'ROOF_ID_WA_53A' : params.roofsData.roofMatlCd,
|
params.roofsData.roofMatlCd === null || params.roofsData.roofMatlCd === undefined ? 'ROOF_ID_WA_53A' : params.roofsData.roofMatlCd,
|
||||||
roofWidth:
|
roofWidth:
|
||||||
params.selectedRoofMaterial.width === null || params.selectedRoofMaterial.width === undefined
|
params.roofsData.roofWidth === null || params.roofsData.roofWidth === undefined
|
||||||
? !params.selectedRoofMaterial.widBase
|
? params.selectedRoofMaterial.widBase
|
||||||
? 0
|
? Number(params.selectedRoofMaterial.widBase)
|
||||||
: Number(params.roofsData.widBase)
|
: 0
|
||||||
: Number(params.selectedRoofMaterial.width),
|
: Number(params.roofsData.roofWidth),
|
||||||
roofHeight:
|
roofHeight:
|
||||||
params.selectedRoofMaterial.height === null || params.selectedRoofMaterial.height === undefined
|
params.roofsData.roofHeight === null || params.roofsData.roofHeight === undefined
|
||||||
? !params.selectedRoofMaterial.lenBase
|
? params.selectedRoofMaterial.lenBase
|
||||||
? 0
|
? Number(params.selectedRoofMaterial.lenBase)
|
||||||
: Number(params.selectedRoofMaterial.lenBase)
|
: 0
|
||||||
: Number(params.roofsData.roofHeight),
|
: Number(params.roofsData.roofHeight),
|
||||||
roofHajebichi:
|
roofHajebichi:
|
||||||
params.selectedRoofMaterial.hajebichi === null || params.selectedRoofMaterial.hajebichi === undefined
|
params.selectedRoofMaterial.hajebichi === null || params.selectedRoofMaterial.hajebichi === undefined
|
||||||
|
|||||||
@ -254,7 +254,7 @@ export function usePlan(params = {}) {
|
|||||||
setPlans([newPlan])
|
setPlans([newPlan])
|
||||||
|
|
||||||
/* 플랜 추가 시 배치면초기설정 정보 조회 */
|
/* 플랜 추가 시 배치면초기설정 정보 조회 */
|
||||||
fetchBasicSettings(newPlan.planNo, null)
|
fetchBasicSettings(newPlan.planNo, null, objectNo)
|
||||||
} else {
|
} else {
|
||||||
if (isCopy) {
|
if (isCopy) {
|
||||||
const currentSelectedMenu = selectedMenu
|
const currentSelectedMenu = selectedMenu
|
||||||
@ -579,7 +579,7 @@ export function usePlan(params = {}) {
|
|||||||
setPlans((plans) => plans.map((plan) => ({ ...plan, isCurrent: plan.id === lastPlan.id })))
|
setPlans((plans) => plans.map((plan) => ({ ...plan, isCurrent: plan.id === lastPlan.id })))
|
||||||
|
|
||||||
/* 플랜 삭제 시 그 전 플랫의 배치면초기설정 정보 조회 */
|
/* 플랜 삭제 시 그 전 플랫의 배치면초기설정 정보 조회 */
|
||||||
fetchBasicSettings(lastPlan.planNo, null)
|
fetchBasicSettings(lastPlan.planNo, null, lastPlan.objectNo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user