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..f3829942 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 { @@ -408,10 +415,19 @@ public class PwrGnrSimService { // PCS1, pcs2, pcs3 선택 정보 double pcs1_henkankouritsu = pwrGnrSimReq.getPcsCnvEff1() / 100; // 변환 효율 + if(pcs1_henkankouritsu == 0){ + pcs1_henkankouritsu = 1; + } double pcs1_youryou = pwrGnrSimReq.getPcsSpecification1(); // 용량 (예시 4.4) - double pcs2_henkankouritsu = pwrGnrSimReq.getPcsCnvEff2() / 100; + double pcs2_henkankouritsu = (pwrGnrSimReq.getPcsCnvEff2() / 100); + if(pcs2_henkankouritsu == 0){ + pcs2_henkankouritsu = 1; + } double pcs2_youryou = pwrGnrSimReq.getPcsSpecification2(); double pcs3_henkankouritsu = pwrGnrSimReq.getPcsCnvEff3() / 100; + if(pcs3_henkankouritsu == 0){ + pcs3_henkankouritsu = 1; + } double pcs3_youryou = pwrGnrSimReq.getPcsSpecification3(); double pcs_amp1 = pwrGnrSimReq.getPcsAmp1(); @@ -425,12 +441,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) diff --git a/src/main/resources/mappers/estimate/estimateMapper.xml b/src/main/resources/mappers/estimate/estimateMapper.xml index 1551f5bc..fa04ea1c 100644 --- a/src/main/resources/mappers/estimate/estimateMapper.xml +++ b/src/main/resources/mappers/estimate/estimateMapper.xml @@ -133,6 +133,7 @@ LEFT OUTER JOIN T_SIMULATION_AREA MPA WITH (NOLOCK) ON O.PREF_ID = MPA.PREF_ID AND OI.AREA_ID = MPA.AREA_ID + AND MPA.DEL_FLG = 0 LEFT OUTER JOIN M_COMM_L C1 WITH (NOLOCK) ON C1.HEAD_CD = '202000' AND P.STANDARD_WIND_SPEED_ID = C1.CODE diff --git a/src/main/resources/mappers/object/objectMapper.xml b/src/main/resources/mappers/object/objectMapper.xml index 5ebd8bf3..d988f82b 100644 --- a/src/main/resources/mappers/object/objectMapper.xml +++ b/src/main/resources/mappers/object/objectMapper.xml @@ -18,7 +18,7 @@ , A.PREF_ID , A.AREA_NAME AS PREF_NAME FROM T_SIMULATION_AREA A WITH (NOLOCK) - WHERE A.PREF_ID = #{prefId} + WHERE A.PREF_ID = #{prefId} AND A.DEL_FLG = 0 ORDER BY A.AREA_ID ASC @@ -394,9 +394,11 @@ ON O.PREF_ID = P.PREF_ID LEFT OUTER JOIN T_SIMULATION_AREA PA ON OI.AREA_ID = PA.AREA_ID + AND PA.DEL_FLG = 0 WHERE O.OBJECT_NO = #{objectNo} AND OI.SOURCE_ORIGIN = 'QCAST_III' AND (OI.ORG_DEL_FLG = '0' OR (OI.TEMP_FLG = '1' AND OI.TEMP_DEL_FLG = '0')) +