Annotation: transactions.get_receipt_view
CREATE OR REPLACE FUNCTION transactions.get_receipt_view(_user_id integer, _office_id integer, _date_from date, _date_to date, _office character varying, _party text, _user character varying, _reference_number character varying, _statement_reference text)
RETURNS TABLE(id bigint, value_date date, reference_number text, statement_reference text, office text, party text, "user" text, currency_code text, amount money_strict, transaction_ts timestamp with time zone, flag_background_color text, flag_foreground_color text)
Information: transactions.get_receipt_view
Schema | transactions |
Function Name | get_receipt_view |
Arguments | _user_id integer, _office_id integer, _date_from date, _date_to date, _office character varying, _party text, _user character varying, _reference_number character varying, _statement_reference text |
Owner | postgres |
Result Type | TABLE(id bigint, value_date date, reference_number text, statement_reference text, office text, party text, "user" text, currency_code text, amount money_strict, transaction_ts timestamp with time zone, flag_background_color text, flag_foreground_color text) |
Description | |
Implementation: transactions.get_receipt_view
CREATE OR REPLACE FUNCTION transactions.get_receipt_view(_user_id integer, _office_id integer, _date_from date, _date_to date, _office character varying, _party text, _user character varying, _reference_number character varying, _statement_reference text)
RETURNS TABLE(id bigint, value_date date, reference_number text, statement_reference text, office text, party text, "user" text, currency_code text, amount money_strict, transaction_ts timestamp with time zone, flag_background_color text, flag_foreground_color text)
LANGUAGE plpgsql
AS $function$
BEGIN
RETURN QUERY
SELECT
transactions.transaction_master.transaction_master_id,
transactions.transaction_master.value_date,
transactions.transaction_master.reference_number::text,
transactions.transaction_master.statement_reference::text,
office.offices.office_code || ' (' || office.offices.office_name || ')' as office,
core.parties.party_code || ' (' || core.parties.party_name || ')' as party,
office.users.user_name::text,
transactions.customer_receipts.currency_code::text,
transactions.customer_receipts.amount,
transactions.transaction_master.transaction_ts,
core.get_flag_background_color(core.get_flag_type_id(_user_id, 'transactions.transaction_master', 'transaction_master_id', transactions.transaction_master.transaction_master_id::text)) AS flag_bg,
core.get_flag_foreground_color(core.get_flag_type_id(_user_id, 'transactions.transaction_master', 'transaction_master_id', transactions.transaction_master.transaction_master_id::text)) AS flag_fg
FROM transactions.customer_receipts
INNER JOIN core.parties
ON transactions.customer_receipts.party_id = core.parties.party_id
INNER JOIN transactions.transaction_master
ON transactions.customer_receipts.transaction_master_id = transactions.transaction_master.transaction_master_id
INNER JOIN office.offices
ON transactions.transaction_master.office_id = office.offices.office_id
INNER JOIN office.users
ON transactions.transaction_master.user_id = office.users.user_id
WHERE transactions.transaction_master.verification_status_id > 0
AND transactions.transaction_master.office_id IN (SELECT * FROM office.get_office_ids(_office_id))
AND transactions.transaction_master.value_date BETWEEN _date_from AND _date_to
AND
lower
(
core.parties.party_code || ' (' || core.parties.party_name || ')'
) LIKE '%' || lower(_party) || '%'
AND
lower
(
office.users.user_name
) LIKE '%' || lower(_user) || '%'
AND
lower
(
transactions.transaction_master.reference_number
) LIKE '%' || lower(_reference_number) || '%'
AND
lower
(
transactions.transaction_master.statement_reference
) LIKE '%' || lower(_statement_reference) || '%'
AND lower
(
office.offices.office_code
) LIKE '%' || lower(_office) || '%'
LIMIT 100;
END
$function$