[1375]인증용량 소수점2자리까지 #367
@ -367,8 +367,7 @@
|
|||||||
<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[
|
||||||
;WITH
|
;WITH TCI AS (
|
||||||
TCI AS (
|
|
||||||
SELECT
|
SELECT
|
||||||
TI.CIRCUIT_NO,
|
TI.CIRCUIT_NO,
|
||||||
TI.OBJECT_NO,
|
TI.OBJECT_NO,
|
||||||
@ -425,37 +424,37 @@
|
|||||||
X.value('(/x[1]/v[3])[1]', 'VARCHAR(50)') AS M_3
|
X.value('(/x[1]/v[3])[1]', 'VARCHAR(50)') AS M_3
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
CAST(
|
CAST(
|
||||||
'<x><v>' + REPLACE(ISNULL(Z.CIRCUIT_CFG, ''), ',', '</v><v>') + '</v></x>' AS XML
|
'<x><v>' + REPLACE(ISNULL(Z.CIRCUIT_CFG, ''), ',', '</v><v>') + '</v></x>' AS XML
|
||||||
)
|
)
|
||||||
) A(X)
|
) A(X)
|
||||||
) SPLIT
|
) SPLIT
|
||||||
),
|
),
|
||||||
Y AS (
|
Y AS (
|
||||||
SELECT
|
SELECT
|
||||||
ZC.ROOF_ITEM_NO,
|
ZC.ROOF_ITEM_NO,
|
||||||
ZC.M_ITEM_ID,
|
ZC.M_ITEM_ID,
|
||||||
ZC.M_SPEC,
|
ZC.M_SPEC,
|
||||||
ZC.M_AMT,
|
ZC.M_AMT,
|
||||||
(ZC.M_1 + ZC.M_2 + ZC.M_3) AS M_AMT2,
|
(ZC.M_1 + ZC.M_2 + ZC.M_3) AS M_AMT2,
|
||||||
ZC.P_ITEM_ID,
|
ZC.P_ITEM_ID,
|
||||||
TE.SPECIFICATION AS P_SPEC,
|
TE.SPECIFICATION AS P_SPEC,
|
||||||
ZC.P_AMT,
|
ZC.P_AMT,
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
SPECIFICATION
|
SPECIFICATION
|
||||||
FROM
|
FROM
|
||||||
T_PART_ROOF_ITEM_ESTIMATE TRI
|
T_PART_ROOF_ITEM_ESTIMATE TRI
|
||||||
INNER JOIN T_PART_ROOF_ESTIMATE TR ON TRI.ROOF_SURFACE_ID = TR.ROOF_SURFACE_ID
|
INNER JOIN T_PART_ROOF_ESTIMATE TR ON TRI.ROOF_SURFACE_ID = TR.ROOF_SURFACE_ID
|
||||||
AND TRI.OBJECT_NO = TR.OBJECT_NO
|
AND TRI.OBJECT_NO = TR.OBJECT_NO
|
||||||
AND TRI.PLAN_NO = TR.PLAN_NO
|
AND TRI.PLAN_NO = TR.PLAN_NO
|
||||||
WHERE
|
WHERE
|
||||||
TRI.OBJECT_NO = ZC.OBJECT_NO
|
TRI.OBJECT_NO = ZC.OBJECT_NO
|
||||||
AND TRI.PLAN_NO = ZC.PLAN_NO
|
AND TRI.PLAN_NO = ZC.PLAN_NO
|
||||||
AND TRI.ROOF_ITEM_NO = (ZC.ROOF_ITEM_NO + 1)
|
AND TRI.ROOF_ITEM_NO = (ZC.ROOF_ITEM_NO + 1)
|
||||||
) AS M_SPEC2
|
) AS M_SPEC2
|
||||||
FROM
|
FROM
|
||||||
Z_CFG ZC
|
Z_CFG ZC
|
||||||
INNER JOIN T_PART_ESTIMATE TE ON ZC.OBJECT_NO = TE.OBJECT_NO
|
INNER JOIN T_PART_ESTIMATE TE ON ZC.OBJECT_NO = TE.OBJECT_NO
|
||||||
AND ZC.PLAN_NO = TE.PLAN_NO
|
AND ZC.PLAN_NO = TE.PLAN_NO
|
||||||
@ -463,48 +462,34 @@
|
|||||||
AND TE.ITEM_ID IN (ZC.P_ITEM_ID, ZC.PC_ITEM_ID, ZC.QCAST_CUST_PRD_ID)
|
AND TE.ITEM_ID IN (ZC.P_ITEM_ID, ZC.PC_ITEM_ID, ZC.QCAST_CUST_PRD_ID)
|
||||||
),
|
),
|
||||||
X AS (
|
X AS (
|
||||||
SELECT
|
SELECT
|
||||||
Y.M_ITEM_ID,
|
Y.M_ITEM_ID,
|
||||||
Y.M_SPEC,
|
Y.M_SPEC,
|
||||||
(Y.M_AMT2 - Y.M_AMT) AS M_CNT,
|
(Y.M_AMT2 - Y.M_AMT) AS M_CNT,
|
||||||
ROUND((Y.M_AMT * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000), 4) AS M_VOL,
|
ROUND((Y.M_AMT * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000), 4) AS M_VOL,
|
||||||
ROUND(
|
ROUND(
|
||||||
(Y.M_AMT2 * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000),
|
(Y.M_AMT2 * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000),4) AS M_VOL2,
|
||||||
4
|
ROUND(((Y.M_AMT2 - Y.M_AMT) * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000),4) AS R_VOL,
|
||||||
) AS M_VOL2,
|
|
||||||
ROUND(
|
|
||||||
(
|
|
||||||
(Y.M_AMT2 - Y.M_AMT) * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000
|
|
||||||
),
|
|
||||||
4
|
|
||||||
) AS R_VOL,
|
|
||||||
CASE
|
CASE
|
||||||
WHEN Y.M_AMT < Y.M_AMT2 THEN ROUND((Y.M_AMT * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000), 4)
|
WHEN Y.M_AMT < Y.M_AMT2 THEN ROUND((Y.M_AMT * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000), 4)
|
||||||
ELSE ROUND(
|
ELSE ROUND((Y.M_AMT2 * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000), 4 )
|
||||||
(Y.M_AMT2 * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000),
|
|
||||||
4
|
|
||||||
)
|
|
||||||
END AS M_VOL_KW,
|
END AS M_VOL_KW,
|
||||||
ROUND((Y.P_AMT * CAST(ISNULL(Y.P_SPEC, 0) AS FLOAT) / 1000), 4) AS PC_VOL_KW,
|
ROUND((Y.P_AMT * CAST(ISNULL(Y.P_SPEC, 0) AS FLOAT) / 1000), 4) AS PC_VOL_KW,
|
||||||
CASE
|
CASE
|
||||||
WHEN 0 < (Y.M_AMT2 - Y.M_AMT) THEN ROUND(
|
WHEN 0 < (Y.M_AMT2 - Y.M_AMT) THEN ROUND(((Y.M_AMT2 - Y.M_AMT) * CAST(ISNULL(Y.M_SPEC2, 0) AS FLOAT) / 1000),4)
|
||||||
(
|
|
||||||
(Y.M_AMT2 - Y.M_AMT) * CAST(ISNULL(Y.M_SPEC2, 0) AS FLOAT) / 1000
|
|
||||||
),
|
|
||||||
4
|
|
||||||
)
|
|
||||||
ELSE 0
|
ELSE 0
|
||||||
END AS M_VOL_KW2
|
END AS M_VOL_KW2
|
||||||
FROM
|
FROM
|
||||||
Y
|
Y )
|
||||||
)
|
|
||||||
SELECT
|
SELECT
|
||||||
SUM(
|
CAST(
|
||||||
CASE
|
SUM(
|
||||||
WHEN (X.M_VOL_KW + X.M_VOL_KW2) < X.PC_VOL_KW THEN (X.M_VOL_KW + X.M_VOL_KW2)
|
CASE
|
||||||
WHEN X.PC_VOL_KW <= (X.M_VOL_KW + X.M_VOL_KW2) THEN X.PC_VOL_KW
|
WHEN (X.M_VOL_KW + X.M_VOL_KW2) < X.PC_VOL_KW THEN (X.M_VOL_KW + X.M_VOL_KW2)
|
||||||
ELSE 0
|
WHEN X.PC_VOL_KW <= (X.M_VOL_KW + X.M_VOL_KW2) THEN X.PC_VOL_KW
|
||||||
END
|
ELSE 0
|
||||||
|
END
|
||||||
|
) AS DECIMAL(18,2)
|
||||||
) AS CERT_VOL_KW
|
) AS CERT_VOL_KW
|
||||||
FROM
|
FROM
|
||||||
X;
|
X;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user