From 3b090f7e2b9a28edc2a4a4867f51348f8c336427 Mon Sep 17 00:00:00 2001 From: ysCha Date: Mon, 9 Mar 2026 13:32:32 +0900 Subject: [PATCH] =?UTF-8?q?[1516]=20=EB=B0=9C=EC=A0=84=EB=9F=89=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=EC=A4=91=EB=B3=B5=EB=AA=A8=EB=93=88?= =?UTF-8?q?=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pwrGnrSimulation/PwrGnrSimService.java | 57 ++++++++++--------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/interplug/qcast/biz/pwrGnrSimulation/PwrGnrSimService.java b/src/main/java/com/interplug/qcast/biz/pwrGnrSimulation/PwrGnrSimService.java index c36b2b15..54ff3bef 100644 --- a/src/main/java/com/interplug/qcast/biz/pwrGnrSimulation/PwrGnrSimService.java +++ b/src/main/java/com/interplug/qcast/biz/pwrGnrSimulation/PwrGnrSimService.java @@ -210,33 +210,38 @@ public class PwrGnrSimService { } k++; } - // module 정보 - k = 0; - for (PwrGnrSimRoofResponse m : moduleGroupList) { - if (k == 0) { - pwrGnrSimReq.setModule1(m.getItemId()); - pwrGnrSimReq.setModuleAmp1(m.getAmp()); - pwrGnrSimReq.setModuleSpecification1(m.getSpecification()); - pwrGnrSimReq.setModuleTempCoeff1(m.getTempCoeff()); - pwrGnrSimReq.setModuleTempLoss1(m.getTempLoss()); - pwrGnrSimReq.setNorthModuleYn1(m.getNorthModuleYn()); //모듈 북면지원여부 - } else if (k == 1) { - pwrGnrSimReq.setModule2(m.getItemId()); - pwrGnrSimReq.setModuleAmp2(m.getAmp()); - pwrGnrSimReq.setModuleSpecification2(m.getSpecification()); - pwrGnrSimReq.setModuleTempCoeff2(m.getTempCoeff()); - pwrGnrSimReq.setModuleTempLoss2(m.getTempLoss()); - pwrGnrSimReq.setNorthModuleYn2(m.getNorthModuleYn()); //모듈 북면지원여부 - } else { - pwrGnrSimReq.setModule3(m.getItemId()); - pwrGnrSimReq.setModuleAmp3(m.getAmp()); - pwrGnrSimReq.setModuleSpecification3(m.getSpecification()); - pwrGnrSimReq.setModuleTempCoeff3(m.getTempCoeff()); - pwrGnrSimReq.setModuleTempLoss3(m.getTempLoss()); - pwrGnrSimReq.setNorthModuleYn3(m.getNorthModuleYn()); //모듈 북면지원여부 + // module 정보 - 중복 모듈 제거 + k = 0; + Set usedModules = new HashSet<>(); + for (PwrGnrSimRoofResponse m : moduleGroupList) { + if (!usedModules.contains(m.getItemId())) { + usedModules.add(m.getItemId()); + if (k == 0) { + pwrGnrSimReq.setModule1(m.getItemId()); + pwrGnrSimReq.setModuleAmp1(m.getAmp()); + pwrGnrSimReq.setModuleSpecification1(m.getSpecification()); + pwrGnrSimReq.setModuleTempCoeff1(m.getTempCoeff()); + pwrGnrSimReq.setModuleTempLoss1(m.getTempLoss()); + pwrGnrSimReq.setNorthModuleYn1(m.getNorthModuleYn()); //모듈 북면지원여부 + } else if (k == 1) { + pwrGnrSimReq.setModule2(m.getItemId()); + pwrGnrSimReq.setModuleAmp2(m.getAmp()); + pwrGnrSimReq.setModuleSpecification2(m.getSpecification()); + pwrGnrSimReq.setModuleTempCoeff2(m.getTempCoeff()); + pwrGnrSimReq.setModuleTempLoss2(m.getTempLoss()); + pwrGnrSimReq.setNorthModuleYn2(m.getNorthModuleYn()); //모듈 북면지원여부 + } else if (k == 2) { + pwrGnrSimReq.setModule3(m.getItemId()); + pwrGnrSimReq.setModuleAmp3(m.getAmp()); + pwrGnrSimReq.setModuleSpecification3(m.getSpecification()); + pwrGnrSimReq.setModuleTempCoeff3(m.getTempCoeff()); + pwrGnrSimReq.setModuleTempLoss3(m.getTempLoss()); + pwrGnrSimReq.setNorthModuleYn3(m.getNorthModuleYn()); //모듈 북면지원여부 + } + k++; + if (k >= 3) break; // 최대 3개 모듈만 설정 + } } - k++; - } // 전체 시스템 용량 double dSpecification = 0.0;