Merge pull request '[1375]인증용량 pcs 관련 스펙 추가' (#380) from dev into prd-deploy
Reviewed-on: #380
This commit is contained in:
commit
8325f05983
@ -368,119 +368,111 @@
|
||||
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateRoofCertVolKw */
|
||||
<![CDATA[
|
||||
;WITH TCI AS (
|
||||
SELECT
|
||||
TI.CIRCUIT_NO,
|
||||
TI.OBJECT_NO,
|
||||
TI.PLAN_NO,
|
||||
TI.ITEM_ID,
|
||||
TI.CIRCUIT_CFG,
|
||||
COUNT(*) AS P_AMT
|
||||
FROM
|
||||
T_PART_CIRCUIT_ITEM_ESTIMATE TI
|
||||
GROUP BY
|
||||
TI.CIRCUIT_NO,
|
||||
TI.OBJECT_NO,
|
||||
TI.PLAN_NO,
|
||||
TI.ITEM_ID,
|
||||
TI.CIRCUIT_CFG
|
||||
),
|
||||
Z AS (
|
||||
SELECT
|
||||
TRI.ROOF_ITEM_NO,
|
||||
TRI.OBJECT_NO,
|
||||
TRI.PLAN_NO,
|
||||
TRI.ITEM_ID AS M_ITEM_ID,
|
||||
TRI.ITEM_NO,
|
||||
TRI.SPECIFICATION AS M_SPEC,
|
||||
TRI.AMOUNT AS M_AMT,
|
||||
TCI.ITEM_ID AS P_ITEM_ID,
|
||||
TRI.PC_ITEM_ID,
|
||||
TRI.QCAST_CUST_PRD_ID,
|
||||
TCI.P_AMT,
|
||||
TCI.CIRCUIT_CFG
|
||||
FROM
|
||||
T_PART_ROOF_ITEM_ESTIMATE TRI
|
||||
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.PLAN_NO = TR.PLAN_NO
|
||||
INNER JOIN TCI ON TRI.ROOF_ITEM_NO = TCI.CIRCUIT_NO
|
||||
AND TRI.OBJECT_NO = TCI.OBJECT_NO
|
||||
AND TRI.PLAN_NO = TCI.PLAN_NO
|
||||
WHERE
|
||||
TRI.OBJECT_NO = #{objectNo}
|
||||
AND TRI.PLAN_NO = #{planNo}
|
||||
),
|
||||
Z_CFG AS (
|
||||
SELECT
|
||||
Z.*,
|
||||
CAST(ISNULL(SPLIT.M_1, 0) AS INT) AS M_1,
|
||||
CAST(ISNULL(SPLIT.M_2, 0) AS INT) AS M_2,
|
||||
CAST(ISNULL(SPLIT.M_3, 0) AS INT) AS M_3
|
||||
FROM
|
||||
Z CROSS APPLY (
|
||||
SELECT
|
||||
TI.CIRCUIT_NO,
|
||||
TI.OBJECT_NO,
|
||||
TI.PLAN_NO,
|
||||
TI.ITEM_ID,
|
||||
TI.CIRCUIT_CFG,
|
||||
COUNT(*) AS P_AMT
|
||||
FROM T_PART_CIRCUIT_ITEM_ESTIMATE TI
|
||||
GROUP BY TI.CIRCUIT_NO, TI.OBJECT_NO, TI.PLAN_NO, TI.ITEM_ID, TI.CIRCUIT_CFG
|
||||
),
|
||||
Z AS (
|
||||
SELECT
|
||||
TRI.ROOF_ITEM_NO,
|
||||
TRI.OBJECT_NO,
|
||||
TRI.PLAN_NO,
|
||||
TRI.ITEM_ID AS M_ITEM_ID,
|
||||
TRI.ITEM_NO,
|
||||
TRI.SPECIFICATION AS M_SPEC,
|
||||
TRI.AMOUNT AS M_AMT,
|
||||
TCI.ITEM_ID AS P_ITEM_ID,
|
||||
TRI.PC_ITEM_ID,
|
||||
TRI.QCAST_CUST_PRD_ID,
|
||||
TCI.P_AMT
|
||||
, (SELECT ISNULL(M.PNOW_W,0) FROM M_ITEM M WHERE M.ITEM_ID = TCI.ITEM_ID) AS P_SPEC
|
||||
, (SELECT ISNULL(M.PNOW_W,0) FROM M_ITEM M WHERE M.ITEM_ID = TRI.PC_ITEM_ID) AS PC_SPEC
|
||||
, (SELECT ISNULL(M.PNOW_W,0) FROM M_ITEM M WHERE M.ITEM_ID = TRI.QCAST_CUST_PRD_ID) AS CUST_SPEC
|
||||
,TCI.CIRCUIT_CFG
|
||||
FROM T_PART_ROOF_ITEM_ESTIMATE TRI
|
||||
INNER JOIN TCI
|
||||
ON TRI.ROOF_ITEM_NO = TCI.CIRCUIT_NO
|
||||
AND TRI.OBJECT_NO = TCI.OBJECT_NO
|
||||
AND TRI.PLAN_NO = TCI.PLAN_NO
|
||||
WHERE
|
||||
TRI.OBJECT_NO = #{objectNo}
|
||||
AND
|
||||
TRI.PLAN_NO = #{planNo}
|
||||
),
|
||||
Z_CFG AS (
|
||||
SELECT
|
||||
Z.*,
|
||||
CAST(ISNULL(SPLIT.M_1, 0) AS INT) AS M_1,
|
||||
CAST(ISNULL(SPLIT.M_2, 0) AS INT) AS M_2,
|
||||
CAST(ISNULL(SPLIT.M_3, 0) AS INT) AS M_3
|
||||
FROM Z
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
X.value('(/x[1]/v[1])[1]', 'VARCHAR(50)') AS M_1,
|
||||
X.value('(/x[1]/v[2])[1]', 'VARCHAR(50)') AS M_2,
|
||||
X.value('(/x[1]/v[3])[1]', 'VARCHAR(50)') AS M_3
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
CAST(
|
||||
'<x><v>' + REPLACE(ISNULL(Z.CIRCUIT_CFG, ''), ',', '</v><v>') + '</v></x>' AS XML
|
||||
)
|
||||
) A(X)
|
||||
) SPLIT
|
||||
),
|
||||
FROM (
|
||||
SELECT CAST('<x><v>' + REPLACE(ISNULL(Z.CIRCUIT_CFG, ''), ',', '</v><v>') + '</v></x>' AS XML)
|
||||
) A(X)
|
||||
) SPLIT
|
||||
),
|
||||
Y AS (
|
||||
SELECT
|
||||
ZC.ROOF_ITEM_NO,
|
||||
ZC.M_ITEM_ID,
|
||||
ZC.M_SPEC,
|
||||
ZC.M_AMT,
|
||||
(ZC.M_1 + ZC.M_2 + ZC.M_3) AS M_AMT2,
|
||||
ZC.P_ITEM_ID,
|
||||
TE.SPECIFICATION AS P_SPEC,
|
||||
ZC.P_AMT,
|
||||
(
|
||||
SELECT
|
||||
SPECIFICATION
|
||||
FROM
|
||||
T_PART_ROOF_ITEM_ESTIMATE TRI
|
||||
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.PLAN_NO = TR.PLAN_NO
|
||||
WHERE
|
||||
TRI.OBJECT_NO = ZC.OBJECT_NO
|
||||
AND TRI.PLAN_NO = ZC.PLAN_NO
|
||||
AND TRI.ROOF_ITEM_NO = (ZC.ROOF_ITEM_NO + 1)
|
||||
) AS M_SPEC2
|
||||
FROM
|
||||
Z_CFG ZC
|
||||
INNER JOIN T_PART_ESTIMATE TE ON ZC.OBJECT_NO = TE.OBJECT_NO
|
||||
AND ZC.PLAN_NO = TE.PLAN_NO
|
||||
AND 0 < CAST(TE.SPECIFICATION AS FLOAT)
|
||||
SELECT
|
||||
ZC.ROOF_ITEM_NO,
|
||||
ZC.M_ITEM_ID,
|
||||
ZC.M_SPEC,
|
||||
ZC.M_AMT,
|
||||
(ZC.M_1 + ZC.M_2 + ZC.M_3) AS M_AMT2,
|
||||
ZC.P_ITEM_ID,
|
||||
ZC.P_AMT,
|
||||
ZC.PC_ITEM_ID,
|
||||
ZC.QCAST_CUST_PRD_ID,
|
||||
CASE
|
||||
WHEN ZC.P_SPEC != '0' THEN P_SPEC
|
||||
WHEN ZC.CUST_SPEC != '0' THEN CUST_SPEC
|
||||
WHEN ZC.PC_SPEC != '0' THEN PC_SPEC
|
||||
ELSE '0'
|
||||
END
|
||||
AS P_SPEC,
|
||||
(SELECT SPECIFICATION
|
||||
FROM T_PART_ROOF_ITEM_ESTIMATE
|
||||
WHERE OBJECT_NO = ZC.OBJECT_NO
|
||||
AND PLAN_NO = ZC.PLAN_NO
|
||||
AND ROOF_ITEM_NO = (ZC.ROOF_ITEM_NO + 1)) AS M_SPEC2
|
||||
FROM Z_CFG ZC
|
||||
INNER JOIN T_PART_ESTIMATE TE
|
||||
ON ZC.OBJECT_NO = TE.OBJECT_NO
|
||||
AND ZC.PLAN_NO = TE.PLAN_NO
|
||||
AND TE.ITEM_ID IN (ZC.P_ITEM_ID, ZC.PC_ITEM_ID, ZC.QCAST_CUST_PRD_ID)
|
||||
),
|
||||
X AS (
|
||||
SELECT
|
||||
SELECT
|
||||
Y.M_ITEM_ID,
|
||||
Y.M_SPEC,
|
||||
(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_AMT2 * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000),4) AS M_VOL2,
|
||||
ROUND(((Y.M_AMT2 - Y.M_AMT) * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000),4) AS R_VOL,
|
||||
ROUND((Y.M_AMT * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000), 4) AS M_VOL,
|
||||
ROUND((Y.M_AMT2 * CAST(ISNULL(Y.M_SPEC, 0) AS FLOAT) / 1000), 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
|
||||
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 )
|
||||
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)
|
||||
END AS M_VOL_KW,
|
||||
ROUND((Y.P_AMT * CAST(ISNULL(Y.P_SPEC, 0) AS FLOAT) / 1000), 4) AS PC_VOL_KW,
|
||||
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
|
||||
END AS M_VOL_KW2
|
||||
FROM
|
||||
Y )
|
||||
FROM Y
|
||||
)
|
||||
SELECT
|
||||
CAST(
|
||||
SUM(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user