From cd047bbeed74fe1f268e8f3a9037200af12ab892 Mon Sep 17 00:00:00 2001 From: ysCha Date: Fri, 22 May 2026 11:06:04 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[2254]=20=EA=B2=AC=EC=A0=81=20=EC=9D=B8?= =?UTF-8?q?=EC=A6=9D=EC=9A=A9=EB=9F=89=20SQL=20FLOAT=20=EC=9E=94=EC=97=AC?= =?UTF-8?q?=20=EC=B0=A8=EB=8B=A8=20=E2=80=94=20DECIMAL(18,4)=20=EC=BA=90?= =?UTF-8?q?=EC=8A=A4=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mappers/estimate/estimateMapper.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/resources/mappers/estimate/estimateMapper.xml b/src/main/resources/mappers/estimate/estimateMapper.xml index f59e13f8..2e7aaa48 100644 --- a/src/main/resources/mappers/estimate/estimateMapper.xml +++ b/src/main/resources/mappers/estimate/estimateMapper.xml @@ -466,7 +466,8 @@ GROUP BY CIRCUIT_NO, CIRCUIT_ITEM_ID, CIRCUIT_CFG, CIRCUIT_SUM, PNOW_W ) - SELECT ROUND((SUM(MIN_VALUE) / 1000), 4) AS CERT_VOL_KW + -- 2026-05-22: FLOAT ROUND 결과의 IEEE754 잔여(예: 5.5600000000000005) 차단 위해 DECIMAL(18,4) 캐스팅 + SELECT CAST(ROUND((SUM(MIN_VALUE) / 1000), 4) AS DECIMAL(18,4)) AS CERT_VOL_KW FROM CIRCUIT_AGG ]]> -- 2.47.2 From 2fc55f3a2435a417b339c2adc9131bc221916675 Mon Sep 17 00:00:00 2001 From: ysCha Date: Mon, 1 Jun 2026 09:10:54 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[1496]=20=EA=B2=AC=EC=A0=81=EC=84=9C=20?= =?UTF-8?q?=EC=97=91=EC=85=80=20=EA=B5=AC=20=EC=96=91=EC=8B=9D=20=EC=8B=9C?= =?UTF-8?q?=ED=8A=B8=EB=AA=85=20=EB=B3=80=EA=B2=BD=20=E2=80=94=20=E8=A6=8B?= =?UTF-8?q?=E7=A9=8D=E6=9B=B8.=20=E2=86=92=20=E5=BE=A1=E8=A6=8B=E7=A9=8D?= =?UTF-8?q?=E6=9B=B8=20(=EC=BD=94=EB=93=9C/=ED=85=9C=ED=94=8C=EB=A6=BF=202?= =?UTF-8?q?=EC=A2=85=20=EB=8F=99=EA=B8=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qcast/biz/estimate/EstimateService.java | 11 ++++++----- ...el_download_quotation_detail_template.xlsx | Bin 149628 -> 149628 bytes ...l_download_quotation_detail_template2.xlsx | Bin 148324 -> 148324 bytes 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/interplug/qcast/biz/estimate/EstimateService.java b/src/main/java/com/interplug/qcast/biz/estimate/EstimateService.java index 02de114a..0e83d64d 100644 --- a/src/main/java/com/interplug/qcast/biz/estimate/EstimateService.java +++ b/src/main/java/com/interplug/qcast/biz/estimate/EstimateService.java @@ -1916,14 +1916,15 @@ public class EstimateService { // schDrawingFlg / schWeightFlg(위쪽 분기)로 선택된 부속 시트 // (割付図・系統図 / 架台図 / 発電シミュレーション / 重量算出シート 등)는 그대로 유지한다. if ("EXCEL2".equals(estimateRequest.getSchDownload())) { - // 旧見積書書式: 신 양식 견적서 시트(見積書) 제거 후, 구 양식(見積書.)을 맨 앞으로 이동 + // 旧見積書書式: 신 양식 견적서 시트(見積書) 제거 후, 구 양식(御見積書)을 맨 앞으로 이동 + // 2026-06-01 시트명 변경: 見積書. → 御見積書 safeRemoveSheet(workbook, "見積書"); - if (workbook.getSheetIndex("見積書.") > 0) { - workbook.setSheetOrder("見積書.", 0); + if (workbook.getSheetIndex("御見積書") > 0) { + workbook.setSheetOrder("御見積書", 0); } } else { - // 신(통상) 견적서 양식: 구 양식 견적서 시트(見積書.)만 제거 - safeRemoveSheet(workbook, "見積書."); + // 신(통상) 견적서 양식: 구 양식 견적서 시트(御見積書)만 제거 + safeRemoveSheet(workbook, "御見積書"); } safeRemoveSheet(workbook, "特異事項"); diff --git a/src/main/resources/template/excel/excel_download_quotation_detail_template.xlsx b/src/main/resources/template/excel/excel_download_quotation_detail_template.xlsx index d976c5257ce8a6bf48850e0dedc3bbc930c990bc..e400eb11f8b849e09806b14d93732e5fa2be4ba6 100644 GIT binary patch delta 2135 zcmV-d2&nh`kO};d39x7a2?O~E?rj190OON!0v~_(SFHQO6WuKmR5D#cK!b_IO(?vY zadt{4Zf7<#LqmO17K4ZcA0%puiVs3eh(Yj^693FnYD4)CPPca1>e5Ev&b{}{{hFHt zM&=8yR>WKoMl*UkW$GHHh&hDLX7uUo_5LfmCM2W|bQ#4Ny@Z86VqE|>XCCH~V4zrBas=UVhUN;GN@Kt@hYUO~F?F!h??nmq zR>t9?{NJPwL(TrgOt$2yd=?n>JeMFS)sWUCL7WMeliDOigi0pz+O>IvU0}p%K&70* zXpR$EvP@vaO)!O^i^o(6D+gVHfpO*l6BvIsw`W7bg$0UoxQLNtTodG;+TWnA-GKr( z8_VcL$O)uUZ_!#th+R)eZZ*nJP9N+vRyIx_e*;G34q==f$7ImD8WI%fO8i~o)u)rK zMXj-Yzp=S~@^nKx*?ZR5Sp0`-my@d*(clVqt|UvOi^Z*+4Y^F%P|WFEi%QeE3UFIrz(tuL+BK0L239fTDR1OHKS#UF3Gk7=iq z-2>g*x@dEC@V7@fhKa@6aWAK2mr%Xq+H)TjM8iY006TI1uF~* z!|#n}Nd*7^RFgds9)G@HVZ2Cua_!^Txv2@tRa9zGR7$&js!pAg#;Y&k*r7oPiPb_3 zItE|Ztr}~YfU!-C4vkA&u^;0mY5v7tJ2$tfklSLl$9~UwpXa={bIIg|rmiv92(?tx zNV8}{U>Ra4W<@oY)9jVG5|>~Z%f?0pYo~&(X7c!qsu78?zWyv&G7{D7=nyuM( zJ;n2uQX@LHCd@i9V5DkN9orz%W!|b&f-6>y5L?%HQ4nIhj#Y#0F{Ef14zpTS6;d#j zhE5E-M?#5)ZLr>|sda0>rYm9SbWB$obxtw$I#4XBnrdJ7Nm)i$Qd7%@N%4{fUN@1< zG%5VW;2#Olh<}5bU}$VAT~(-QnN@oNsQX5b`Huu1p+g~Pj>jMzlLSGyrg|wHQN>Ql z6&rHJMr24hGaC{{bmA%5k;#K0k%8l96A{FB8#4L!l|Oc%v9g=3mE($meo}SXP#9 zvff%uDJE{%wSEnF)M-|VA2T$An}ZP~q#9~vWX27l|8U1NgXgB_uvZ@QDp|Eg)#8av zb3rvK<|{^rz#>0KgEwRNOX1+zdgsOc_QpHd!M$!j%uxL)ZyGvPK^{pE(7F4*^XS$7&U$zA zb^s#>Fya{Ir=9M`uDkZub$)f7r>^st>+JdBbJuwtoH-hxi5{hC-Th~O_s7=8YuDNB zyno*9{JRa`0dyh&mX3nkkKeQ&ygCd(K~LqQi0+;H-8&CDFMnv=+3}6tbDeL3Xfc3} zjT!r4>)6-^0~J3CDx;ukETEbgQx$`%@qlX5&-)vv!_vUZuiv%rJw8}_ z!e&07Etbwr@&TRW0Il6O-A8ZTwQWBj-+#N#pZo7_9Xxw}dVJft-P+s^jo)5xZ@zE; z^6-Sy4qzvnt$Xj*!Pd8}2fwv;LQmDlJiH$k09Df6_~YP~)4u&OET;Y4)6ScpPoIWy z{K*2d|6!}Wx!0?nu$aZBX6O@Tsv7oU7ETTC*j2E0c~Hg@n;9pXFtb$9JQ z2<^#MX%P9b^%<04n}--FWy*Lj|9^N$B0=jl) zlt_wPLW+u9UMh%1IbJLjbMnnk`8&qH#HL1fX$Eet)SjbQS%Ke^v!t5C7V$12-YEul z293?hiJTAx6QvR=aS}=jTrL-rIJr=Y%5hZ47v<8(SkL|HDeX=0KAK>=0ZW%<&uCvx zd2OlRJM8SM^>cP;g4Armb0mb~W$<1jA(cz>Ar>P{Eu78gn(m9w+6*)Qjc zUko7pu>tBOkROyCKS+D#e}kSDhn^Mzx1JUPHXsQD`3UZ90ssKxm)$l3PXYCpEjI!_ z0g#t$Hv%{Tq?e^P0zCowm*Y1AJpr_rAvgjf8^iC7XGsMB08|hF01p5F0000000000 N0HlE^w_i8{9S}=|2G9Ti delta 2147 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 Z01p5F00000000000HlE?w_i8{9S|Lg2X+7e diff --git a/src/main/resources/template/excel/excel_download_quotation_detail_template2.xlsx b/src/main/resources/template/excel/excel_download_quotation_detail_template2.xlsx index 1ba2927c98f44e972268cbdcf1b48fd6680dcc01..18905a5060624b78be4d679d541366cd4e45f263 100644 GIT binary patch delta 2168 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 B44?o2 -- 2.47.2