From d46e71a1709da8b34fd371bea0d8c53006a0a240 Mon Sep 17 00:00:00 2001 From: Paul Trowbridge Date: Mon, 11 Aug 2025 11:01:04 -0400 Subject: [PATCH] shorten the note on last sale --- procs/single_price_call.ms.sql | 47 ++++++++++++++++++++++------------ procs/single_price_call.pg.sql | 11 ++++++-- 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/procs/single_price_call.ms.sql b/procs/single_price_call.ms.sql index 841ca5c..9fe7a0e 100644 --- a/procs/single_price_call.ms.sql +++ b/procs/single_price_call.ms.sql @@ -440,23 +440,36 @@ BEGIN JSON_QUERY(panel.details) AS details FROM ( -- History Panel - SELECT - 'History' AS label, - ( - SELECT - 'Last Price' AS label, - q.last_price AS value, - 'currency' AS type, - CONCAT( - 'Source: ', ISNULL(q.last_source, 'N/A'), - ' | Date: ', ISNULL(CONVERT(varchar(10), q.last_date, 120), 'N/A'), - ' | Order: ', ISNULL(q.last_order, 'N/A'), - ' | Quote: ', ISNULL(q.last_quote, 'N/A'), - ' | Dataseg: ', ISNULL(q.last_dataseg, 'N/A'), - ' | Qty: ', ISNULL(CAST(q.last_qty AS varchar(32)), 'N/A') - ) AS note - FOR JSON PATH - ) AS details + SELECT + 'History' AS label, + ( + SELECT + CASE + WHEN q.last_price IS NOT NULL + THEN 'Last Sale: ' + ISNULL(CONVERT(varchar(10), q.last_date, 120), '') + ELSE 'No Recent' + END AS label, + ISNULL(q.last_price, 0) AS value, + 'currency' AS type, + CASE + WHEN q.last_price IS NOT NULL THEN + CONCAT( + CASE ISNULL(q.last_source, '') + WHEN 'mrq' THEN 'Recent similar quote' + WHEN 'mra' THEN 'Recent similar sales' + WHEN 'dsq' THEN 'Last quote' + WHEN 'mrq' THEN 'Last sale' + ELSE '' + END, + CASE WHEN ISNULL(q.last_order, '0') = '0' + THEN ' Qt# ' + ISNULL(q.last_quote, '') + ELSE ' Ord# ' + ISNULL(q.last_order, '') + END + ) + ELSE NULL + END AS note + FOR JSON PATH -- array with one object (no WITHOUT_ARRAY_WRAPPER) + ) AS details UNION ALL diff --git a/procs/single_price_call.pg.sql b/procs/single_price_call.pg.sql index 5fc76c6..5c98da3 100644 --- a/procs/single_price_call.pg.sql +++ b/procs/single_price_call.pg.sql @@ -35,7 +35,7 @@ ==================================================================================== */ -DROP FUNCTION pricequote.single_price_call(text,text,text,text,numeric); +--DROP FUNCTION pricequote.single_price_call(text,text,text,text,numeric); CREATE OR REPLACE FUNCTION pricequote.single_price_call( _bill TEXT, @@ -449,7 +449,14 @@ BEGIN 'label', CASE WHEN _last_price IS NOT NULL THEN 'Last Sale: ' || _last_date ELSE 'No Recent' END, 'value', COALESCE(_last_price,0), 'type', 'currency', - 'note', CASE WHEN _last_price IS NOT NULL THEN _last_source || + 'note', CASE WHEN _last_price IS NOT NULL THEN + CASE _last_source + WHEN 'mrq' THEN 'Recent similar quote' + WHEN 'mra' THEN 'Recent similar sales' + WHEN 'dsq' THEN 'Last quote' + WHEN 'mrq' THEN 'Last sale' + ELSE '' + END || CASE WHEN COALESCE(_last_order, '0') = '0' THEN ' Qt# ' || COALESCE(_last_quote, '') ELSE ' Ord# ' || COALESCE(_last_order, '') END ELSE NULL END )