[1157] DESING 견적 출력 시 중량표가 출력되지 않음

This commit is contained in:
cha 2025-07-09 09:22:48 +09:00
parent 0636711957
commit 5ec23f7243
5 changed files with 128 additions and 0 deletions

View File

@ -1617,6 +1617,7 @@ public class EstimateService {
// 추후 개발 (가대중량표)
if (estimateRequest.getSchDrawingFlg().indexOf("4") < 0) {
workbook.removeSheetAt(workbook.getSheetIndex("重量算"));
}
if ("EXCEL2".equals(estimateRequest.getSchDownload())) {
@ -1624,6 +1625,7 @@ public class EstimateService {
workbook.removeSheetAt(workbook.getSheetIndex("発電シミュレーション"));
workbook.removeSheetAt(workbook.getSheetIndex("割付図・系統図"));
workbook.removeSheetAt(workbook.getSheetIndex("架台図"));
workbook.removeSheetAt(workbook.getSheetIndex("重量算"));
}
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
@ -2136,6 +2138,50 @@ public class EstimateService {
elm.before(sb.toString());
}
elm = doc.getElementById("objectNo6");
elm.text(StringUtils.defaultString(data.getObjectNo()) + " (Plan No : "
+ StringUtils.defaultString(data.getPlanNo()) + ")");
elm = doc.getElementById("objectName6");
elm.text(StringUtils.defaultString(data.getObjectName()));
elm = doc.getElementById("objectNameOmit6");
elm.text(StringUtils.defaultString(data.getObjectNameOmit()));
sb = new StringBuilder();
for (ItemResponse itemResponse : list) {
String amountStr = StringUtils.defaultString(itemResponse.getAmount());
String grossWtStr = StringUtils.defaultString(itemResponse.getGrossWt());
// 문자열 체크
if (amountStr.isEmpty() || grossWtStr.isEmpty()) {
sb.append("<tr><td colspan=5></td></tr>");
} else {
BigDecimal amount = new BigDecimal(amountStr);
BigDecimal grossWt = new BigDecimal(grossWtStr);
// grossWt가 0보다 큰지 체크
if (grossWt.compareTo(BigDecimal.ZERO) > 0) {
BigDecimal totalWeight = amount.multiply(grossWt);
sb.append("<tr>");
sb.append("<td style='width:120px;text-align:left;'>")
.append(StringUtils.defaultString(itemResponse.getItemName()))
.append("</td>");
sb.append("<td style='width:120px;'>")
.append(StringUtils.defaultString(itemResponse.getItemNo()))
.append("</td>");
sb.append("<td style='width:60px;text-align:right;'>").append(amountStr).append("</td>");
sb.append("<td style='width:60px;text-align:right;'>").append(totalWeight.toString()).append("</td>");
sb.append("<td style='width:60px;text-align:right;'>").append(grossWtStr).append("</td>");
sb.append("</tr>");
}
}
}
elm = doc.getElementById("weightList_detail");
elm.before(sb.toString());
return doc;
}

View File

@ -91,4 +91,7 @@ public class ItemResponse {
@Schema(description = "unit price 아이템 오픈가 여부")
private String unitOpenFlg;
@Schema(description = "단위 중량")
public String grossWt;
}

View File

@ -286,6 +286,7 @@
, PEI.DISP_CABLE_FLG
, PEI.ITEM_TP_CD
, I.PNOW_W
, II.GROSS_WT
, CASE WHEN I.POWER_COM_FLG = '1' THEN 'PC_'
WHEN I.ITEM_GROUP = 'PC_' AND I.POWER_COM_FLG = '0' THEN 'STORAGE_BATTERY'
ELSE I.ITEM_GROUP END AS ITEM_GROUP
@ -297,6 +298,8 @@
AND PE.DISP_ORDER = PEI.DISP_ORDER
INNER JOIN M_ITEM I WITH (NOLOCK)
ON PE.ITEM_ID = I.ITEM_ID
INNER JOIN M_ITEM_INFO II WITH (NOLOCK)
ON PE.ITEM_ID = II.ITEM_ID
WHERE PE.OBJECT_NO = #{objectNo}
AND PE.PLAN_NO = #{planNo}
<if test='schBomNotExist != null and schBomNotExist == "1"'>

View File

@ -345,6 +345,8 @@
padding: 30px 0;
border: 1px solid #000;
}
</style>
</head>
<body>
@ -822,6 +824,80 @@
</tbody>
</table>
</div>
<div class="section6">
<!-- <h1 class="title">重量算出シート</h1>-->
<div class="all-price-wrap">
<div class="all-price">
<span>重量算出シート</span>
</div>
</div>
<!-- 프로젝트 정보 -->
<table class="mb20">
<tbody>
<tr>
<th class="col-15">物件番号:</th>
<td class="al-l" ><span id="objectNo6"></span></td>
</tr>
<tr>
<th class="col-15">案件名:</th>
<td class="al-l">
<span id="objectName6"></span>
<span id="objectNameOmit6"></span>
</td>
</tr>
</tbody>
</table>
<!-- 시스템 중량 정보 -->
<div style="text-align: center; font-size: 12px;">
<span>システム重量合計</span>
</div>
<div style="text-align: center; font-size: 10px; color: #666; margin-bottom: 20px;">
※システム重量は製品公差により変わる可能性があります。
</div>
<!-- 중량 테이블 -->
<table class="price-table mb20">
<thead>
<tr>
<th style="width: 35%;">品 名</th>
<th style="width: 20%;">型 番</th>
<th style="width: 10%;">数 量</th>
<th style="width: 15%;">重量kg</th>
<th style="width: 20%;">単位重量kg</th>
</tr>
</thead>
<tbody>
<tr id="weightList_detail">
</tr>
</tbody>
</table>
<!-- 비고 섹션 -->
<table class="note mb20">
<thead>
<tr>
<th class="al-l">架台重量表備考</th>
</tr>
</thead>
<tbody>
<tr>
<td class="al-l">
<div>・製品重量は、実測を元に作成していますが、</div>
<div> 製品公差により変わる場合があります。予めご了承ください。</div>
<div>・ケーブルの重量は、見積書に記載されたのケーブルセット数の総重量を表示しています。</div>
<div>・コーキングの重量は、見積書に記載されたコーキング数の総重量を表示しています。</div>
<div>・予告なく変更する場合があります。予めご了承ください。</div>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>