Compare commits

..

2 Commits

View File

@ -570,12 +570,44 @@ export function useCanvasSetting(executeEffect = true) {
*/ */
const basicSettingCopySave = async (params) => { const basicSettingCopySave = async (params) => {
try { try {
const patternData = { // roofsData가 단일 항목인 경우, 모든 추가된 지붕재(addedRoofs)를 사용하여 다중 항목으로 확장
objectNo: correntObjectNo, let roofMaterialsList = []
planNo: Number(params.planNo),
roofSizeSet: Number(params.roofSizeSet), if (params.roofsData && params.roofsData.length === 1) {
roofAngleSet: params.roofAngleSet, // 단일 항목인 경우 addedRoofs의 모든 항목을 사용
roofMaterialsAddList: params.roofsData.map((item) => ({ if (addedRoofs && addedRoofs.length > 0) {
roofMaterialsList = addedRoofs.map((roof, index) => ({
planNo: Number(params.planNo),
roofApply: roof.selected || index === 0, // 첫 번째 또는 선택된 항목
roofSeq: index,
roofMatlCd: roof.roofMatlCd,
roofWidth: roof.width || roof.roofWidth,
roofHeight: roof.length || roof.roofHeight,
roofHajebichi: roof.hajebichi || 0,
roofGap: roof.raft || roof.roofGap,
roofLayout: roof.layout || 'P',
roofPitch: roof.pitch || 0,
roofAngle: roof.angle || 0,
}))
} else {
// addedRoofs가 비어있을 경우 원래 단일 항목 사용
roofMaterialsList = params.roofsData.map((item) => ({
planNo: Number(item.planNo),
roofApply: item.roofApply,
roofSeq: item.roofSeq,
roofMatlCd: item.roofMatlCd,
roofWidth: item.roofWidth,
roofHeight: item.roofHeight,
roofHajebichi: item.roofHajebichi,
roofGap: item.roofGap,
roofLayout: item.roofLayout,
roofPitch: item.roofPitch,
roofAngle: item.roofAngle,
}))
}
} else {
// 다중 항목인 경우 기존 방식 사용
roofMaterialsList = params.roofsData.map((item) => ({
planNo: Number(item.planNo), planNo: Number(item.planNo),
roofApply: item.roofApply, roofApply: item.roofApply,
roofSeq: item.roofSeq, roofSeq: item.roofSeq,
@ -587,7 +619,15 @@ export function useCanvasSetting(executeEffect = true) {
roofLayout: item.roofLayout, roofLayout: item.roofLayout,
roofPitch: item.roofPitch, roofPitch: item.roofPitch,
roofAngle: item.roofAngle, roofAngle: item.roofAngle,
})), }))
}
const patternData = {
objectNo: correntObjectNo,
planNo: Number(params.planNo),
roofSizeSet: Number(params.roofSizeSet),
roofAngleSet: params.roofAngleSet,
roofMaterialsAddList: roofMaterialsList,
} }
await post({ url: `/api/canvas-management/canvas-basic-settings`, data: patternData }).then((res) => { await post({ url: `/api/canvas-management/canvas-basic-settings`, data: patternData }).then((res) => {