[1375]인증용량 계산수정

This commit is contained in:
ysCha 2026-01-22 13:41:41 +09:00
parent a9adaf4d23
commit 65a0fd430e

View File

@ -367,37 +367,54 @@
<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[ <![CDATA[
SELECT SELECT SUM (
CAST(SUM(F.VOL_KW) AS NUMERIC(18, 3)) AS CERT_VOL_KW CAST (ISNULL(
CASE WHEN ISNULL(B.PQ_VOL, 0) = 0
THEN (CASE WHEN B.P_VOL < B.M_VOL THEN B.P_VOL ELSE B.M_VOL END)
ELSE (CASE WHEN B.PQ_VOL < B.M_VOL THEN B.PQ_VOL ELSE B.M_VOL END)
END, 0) AS NUMERIC(18, 3))) AS CERT_VOL_KW
FROM ( FROM (
SELECT SELECT DISTINCT
T.*, A.P_ITEM_ID
ROUND((T.AMOUNT * CAST(ISNULL(T.M_SPEC, 0) AS FLOAT) / 1000), 4) AS MODULE_VOL_KW, , (SELECT ROUND((TE.AMOUNT * CAST(ISNULL(TE.SPECIFICATION,0) AS FLOAT) / 1000), 4)
ROUND((T.AMOUNT * CAST(ISNULL(T.P_SPEC, 0) AS FLOAT) / 1000), 4) AS PC_VOL_KW, FROM T_PART_ESTIMATE TE (NOLOCK)
CASE WHERE TE.OBJECT_NO = A.OBJECT_NO AND TE.PLAN_NO = A.PLAN_NO AND TE.ITEM_ID = A.P_ITEM_ID) AS P_VOL
WHEN ROUND((T.AMOUNT * CAST(ISNULL(T.M_SPEC, 0) AS FLOAT) / 1000), 4) , TRI.QCAST_CUST_PRD_ID
< ROUND((T.AMOUNT * CAST(ISNULL(T.P_SPEC, 0) AS FLOAT) / 1000), 4) , (SELECT ROUND((TE.AMOUNT * CAST(ISNULL(TE.SPECIFICATION,0) AS FLOAT) / 1000), 4)
THEN ROUND((T.AMOUNT * CAST(ISNULL(T.M_SPEC, 0) AS FLOAT) / 1000), 4) FROM T_PART_ESTIMATE TE (NOLOCK)
ELSE ROUND((T.AMOUNT * CAST(ISNULL(T.P_SPEC, 0) AS FLOAT) / 1000), 4) WHERE TE.OBJECT_NO = A.OBJECT_NO AND TE.PLAN_NO = A.PLAN_NO AND TE.ITEM_ID = TRI.QCAST_CUST_PRD_ID) AS PQ_VOL
END AS VOL_KW , TRI.ITEM_ID AS M_ITEM_ID
, (SELECT ROUND((A.M_AMT * CAST(ISNULL(TE.SPECIFICATION,0) AS FLOAT) / 1000), 4)
FROM T_PART_ESTIMATE TE (NOLOCK)
WHERE TE.OBJECT_NO = A.OBJECT_NO AND TE.PLAN_NO = A.PLAN_NO AND TE.ITEM_ID = TRI.ITEM_ID) AS M_VOL
, A.M_AMT
FROM ( FROM (
SELECT DISTINCT SELECT
TPR.ITEM_ID, TPC.OBJECT_NO
TPR.ITEM_NO, , TPC.PLAN_NO
TPR.ITEM_NAME, , TPC.ITEM_ID AS P_ITEM_ID
TPR.SPECIFICATION AS M_SPEC, , TPC.CIRCUIT_CFG
TPR.AMOUNT, ,(
TPC.ITEM_ID AS PC_ITEM_ID, SELECT SUM(CAST(T.Item AS INT))
(SELECT PNOW_W FROM M_ITEM WHERE ITEM_ID = TPC.ITEM_ID) AS P_SPEC, FROM (
TPC.CIRCUIT_CFG SELECT CAST('<X>' + REPLACE(TPC.CIRCUIT_CFG, ',', '</X><X>') + '</X>' AS XML) AS XMLDATA
FROM T_PART_CIRCUIT_ITEM_ESTIMATE TPC ) AS Sub
INNER JOIN T_PART_ROOF_ITEM_ESTIMATE TPR CROSS APPLY (
ON TPC.OBJECT_NO = TPR.OBJECT_NO SELECT f.x.value('.', 'VARCHAR(MAX)') AS Item
AND TPC.PLAN_NO = TPR.PLAN_NO FROM Sub.XMLDATA.nodes('/X') AS f(x)
WHERE TPC.OBJECT_NO = #{objectNo} ) AS T
AND TPC.PLAN_NO = #{planNo} WHERE T.Item <> ''
) T ) AS M_AMT
) F FROM T_PART_CIRCUIT_ITEM_ESTIMATE TPC (NOLOCK)
WHERE
TPC.OBJECT_NO = #{objectNo}
AND
TPC.PLAN_NO = #{planNo}
)A
LEFT OUTER JOIN T_PART_ROOF_ITEM_ESTIMATE TRI (NOLOCK)
ON A.OBJECT_NO = TRI.OBJECT_NO
AND A.PLAN_NO = TRI.PLAN_NO
)B
]]> ]]>
</select> </select>