발전시뮬레이션 엑셀다운로드 개발
This commit is contained in:
parent
3a2b958335
commit
5a452adf82
@ -9,6 +9,10 @@ import com.interplug.qcast.biz.object.ObjectMapper;
|
||||
import com.interplug.qcast.biz.object.dto.ObjectResponse;
|
||||
import com.interplug.qcast.biz.object.dto.PlanRequest;
|
||||
import com.interplug.qcast.biz.object.dto.PlanResponse;
|
||||
import com.interplug.qcast.biz.pwrGnrSimulation.PwrGnrSimService;
|
||||
import com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimGuideResponse;
|
||||
import com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimRequest;
|
||||
import com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimResponse;
|
||||
import com.interplug.qcast.config.Exception.ErrorCode;
|
||||
import com.interplug.qcast.config.Exception.QcastException;
|
||||
import com.interplug.qcast.config.message.Messages;
|
||||
@ -17,6 +21,7 @@ import com.interplug.qcast.util.InterfaceQsp;
|
||||
import io.micrometer.common.util.StringUtils;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import java.awt.*;
|
||||
import java.beans.BeanInfo;
|
||||
import java.beans.Introspector;
|
||||
import java.beans.PropertyDescriptor;
|
||||
@ -25,6 +30,7 @@ import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -53,6 +59,8 @@ public class EstimateService {
|
||||
|
||||
private final FileMapper fileMapper;
|
||||
|
||||
@Autowired private PwrGnrSimService pwrGnrSimService;
|
||||
|
||||
/**
|
||||
* 1차점 price 관리 목록 조회
|
||||
*
|
||||
@ -673,6 +681,29 @@ public class EstimateService {
|
||||
String excelTemplatePath =
|
||||
excelTemplateFilePath + File.separator + "excel_download_quotation_detail_template.xlsx";
|
||||
|
||||
// 발전시뮬레이션 계산
|
||||
PwrGnrSimRequest pwrGnrSimRequest = new PwrGnrSimRequest();
|
||||
pwrGnrSimRequest.setObjectNo(estimateResponse.getObjectNo());
|
||||
pwrGnrSimRequest.setPlanNo(estimateResponse.getPlanNo());
|
||||
|
||||
PwrGnrSimResponse pwrGnrSimResponse =
|
||||
pwrGnrSimService.selectPwrGnrSimulation(pwrGnrSimRequest);
|
||||
if (pwrGnrSimResponse != null) {
|
||||
|
||||
try {
|
||||
// 발전시뮬레이션 안내사항 조회
|
||||
PwrGnrSimGuideResponse pwrGnrSimGuideInfo =
|
||||
pwrGnrSimService.selectPwrGnrSimulationGuideInfo();
|
||||
if (pwrGnrSimGuideInfo != null) {
|
||||
pwrGnrSimResponse.setGuideInfo(pwrGnrSimGuideInfo.getData());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
estimateResponse.setPwrGnrSim(pwrGnrSimResponse);
|
||||
|
||||
excelUtil.download(
|
||||
request,
|
||||
response,
|
||||
@ -680,6 +711,7 @@ public class EstimateService {
|
||||
this.convertListToMap(estimateItemList),
|
||||
excelFileName,
|
||||
excelTemplatePath);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.interplug.qcast.biz.estimate.dto;
|
||||
|
||||
import com.interplug.qcast.biz.file.dto.FileResponse;
|
||||
import com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimResponse;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
@ -233,4 +234,7 @@ public class EstimateResponse {
|
||||
|
||||
@Schema(description = "첨부파일 목록")
|
||||
List<FileResponse> fileList;
|
||||
|
||||
@Schema(description = "발전시뮬레이션 정보")
|
||||
PwrGnrSimResponse pwrGnrSim;
|
||||
}
|
||||
|
||||
@ -183,15 +183,15 @@ public class PwrGnrSimService {
|
||||
int i = 0;
|
||||
for (PwrGnrSimRoofResponse data : roofList) {
|
||||
|
||||
if (data.getAzimuth() != null) { // 경사
|
||||
if (data.getSlope() != null) { // 경사
|
||||
dKoubai[i] =
|
||||
(2 * Math.PI)
|
||||
* ((Math.atan(Double.parseDouble(data.getAzimuth()) / 10) * 180 / Math.PI) / 360);
|
||||
* ((Math.atan(Double.parseDouble(data.getSlope()) / 10) * 180 / Math.PI) / 360);
|
||||
} else { // 각도
|
||||
dKoubai[i] = (2 * Math.PI) * (Double.parseDouble(data.getAngle()) / 360);
|
||||
}
|
||||
|
||||
dHoui[i] = Math.abs((2 * Math.PI) * (Double.parseDouble(data.getSlope()) / 360));
|
||||
dHoui[i] = Math.abs((2 * Math.PI) * (Double.parseDouble(data.getAzimuth()) / 360));
|
||||
|
||||
// 지붕별 모듈정보 셋팅
|
||||
int j = 0;
|
||||
@ -1038,7 +1038,6 @@ public class PwrGnrSimService {
|
||||
double IrbyMath = 0;
|
||||
double[] IrbyTotal = new double[12];
|
||||
|
||||
System.err.println(" simulationPointNumber >>>>> " + simulationPointNumber);
|
||||
i = simulationPointNumber * 12; // Reset i
|
||||
// System.err.println( " i >>>>>>>>> " + i);
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ public class PwrGnrSimRequest {
|
||||
@Schema(description = "관측지점 번호")
|
||||
private int simulationPointNumber;
|
||||
|
||||
@Schema(description = "기울기/경사")
|
||||
@Schema(description = "경사/각도")
|
||||
private double[] koubai;
|
||||
|
||||
@Schema(description = "방위")
|
||||
|
||||
@ -60,4 +60,7 @@ public class PwrGnrSimResponse {
|
||||
|
||||
@Schema(description = "pcs list")
|
||||
private List<PwrGnrSimRoofResponse> pcsList;
|
||||
|
||||
@Schema(description = "안내문구")
|
||||
private String guideInfo;
|
||||
}
|
||||
|
||||
@ -14,12 +14,12 @@ public class PwrGnrSimRoofResponse {
|
||||
@Schema(description = "경사")
|
||||
private String slope;
|
||||
|
||||
@Schema(description = "방위각")
|
||||
private String azimuth;
|
||||
|
||||
@Schema(description = "각도")
|
||||
private String angle;
|
||||
|
||||
@Schema(description = "방위각")
|
||||
private String azimuth;
|
||||
|
||||
@Schema(description = "아이템 아이디")
|
||||
private String itemId;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user