Changes between Initial Version and Version 1 of Transaction2


Ignore:
Timestamp:
01/07/26 22:49:25 (45 hours ago)
Author:
211101
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Transaction2

    v1 v1  
     1= Атомично креирање на финансиска трансакција со повеќе помошни финансиски трансакции
     2
     3Корисникот креира сложена трансакција со следните карактеристики:
     4- Име на трансакција: //"Ручек со колеги"
     5- Вкупен износ: //2500 МКД
     6- Датум: //тековен датум
     7- Таг: //Food
     8- Плаќање: //2500 МКД платени од Cash
     9- Поврат: //1000 МКД добиени назад на Bank Account
     10
     11Оваа операција мора да:
     12- креира еден запис во `transaction`
     13- креира два записи во `transaction_breakdown` доколку не се фрли исклучок за лимитот
     14- ажурира баланси на двете сметки
     15- пресмета точен `net_amount`
     16- додели таг на трансакцијата
     17 
     18{{{#!sql
     19BEGIN;
     20
     21-- Се активира тригерот `trg_set_transaction_date`
     22
     23INSERT INTO transaction (
     24    transaction_name,
     25    amount,
     26    net_amount,
     27    date
     28)
     29VALUES (
     30    'Ручек со колеги',
     31    2500,
     32    0,
     33    NOW()
     34);
     35
     36-- Се активира тригерот `trg_cash_account_limit`
     37
     38INSERT INTO transaction_breakdown (
     39    transaction_id,
     40    transaction_account_id,
     41    spent_amount,
     42    earned_amount
     43)
     44VALUES (
     45    currval('transaction_transaction_id_seq'),
     46    1,
     47    2500,
     48    0
     49);
     50
     51-- Се активира тригерот `trg_update_transaction_account_balance`
     52
     53-- Се активира тригерот `trg_update_transaction_net_amount`
     54
     55-- Се активира тригерот `trg_debit_account_limit`
     56
     57INSERT INTO transaction_breakdown (
     58    transaction_id,
     59    transaction_account_id,
     60    spent_amount,
     61    earned_amount
     62)
     63VALUES (
     64    currval('transaction_transaction_id_seq'),
     65    2,
     66    0,
     67    1000
     68);
     69
     70-- Се активира тригерот `trg_update_transaction_account_balance`
     71
     72-- Се активира тригерот `trg_update_transaction_net_amount`
     73
     74INSERT INTO tag_assigned_to_transaction (
     75    transaction_id,
     76    tag_id
     77)
     78VALUES (
     79    currval('transaction_transaction_id_seq'),
     80    1
     81);
     82
     83COMMIT;
     84}}}