Compare commits

...

3 Commits

Author SHA1 Message Date
b33ae7d085 add cash cost with visibility level 5 2025-10-03 16:54:21 -04:00
e1fa96c59d move cost 2025-10-03 16:36:21 -04:00
36f52134ce move guidance to top 2025-10-03 16:35:17 -04:00

View File

@ -471,20 +471,70 @@ BEGIN
panel.detailLevel,
JSON_QUERY(panel.details) AS details
FROM (
-- Cost
-- Target Support Panel
SELECT
'Cost' AS label,
'Target Calculation' AS label,
5 AS detailLevel,
(
SELECT * FROM (
SELECT
'Current Std' AS label,
----------------------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,
COALESCE(q.curstd,0) AS value,
----------------------value------------------------------------------------
tprice AS value,
----------------------type-------------------------------------------------
'currency' AS type,
'' AS note
----------------------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
@ -560,69 +610,34 @@ BEGIN
UNION ALL
-- Target Support Panel
-- Cost
SELECT
'Target Calculation' AS label,
'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------------------------------------------
'Current Std' AS label,
5 AS detailLevel,
----------------------value------------------------------------------------
tprice AS value,
----------------------type-------------------------------------------------
COALESCE(q.curstd,0) AS value,
'currency' AS type,
----------------------note-------------------------------------------------
'Total' AS note
FROM @queue q
) x
'' 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,