Compare commits
7 Commits
5fd6184f42
...
742ef88874
| Author | SHA1 | Date | |
|---|---|---|---|
| 742ef88874 | |||
| 393b5ace87 | |||
| 52d375c4b9 | |||
| 5599addfd3 | |||
| 4e023e7f9b | |||
| c76292e22e | |||
| 3ddc61b5f3 |
@ -9,6 +9,8 @@ import java.math.BigDecimal;
|
|||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.net.URLConnection;
|
import java.net.URLConnection;
|
||||||
|
import java.net.URLDecoder;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -16,6 +18,7 @@ import java.util.stream.Collectors;
|
|||||||
import com.interplug.qcast.biz.canvaspopupstatus.CanvasPopupStatusService;
|
import com.interplug.qcast.biz.canvaspopupstatus.CanvasPopupStatusService;
|
||||||
import com.interplug.qcast.biz.canvaspopupstatus.dto.CanvasPopupStatus;
|
import com.interplug.qcast.biz.canvaspopupstatus.dto.CanvasPopupStatus;
|
||||||
import com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimRoofResponse;
|
import com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimRoofResponse;
|
||||||
|
import org.apache.commons.lang3.StringEscapeUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
import org.apache.poi.ss.usermodel.WorkbookFactory;
|
import org.apache.poi.ss.usermodel.WorkbookFactory;
|
||||||
@ -26,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.http.HttpMethod;
|
import org.springframework.http.HttpMethod;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.web.util.HtmlUtils;
|
||||||
import org.springframework.web.util.UriComponentsBuilder;
|
import org.springframework.web.util.UriComponentsBuilder;
|
||||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
import com.interplug.qcast.biz.canvasStatus.CanvasStatusService;
|
import com.interplug.qcast.biz.canvasStatus.CanvasStatusService;
|
||||||
@ -1421,16 +1425,7 @@ public class EstimateService {
|
|||||||
|
|
||||||
// 각도 매핑 함수 호출
|
// 각도 매핑 함수 호출
|
||||||
String mappedDegree = excelUtil.mapCompassDegree(degreeValue);
|
String mappedDegree = excelUtil.mapCompassDegree(degreeValue);
|
||||||
// String compasDegImgUrl = frontUrl + "/static/images/canvas/deg/" + mappedDegree + ".png";
|
|
||||||
|
|
||||||
// URL url = new URL(compasDegImgUrl);
|
|
||||||
// URLConnection con = url.openConnection();
|
|
||||||
// HttpURLConnection exitCode = (HttpURLConnection)con;
|
|
||||||
// if (exitCode.getResponseCode() == 200) {
|
|
||||||
// InputStream imageInputStream = new URL(compasDegImgUrl).openStream();
|
|
||||||
// byte[] degImg = Util.toByteArray(imageInputStream);
|
|
||||||
// roofInfoResponse.setCompasDegImg(degImg);
|
|
||||||
// }
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// classpath에서 리소스 파일을 읽어옵니다
|
// classpath에서 리소스 파일을 읽어옵니다
|
||||||
@ -1469,6 +1464,31 @@ public class EstimateService {
|
|||||||
for (ItemResponse itemResponse : estimateItemList) {
|
for (ItemResponse itemResponse : estimateItemList) {
|
||||||
itemResponse.setNo(String.valueOf(j++));
|
itemResponse.setNo(String.valueOf(j++));
|
||||||
|
|
||||||
|
// itemName 디코딩 및 HTML Unescape 처리
|
||||||
|
String itemName = itemResponse.getItemName();
|
||||||
|
if (StringUtils.isNotEmpty(itemName)) {
|
||||||
|
try {
|
||||||
|
// 1. URL 디코딩 (% 처리)
|
||||||
|
if (itemName.contains("%")) {
|
||||||
|
itemName = URLDecoder.decode(itemName, StandardCharsets.UTF_8);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. HTML Unescape 처리 (&가 포함된 경우만)
|
||||||
|
// Φ1 -> Φ1 -> Φ1 순차적으로 복원
|
||||||
|
if (itemName.contains("&")) {
|
||||||
|
String prevName;
|
||||||
|
do {
|
||||||
|
prevName = itemName;
|
||||||
|
itemName = HtmlUtils.htmlUnescape(itemName);
|
||||||
|
} while (!prevName.equals(itemName) && itemName.contains("&"));
|
||||||
|
}
|
||||||
|
|
||||||
|
itemResponse.setItemName(itemName);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.warn("Excel itemName processing failed: {}", itemName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 문자열 통화로 변환 처리
|
// 문자열 통화로 변환 처리
|
||||||
itemResponse.setSalePrice(
|
itemResponse.setSalePrice(
|
||||||
String.format("%1$,.0f", Double.parseDouble(itemResponse.getSalePrice())));
|
String.format("%1$,.0f", Double.parseDouble(itemResponse.getSalePrice())));
|
||||||
@ -1571,13 +1591,7 @@ public class EstimateService {
|
|||||||
estimateResponse.setDrawingImg1(drawingImg1);
|
estimateResponse.setDrawingImg1(drawingImg1);
|
||||||
}
|
}
|
||||||
log.debug("url1 ::: {}", url);
|
log.debug("url1 ::: {}", url);
|
||||||
// File file = new File(drawingDirPath + File.separator + baseDrawingImgName + "_1.png");
|
|
||||||
// if (file.exists()) {
|
|
||||||
// InputStream imageInputStream =
|
|
||||||
// new FileInputStream(drawingDirPath + File.separator + baseDrawingImgName + "_1.png");
|
|
||||||
// byte[] drawingImg1 = Util.toByteArray(imageInputStream);
|
|
||||||
// estimateResponse.setDrawingImg1(drawingImg1);
|
|
||||||
// }
|
|
||||||
String baseDrawingImgName2 = estimateRequest.getObjectNo() + "_" + estimateRequest.getPlanNo();
|
String baseDrawingImgName2 = estimateRequest.getObjectNo() + "_" + estimateRequest.getPlanNo();
|
||||||
URL url2 = new URL(drawingDirPath + File.separator + baseDrawingImgName2 + "_2.png");
|
URL url2 = new URL(drawingDirPath + File.separator + baseDrawingImgName2 + "_2.png");
|
||||||
URLConnection con2 = url2.openConnection();
|
URLConnection con2 = url2.openConnection();
|
||||||
@ -1589,13 +1603,7 @@ public class EstimateService {
|
|||||||
estimateResponse.setDrawingImg2(drawingImg2);
|
estimateResponse.setDrawingImg2(drawingImg2);
|
||||||
}
|
}
|
||||||
log.debug("url2 ::: {}", url2);
|
log.debug("url2 ::: {}", url2);
|
||||||
// file = new File(drawingDirPath + File.separator + baseDrawingImgName + "_2.png");
|
|
||||||
// if (file.exists()) {
|
|
||||||
// InputStream imageInputStream2 =
|
|
||||||
// new FileInputStream(drawingDirPath + File.separator + baseDrawingImgName + "_2.png");
|
|
||||||
// byte[] drawingImg2 = Util.toByteArray(imageInputStream2);
|
|
||||||
// estimateResponse.setDrawingImg2(drawingImg2);
|
|
||||||
// }
|
|
||||||
|
|
||||||
//userId 에 따른 영업점 주소, 전화, fax 정보 조회
|
//userId 에 따른 영업점 주소, 전화, fax 정보 조회
|
||||||
if(estimateRequest.getSaleStoreId() != null && "T01".equals(estimateRequest.getSaleStoreId())){
|
if(estimateRequest.getSaleStoreId() != null && "T01".equals(estimateRequest.getSaleStoreId())){
|
||||||
@ -1658,10 +1666,10 @@ public class EstimateService {
|
|||||||
|
|
||||||
String userId = estimateRequest.getUserId();
|
String userId = estimateRequest.getUserId();
|
||||||
String storeLvl = estimateRequest.getStoreLvl();
|
String storeLvl = estimateRequest.getStoreLvl();
|
||||||
String saleStoreId = estimateRequest.getSaleStoreId();
|
String createStoreId = estimateRequest.getCreateStoreId();
|
||||||
if(storeLvl != null && storeLvl.equals("2")){
|
if(storeLvl != null && storeLvl.equals("2")){
|
||||||
if(!Objects.equals(Objects.requireNonNull(saleStoreId), userId))
|
if(!Objects.equals(createStoreId, userId))
|
||||||
templateFilePath = "pdf_download_quotation_detail_template2.html";
|
templateFilePath = "pdf_download_quotation_detail_template2.html";
|
||||||
}
|
}
|
||||||
|
|
||||||
// 템플릿 html 조회
|
// 템플릿 html 조회
|
||||||
@ -1709,15 +1717,17 @@ public class EstimateService {
|
|||||||
Workbook workbook = null;
|
Workbook workbook = null;
|
||||||
|
|
||||||
String excelTemplateNam = "excel_download_quotation_detail_template.xlsx";
|
String excelTemplateNam = "excel_download_quotation_detail_template.xlsx";
|
||||||
|
|
||||||
String userId = estimateRequest.getUserId();
|
String userId = estimateRequest.getUserId();
|
||||||
String storeLvl = estimateRequest.getStoreLvl();
|
String storeLvl = estimateRequest.getStoreLvl();
|
||||||
String saleStoreId = estimateRequest.getSaleStoreId();
|
String createStoreId = estimateRequest.getCreateStoreId();
|
||||||
if(storeLvl != null && storeLvl.equals("2")){
|
if(storeLvl != null && storeLvl.equals("2")){
|
||||||
if(!Objects.equals(Objects.requireNonNull(saleStoreId), userId))
|
if(!Objects.equals(createStoreId, userId))
|
||||||
excelTemplateNam = "excel_download_quotation_detail_template2.xlsx";
|
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()))
|
||||||
@ -2125,13 +2135,15 @@ public class EstimateService {
|
|||||||
+ StringUtils.defaultString(itemResponse.getItemName()) + "</td>");
|
+ StringUtils.defaultString(itemResponse.getItemName()) + "</td>");
|
||||||
sb.append("<td style='width:120px;'>" + StringUtils.defaultString(itemResponse.getItemNo())
|
sb.append("<td style='width:120px;'>" + StringUtils.defaultString(itemResponse.getItemNo())
|
||||||
+ "</td>");
|
+ "</td>");
|
||||||
sb.append("<td style='width:80px;text-align:right;'>"
|
sb.append(
|
||||||
+ StringUtils.defaultString(itemResponse.getSalePrice()) + "</td>");
|
"<td class='hide-column' style='width:80px;text-align:right;'>"
|
||||||
|
+ StringUtils.defaultString(itemResponse.getSalePrice())
|
||||||
|
+ "</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 style='width:80px;text-align:right;'>"
|
sb.append("<td class='hide-column' style='width:80px;text-align:right;'>"
|
||||||
+ StringUtils.defaultString(itemResponse.getSaleTotPrice()) + "</td>");
|
+ StringUtils.defaultString(itemResponse.getSaleTotPrice()) + "</td>");
|
||||||
sb.append("</tr>");
|
sb.append("</tr>");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -219,4 +219,6 @@ public class EstimateRequest {
|
|||||||
@Schema(description = "판매점레벨")
|
@Schema(description = "판매점레벨")
|
||||||
private String storeLvl;
|
private String storeLvl;
|
||||||
|
|
||||||
|
@Schema(description = "견적서생성판매점코드")
|
||||||
|
private String createStoreId;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -395,7 +395,7 @@
|
|||||||
OR
|
OR
|
||||||
(QCAST_CUST_PRD_ID IS NULL AND PC_ITEM_ID = PE.ITEM_ID)
|
(QCAST_CUST_PRD_ID IS NULL AND PC_ITEM_ID = PE.ITEM_ID)
|
||||||
OR
|
OR
|
||||||
(QCAST_CUST_PRD_ID IS NOT NULL AND QCAST_CUST_PRD_ID != PC_ITEM_ID AND PC_ITEM_ID = PE.ITEM_ID))), 0) AS MODULE_VOL_KW
|
(QCAST_CUST_PRD_ID IS NOT NULL AND QCAST_CUST_PRD_ID != PC_ITEM_ID AND QCAST_CUST_PRD_ID = PE.ITEM_ID))), 0) AS MODULE_VOL_KW
|
||||||
FROM T_PLAN P WITH (NOLOCK)
|
FROM T_PLAN P WITH (NOLOCK)
|
||||||
INNER JOIN T_PART_ESTIMATE PE WITH (NOLOCK)
|
INNER JOIN T_PART_ESTIMATE PE WITH (NOLOCK)
|
||||||
ON P.OBJECT_NO = PE.OBJECT_NO
|
ON P.OBJECT_NO = PE.OBJECT_NO
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
|
||||||
|
|
||||||
<mapper namespace="com.interplug.qcast.biz.excelDown.ExcelDownMapper">
|
<mapper namespace="com.interplug.qcast.biz.excelDown.ExcelDownMapper">
|
||||||
<select id="selectQuotPlanExclDownData" parameterType="com.interplug.qcast.biz.excelDown.dto.QuotRequest"
|
<select id="selectQuotPlanExclDownData" parameterType="com.interplug.qcast.biz.excelDown.dto.QuotRequest"
|
||||||
resultType="com.interplug.qcast.biz.excelDown.dto.QuotPlanResponse">
|
resultType="com.interplug.qcast.biz.excelDown.dto.QuotPlanResponse">
|
||||||
@ -128,6 +129,8 @@
|
|||||||
, CONVERT(varchar, A.DRAWING_ESTIMATE_CREATE_DATE, 120) AS DRAWING_ESTIMATE_CREATE_DATE/* プラン見積作成日 */
|
, CONVERT(varchar, A.DRAWING_ESTIMATE_CREATE_DATE, 120) AS DRAWING_ESTIMATE_CREATE_DATE/* プラン見積作成日 */
|
||||||
-->
|
-->
|
||||||
FROM T_OBJECT B
|
FROM T_OBJECT B
|
||||||
|
LEFT OUTER JOIN T_OBJECT_INFO OI
|
||||||
|
ON OI.OBJECT_NO = B.OBJECT_NO
|
||||||
LEFT OUTER JOIN T_PLAN A
|
LEFT OUTER JOIN T_PLAN A
|
||||||
ON A.OBJECT_NO = B.OBJECT_NO
|
ON A.OBJECT_NO = B.OBJECT_NO
|
||||||
LEFT OUTER JOIN M_COMM_L C1
|
LEFT OUTER JOIN M_COMM_L C1
|
||||||
@ -176,7 +179,7 @@
|
|||||||
LEFT OUTER JOIN M_SALES_STORE Y
|
LEFT OUTER JOIN M_SALES_STORE Y
|
||||||
ON G.FIRST_AGENT_ID = Y.SALE_STORE_ID /*1차점정보*/
|
ON G.FIRST_AGENT_ID = Y.SALE_STORE_ID /*1차점정보*/
|
||||||
WHERE A.DEL_FLG = 0
|
WHERE A.DEL_FLG = 0
|
||||||
AND B.DEL_FLG = 0
|
AND (B.DEL_FLG = 0 OR (OI.SOURCE_ORIGIN = 'QCAST_III' AND OI.ORG_DEL_FLG = '0'))
|
||||||
<if test="sch_startDt != null and sch_startDt != '' and sch_endDt != null and sch_endDt != ''"> <!-- 견적일 -->
|
<if test="sch_startDt != null and sch_startDt != '' and sch_endDt != null and sch_endDt != ''"> <!-- 견적일 -->
|
||||||
AND B.ESTIMATE_DETAIL_CREATE_DATE <![CDATA[>=]]> #{sch_startDt} + ' 00:00:00'
|
AND B.ESTIMATE_DETAIL_CREATE_DATE <![CDATA[>=]]> #{sch_startDt} + ' 00:00:00'
|
||||||
AND B.ESTIMATE_DETAIL_CREATE_DATE <![CDATA[<=]]> #{sch_endDt} + ' 23:59:59'
|
AND B.ESTIMATE_DETAIL_CREATE_DATE <![CDATA[<=]]> #{sch_endDt} + ' 23:59:59'
|
||||||
@ -224,6 +227,8 @@
|
|||||||
, D.FIRST_AGENT_FLG /* 一次代理店フラグ */
|
, D.FIRST_AGENT_FLG /* 一次代理店フラグ */
|
||||||
-->
|
-->
|
||||||
FROM T_OBJECT C
|
FROM T_OBJECT C
|
||||||
|
LEFT OUTER JOIN T_OBJECT_INFO OI
|
||||||
|
ON OI.OBJECT_NO = C.OBJECT_NO
|
||||||
LEFT OUTER JOIN M_SALES_STORE D
|
LEFT OUTER JOIN M_SALES_STORE D
|
||||||
ON C.SALE_STORE_ID = D.SALE_STORE_ID
|
ON C.SALE_STORE_ID = D.SALE_STORE_ID
|
||||||
LEFT OUTER JOIN T_PLAN B
|
LEFT OUTER JOIN T_PLAN B
|
||||||
@ -251,7 +256,7 @@
|
|||||||
LEFT OUTER JOIN M_BUSINESS_TEAM K
|
LEFT OUTER JOIN M_BUSINESS_TEAM K
|
||||||
ON J.BUSINESS_TEAM_CD = K.BUSINESS_TEAM_CD
|
ON J.BUSINESS_TEAM_CD = K.BUSINESS_TEAM_CD
|
||||||
AND K.DEL_FLG = 0
|
AND K.DEL_FLG = 0
|
||||||
WHERE C.DEL_FLG = 0
|
WHERE (C.DEL_FLG = 0 OR (OI.SOURCE_ORIGIN = 'QCAST_III' AND OI.ORG_DEL_FLG = '0'))
|
||||||
AND D.DEL_FLG = 0
|
AND D.DEL_FLG = 0
|
||||||
AND B.DEL_FLG = 0
|
AND B.DEL_FLG = 0
|
||||||
<if test="sch_startDt != null and sch_startDt != '' and sch_endDt != null and sch_endDt != ''"> <!-- 견적일 -->
|
<if test="sch_startDt != null and sch_startDt != '' and sch_endDt != null and sch_endDt != ''"> <!-- 견적일 -->
|
||||||
|
|||||||
@ -390,6 +390,10 @@
|
|||||||
font-size: 8px;
|
font-size: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.hide-column {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@ -445,7 +449,7 @@
|
|||||||
<span id="tel"></span>
|
<span id="tel"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="number">
|
<div class="number">
|
||||||
<span>FAX :</span>
|
<span>FAX :</span>
|
||||||
<span id="fax"></span>
|
<span id="fax"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -492,7 +496,7 @@
|
|||||||
<th style="width: 110px;">価格</th>
|
<th style="width: 110px;">価格</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="itemList_detail2">
|
<tbody id="itemList_detail" >
|
||||||
<!-- <tr>-->
|
<!-- <tr>-->
|
||||||
<!-- <td>1</td>-->
|
<!-- <td>1</td>-->
|
||||||
<!-- <td>Re.RISE 415</td>-->
|
<!-- <td>Re.RISE 415</td>-->
|
||||||
@ -513,16 +517,16 @@
|
|||||||
<!-- </tr>-->
|
<!-- </tr>-->
|
||||||
<tr>
|
<tr>
|
||||||
<td class="al-r" colspan="6">小計</td>
|
<td class="al-r" colspan="6">小計</td>
|
||||||
<td class="al-r" ></td>
|
<td class="al-r hide-column" id="supplyPrice"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="al-r" colspan="5">消費税</td>
|
<td class="al-r" colspan="5">消費税</td>
|
||||||
<td class="al-r">(10%)</td>
|
<td class="al-r">(10%)</td>
|
||||||
<td class="al-r" ></td>
|
<td class="al-r hide-column" id="vatPrice"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="al-r end" colspan="6">合計金額</td>
|
<td class="al-r end" colspan="6">合計金額</td>
|
||||||
<td class="al-r end" ></td>
|
<td class="al-r end hide-column" id="totPrice1"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@ -676,13 +680,13 @@
|
|||||||
<div class="section4">
|
<div class="section4">
|
||||||
<table class="mb20">
|
<table class="mb20">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="col-15">物件番号</th>
|
<th class="col-15">物件番号</th>
|
||||||
<td class="al-l" id="objectNo4" colspan="3"></td>
|
<td class="al-l" id="objectNo4" colspan="3"></td>
|
||||||
<th class="col-15">作成日</th>
|
<th class="col-15">作成日</th>
|
||||||
<td id="drawingEstimateCreateDate4"></td>
|
<td id="drawingEstimateCreateDate4"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="col-15">物件名</th>
|
<th class="col-15">物件名</th>
|
||||||
<td class="al-l" id="objectName" colspan="3"></td>
|
<td class="al-l" id="objectName" colspan="3"></td>
|
||||||
<th class="col-15">積雪条件</th>
|
<th class="col-15">積雪条件</th>
|
||||||
@ -797,7 +801,7 @@
|
|||||||
<th class="col-15">作成日</th>
|
<th class="col-15">作成日</th>
|
||||||
<td id="drawingEstimateCreateDate5"></td>
|
<td id="drawingEstimateCreateDate5"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="col-15">物件名</th>
|
<th class="col-15">物件名</th>
|
||||||
<td class="al-l" id="objectName5" colspan="3"></td>
|
<td class="al-l" id="objectName5" colspan="3"></td>
|
||||||
<th class="col-15">積雪条件</th>
|
<th class="col-15">積雪条件</th>
|
||||||
@ -828,13 +832,13 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<table class="mb20">
|
<table class="mb20">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="col-15">No</th>
|
<th class="col-15">No</th>
|
||||||
<th class="col-15">部材名</th>
|
<th class="col-15">部材名</th>
|
||||||
<th class="col-15">数量</th>
|
<th class="col-15">数量</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="standItemList_detail">
|
<tbody id="standItemList_detail">
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@ -875,7 +879,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="section6">
|
<div class="section6">
|
||||||
<!-- <h1 class="title">重量算出シート</h1>-->
|
<!-- <h1 class="title">重量算出シート</h1>-->
|
||||||
<div class="all-price-wrap">
|
<div class="all-price-wrap">
|
||||||
<div class="all-price">
|
<div class="all-price">
|
||||||
<span>重量算出シート</span>
|
<span>重量算出シート</span>
|
||||||
@ -901,8 +905,8 @@
|
|||||||
<!-- 시스템 중량 정보 -->
|
<!-- 시스템 중량 정보 -->
|
||||||
|
|
||||||
<div style="text-align: right; font-size: 11px;">
|
<div style="text-align: right; font-size: 11px;">
|
||||||
<span>システム重量合計: </span><span id="totGrossWt"></span> kg
|
<span>システム重量合計: </span><span id="totGrossWt"></span> kg
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div style="text-align: right; font-size: 10px; color: #666; margin-bottom: 20px;">
|
<div style="text-align: right; font-size: 10px; color: #666; margin-bottom: 20px;">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user