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