Compare commits

..

No commits in common. "ac7723f90bc6240d2612927495f3b68fdb1c08d7" and "08f70d58aebcb5dac72ef5d36e8d991c69347cc7" have entirely different histories.

View File

@ -367,7 +367,8 @@
<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 TCI AS ( ;WITH
TCI AS (
SELECT SELECT
TI.CIRCUIT_NO, TI.CIRCUIT_NO,
TI.OBJECT_NO, TI.OBJECT_NO,
@ -424,37 +425,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
@ -462,34 +463,48 @@
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),4) AS M_VOL2, (Y.M_AMT2 * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000),
ROUND(((Y.M_AMT2 - Y.M_AMT) * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000),4) AS R_VOL, 4
) 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((Y.M_AMT2 * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000), 4 ) ELSE ROUND(
(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(((Y.M_AMT2 - Y.M_AMT) * CAST(ISNULL(Y.M_SPEC2, 0) AS FLOAT) / 1000),4) 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
)
ELSE 0 ELSE 0
END AS M_VOL_KW2 END AS M_VOL_KW2
FROM FROM
Y ) Y
)
SELECT SELECT
CAST( SUM(
SUM( CASE
CASE WHEN (X.M_VOL_KW + X.M_VOL_KW2) < X.PC_VOL_KW THEN (X.M_VOL_KW + X.M_VOL_KW2)
WHEN (X.M_VOL_KW + X.M_VOL_KW2) < X.PC_VOL_KW THEN (X.M_VOL_KW + X.M_VOL_KW2) WHEN X.PC_VOL_KW <= (X.M_VOL_KW + X.M_VOL_KW2) THEN X.PC_VOL_KW
WHEN X.PC_VOL_KW <= (X.M_VOL_KW + X.M_VOL_KW2) THEN X.PC_VOL_KW ELSE 0
ELSE 0 END
END
) AS DECIMAL(18,2)
) AS CERT_VOL_KW ) AS CERT_VOL_KW
FROM FROM
X; X;