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;