Merge pull request '[1375]인증용량 계산수정' (#333) from dev into dev-deploy

Reviewed-on: #333
This commit is contained in:
ysCha 2026-01-21 11:14:55 +09:00
commit 547330163b

View File

@ -366,15 +366,47 @@
<select id="selectEstimateRoofCertVolKw" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="String"> <select id="selectEstimateRoofCertVolKw" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="String">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateRoofCertVolKw */ /* sqlid : com.interplug.qcast.biz.estimate.selectEstimateRoofCertVolKw */
<![CDATA[
SELECT SELECT
REPLACE( CAST(SUM(F.VOL_KW) AS VARCHAR) AS CERT_VOL_KW
CAST( FROM (
ISNULL( SELECT
T.*,
ROUND((T.AMOUNT * CAST(ISNULL(T.M_SPEC, 0) AS FLOAT) / 1000), 4) AS MODULE_VOL_KW,
ROUND((T.AMOUNT * CAST(ISNULL(T.P_SPEC, 0) AS FLOAT) / 1000), 4) AS PC_VOL_KW,
CASE
WHEN ROUND((T.AMOUNT * CAST(ISNULL(T.M_SPEC, 0) AS FLOAT) / 1000), 4)
< ROUND((T.AMOUNT * CAST(ISNULL(T.P_SPEC, 0) AS FLOAT) / 1000), 4)
THEN ROUND((T.AMOUNT * CAST(ISNULL(T.M_SPEC, 0) AS FLOAT) / 1000), 4)
ELSE ROUND((T.AMOUNT * CAST(ISNULL(T.P_SPEC, 0) AS FLOAT) / 1000), 4)
END AS VOL_KW
FROM (
SELECT DISTINCT
TPR.ITEM_ID,
TPR.ITEM_NO,
TPR.ITEM_NAME,
TPR.SPECIFICATION AS M_SPEC,
TPR.AMOUNT,
TPC.ITEM_ID AS PC_ITEM_ID,
(SELECT PNOW_W FROM M_ITEM WHERE ITEM_ID = TPC.ITEM_ID) AS P_SPEC,
TPC.CIRCUIT_CFG
FROM T_PART_CIRCUIT_ITEM_ESTIMATE TPC
INNER JOIN T_PART_ROOF_ITEM_ESTIMATE TPR
ON TPC.OBJECT_NO = TPR.OBJECT_NO
AND TPC.PLAN_NO = TPR.PLAN_NO
WHERE TPC.OBJECT_NO = #{objectNo}
AND TPC.PLAN_NO = #{planNo}
) T
) F
]]>
/*
SELECT
-- FORMAT(ISNULL(SUM(CASE WHEN T.MODULE_VOL_KW <![CDATA[ <= ]]> T.PC_VOL_KW THEN T.MODULE_VOL_KW ELSE T.PC_VOL_KW END), 0), '#,##0.000') AS CERT_VOL_KW
REPLACE(CONVERT(VARCHAR, SUM(CAST(ISNULL(
CASE CASE
WHEN 0 <![CDATA[ < ]]> SUM(T.CUST_VOL_KW) AND SUM(T.CUST_VOL_KW) <![CDATA[ < ]]> SUM(T.MODULE_VOL_KW) THEN SUM(T.CUST_VOL_KW) WHEN T.MODULE_VOL_KW <![CDATA[ <= ]]> T.PC_VOL_KW THEN T.MODULE_VOL_KW
WHEN 0 <![CDATA[ < ]]> SUM(T.PCS_VOL_KW) AND SUM(T.PCS_VOL_KW) <![CDATA[ < ]]> SUM(T.MODULE_VOL_KW) THEN SUM(T.PCS_VOL_KW) ELSE T.PC_VOL_KW
ELSE SUM(T.MODULE_VOL_KW) END, 0) AS NUMERIC(18, 3))), 1), ',', '') AS CERT_VOL_KW
END, 0 ) AS NUMERIC(18, 3)), ',', '') AS CERT_VOL_KW
FROM FROM
( (
SELECT SELECT
@ -385,29 +417,12 @@
, PE.SPECIFICATION , PE.SPECIFICATION
, I.ITEM_NAME , I.ITEM_NAME
, ROUND((PE.AMOUNT * CAST(ISNULL(PE.SPECIFICATION, 0) AS FLOAT) / 1000), 4) AS PC_VOL_KW , ROUND((PE.AMOUNT * CAST(ISNULL(PE.SPECIFICATION, 0) AS FLOAT) / 1000), 4) AS PC_VOL_KW
, ISNULL(( , ISNULL((SELECT SUM((AMOUNT * CAST(ISNULL(SPECIFICATION, 0) AS FLOAT) / 1000))
SELECT FROM T_PART_ROOF_ITEM_ESTIMATE(NOLOCK)
SUM((AMOUNT * CAST(ISNULL(SPECIFICATION, 0) AS FLOAT) / 1000)) WHERE OBJECT_NO = PE.OBJECT_NO
FROM T_PART_ROOF_ITEM_ESTIMATE (NOLOCK) AND PLAN_NO = PE.PLAN_NO
WHERE OBJECT_NO = PE.OBJECT_NO AND ISNULL(NULLIF(QCAST_CUST_PRD_ID, ''), PC_ITEM_ID) = PE.ITEM_ID ), 0) AS MODULE_VOL_KW
AND PLAN_NO = PE.PLAN_NO FROM T_PLAN P WITH (NOLOCK)
AND QCAST_CUST_PRD_ID = PE.ITEM_ID), 0) AS CUST_VOL_KW
, ISNULL((
SELECT
SUM((AMOUNT * CAST(ISNULL(SPECIFICATION, 0) AS FLOAT) / 1000))
FROM T_PART_ROOF_ITEM_ESTIMATE (NOLOCK)
WHERE OBJECT_NO = PE.OBJECT_NO
AND PLAN_NO = PE.PLAN_NO
AND PC_ITEM_ID = PE.ITEM_ID), 0) AS PCS_VOL_KW
, ISNULL((
SELECT
SUM((AMOUNT * CAST(ISNULL(SPECIFICATION, 0) AS FLOAT) / 1000))
FROM T_PART_ROOF_ITEM_ESTIMATE (NOLOCK)
WHERE OBJECT_NO = PE.OBJECT_NO
AND PLAN_NO = PE.PLAN_NO
AND ITEM_ID = PE.ITEM_ID), 0) AS MODULE_VOL_KW
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
AND P.PLAN_NO = PE.PLAN_NO AND P.PLAN_NO = PE.PLAN_NO
@ -415,14 +430,10 @@
ON PE.ITEM_ID = I.ITEM_ID ON PE.ITEM_ID = I.ITEM_ID
WHERE P.OBJECT_NO = #{objectNo} WHERE P.OBJECT_NO = #{objectNo}
AND P.PLAN_NO = #{planNo} AND P.PLAN_NO = #{planNo}
AND ( AND I.POWER_COM_FLG = '1' /* PCS 아이템만 */
CASE
WHEN I.POWER_COM_FLG = '1' THEN 1
WHEN I.POWER_COM_FLG != '1' AND ISNULL(I.PNOW_W, 0) > 0 THEN 1
ELSE 0
END
) = 1
) T ) T
*/
</select> </select>
<select id="selectEstimateRoofList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.RoofResponse"> <select id="selectEstimateRoofList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.RoofResponse">