Changes between Version 4 and Version 5 of AdvancedReports


Ignore:
Timestamp:
12/23/25 19:11:14 (10 days ago)
Author:
211101
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports

    v4 v5  
    5050===== Надминување на баланс на една сметка со трансакција во сегашно време
    5151{{{#!sql
    52 SELECT
    53     u.user_id,
    54     u.user_name,
    55     ta.account_name,
    56     ta.balance AS current_balance,
    57     t.transaction_id,
    58     t.transaction_name,
    59     tb.spent_amount AS transaction_amount,
    60     t.date AS transaction_date
    61 FROM
    62     transaction_account ta
    63 JOIN user u ON ta.user_id = u.user_id
    64 JOIN transaction_breakdown tb ON ta.transaction_account_id = tb.transaction_account_id
    65 JOIN transaction t ON tb.transaction_id = t.transaction_id
    66 WHERE
    67     tb.spent_amount > ta.balance -- Трансакцијата го надминува моменталниот баланс на СМЕТКАТА
    68     AND tb.spent_amount > 0
    69 ORDER BY
    70     u.user_id, ta.account_name, t.date DESC;
     52CREATE OR REPLACE FUNCTION get_current_account_overdrafts()
     53RETURNS TABLE (
     54    user_id INT,
     55    user_name TEXT,
     56    account_name TEXT,
     57    current_balance NUMERIC,
     58    transaction_id INT,
     59    transaction_name TEXT,
     60    transaction_amount NUMERIC,
     61    transaction_date TIMESTAMP
     62)
     63LANGUAGE plpgsql
     64AS $$
     65BEGIN
     66    RETURN QUERY
     67    SELECT
     68        u.user_id,
     69        u.user_name,
     70        ta.account_name,
     71        ta.balance,
     72        t.transaction_id,
     73        t.transaction_name,
     74        tb.spent_amount,
     75        t.date
     76    FROM transaction_account ta
     77    JOIN "user" u ON ta.user_id = u.user_id
     78    JOIN transaction_breakdown tb ON ta.transaction_account_id = tb.transaction_account_id
     79    JOIN transaction t ON tb.transaction_id = t.transaction_id
     80    WHERE tb.spent_amount > ta.balance
     81      AND tb.spent_amount > 0
     82    ORDER BY t.date DESC;
     83END;
     84$$;
    7185}}}
    7286