From 73e22af72b13a2aa233aa106c647f6834a57025b Mon Sep 17 00:00:00 2001 From: ysCha Date: Wed, 10 Dec 2025 09:35:40 +0900 Subject: [PATCH] =?UTF-8?q?=ED=98=BC=ED=95=A8=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pwrGnrSimulation/PwrGnrSimService.java | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 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 81449b44..3c1a1cca 100644 --- a/src/main/java/com/interplug/qcast/biz/pwrGnrSimulation/PwrGnrSimService.java +++ b/src/main/java/com/interplug/qcast/biz/pwrGnrSimulation/PwrGnrSimService.java @@ -254,15 +254,22 @@ public class PwrGnrSimService { dKoubai[i] = (2 * Math.PI) * (Double.parseDouble(data.getSlopeAngle()) / 360); } - dHoui[i] = Math.abs((2 * Math.PI) * (Double.parseDouble(data.getAzimuth()) / 360)); - + // dHoui[i] = Math.abs((2 * Math.PI) * (Double.parseDouble(data.getAzimuth()) / 360)); + dHoui[i] = (2 * Math.PI) * (Double.parseDouble(data.getAzimuth()) / 360); // 지붕별 모듈정보 셋팅 int j = 0; for (PwrGnrSimRoofResponse m : moduleGroupList) { if (data.getRoofSurfaceId().equals(m.getRoofSurfaceId())) { dSpecification += m.getTotSpecification(); if (j == 0) { - dModuleInput1[i] = Integer.parseInt(m.getAmount()); + if(pwrGnrSimReq.getModule1().equals(m.getItemId())){ + dModuleInput1[i] = Integer.parseInt(m.getAmount()); + }else if(pwrGnrSimReq.getModule2().equals(m.getItemId())){ + dModuleInput2[i] = Integer.parseInt(m.getAmount()); + }else if(pwrGnrSimReq.getModule3().equals(m.getItemId())){ + dModuleInput3[i] = Integer.parseInt(m.getAmount()); + } + } else if (j == 1) { dModuleInput2[i] = Integer.parseInt(m.getAmount()); } else { @@ -409,7 +416,7 @@ public class PwrGnrSimService { // PCS1, pcs2, pcs3 선택 정보 double pcs1_henkankouritsu = pwrGnrSimReq.getPcsCnvEff1() / 100; // 변환 효율 double pcs1_youryou = pwrGnrSimReq.getPcsSpecification1(); // 용량 (예시 4.4) - double pcs2_henkankouritsu = pwrGnrSimReq.getPcsCnvEff2() / 100; + double pcs2_henkankouritsu = (pwrGnrSimReq.getPcsCnvEff2() / 100); double pcs2_youryou = pwrGnrSimReq.getPcsSpecification2(); double pcs3_henkankouritsu = pwrGnrSimReq.getPcsCnvEff3() / 100; double pcs3_youryou = pwrGnrSimReq.getPcsSpecification3(); @@ -425,12 +432,12 @@ public class PwrGnrSimService { // pcs1과 pcs2, pcs3의 실효 변환 효율 중 낮은 값을 사용 double[] values = {pcs1_henkankouritsu, pcs2_henkankouritsu, pcs3_henkankouritsu}; - double pcs_henkankouritsu = - Arrays.stream(values) - .filter(value -> value > 0.0) // 0.0 제외 - .min() - .orElse(0.0); // 모두 0.0인 경우 기본값 반환 - +// double pcs_henkankouritsu = +// Arrays.stream(values) +// .filter(value -> value > 0.0) // 0.0 제외 +// .min() +// .orElse(0.0); // 모두 0.0인 경우 기본값 반환 + double pcs_henkankouritsu = Math.min(pcs1_henkankouritsu,pcs2_henkankouritsu); // pcs 총 용량 계산 double pcs_youryou_total = (pcs1_youryou * pcs1_number) + (pcs2_youryou * pcs2_number)