diff --git a/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx b/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx index b3c38c8e..73e52848 100644 --- a/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx @@ -160,6 +160,25 @@ export default function PassivityCircuitAllocation(props) { return } + // [INDFCS-SAME-ROOF 2026-05-06] 실내집중형 PCS 수동 회로분할 시 + // 동일 PCS 의 같은 직렬회로 안에서 다른 방위 또는 다른 구배의 지붕면 모듈이 섞이지 않도록 차단. + // (HANASYS 보고: INDFCS + 수동 분할에서만 다방위/다구배 직렬회로 구성 가능했던 버그) + // 검증 대상 = 이번에 선택한 모듈 + 같은 PCS 에 이미 묶인 기존 모듈 (북면 검사와 동일한 누적 패턴) + const indfcsCombinedSurfaceTypes = new Set( + targetModuleInfos.concat(originHaveThisPcsModules).map((obj) => { + const surface = canvas.getObjects().find((s) => s.id === obj.surfaceId) + return surface ? `${surface.direction}-${surface.roofMaterial.pitch}` : '' + }), + ) + if (indfcsCombinedSurfaceTypes.size > 1) { + swalFire({ + text: getMessage('module.circuit.fix.not.same.direction.pitch.error'), + type: 'alert', + icon: 'warning', + }) + return + } + break } case 'OUTDMULTI': { diff --git a/src/locales/ja.json b/src/locales/ja.json index 96f34735..dee07342 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -1102,6 +1102,7 @@ "module.circuit.minimun.error": "回路番号は1以上の数値を入力してください。", "module.already.exist.error": "回路番号が同じで異なるパワーコンディショナのモジュールがあります。 別の回路番号を設定してください。", "module.circuit.fix.not.same.roof.error": "異なる屋根面のモジュールが選択されています。 モジュールの選択をや直してください。", + "module.circuit.fix.not.same.direction.pitch.error": "異なる方位または異なる勾配の屋根面に設置されたモジュールは、同一の直列回路として構成できません。", "module.circuit.indoor.focused.error": "混合モジュールと屋内集中PCSを組み合わせる場合は、手動回路割り当てのみ対応可能です。", "construction.length.difference": "屋根面工法をすべて選択してください。", "menu.validation.canvas.roof": "パネルを配置するには、屋根面を入力する必要があります。", diff --git a/src/locales/ko.json b/src/locales/ko.json index f9b48bb4..79f691ad 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -1102,6 +1102,7 @@ "module.circuit.minimun.error": "회로번호는 1 이상입력해주세요.", "module.already.exist.error": "회로번호가 같은 다른 파워 컨디셔너 모듈이 있습니다. 다른 회로번호를 설정하십시오.", "module.circuit.fix.not.same.roof.error": "다른 지붕면의 모듈이 선택되어 있습니다. 모듈 선택을 다시 하세요.", + "module.circuit.fix.not.same.direction.pitch.error": "다른 방위 또는 다른 구배의 지붕면에 설치된 모듈은 동일한 직렬회로로 구성할 수 없습니다.", "module.circuit.indoor.focused.error": "혼합 모듈과 실내 집중형 PCS를 조합하는 경우, 수동 회로 할당만 가능합니다.", "construction.length.difference": "지붕면 공법을 모두 선택하십시오.", "menu.validation.canvas.roof": "패널을 배치하려면 지붕면을 입력해야 합니다.",