From: Janusz Dobrowolski Date: Wed, 12 Nov 2008 22:20:36 +0000 (+0000) Subject: Coede reorganization to reuse sql query by db_pager. X-Git-Tag: v2.4.2~19^2~1758 X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=8859355ebe0888580acdc194edc121fbcc03b72b;p=fa-stable.git Coede reorganization to reuse sql query by db_pager. --- diff --git a/purchasing/includes/db/supp_trans_db.inc b/purchasing/includes/db/supp_trans_db.inc index bf5e539f..991fe7dd 100644 --- a/purchasing/includes/db/supp_trans_db.inc +++ b/purchasing/includes/db/supp_trans_db.inc @@ -88,32 +88,6 @@ function get_supp_trans($trans_no, $trans_type=-1) //---------------------------------------------------------------------------------------- -function get_supplier_transactions($extra_fields=null, $extra_conditions=null, $extra_tables=null) -{ - $sql = "SELECT ".TB_PREF."supp_trans.*, - ov_amount+ov_gst+ov_discount AS Total, - ".TB_PREF."suppliers.supp_name, ".TB_PREF."suppliers.address, - ".TB_PREF."suppliers.curr_code "; - - if ($extra_fields) - $sql .= ", $extra_fields "; - - $sql .= " FROM ".TB_PREF."supp_trans, ".TB_PREF."suppliers "; - if ($extra_tables) - $sql .= " ,$extra_tables "; - - $sql .= " WHERE ".TB_PREF."supp_trans.supplier_id=".TB_PREF."suppliers.supplier_id"; - - if ($extra_conditions) - $sql .= " AND $extra_conditions "; - - $sql .= " ORDER BY trans_no"; - - return db_query($sql, "Cannot retreive supplier transactions"); -} - -//---------------------------------------------------------------------------------------- - function exists_supp_trans($type, $type_no) { if ($type == 25) diff --git a/purchasing/includes/db/suppalloc_db.inc b/purchasing/includes/db/suppalloc_db.inc index 750bea5f..1c5a3581 100644 --- a/purchasing/includes/db/suppalloc_db.inc +++ b/purchasing/includes/db/suppalloc_db.inc @@ -85,9 +85,45 @@ function clear_supp_alloctions($type, $type_no, $date="") db_query($sql, "could not void supp transactions for type=$type and trans_no=$type_no"); } +//---------------------------------------------------------------------------------------- +function get_alloc_supp_sql($extra_fields=null, $extra_conditions=null, $extra_tables=null) +{ + $sql = "SELECT + trans.type, + trans.trans_no, + trans.reference, + trans.tran_date, + supplier.supp_name, + supplier.curr_code, + ov_amount+ov_gst+ov_discount AS Total, + trans.alloc, + trans.due_date, + trans.supplier_id, + supplier.address"; +/* $sql = "SELECT trans.*, + ov_amount+ov_gst+ov_discount AS Total, + supplier.supp_name, supplier.address, + supplier.curr_code "; +*/ + if ($extra_fields) + $sql .= ", $extra_fields "; + + $sql .= " FROM ".TB_PREF."supp_trans as trans, ".TB_PREF."suppliers as supplier"; + if ($extra_tables) + $sql .= " ,$extra_tables "; + + $sql .= " WHERE trans.supplier_id=supplier.supplier_id"; + + if ($extra_conditions) + $sql .= " AND $extra_conditions "; + + return $sql; +} + + //------------------------------------------------------------------------------------------------------------- -function get_allocatable_from_supp_transactions($supplier_id, $settled) +function get_allocatable_from_supp_sql($supplier_id, $settled) { $settled_sql = ""; if (!$settled) @@ -97,10 +133,12 @@ function get_allocatable_from_supp_transactions($supplier_id, $settled) $supp_sql = ""; if ($supplier_id != null) - $supp_sql = " AND ".TB_PREF."supp_trans.supplier_id = $supplier_id"; + $supp_sql = " AND trans.supplier_id = $supplier_id"; - return get_supplier_transactions("round(ABS(ov_amount+ov_gst+ov_discount)-alloc,6) <= 0 AS settled", + $sql = get_alloc_supp_sql("round(ABS(ov_amount+ov_gst+ov_discount)-alloc,6) <= 0 AS settled", "(type=22 OR type=21 OR type=1) AND (ov_amount < 0) " . $settled_sql . $supp_sql); + + return $sql; } //------------------------------------------------------------------------------------------------------------- @@ -109,19 +147,21 @@ function get_allocatable_to_supp_transactions($supplier_id, $trans_no=null, $typ { if ($trans_no != null && $type!= null) { - return get_supplier_transactions("amt", "".TB_PREF."supp_trans.trans_no = ".TB_PREF."supp_allocations.trans_no_to - AND ".TB_PREF."supp_trans.type = ".TB_PREF."supp_allocations.trans_type_to - AND ".TB_PREF."supp_allocations.trans_no_from=$trans_no - AND ".TB_PREF."supp_allocations.trans_type_from=$type - AND ".TB_PREF."supp_trans.supplier_id=$supplier_id", - "".TB_PREF."supp_allocations"); + $sql = get_alloc_supp_sql("amt", "trans.trans_no = alloc.trans_no_to + AND trans.type = alloc.trans_type_to + AND alloc.trans_no_from=$trans_no + AND alloc.trans_type_from=$type + AND trans.supplier_id=$supplier_id", + "".TB_PREF."supp_allocations as alloc"); } else { - return get_supplier_transactions(null, "round(ABS(ov_amount+ov_gst+ov_discount)-alloc,6) > 0 - AND ".TB_PREF."supp_trans.type != 22 - AND ".TB_PREF."supp_trans.supplier_id=$supplier_id"); + $sql = get_alloc_supp_sql(null, "round(ABS(ov_amount+ov_gst+ov_discount)-alloc,6) > 0 + AND trans.type != 22 + AND trans.supplier_id=$supplier_id"); } + + return db_query($sql." ORDER BY trans_no", "Cannot retreive alloc to transactions"); } diff --git a/sales/includes/db/custalloc_db.inc b/sales/includes/db/custalloc_db.inc index 44bdcb23..a9fc9346 100644 --- a/sales/includes/db/custalloc_db.inc +++ b/sales/includes/db/custalloc_db.inc @@ -84,17 +84,19 @@ function clear_cust_alloctions($type, $type_no, $date="") } //---------------------------------------------------------------------------------------- -function get_customer_transactions($extra_fields=null, $extra_conditions=null, $extra_tables=null) +function get_alloc_trans_sql($extra_fields=null, $extra_conditions=null, $extra_tables=null) { - $sql = "SELECT trans.trans_no, + $sql = "SELECT trans.type, - trans.tran_date, - trans.due_date, + trans.trans_no, trans.reference, - trans.alloc, - ov_amount+ov_gst+ov_freight+ov_freight_tax+ov_discount AS Total, - debtor.name AS DebtorName, debtor.address, + trans.tran_date, + debtor.name AS DebtorName, debtor.curr_code, + ov_amount+ov_gst+ov_freight+ov_freight_tax+ov_discount AS Total, + trans.alloc, + trans.due_date, + debtor.address, trans.version "; if ($extra_fields) @@ -109,16 +111,14 @@ function get_customer_transactions($extra_fields=null, $extra_conditions=null, $ if ($extra_conditions) $sql .= " AND $extra_conditions "; - - $sql .= " ORDER BY trans_no"; - - return db_query($sql, "Cannot retreive debtor transactions"); + + return $sql; } //------------------------------------------------------------------------------------------------------------- -function get_allocatable_from_cust_transactions($customer_id, $settled) +function get_allocatable_from_cust_sql($customer_id, $settled) { $settled_sql = ""; if (!$settled) @@ -129,8 +129,10 @@ function get_allocatable_from_cust_transactions($customer_id, $settled) if ($customer_id != null) $cust_sql = " AND trans.debtor_no = $customer_id"; - return get_customer_transactions("round(ov_amount+ov_gst+ov_freight+ov_freight_tax+ov_discount-alloc,6) <= 0 AS settled", + $sql = get_alloc_trans_sql("round(ov_amount+ov_gst+ov_freight+ov_freight_tax+ov_discount-alloc,6) <= 0 AS settled", "(type=12 OR type=11 OR type=2) AND (trans.ov_amount > 0) " . $settled_sql . $cust_sql); + + return $sql; } //------------------------------------------------------------------------------------------------------------- @@ -139,7 +141,7 @@ function get_allocatable_to_cust_transactions($customer_id, $trans_no=null, $typ { if ($trans_no != null and $type != null) { - return get_customer_transactions("amt", "trans.trans_no = alloc.trans_no_to + $sql = get_alloc_trans_sql("amt", "trans.trans_no = alloc.trans_no_to AND trans.type = alloc.trans_type_to AND alloc.trans_no_from=$trans_no AND alloc.trans_type_from=$type @@ -148,13 +150,15 @@ function get_allocatable_to_cust_transactions($customer_id, $trans_no=null, $typ } else { - return get_customer_transactions(null, "round(ov_amount+ov_gst+ov_freight+ov_freight_tax+ov_discount-alloc,6) > 0 + $sql = get_alloc_trans_sql(null, "round(ov_amount+ov_gst+ov_freight+ov_freight_tax+ov_discount-alloc,6) > 0 AND trans.type != " . systypes::cust_payment() . " AND trans.type != " . systypes::bank_deposit() . " AND trans.type != 11 AND trans.type != 13 AND trans.debtor_no=$customer_id"); } + + return db_query($sql." ORDER BY trans_no", "Cannot retreive alloc to transactions"); }