introduce a new key-value pair in the ui json that indicates level of visibility to various roles
This commit is contained in:
parent
2a699e8f83
commit
3675b8541f
@ -1,12 +1,12 @@
|
||||
-- SELECT
|
||||
-- ui_json->'details'
|
||||
-- FROM pricequote.single_price_call(
|
||||
-- 'FARM0001',
|
||||
-- 'KEYB0001',
|
||||
-- 'HCA10000B661100',
|
||||
-- 'v1:T..CSE..D',
|
||||
-- 50000
|
||||
-- ) f;
|
||||
SELECT
|
||||
ui_json->'details'
|
||||
FROM pricequote.single_price_call(
|
||||
'FARM0001',
|
||||
'KEYB0001',
|
||||
'HCA10000B661100',
|
||||
'v1:T..CSE..D',
|
||||
50000
|
||||
) f;
|
||||
--
|
||||
-- SELECT
|
||||
-- ui_json->'details'
|
||||
@ -30,16 +30,16 @@
|
||||
--
|
||||
-- SELECT * FROM pricequote.lastpricedetail l WHERE customer = 'HYBELS' AND l.partgroup = 'HZP3E100';
|
||||
--
|
||||
-- SELECT
|
||||
-- pc.expl
|
||||
-- FROM
|
||||
-- pricequote.live_quotes
|
||||
-- LEFT JOIN LATERAL pricequote.single_price_call(
|
||||
-- billto, shipto, part, v1ds, units_each
|
||||
-- ) pc ON TRUE
|
||||
-- WHERE
|
||||
-- qid = 113173
|
||||
-- AND qrn = 32;
|
||||
SELECT
|
||||
pc.expl, pc.hist
|
||||
FROM
|
||||
pricequote.live_quotes
|
||||
LEFT JOIN LATERAL pricequote.single_price_call(
|
||||
billto, shipto, part, v1ds, units_each
|
||||
) pc ON TRUE
|
||||
WHERE
|
||||
qid = 113800
|
||||
AND qrn = 4;
|
||||
|
||||
create table pricequote.target_prices_base as (
|
||||
with
|
||||
|
@ -445,11 +445,13 @@ BEGIN
|
||||
(
|
||||
SELECT
|
||||
panel.label,
|
||||
panel.detailLevel,
|
||||
JSON_QUERY(panel.details) AS details
|
||||
FROM (
|
||||
-- History Panel
|
||||
SELECT
|
||||
'History' AS label,
|
||||
10 as detailLevel,
|
||||
(
|
||||
SELECT
|
||||
----------------------label------------------------------------------------
|
||||
@ -465,6 +467,8 @@ BEGIN
|
||||
END
|
||||
ELSE 'No Recent'
|
||||
END AS label,
|
||||
----------------------detail-----------------------------------------------
|
||||
10 AS detailLevel,
|
||||
----------------------value------------------------------------------------
|
||||
ISNULL(q.last_price, 0) AS value,
|
||||
----------------------type-------------------------------------------------
|
||||
@ -505,25 +509,30 @@ BEGIN
|
||||
-- List Panel
|
||||
SELECT
|
||||
'List' AS label,
|
||||
10 AS detailLevel,
|
||||
(
|
||||
SELECT
|
||||
COALESCE('Code: ' + q.listcode,'No List') AS label,
|
||||
10 AS detailLevel,
|
||||
COALESCE(q.listprice,0) AS value,
|
||||
'currency' AS type,
|
||||
COALESCE('List Min Qty: ' + format(q.list_from,'#,###'),'') + CASE WHEN q.list_relevance = '' THEN '' ELSE ' (' + q.list_relevance + ')' END AS note
|
||||
FOR JSON PATH
|
||||
)
|
||||
) AS details
|
||||
|
||||
UNION ALL
|
||||
|
||||
-- Target Support Panel
|
||||
SELECT
|
||||
'Target Calculation' AS label,
|
||||
10 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))
|
||||
@ -548,6 +557,8 @@ BEGIN
|
||||
SELECT
|
||||
----------------------label------------------------------------------------
|
||||
'Target' AS label,
|
||||
----------------------detailLevel------------------------------------------
|
||||
10 AS detailLevel,
|
||||
----------------------value------------------------------------------------
|
||||
tprice AS value,
|
||||
----------------------type-------------------------------------------------
|
||||
@ -564,9 +575,11 @@ BEGIN
|
||||
-- Guidance Panel
|
||||
SELECT
|
||||
'Guidance' AS label,
|
||||
10 AS detailLevel,
|
||||
(
|
||||
SELECT
|
||||
'Price' AS label,
|
||||
10 AS detailLevel,
|
||||
COALESCE(q.guidance_price,0) AS value,
|
||||
'currency' AS type,
|
||||
q.guidance_reason AS note
|
||||
|
@ -447,9 +447,11 @@ BEGIN
|
||||
------------------------------------------
|
||||
jsonb_build_object(
|
||||
'label', 'History',
|
||||
10, 'detailLevel',
|
||||
'details', jsonb_build_array(
|
||||
jsonb_build_object(
|
||||
'label', CASE WHEN _last_price IS NOT NULL THEN 'Last Sale: ' || _last_date ELSE 'No Recent' END,
|
||||
'detailLevel', 10,
|
||||
'value', COALESCE(_last_price,0),
|
||||
'type', 'currency',
|
||||
'note', CASE WHEN _last_price IS NOT NULL THEN
|
||||
@ -467,6 +469,7 @@ BEGIN
|
||||
||CASE WHEN COALESCE(_last_premium,1) <> 1 THEN
|
||||
COALESCE(jsonb_build_array(jsonb_build_object(
|
||||
'label','Price Difference',
|
||||
'detailLevel',10,
|
||||
'value', _last_premium,
|
||||
'type','percent',
|
||||
'note', _last_premium_method
|
||||
@ -477,6 +480,7 @@ BEGIN
|
||||
||CASE WHEN COALESCE(_last_premium,1) <> 1 THEN
|
||||
COALESCE(jsonb_build_array(jsonb_build_object(
|
||||
'label','Adjusted Price',
|
||||
'detailLevel',10,
|
||||
'value', _last_price_norm,
|
||||
'type','currency',
|
||||
'note','normalized to ' || _v1ds
|
||||
@ -490,9 +494,11 @@ BEGIN
|
||||
------------------------------------------
|
||||
jsonb_build_object(
|
||||
'label', 'List',
|
||||
'detailLevel',10,
|
||||
'details', jsonb_build_array(
|
||||
jsonb_build_object(
|
||||
'label', 'List:' || COALESCE(_list_code, ''),
|
||||
'detailLevel',10,
|
||||
'value', _list_price,
|
||||
'type', 'currency',
|
||||
'note', _list_relevance
|
||||
@ -504,6 +510,7 @@ BEGIN
|
||||
------------------------------------------
|
||||
jsonb_build_object(
|
||||
'label', 'Target Calculation',
|
||||
'detailLevel',10,
|
||||
'details',
|
||||
-- jsonb_build_array(
|
||||
(
|
||||
@ -512,6 +519,8 @@ BEGIN
|
||||
jsonb_build_object(
|
||||
----------------------label------------------------------------------------
|
||||
'label',CASE WHEN value <> '' THEN RTRIM(SUBSTRING(value,1,18)) ELSE 'No Target' END,
|
||||
----------------------detailLevel------------------------------------------
|
||||
'detailLevel',10,
|
||||
----------------------value------------------------------------------------
|
||||
'value',CASE WHEN value <> '' THEN
|
||||
SUBSTRING(value,23,7)::NUMERIC(20,5) +
|
||||
@ -545,9 +554,11 @@ BEGIN
|
||||
------------------------------------------
|
||||
jsonb_build_object(
|
||||
'label', 'Guidance',
|
||||
'detailLevel',10,
|
||||
'details', jsonb_build_array(
|
||||
jsonb_build_object(
|
||||
'label', 'Price',
|
||||
'detailLevel',10,
|
||||
'value', COALESCE(_guidance_price,0),
|
||||
'type', 'currency',
|
||||
'note', COALESCE(_guidance_reason,'')
|
||||
|
Loading…
Reference in New Issue
Block a user