aonestar
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
fn_get_transaction_js
Parameters
Name
Type
Mode
trn_id
integer
IN
include_logs
boolean
IN (DEFAULT false)
Definition
WITH trn AS ( SELECT t.id, fi.folio_id, fi.folio_seq, t.folio_item, t.charge_date AS "date", t.post_type, t.tran_type, dep.code, coalesce(t.description, dep."name") description, t.qty, t.amount, t.post_time, t.post_shift, t.post_user, t.reference, t.voided and not t.transfer_out as voided, t.splitted, t.splitted_src, t.transfer_in, t.transfer_src, t.transfer_out, t.transfer_des, t.tax_code, t.itemizers FROM transactions t LEFT JOIN department dep ON dep.id = t.dept_id LEFT JOIN folio_items fi ON fi.item_id = t.folio_item WHERE t.id = $1 ), logs AS ( SELECT id, log_user AS user_name, log_type, log_text, log_date, log_time, log_shift AS shift FROM cashier_log l WHERE l.tran_id = $1 ) SELECT CASE WHEN include_logs THEN ( SELECT row_to_json(trn)::jsonb || (SELECT jsonb_build_object('logs', COALESCE(json_agg(logs), '[]')) FROM logs) FROM trn )::json ELSE (SELECT row_to_json(trn) FROM trn) END