Compare commits
3 Commits
5a8ae45a01
...
b33ae7d085
Author | SHA1 | Date | |
---|---|---|---|
b33ae7d085 | |||
e1fa96c59d | |||
36f52134ce |
@ -471,20 +471,70 @@ BEGIN
|
|||||||
panel.detailLevel,
|
panel.detailLevel,
|
||||||
JSON_QUERY(panel.details) AS details
|
JSON_QUERY(panel.details) AS details
|
||||||
FROM (
|
FROM (
|
||||||
-- Cost
|
-- Target Support Panel
|
||||||
SELECT
|
SELECT
|
||||||
'Cost' AS label,
|
'Target Calculation' AS label,
|
||||||
5 AS detailLevel,
|
5 AS detailLevel,
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT * FROM (
|
||||||
'Current Std' AS label,
|
SELECT
|
||||||
5 AS detailLevel,
|
----------------------label------------------------------------------------
|
||||||
COALESCE(q.curstd,0) AS value,
|
CASE WHEN value <> '' THEN replace(RTRIM(SUBSTRING(value,1,18)),'Anchor:', '') ELSE 'No Target' END AS label,
|
||||||
'currency' AS type,
|
----------------------detailLevel------------------------------------------
|
||||||
'' AS note
|
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
|
FOR JSON PATH
|
||||||
) AS details
|
) 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
|
UNION ALL
|
||||||
-- History Panel
|
-- History Panel
|
||||||
SELECT
|
SELECT
|
||||||
@ -557,72 +607,37 @@ BEGIN
|
|||||||
COALESCE('List Min Qty: ' + format(q.list_from,'#,###'),'') + CASE WHEN q.list_relevance = '' THEN '' ELSE ' (' + q.list_relevance + ')' END AS note
|
COALESCE('List Min Qty: ' + format(q.list_from,'#,###'),'') + CASE WHEN q.list_relevance = '' THEN '' ELSE ' (' + q.list_relevance + ')' END AS note
|
||||||
FOR JSON PATH
|
FOR JSON PATH
|
||||||
) AS details
|
) AS details
|
||||||
|
|
||||||
UNION ALL
|
UNION ALL
|
||||||
|
|
||||||
-- Target Support Panel
|
-- Cost
|
||||||
SELECT
|
SELECT
|
||||||
'Target Calculation' AS label,
|
'Cost' AS label,
|
||||||
5 AS detailLevel,
|
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
|
|
||||||
FOR JSON PATH
|
|
||||||
) AS details
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
-- Guidance Panel
|
|
||||||
SELECT
|
|
||||||
'Guidance' AS label,
|
|
||||||
1 AS detailLevel,
|
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
'Price' AS label,
|
'Current Std' AS label,
|
||||||
1 AS detailLevel,
|
5 AS detailLevel,
|
||||||
COALESCE(q.guidance_price,0) AS value,
|
COALESCE(q.curstd,0) AS value,
|
||||||
'currency' AS type,
|
'currency' AS type,
|
||||||
q.guidance_reason AS note
|
'' AS note
|
||||||
FOR JSON PATH
|
FOR JSON PATH
|
||||||
)
|
) AS details
|
||||||
|
|
||||||
|
UNION ALL
|
||||||
|
-- Cash Cost
|
||||||
|
SELECT
|
||||||
|
'Cash Cost' AS label,
|
||||||
|
5 AS detailLevel,
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
'Cash Cost' AS label,
|
||||||
|
5 AS detailLevel,
|
||||||
|
COALESCE(q.futstd,0) AS value,
|
||||||
|
'currency' AS type,
|
||||||
|
'' AS note
|
||||||
|
FOR JSON PATH
|
||||||
|
) AS details
|
||||||
) AS panel
|
) AS panel
|
||||||
FOR JSON PATH
|
FOR JSON PATH
|
||||||
) AS details,
|
) AS details,
|
||||||
|
Loading…
Reference in New Issue
Block a user