Merge pull request '[이정표] 견적서 PDF 2차점 가격 숨김 처리' (#325) from feature/dev-jp-001 into dev

Reviewed-on: #325
This commit is contained in:
jungpyo2001 2026-01-14 16:10:20 +09:00
commit 8ef500eb7d

View File

@ -1335,8 +1335,18 @@ public class EstimateService {
} }
try { try {
// 견적서 상세 조회 // 견적서 상세 조회
estimateResponse = estimateMapper.selectEstimatePdfDetail(estimateRequest); estimateResponse = estimateMapper.selectEstimatePdfDetail(estimateRequest);
// 1차점이 2차점 견적서를 만들어 경우 - 2차점 사용자가 다운받을 무조건 정가로만 표시
String userId = estimateRequest.getUserId();
String storeLvl = estimateRequest.getStoreLvl();
if (storeLvl != null && !storeLvl.equals("1")) {
if (!Objects.equals(estimateResponse.getCreateSaleStoreId(), userId)) {
estimateRequest.setSchUnitPriceFlg("1");
}
}
// file Name 명이 없는경우 // file Name 명이 없는경우
if (estimateRequest.getFileName() == null || "".equals(estimateRequest.getFileName())) { if (estimateRequest.getFileName() == null || "".equals(estimateRequest.getFileName())) {
@ -1662,26 +1672,14 @@ public class EstimateService {
String[] arrSection = new String[6]; String[] arrSection = new String[6];
int iSection = 0; int iSection = 0;
String templateFilePath = "pdf_download_quotation_detail_template.html"; String templateFilePath = "pdf_download_quotation_detail_template.html";
String userId = estimateRequest.getUserId();
String storeLvl = estimateRequest.getStoreLvl();
String createStoreId = estimateRequest.getCreateStoreId();
String hiddenYn = "N";
if(storeLvl != null && !storeLvl.equals("1")){
if(!Objects.equals(estimateResponse.getCreateSaleStoreId(), userId)) {
hiddenYn = "Y";
//templateFilePath = "pdf_download_quotation_detail_template2.html";
}
}
// 템플릿 html 조회 // 템플릿 html 조회
Document doc = PdfUtil.getPdfDoc(request, templateFilePath); Document doc = PdfUtil.getPdfDoc(request, templateFilePath);
// 견적서 상세 pdf Html 생성 // 견적서 상세 pdf Html 생성
doc = this.estimatePdfHtml(doc, estimateResponse, estimateItemList, hiddenYn); doc = this.estimatePdfHtml(doc, estimateResponse, estimateItemList);
// 발전시뮬레이션 pdf Html 생성 // 발전시뮬레이션 pdf Html 생성
doc = pwrGnrSimService.pwrGnrSimPdfHtml(doc, pwrGnrSimResponse); doc = pwrGnrSimService.pwrGnrSimPdfHtml(doc, pwrGnrSimResponse);
@ -1723,16 +1721,6 @@ public class EstimateService {
String excelTemplateNam = "excel_download_quotation_detail_template.xlsx"; String excelTemplateNam = "excel_download_quotation_detail_template.xlsx";
String userId = estimateRequest.getUserId();
String storeLvl = estimateRequest.getStoreLvl();
String createStoreId = estimateRequest.getCreateStoreId();
if(storeLvl != null && !storeLvl.equals("1")){
if(!Objects.equals(estimateResponse.getCreateSaleStoreId(), userId))
excelTemplateNam = "excel_download_quotation_detail_template2.xlsx";
}
// itemGroup이 "STAND_" 아닌 항목들만 필터링하여 새로운 리스트 생성 // itemGroup이 "STAND_" 아닌 항목들만 필터링하여 새로운 리스트 생성
List<ItemResponse> estimateItemList15 = estimateItemList.stream() List<ItemResponse> estimateItemList15 = estimateItemList.stream()
.filter(item -> !"STAND_".equals(item.getItemGroup())) .filter(item -> !"STAND_".equals(item.getItemGroup()))
@ -2075,7 +2063,7 @@ public class EstimateService {
* @throws IOException * @throws IOException
* @throws QcastException * @throws QcastException
*/ */
public Document estimatePdfHtml(Document doc, EstimateResponse data, List<ItemResponse> list, String hiddenYn) public Document estimatePdfHtml(Document doc, EstimateResponse data, List<ItemResponse> list)
throws IOException, QcastException { throws IOException, QcastException {
Element elm; Element elm;
@ -2128,10 +2116,8 @@ public class EstimateService {
elm = doc.getElementById("totVolKw1"); elm = doc.getElementById("totVolKw1");
elm.text(StringUtils.defaultString(data.getTotVolKw())); elm.text(StringUtils.defaultString(data.getTotVolKw()));
if (!"Y".equals(hiddenYn)) { elm = doc.getElementById("totPrice");
elm = doc.getElementById("totPrice"); elm.text(StringUtils.defaultString(data.getTotPrice()));
elm.text(StringUtils.defaultString(data.getTotPrice()));
}
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
for (ItemResponse itemResponse : list) { for (ItemResponse itemResponse : list) {
@ -2144,14 +2130,14 @@ public class EstimateService {
+ "</td>"); + "</td>");
sb.append( sb.append(
"<td class='hide-column' style='width:80px;text-align:right;'>" "<td class='hide-column' style='width:80px;text-align:right;'>"
+ ((!"Y".equals(hiddenYn)) ? StringUtils.defaultString(itemResponse.getSalePrice()) : "") + StringUtils.defaultString(itemResponse.getSalePrice())
+ "</td>"); + "</td>");
sb.append("<td style='width:60px;text-align:right;'>" sb.append("<td style='width:60px;text-align:right;'>"
+ StringUtils.defaultString(itemResponse.getAmount()) + "</td>"); + StringUtils.defaultString(itemResponse.getAmount()) + "</td>");
sb.append( sb.append(
"<td style='width:60px;'>" + StringUtils.defaultString(itemResponse.getUnit()) + "</td>"); "<td style='width:60px;'>" + StringUtils.defaultString(itemResponse.getUnit()) + "</td>");
sb.append("<td class='hide-column' style='width:80px;text-align:right;'>" sb.append("<td class='hide-column' style='width:80px;text-align:right;'>"
+ ((!"Y".equals(hiddenYn)) ? StringUtils.defaultString(itemResponse.getSaleTotPrice()) : "") + "</td>"); + StringUtils.defaultString(itemResponse.getSaleTotPrice()) + "</td>");
sb.append("</tr>"); sb.append("</tr>");
} }
if ("Y".equals(data.getPkgYn())) { if ("Y".equals(data.getPkgYn())) {
@ -2165,22 +2151,20 @@ public class EstimateService {
+ StringUtils.defaultString(data.getTotVol()) + "</td>"); + StringUtils.defaultString(data.getTotVol()) + "</td>");
sb.append("<td style='width:60px;'>W</td>"); sb.append("<td style='width:60px;'>W</td>");
sb.append("<td style='width:80px;text-align:right;'>" sb.append("<td style='width:80px;text-align:right;'>"
+ ((!"Y".equals(hiddenYn)) ? StringUtils.defaultString(data.getPkgTotPrice()) : "") + "</td>"); + StringUtils.defaultString(data.getPkgTotPrice()) + "</td>");
sb.append("</tr>"); sb.append("</tr>");
} }
elm = doc.getElementById("itemList_detail"); elm = doc.getElementById("itemList_detail");
elm.before(sb.toString()); elm.before(sb.toString());
elm = doc.getElementById("supplyPrice");
elm.text(StringUtils.defaultString(data.getSupplyPrice()));
if (!"Y".equals(hiddenYn)) { elm = doc.getElementById("vatPrice");
elm = doc.getElementById("supplyPrice"); elm.text(StringUtils.defaultString(data.getVatPrice()));
elm.text(StringUtils.defaultString(data.getSupplyPrice()));
elm = doc.getElementById("totPrice1");
elm = doc.getElementById("vatPrice"); elm.text(StringUtils.defaultString(data.getTotPrice()));
elm.text(StringUtils.defaultString(data.getVatPrice()));
elm = doc.getElementById("totPrice1");
elm.text(StringUtils.defaultString(data.getTotPrice()));
}
if (!StringUtils.isEmpty(data.getRemarks())) { if (!StringUtils.isEmpty(data.getRemarks())) {
elm = doc.getElementById("remarks"); elm = doc.getElementById("remarks");