Compare commits
3 Commits
5a8ae45a01
...
b33ae7d085
Author | SHA1 | Date | |
---|---|---|---|
b33ae7d085 | |||
e1fa96c59d | |||
36f52134ce |
@ -471,20 +471,70 @@ BEGIN
|
||||
panel.detailLevel,
|
||||
JSON_QUERY(panel.details) AS details
|
||||
FROM (
|
||||
-- Cost
|
||||
-- Target Support Panel
|
||||
SELECT
|
||||
'Cost' AS label,
|
||||
5 AS detailLevel,
|
||||
'Target Calculation' AS label,
|
||||
5 AS detailLevel,
|
||||
(
|
||||
SELECT
|
||||
'Current Std' AS label,
|
||||
5 AS detailLevel,
|
||||
COALESCE(q.curstd,0) AS value,
|
||||
'currency' AS type,
|
||||
'' AS note
|
||||
SELECT * FROM (
|
||||
SELECT
|
||||
----------------------label------------------------------------------------
|
||||
CASE WHEN value <> '' THEN replace(RTRIM(SUBSTRING(value,1,18)),'Anchor:', '') ELSE 'No Target' END AS label,
|
||||
----------------------detailLevel------------------------------------------
|
||||
10 AS detailLevel,
|
||||
----------------------value------------------------------------------------
|
||||
CASE WHEN value <> '' THEN
|
||||
TRY_CAST(SUBSTRING(value,23,7) AS NUMERIC(20,5))
|
||||
+ CASE SUBSTRING(value,19,1) WHEN '+' THEN 0 ELSE -1 END
|
||||
ELSE 0 END AS value,
|
||||
----------------------type-------------------------------------------------
|
||||
CASE WHEN value <> '' THEN
|
||||
CASE SUBSTRING(value,19,1) WHEN '+' THEN 'currency' ELSE 'Percent' END
|
||||
ELSE '' END AS type,
|
||||
----------------------note-------------------------------------------------
|
||||
CASE WHEN value <> '' THEN
|
||||
CASE WHEN CHARINDEX('Anchor',value) <> 0 THEN
|
||||
'Base Floor'
|
||||
ELSE
|
||||
CASE SUBSTRING(value,19,1) WHEN '+' THEN 'Price' ELSE 'Premium' END
|
||||
END
|
||||
ELSE '' END AS note
|
||||
FROM @queue q
|
||||
OUTER APPLY OPENJSON(q.expl, '$.target_math')
|
||||
WITH (value NVARCHAR(MAX) '$')
|
||||
UNION ALL
|
||||
SELECT
|
||||
----------------------label------------------------------------------------
|
||||
'Target' AS label,
|
||||
----------------------detailLevel------------------------------------------
|
||||
5 AS detailLevel,
|
||||
----------------------value------------------------------------------------
|
||||
tprice AS value,
|
||||
----------------------type-------------------------------------------------
|
||||
'currency' AS type,
|
||||
----------------------note-------------------------------------------------
|
||||
'Total' AS note
|
||||
FROM @queue q
|
||||
) x
|
||||
FOR JSON PATH
|
||||
) AS details
|
||||
|
||||
UNION ALL
|
||||
|
||||
-- Guidance Panel
|
||||
SELECT
|
||||
'Guidance' AS label,
|
||||
1 AS detailLevel,
|
||||
(
|
||||
SELECT
|
||||
'Price' AS label,
|
||||
1 AS detailLevel,
|
||||
COALESCE(q.guidance_price,0) AS value,
|
||||
'currency' AS type,
|
||||
q.guidance_reason AS note
|
||||
FOR JSON PATH
|
||||
)
|
||||
|
||||
UNION ALL
|
||||
-- History Panel
|
||||
SELECT
|
||||
@ -558,71 +608,36 @@ BEGIN
|
||||
FOR JSON PATH
|
||||
) AS details
|
||||
|
||||
UNION ALL
|
||||
UNION ALL
|
||||
|
||||
-- Target Support Panel
|
||||
-- Cost
|
||||
SELECT
|
||||
'Target Calculation' AS label,
|
||||
5 AS detailLevel,
|
||||
'Cost' AS label,
|
||||
5 AS detailLevel,
|
||||
(
|
||||
SELECT * FROM (
|
||||
SELECT
|
||||
----------------------label------------------------------------------------
|
||||
CASE WHEN value <> '' THEN replace(RTRIM(SUBSTRING(value,1,18)),'Anchor:', '') ELSE 'No Target' END AS label,
|
||||
----------------------detailLevel------------------------------------------
|
||||
10 AS detailLevel,
|
||||
----------------------value------------------------------------------------
|
||||
CASE WHEN value <> '' THEN
|
||||
TRY_CAST(SUBSTRING(value,23,7) AS NUMERIC(20,5))
|
||||
+ CASE SUBSTRING(value,19,1) WHEN '+' THEN 0 ELSE -1 END
|
||||
ELSE 0 END AS value,
|
||||
----------------------type-------------------------------------------------
|
||||
CASE WHEN value <> '' THEN
|
||||
CASE SUBSTRING(value,19,1) WHEN '+' THEN 'currency' ELSE 'Percent' END
|
||||
ELSE '' END AS type,
|
||||
----------------------note-------------------------------------------------
|
||||
CASE WHEN value <> '' THEN
|
||||
CASE WHEN CHARINDEX('Anchor',value) <> 0 THEN
|
||||
'Base Floor'
|
||||
ELSE
|
||||
CASE SUBSTRING(value,19,1) WHEN '+' THEN 'Price' ELSE 'Premium' END
|
||||
END
|
||||
ELSE '' END AS note
|
||||
FROM @queue q
|
||||
OUTER APPLY OPENJSON(q.expl, '$.target_math')
|
||||
WITH (value NVARCHAR(MAX) '$')
|
||||
UNION ALL
|
||||
SELECT
|
||||
----------------------label------------------------------------------------
|
||||
'Target' AS label,
|
||||
----------------------detailLevel------------------------------------------
|
||||
5 AS detailLevel,
|
||||
----------------------value------------------------------------------------
|
||||
tprice AS value,
|
||||
----------------------type-------------------------------------------------
|
||||
'currency' AS type,
|
||||
----------------------note-------------------------------------------------
|
||||
'Total' AS note
|
||||
FROM @queue q
|
||||
) x
|
||||
SELECT
|
||||
'Current Std' AS label,
|
||||
5 AS detailLevel,
|
||||
COALESCE(q.curstd,0) AS value,
|
||||
'currency' AS type,
|
||||
'' AS note
|
||||
FOR JSON PATH
|
||||
) AS details
|
||||
|
||||
UNION ALL
|
||||
|
||||
-- Guidance Panel
|
||||
-- Cash Cost
|
||||
SELECT
|
||||
'Guidance' AS label,
|
||||
1 AS detailLevel,
|
||||
'Cash Cost' AS label,
|
||||
5 AS detailLevel,
|
||||
(
|
||||
SELECT
|
||||
'Price' AS label,
|
||||
1 AS detailLevel,
|
||||
COALESCE(q.guidance_price,0) AS value,
|
||||
'Cash Cost' AS label,
|
||||
5 AS detailLevel,
|
||||
COALESCE(q.futstd,0) AS value,
|
||||
'currency' AS type,
|
||||
q.guidance_reason AS note
|
||||
'' AS note
|
||||
FOR JSON PATH
|
||||
)
|
||||
) AS details
|
||||
) AS panel
|
||||
FOR JSON PATH
|
||||
) AS details,
|
||||
|
Loading…
Reference in New Issue
Block a user