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, 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,