[1375]인증용량 계산수정
This commit is contained in:
parent
a9adaf4d23
commit
65a0fd430e
@ -367,37 +367,54 @@
|
||||
<select id="selectEstimateRoofCertVolKw" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="String">
|
||||
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateRoofCertVolKw */
|
||||
<![CDATA[
|
||||
SELECT
|
||||
CAST(SUM(F.VOL_KW) AS NUMERIC(18, 3)) AS CERT_VOL_KW
|
||||
SELECT SUM (
|
||||
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 (
|
||||
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
|
||||
SELECT DISTINCT
|
||||
A.P_ITEM_ID
|
||||
, (SELECT ROUND((TE.AMOUNT * 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 = A.P_ITEM_ID) AS P_VOL
|
||||
, TRI.QCAST_CUST_PRD_ID
|
||||
, (SELECT ROUND((TE.AMOUNT * 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.QCAST_CUST_PRD_ID) AS PQ_VOL
|
||||
, 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 (
|
||||
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
|
||||
TPC.OBJECT_NO
|
||||
, TPC.PLAN_NO
|
||||
, TPC.ITEM_ID AS P_ITEM_ID
|
||||
, TPC.CIRCUIT_CFG
|
||||
,(
|
||||
SELECT SUM(CAST(T.Item AS INT))
|
||||
FROM (
|
||||
SELECT CAST('<X>' + REPLACE(TPC.CIRCUIT_CFG, ',', '</X><X>') + '</X>' AS XML) AS XMLDATA
|
||||
) AS Sub
|
||||
CROSS APPLY (
|
||||
SELECT f.x.value('.', 'VARCHAR(MAX)') AS Item
|
||||
FROM Sub.XMLDATA.nodes('/X') AS f(x)
|
||||
) AS T
|
||||
WHERE T.Item <> ''
|
||||
) AS M_AMT
|
||||
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>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user