Merge pull request '[1475] 플랜복사(다중지붕 복사안됨 - 단일지붕)' (#666) from dev into dev-deploy

Reviewed-on: #666
This commit is contained in:
ysCha 2026-02-23 17:30:29 +09:00
commit 0abd847437

View File

@ -570,12 +570,44 @@ export function useCanvasSetting(executeEffect = true) {
*/
const basicSettingCopySave = async (params) => {
try {
const patternData = {
objectNo: correntObjectNo,
planNo: Number(params.planNo),
roofSizeSet: Number(params.roofSizeSet),
roofAngleSet: params.roofAngleSet,
roofMaterialsAddList: params.roofsData.map((item) => ({
// roofsData가 단일 항목인 경우, 모든 추가된 지붕재(addedRoofs)를 사용하여 다중 항목으로 확장
let roofMaterialsList = []
if (params.roofsData && params.roofsData.length === 1) {
// 단일 항목인 경우 addedRoofs의 모든 항목을 사용
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),
roofApply: item.roofApply,
roofSeq: item.roofSeq,
@ -587,7 +619,15 @@ export function useCanvasSetting(executeEffect = true) {
roofLayout: item.roofLayout,
roofPitch: item.roofPitch,
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) => {