From 327bdb5d6f9a11274f0bedd20e6c9d39276a5f8f Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Sun, 27 Oct 2013 00:09:48 +0200 Subject: [PATCH] Bank Payment View, Bank Deposit View: fixed 'left to allocate' amount, added value in customer/payment currency. --- gl/includes/db/gl_db_bank_trans.inc | 25 +++++++++++++++++-------- gl/view/gl_deposit_view.php | 17 +++++++++++------ gl/view/gl_payment_view.php | 17 +++++++++++------ 3 files changed, 39 insertions(+), 20 deletions(-) diff --git a/gl/includes/db/gl_db_bank_trans.inc b/gl/includes/db/gl_db_bank_trans.inc index 601827b1..49c1c9ff 100644 --- a/gl/includes/db/gl_db_bank_trans.inc +++ b/gl/includes/db/gl_db_bank_trans.inc @@ -65,18 +65,27 @@ function exists_bank_trans($type, $type_no) function get_bank_trans($type, $trans_no=null, $person_type_id=null, $person_id=null) { - $sql = "SELECT *, bank_account_name, account_code, bank_curr_code - FROM ".TB_PREF."bank_trans, ".TB_PREF."bank_accounts - WHERE ".TB_PREF."bank_accounts.id=".TB_PREF."bank_trans.bank_act "; + $sql = "SELECT bt.*, act.*, + IFNULL(abs(dt.ov_amount), IFNULL (abs(st.ov_amount), bt.amount)) settled_amount, + IFNULL(abs(dt.ov_amount/bt.amount), IFNULL (abs(st.ov_amount/bt.amount), 1)) settle_rate, + IFNULL(debtor.curr_code, IFNULL (supplier.curr_code, act.bank_curr_code)) settle_curr + + FROM ".TB_PREF."bank_trans bt + LEFT JOIN ".TB_PREF."debtor_trans dt ON dt.type=bt.type AND dt.trans_no=bt.trans_no + LEFT JOIN ".TB_PREF."debtors_master debtor ON debtor.debtor_no = dt.debtor_no + LEFT JOIN ".TB_PREF."supp_trans st ON st.type=bt.type AND st.trans_no=bt.trans_no + LEFT JOIN ".TB_PREF."suppliers supplier ON supplier.supplier_id = st.supplier_id, + ".TB_PREF."bank_accounts act + WHERE act.id=bt.bank_act "; if ($type != null) - $sql .= " AND type=".db_escape($type); + $sql .= " AND bt.type=".db_escape($type); if ($trans_no != null) - $sql .= " AND ".TB_PREF."bank_trans.trans_no = ".db_escape($trans_no); + $sql .= " AND bt.trans_no = ".db_escape($trans_no); if ($person_type_id != null) - $sql .= " AND ".TB_PREF."bank_trans.person_type_id = ".db_escape($person_type_id); + $sql .= " AND bt.person_type_id = ".db_escape($person_type_id); if ($person_id != null) - $sql .= " AND ".TB_PREF."bank_trans.person_id = ".db_escape($person_id); - $sql .= " ORDER BY trans_date, ".TB_PREF."bank_trans.id"; + $sql .= " AND bt.person_id = ".db_escape($person_id); + $sql .= " ORDER BY trans_date, bt.id"; return db_query($sql, "query for bank transaction"); } diff --git a/gl/view/gl_deposit_view.php b/gl/view/gl_deposit_view.php index 42e1aa39..88d315aa 100644 --- a/gl/view/gl_deposit_view.php +++ b/gl/view/gl_deposit_view.php @@ -38,7 +38,7 @@ $company_currency = get_company_currency(); $show_currencies = false; -if ($to_trans['bank_curr_code'] != $company_currency) +if ($to_trans['bank_curr_code'] != $to_trans['settle_curr']) { $show_currencies = true; } @@ -52,13 +52,13 @@ start_table(TABLESTYLE, "width=80%"); if ($show_currencies) { - $colspan1 = 5; - $colspan2 = 8; + $colspan1 = 1; + $colspan2 = 7; } else { $colspan1 = 3; - $colspan2 = 6; + $colspan2 = 5; } start_row(); label_cells(_("To Bank Account"), $to_trans['bank_account_name'], "class='tableheader2'"); @@ -69,6 +69,11 @@ label_cells(_("Date"), sql2date($to_trans['trans_date']), "class='tableheader2'" end_row(); start_row(); label_cells(_("From"), payment_person_name($to_trans['person_type_id'], $to_trans['person_id']), "class='tableheader2'", "colspan=$colspan1"); +if ($show_currencies) +{ + label_cells(_("Settle currency"), $to_trans['settle_curr'], "class='tableheader2'"); + label_cells(_("Settled amount"), number_format2($to_trans['settled_amount'], user_price_dec()), "class='tableheader2'"); +} label_cells(_("Deposit Type"), $bank_transfer_types[$to_trans['account_type']], "class='tableheader2'"); end_row(); start_row(); @@ -91,7 +96,7 @@ else display_heading2(_("Items for this Deposit")); if ($show_currencies) - display_heading2(_("Item Amounts are Shown in :") . " " . $company_currency); + display_heading2(_("Item Amounts are Shown in:") . " " . $company_currency); start_table(TABLESTYLE, "width=80%"); $dim = get_company_pref('use_dimension'); @@ -133,7 +138,7 @@ else end_table(1); - display_allocations_from($to_trans['person_type_id'], $to_trans['person_id'], 2, $trans_no, $to_trans['amount']); + display_allocations_from($to_trans['person_type_id'], $to_trans['person_id'], 2, $trans_no, $to_trans['settled_amount']); } end_page(true, false, false, ST_BANKDEPOSIT, $trans_no); diff --git a/gl/view/gl_payment_view.php b/gl/view/gl_payment_view.php index f348de15..344eec35 100644 --- a/gl/view/gl_payment_view.php +++ b/gl/view/gl_payment_view.php @@ -38,7 +38,7 @@ $company_currency = get_company_currency(); $show_currencies = false; -if ($from_trans['bank_curr_code'] != $company_currency) +if ($from_trans['bank_curr_code'] != $from_trans['settle_curr']) { $show_currencies = true; } @@ -50,13 +50,13 @@ start_table(TABLESTYLE, "width=80%"); if ($show_currencies) { - $colspan1 = 5; - $colspan2 = 8; + $colspan1 = 1; + $colspan2 = 7; } else { $colspan1 = 3; - $colspan2 = 6; + $colspan2 = 5; } start_row(); label_cells(_("From Bank Account"), $from_trans['bank_account_name'], "class='tableheader2'"); @@ -67,6 +67,11 @@ label_cells(_("Date"), sql2date($from_trans['trans_date']), "class='tableheader2 end_row(); start_row(); label_cells(_("Pay To"), payment_person_name($from_trans['person_type_id'], $from_trans['person_id']), "class='tableheader2'", "colspan=$colspan1"); +if ($show_currencies) +{ + label_cells(_("Settle currency"), $from_trans['settle_curr'], "class='tableheader2'"); + label_cells(_("Settled amount"), number_format2($from_trans['settled_amount'], user_price_dec()), "class='tableheader2'"); +} label_cells(_("Payment Type"), $bank_transfer_types[$from_trans['account_type']], "class='tableheader2'"); end_row(); start_row(); @@ -89,7 +94,7 @@ else display_heading2(_("Items for this Payment")); if ($show_currencies) - display_heading2(_("Item Amounts are Shown in :") . " " . $company_currency); + display_heading2(_("Item Amounts are Shown in:") . " " . $company_currency); echo "
"; start_table(TABLESTYLE, "width=80%"); @@ -133,7 +138,7 @@ else end_table(1); if (!$voided) - display_allocations_from($from_trans['person_type_id'], $from_trans['person_id'], 1, $trans_no, -$from_trans['amount']); + display_allocations_from($from_trans['person_type_id'], $from_trans['person_id'], 1, $trans_no, $from_trans['settled_amount']); } end_page(true, false, false, ST_BANKPAYMENT, $trans_no); -- 2.30.2