Moved all SQL statements from PHP files into relevant *_db.inc files.
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Sat, 5 Dec 2009 09:27:17 +0000 (09:27 +0000)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Sat, 5 Dec 2009 09:27:17 +0000 (09:27 +0000)
All folders done, except reporting/repXXX.php and reporting/includes/reports_classes.inc
Awaiting change in report mechanism

33 files changed:
CHANGELOG.txt
includes/ui/allocation_cart.inc
reporting/includes/header2.inc
reporting/includes/reports_classes.inc
sales/create_recurrent_invoices.php
sales/customer_payments.php
sales/includes/db/branches_db.inc
sales/includes/db/cust_trans_db.inc
sales/includes/db/custalloc_db.inc
sales/includes/db/customers_db.inc
sales/includes/db/recurrent_invoices_db.inc [new file with mode: 0644]
sales/includes/db/sales_groups_db.inc [new file with mode: 0644]
sales/includes/db/sales_order_db.inc
sales/includes/sales_db.inc
sales/inquiry/customer_allocation_inquiry.php
sales/inquiry/customer_inquiry.php
sales/inquiry/sales_deliveries_view.php
sales/inquiry/sales_orders_view.php
sales/manage/credit_status.php
sales/manage/customer_branches.php
sales/manage/customers.php
sales/manage/recurrent_invoices.php
sales/manage/sales_areas.php
sales/manage/sales_groups.php
sales/manage/sales_people.php
sales/manage/sales_points.php
sales/manage/sales_types.php
sales/view/view_sales_order.php
taxes/db/tax_types_db.inc
taxes/item_tax_types.php
taxes/tax_calc.inc
taxes/tax_groups.php
taxes/tax_types.php

index 8fe90ab027b1671dc19909f8e0826fd2835da23e..d719aef30babf85045cfd9cdc5cb185ee5b240e9 100644 (file)
@@ -19,6 +19,43 @@ Legend:
 ! -> Note
 $ -> Affected files
 
+05-Dec-2009 Joe Hunt
+! Moved all SQL statements from PHP files into relevant *_db.inc files.
+  All folders done, except reporting/repXXX.php and reporting/includes/reports_classes.inc
+  Awaiting change in report mechanism
+$ /includes/ui/allocation_cart.inc
+  /reporting/includes/header2.inc
+  /reporting/includes/reports_classes.inc (partly)
+  /sales/create_recurrent_invoices.php
+  /sales/customer_payments.php
+  /sales/allocations/customer_allocate.php
+  /sales/includes/sales_db.inc
+  /sales/includes/db/branches_db.inc
+  /sales/includes/db/custalloc_db.inc
+  /sales/includes/db/customers_db.inc
+  /sales/includes/db/cust_trans_db.inc
+  /sales/includes/db/recurrent_invoices_db.inc (new file)
+  /sales/includes/db/sales_groups_db.inc (new file)
+  /sales/includes/db/sales_order_db.inc
+  /sales/inquiry/customer_allocation_inquiry.php
+  /sales/inquiry/customer_inquiry.php
+  /sales/inquiry/sales_deliveries_view.php
+  /sales/inquiry/sales_orders_view.php
+  /sales/manage/credit_status.php
+  /sales/manage/customers.php
+  /sales/manage/customer_branches.php
+  /sales/manage/recurrent_invoices.php
+  /sales/manage/sales_areas.php
+  /sales/manage/sales_groups.php
+  /sales/manage/sales_people.php
+  /sales/manage/sales_points.php
+  /sales/manage/sales_types.php
+  /sales/view/view_sales_order.php
+  /taxes/item_tax_types.php
+  /taxes/tax_groups.php
+  /taxes/tax_types.php
+  /taxes/db/tax_types_db.inc
+
 04-Dec-2009 Janusz Dobrowolski
 + Next release upgrade skeleton files.
 $ /sql/alter2.3.php (new)
index e6163392b877497cfc3cc273d89168b35cc3fc71..6d081aefb97e1646f2621a56b8bd281441123373 100644 (file)
@@ -192,8 +192,7 @@ class allocation
                                exchange_variation($this->type, $this->trans_no,
                                        $alloc_item->type, $alloc_item->type_no, $this->date_,
                                        $alloc_item->current_allocated,
-                                       $sup ? PT_SUPPLIER 
-                                               : PT_CUSTOMER);
+                                       $this->person_type ? PT_SUPPLIER : PT_CUSTOMER);
                                
 
                                //////////////////////////////////////////////////////////////
index c3fd180b9baab9f7b6f98efadee875b038390b56..1a03c8b823cdb0c1ef2a0559451465ad388b14cf 100644 (file)
                if ($branch != null)
                {
                        $id = $branch['salesman'];
-                       $sql = "SELECT salesman_name  FROM ".TB_PREF."salesman WHERE salesman_code='$id'";
-                       $result = db_query($sql,"could not get sales person");
-                       $row = db_fetch($result);
-                       $this->TextWrap($col, $this->row, $width, $row['salesman_name'], 'C');
+                       //$sql = "SELECT salesman_name  FROM ".TB_PREF."salesman WHERE salesman_code='$id'";
+                       //$result = db_query($sql,"could not get sales person");
+                       //$row = db_fetch($result);
+                       //$this->TextWrap($col, $this->row, $width, $row['salesman_name'], 'C');
+                       $this->TextWrap($col, $this->row, $width, get_salesman_name($id), 'C');
                }               
                elseif ($doctype == 26)
                        $this->TextWrap($col, $this->row, $width, $wo_types_array[$myrow["type"]], 'C');
index e7df6a73c6b59d1443bf00a85ba539d0f18bc6e5..ec1d59111dd309e45aaf46c875e5032e7907c541 100644 (file)
@@ -230,8 +230,6 @@ class BoxReports
                                        return "<textarea rows=4 cols=30 name='$name'></textarea>";
 
                                case 'ACCOUNTS': // not used
-//                                     $sql = "SELECT id, name FROM ".TB_PREF."chart_types";
-//                                     return combo_input($name, '', $sql, 'id', 'name',array('spec_option'=>_("No Account Group Filter"),'spec_id'=>ALL_NUMERIC));
                                        return gl_account_types_list($name, null, _("No Account Group Filter"), true);
 
                                case 'ACCOUNTS_NO_FILTER': // not used
index dafc08ac7450adadcc448118a49de879b136a2f8..309f50f61a0dc7df76437a2a0b7a260538f40d3e 100644 (file)
@@ -23,13 +23,6 @@ if ($use_popup_windows)
 
 page(_($help_context = "Create and Print Recurrent Invoices"), false, false, "", $js);
 
-function set_last_sent($id, $date)
-{
-       $date = date2sql($date);
-       $sql = "UPDATE ".TB_PREF."recurrent_invoices SET last_sent='$date' WHERE id=".db_escape($id);
-       db_query($sql,"The recurrent invoice could not be updated or added");
-}      
-
 function create_recurrent_invoices($customer_id, $branch_id, $order_no, $tmpl_no)
 {
        global $Refs;
@@ -55,17 +48,14 @@ function create_recurrent_invoices($customer_id, $branch_id, $order_no, $tmpl_no
        $cart->trans_type = ST_SALESINVOICE;
        $cart->reference = $Refs->get_next($cart->trans_type);
        $invno = $cart->write(1);
-       set_last_sent($tmpl_no, $cart->document_date);
+       update_last_sent_recurrent_invoice($tmpl_no, $cart->document_date);
        return $invno;
 }
 
 if (isset($_GET['recurrent']))
 {
        $invs = array();
-       $sql = "SELECT * FROM ".TB_PREF."recurrent_invoices WHERE id=".db_escape($_GET['recurrent']);
-
-       $result = db_query($sql,"could not get recurrent invoice");
-       $myrow = db_fetch($result);
+       $myrow = get_recurrent_invoice($_GET['recurrent']);
        if ($myrow['debtor_no'] == 0)
        {
                $cust = get_cust_branches_from_group($myrow['group_no']);
@@ -96,17 +86,7 @@ if (isset($_GET['recurrent']))
        }
 }      
 
-//-------------------------------------------------------------------------------------------------
-function get_sales_group_name($group_no)
-{
-       $sql = "SELECT description FROM ".TB_PREF."groups WHERE id = ".db_escape($group_no);
-       $result = db_query($sql, "could not get group");
-       $row = db_fetch($result);
-       return $row[0];
-}
-
-$sql = "SELECT * FROM ".TB_PREF."recurrent_invoices ORDER BY description, group_no, debtor_no";
-$result = db_query($sql,"could not get recurrent invoices");
+$result = get_recurrent_invoices();
 
 start_table("$table_style width=70%");
 $th = array(_("Description"), _("Template No"),_("Customer"),_("Branch")."/"._("Group"),_("Days"),_("Monthly"),_("Begin"),_("End"),_("Last Created"),"");
@@ -164,7 +144,7 @@ if ($due)
 else
        display_note(_("No recurrent invoices are due."), 1, 0);
 
-echo '<br>';
+br();
 
 end_page();
 ?>
index 7170d4fdd9ee07433f43f7def08d373cb3be9b11..9f4630a4f4739eb201b8c2585ed0b94043065da4 100644 (file)
@@ -200,19 +200,11 @@ function read_customer_data()
 {
        global $Refs;
 
-       $sql = "SELECT ".TB_PREF."debtors_master.pymt_discount,
-               ".TB_PREF."credit_status.dissallow_invoices
-               FROM ".TB_PREF."debtors_master, ".TB_PREF."credit_status
-               WHERE ".TB_PREF."debtors_master.credit_status = ".TB_PREF."credit_status.id
-                       AND ".TB_PREF."debtors_master.debtor_no = ".db_escape($_POST['customer_id']);
-
-       $result = db_query($sql, "could not query customers");
-
-       $myrow = db_fetch($result);
+       $myrow = get_customer_habit($_POST['customer_id']);
 
        $_POST['HoldAccount'] = $myrow["dissallow_invoices"];
        $_POST['pymt_discount'] = $myrow["pymt_discount"];
-       $_POST['ref'] = $Refs->get_next(12);
+       $_POST['ref'] = $Refs->get_next(ST_CUSTPAYMENT);
 }
 
 //----------------------------------------------------------------------------------------------
index 97d6fa2040b120cd9ceefd816cd5b7f031cdb9fc..dc0cdbd2e405ba2a83a2b643a4070eab9013d63d 100644 (file)
@@ -9,6 +9,79 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
+function add_branch($customer_id, $br_name, $br_ref, $br_address, $phone, $phone2, $fax, $contact_name, 
+       $salesman, $area, $email, $tax_group_id, $sales_account, $sales_discount_account, $receivables_account, 
+       $payment_discount_account, $default_location, $br_post_address, $disable_trans, $group_no,      $default_ship_via, $notes)
+{
+       $sql = "INSERT INTO ".TB_PREF."cust_branch (debtor_no, br_name, branch_ref, br_address,
+               salesman, phone, phone2, fax,
+               contact_name, area, email, tax_group_id, sales_account, receivables_account, payment_discount_account, sales_discount_account, default_location,
+               br_post_address, disable_trans, group_no, default_ship_via, notes)
+               VALUES (".db_escape($customer_id). ",".db_escape($br_name) . ", "
+                       .db_escape($br_ref) . ", "
+                       .db_escape($br_address) . ", ".db_escape($salesman) . ", "
+                       .db_escape($phone) . ", ".db_escape($phone2) . ", "
+                       .db_escape($fax) . ","
+                       .db_escape($contact_name) . ", ".db_escape($area) . ","
+                       .db_escape($email) . ", ".db_escape($tax_group_id) . ", "
+                       .db_escape($sales_account) . ", "
+                       .db_escape($receivables_account) . ", "
+                       .db_escape($payment_discount_account) . ", "
+                       .db_escape($sales_discount_account) . ", "
+                       .db_escape($default_location) . ", "
+                       .db_escape($br_post_address) . ","
+                       .db_escape($disable_trans) . ", "
+                       .db_escape($group_no) . ", "
+                       .db_escape($default_ship_via). ", "
+                       .db_escape($notes) . ")";
+       db_query($sql,"The branch record could not be added");
+}
+
+function update_branch($customer_id, $branch_code, $br_name, $br_ref, $br_address, $phone, $phone2, $fax, $contact_name, 
+       $salesman, $area, $email, $tax_group_id, $sales_account, $sales_discount_account, $receivables_account, 
+       $payment_discount_account, $default_location, $br_post_address, $disable_trans, $group_no,      $default_ship_via, $notes)
+{
+       $sql = "UPDATE ".TB_PREF."cust_branch SET br_name = " . db_escape($br_name) . ",
+               branch_ref = " . db_escape($br_ref) . ",
+               br_address = ".db_escape($br_address). ",
+               phone=".db_escape($phone). ",
+               phone2=".db_escape($phone2). ",
+               fax=".db_escape($fax).",
+               contact_name=".db_escape($contact_name) . ",
+               salesman= ".db_escape($salesman) . ",
+               area=".db_escape($area) . ",
+               email=".db_escape($email) . ",
+               tax_group_id=".db_escape($tax_group_id). ",
+               sales_account=".db_escape($sales_account) . ",
+               sales_discount_account=".db_escape($sales_discount_account) . ",
+               receivables_account=".db_escape($receivables_account) . ",
+               payment_discount_account=".db_escape($payment_discount_account) . ",
+               default_location=".db_escape($default_location) . ",
+               br_post_address =".db_escape($br_post_address) . ",
+               disable_trans=".db_escape($disable_trans) . ",
+               group_no=".db_escape($group_no) . ", 
+               default_ship_via=".db_escape($default_ship_via) . ",
+               notes=".db_escape($notes) . "
+               WHERE branch_code =".db_escape($branch_code) . "
+               AND debtor_no=".db_escape($customer_id);
+       db_query($sql,"The branch record could not be updated");
+}
+
+function delete_branch($customer_id, $branch_code)
+{
+       $sql="DELETE FROM ".TB_PREF."cust_branch WHERE branch_code=".db_escape($branch_code)." AND debtor_no=".db_escape($customer_id);
+       db_query($sql,"could not delete branch");
+}
+
+function branch_in_foreign_table($customer_id, $branch_code, $table)
+{
+       $sql= "SELECT COUNT(*) FROM ".TB_PREF."$table WHERE branch_code=".db_escape($branch_code)
+               ." AND debtor_no = ".db_escape($customer_id);
+       $result = db_query($sql,"could not query $table");
+       $myrow = db_fetch_row($result);
+       return ($myrow[0] > 0);
+}
+
 function get_branch($branch_id)
 {
        $sql = "SELECT ".TB_PREF."cust_branch.*,".TB_PREF."salesman.salesman_name 
@@ -21,6 +94,15 @@ function get_branch($branch_id)
        return db_fetch($result);       
 }
 
+function get_cust_branch($customer_id, $branch_code)
+{
+       $sql = "SELECT * FROM ".TB_PREF."cust_branch
+               WHERE branch_code=".db_escape($branch_code)."
+               AND debtor_no=".db_escape($customer_id);
+       $result = db_query($sql,"check failed");
+       return db_fetch($result);
+}
+
 function get_branch_accounts($branch_id)
 {
        $sql = "SELECT receivables_account,sales_account, sales_discount_account, payment_discount_account 
@@ -49,4 +131,40 @@ function get_cust_branches_from_group($group_no)
 
        return db_query($sql,"could not retreive branches for group " . $group_no);
 }
+
+function get_default_info_for_branch($customer_id)
+{
+       $sql = "SELECT name, address, email, debtor_ref
+               FROM ".TB_PREF."debtors_master WHERE debtor_no = ".db_escape($customer_id);
+       $result = db_query($sql,"check failed");
+       return db_fetch($result);
+}
+function get_sql_for_customer_branches()
+{
+       $sql = "SELECT "
+               ."b.branch_code, "
+               ."b.branch_ref, "
+               ."b.br_name, "
+               ."b.contact_name, "
+               ."s.salesman_name, "
+               ."a.description, "
+               ."b.phone, "
+               ."b.fax, "
+               ."b.email, "
+               ."t.name AS tax_group_name, "
+               ."b.inactive
+               FROM ".TB_PREF."cust_branch b, "
+                       .TB_PREF."debtors_master c, "
+                       .TB_PREF."areas a, "
+                       .TB_PREF."salesman s, "
+                       .TB_PREF."tax_groups t
+               WHERE b.debtor_no=c.debtor_no
+               AND b.tax_group_id=t.id
+               AND b.area=a.area_code
+               AND b.salesman=s.salesman_code
+               AND b.debtor_no = ".db_escape($_POST['customer_id']);
+
+       if (!get_post('show_inactive')) $sql .= " AND !b.inactive";
+       return $sql;
+}
 ?>
\ No newline at end of file
index 2ab21e17f03da2f8bfc97b7777bc662581706fe8..363a8f4c4962d6bc450f3070b7587f93455f57d7 100644 (file)
@@ -247,6 +247,13 @@ function get_customer_trans_order($type, $type_no)
 
 //----------------------------------------------------------------------------------------
 
+function get_related_documents($type, $trans_no)
+{
+       $sql = "SELECT * FROM ".TB_PREF."debtor_trans WHERE type=$type AND order_=".db_escape($trans_no);
+       return db_query($sql,"The related documents could not be retreived");
+}
+//----------------------------------------------------------------------------------------
+
 function get_customer_details_from_trans($type, $type_no)
 {
        $sql = "SELECT ".TB_PREF."debtors_master.name, ".TB_PREF."debtors_master.curr_code, ".TB_PREF."cust_branch.br_name
@@ -299,4 +306,138 @@ function get_customer_trans_link($type, $type_no)
 }
 //----------------------------------------------------------------------------------------
 
+function get_sql_for_customer_inquiry()
+{
+    $date_after = date2sql($_POST['TransAfterDate']);
+    $date_to = date2sql($_POST['TransToDate']);
+
+       $sql = "SELECT 
+               trans.type, 
+               trans.trans_no, 
+               trans.order_, 
+               trans.reference,
+               trans.tran_date, 
+               trans.due_date, 
+               debtor.name, 
+               branch.br_name,
+               debtor.curr_code,
+               (trans.ov_amount + trans.ov_gst + trans.ov_freight 
+                       + trans.ov_freight_tax + trans.ov_discount)     AS TotalAmount, "; 
+       if ($_POST['filterType'] != ALL_TEXT)
+               $sql .= "@bal := @bal+(trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount), ";
+
+//     else
+//             $sql .= "IF(trans.type=".ST_CUSTDELIVERY.",'', IF(trans.type=".ST_SALESINVOICE." OR trans.type=".ST_BANKPAYMENT.",@bal := @bal+
+//                     (trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount), @bal := @bal-
+//                     (trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount))) , ";
+               $sql .= "trans.alloc AS Allocated,
+               ((trans.type = ".ST_SALESINVOICE.")
+                       AND trans.due_date < '" . date2sql(Today()) . "') AS OverDue
+               FROM "
+                       .TB_PREF."debtor_trans as trans, "
+                       .TB_PREF."debtors_master as debtor, "
+                       .TB_PREF."cust_branch as branch
+               WHERE debtor.debtor_no = trans.debtor_no
+                       AND trans.tran_date >= '$date_after'
+                       AND trans.tran_date <= '$date_to'
+                       AND trans.branch_code = branch.branch_code";
+
+       if ($_POST['customer_id'] != ALL_TEXT)
+               $sql .= " AND trans.debtor_no = ".db_escape($_POST['customer_id']);
+
+       if ($_POST['filterType'] != ALL_TEXT)
+       {
+               if ($_POST['filterType'] == '1')
+               {
+                       $sql .= " AND (trans.type = ".ST_SALESINVOICE." OR trans.type = ".ST_BANKPAYMENT.") ";
+               }
+               elseif ($_POST['filterType'] == '2')
+               {
+                       $sql .= " AND (trans.type = ".ST_SALESINVOICE.") ";
+               }
+               elseif ($_POST['filterType'] == '3')
+               {
+                       $sql .= " AND (trans.type = " . ST_CUSTPAYMENT 
+                                       ." OR trans.type = ".ST_BANKDEPOSIT.") ";
+               }
+               elseif ($_POST['filterType'] == '4')
+               {
+                       $sql .= " AND trans.type = ".ST_CUSTCREDIT." ";
+               }
+               elseif ($_POST['filterType'] == '5')
+               {
+                       $sql .= " AND trans.type = ".ST_CUSTDELIVERY." ";
+               }
+
+       if ($_POST['filterType'] == '2')
+       {
+               $today =  date2sql(Today());
+               $sql .= " AND trans.due_date < '$today'
+                               AND (trans.ov_amount + trans.ov_gst + trans.ov_freight_tax + 
+                               trans.ov_freight + trans.ov_discount - trans.alloc > 0) ";
+       }
+       }
+       return $sql;
+}
+
+function get_sql_for_sales_deliveries_view($selected_customer, $selected_stock_id)
+{
+       $sql = "SELECT trans.trans_no,
+                       debtor.name,
+                       branch.branch_code,
+                       branch.br_name,
+                       sorder.deliver_to,
+                       trans.reference,
+                       sorder.customer_ref,
+                       trans.tran_date,
+                       trans.due_date,
+                       (ov_amount+ov_gst+ov_freight+ov_freight_tax) AS DeliveryValue,
+                       debtor.curr_code,
+                       Sum(line.quantity-line.qty_done) AS Outstanding,
+                       Sum(line.qty_done) AS Done
+               FROM "
+                .TB_PREF."sales_orders as sorder, "
+                .TB_PREF."debtor_trans as trans, "
+                .TB_PREF."debtor_trans_details as line, "
+                .TB_PREF."debtors_master as debtor, "
+                .TB_PREF."cust_branch as branch
+                       WHERE
+                       sorder.order_no = trans.order_ AND
+                       trans.debtor_no = debtor.debtor_no
+                               AND trans.type = ".ST_CUSTDELIVERY."
+                               AND line.debtor_trans_no = trans.trans_no
+                               AND line.debtor_trans_type = trans.type
+                               AND trans.branch_code = branch.branch_code
+                               AND trans.debtor_no = branch.debtor_no ";
+
+       if ($_POST['OutstandingOnly'] == true) {
+                $sql .= " AND line.qty_done < line.quantity ";
+       }
+
+       //figure out the sql required from the inputs available
+       if (isset($_POST['DeliveryNumber']) && $_POST['DeliveryNumber'] != "")
+       {
+               $delivery = "%".$_POST['DeliveryNumber'];
+               $sql .= " AND trans.trans_no LIKE ".db_escape($delivery);
+               $sql .= " GROUP BY trans.trans_no";
+       }
+       else
+       {
+               $sql .= " AND trans.tran_date >= '".date2sql($_POST['DeliveryAfterDate'])."'";
+               $sql .= " AND trans.tran_date <= '".date2sql($_POST['DeliveryToDate'])."'";
+
+               if ($selected_customer != -1)
+                       $sql .= " AND trans.debtor_no=".db_escape($selected_customer)." ";
+
+               if (isset($selected_stock_item))
+                       $sql .= " AND line.stock_id=".db_escape($selected_stock_item)." ";
+
+               if (isset($_POST['StockLocation']) && $_POST['StockLocation'] != ALL_TEXT)
+                       $sql .= " AND sorder.from_stk_loc = ".db_escape($_POST['StockLocation'])." ";
+
+               $sql .= " GROUP BY trans.trans_no ";
+
+       } //end no delivery number selected
+       return $sql;
+}
 ?>
\ No newline at end of file
index 618c9397ca61bbdba6879d0faba20367d04727e3..5b7782aecafc5477fa9b71825eb26a7055ff37b3 100644 (file)
@@ -171,5 +171,73 @@ function get_allocatable_to_cust_transactions($customer_id, $trans_no=null, $typ
        return db_query($sql." ORDER BY trans_no", "Cannot retreive alloc to transactions");
 }
 
+function get_sql_for_customer_allocation_inquiry()
+{
+       $data_after = date2sql($_POST['TransAfterDate']);
+       $date_to = date2sql($_POST['TransToDate']);
 
+       $sql = "SELECT 
+               trans.type,
+               trans.trans_no,
+               trans.reference,
+               trans.order_,
+               trans.tran_date,
+               trans.due_date,
+               debtor.name,
+               debtor.curr_code,
+       (trans.ov_amount + trans.ov_gst + trans.ov_freight 
+                       + trans.ov_freight_tax + trans.ov_discount)     AS TotalAmount,
+               trans.alloc AS Allocated,
+               ((trans.type = ".ST_SALESINVOICE.")
+                       AND trans.due_date < '" . date2sql(Today()) . "') AS OverDue
+       FROM "
+                       .TB_PREF."debtor_trans as trans, "
+                       .TB_PREF."debtors_master as debtor
+       WHERE debtor.debtor_no = trans.debtor_no
+                       AND (trans.ov_amount + trans.ov_gst + trans.ov_freight 
+                               + trans.ov_freight_tax + trans.ov_discount != 0)
+               AND trans.tran_date >= '$data_after'
+               AND trans.tran_date <= '$date_to'";
+
+       if ($_POST['customer_id'] != ALL_TEXT)
+               $sql .= " AND trans.debtor_no = ".db_escape($_POST['customer_id']);
+
+       if (isset($_POST['filterType']) && $_POST['filterType'] != ALL_TEXT)
+       {
+               if ($_POST['filterType'] == '1' || $_POST['filterType'] == '2')
+               {
+                       $sql .= " AND trans.type = ".ST_SALESINVOICE." ";
+               }
+               elseif ($_POST['filterType'] == '3')
+               {
+                       $sql .= " AND trans.type = " . ST_CUSTPAYMENT;
+               }
+               elseif ($_POST['filterType'] == '4')
+               {
+                       $sql .= " AND trans.type = ".ST_CUSTCREDIT." ";
+               }
+
+       if ($_POST['filterType'] == '2')
+       {
+               $today =  date2sql(Today());
+               $sql .= " AND trans.due_date < '$today'
+                               AND (round(abs(trans.ov_amount + "
+                               ."trans.ov_gst + trans.ov_freight + "
+                               ."trans.ov_freight_tax + trans.ov_discount) - trans.alloc,6) > 0) ";
+       }
+       }
+       else
+       {
+           $sql .= " AND trans.type <> ".ST_CUSTDELIVERY." ";
+       }
+
+
+       if (!check_value('showSettled'))
+       {
+               $sql .= " AND (round(abs(trans.ov_amount + trans.ov_gst + "
+               ."trans.ov_freight + trans.ov_freight_tax + "
+               ."trans.ov_discount) - trans.alloc,6) != 0) ";
+       }
+       return $sql;
+}
 ?>
\ No newline at end of file
index 1670c426e7eceaf2e3f9b7e3bc6eb1f4041a094c..7ec7b29783c395b783fb2007a9eae8891037f107 100644 (file)
@@ -9,6 +9,54 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
+
+function add_customer($CustName, $cust_ref, $address, $tax_id, $curr_code, $email, $dimension_id, $dimension2_id,
+       $credit_status, $payment_terms, $discount, $pymt_discount, $credit_limit, $sales_type, $notes)
+{                      
+       $sql = "INSERT INTO ".TB_PREF."debtors_master (name, debtor_ref, address, tax_id, email, dimension_id, dimension2_id,  
+               curr_code, credit_status, payment_terms, discount, pymt_discount,credit_limit,  
+               sales_type, notes) VALUES (".db_escape($CustName) .", " .db_escape($cust_ref) .", "
+               .db_escape($address) . ", " . db_escape($tax_id) . ","
+               .db_escape($email) . ", ".db_escape($dimension_id) . ", " 
+               .db_escape($dimension2_id) . ", ".db_escape($curr_code) . ", 
+               " . db_escape($credit_status) . ", ".db_escape($payment_terms) . ", " . $discount . ", 
+               " . $pymt_discount . ", " . $credit_limit 
+                .", ".db_escape($sales_type).", ".db_escape($notes) . ")";
+
+       db_query($sql,"The customer could not be added");
+}
+
+function update_customer($customer_id, $CustName, $cust_ref, $address, $tax_id, $curr_code, $email, $dimension_id, $dimension2_id,
+                       $credit_status, $payment_terms, $discount, $pymt_discount, $credit_limit, $sales_type, $notes)
+{
+       $sql = "UPDATE ".TB_PREF."debtors_master SET name=" . db_escape($CustName) . ", 
+               debtor_ref=" . db_escape($cust_ref) . ",
+               address=".db_escape($address) . ", 
+               tax_id=".db_escape($tax_id) . ", 
+               curr_code=".db_escape($curr_code) . ", 
+               email=".db_escape($email) . ", 
+               dimension_id=".db_escape($dimension_id) . ", 
+               dimension2_id=".db_escape($dimension2_id) . ", 
+               credit_status=".db_escape($credit_status) . ", 
+               payment_terms=".db_escape($payment_terms) . ", 
+               discount=" . $discount . ", 
+               pymt_discount=" . $pymt_discount . ", 
+               credit_limit=" . $credit_limit . ", 
+               sales_type = ".db_escape($sales_type) . ", 
+               notes=".db_escape($notes) . "
+               WHERE debtor_no = ".db_escape($customer_id);
+
+       db_query($sql,"The customer could not be updated");
+}
+
+function delete_customer($customer_id, $escaped=false)
+{
+       if (!$escaped)
+               $customer_id = db_escape($customer_id);
+       $sql = "DELETE FROM ".TB_PREF."debtors_master WHERE debtor_no=$customer_id";
+       db_query($sql,"cannot delete customer");
+}
+
 function get_customer_details($customer_id, $to=null)
 {
 
@@ -118,27 +166,19 @@ function get_customer_name($customer_id)
        return $row[0];
 }
 
-function get_area_name($id)
-{
-       $sql = "SELECT description FROM ".TB_PREF."areas WHERE area_code=".db_escape($id);
-
-       $result = db_query($sql, "could not get sales type");
-
-       $row = db_fetch_row($result);
-       return $row[0];
-}
-
-function get_salesman_name($id)
+function get_customer_habit($customer_id)
 {
-       $sql = "SELECT salesman_name FROM ".TB_PREF."salesman WHERE salesman_code=".db_escape($id);
+       $sql = "SELECT ".TB_PREF."debtors_master.pymt_discount,
+               ".TB_PREF."credit_status.dissallow_invoices
+               FROM ".TB_PREF."debtors_master, ".TB_PREF."credit_status
+               WHERE ".TB_PREF."debtors_master.credit_status = ".TB_PREF."credit_status.id
+                       AND ".TB_PREF."debtors_master.debtor_no = ".db_escape($customer_id);
 
-       $result = db_query($sql, "could not get sales type");
+       $result = db_query($sql, "could not query customers");
 
-       $row = db_fetch_row($result);
-       return $row[0];
+       return db_fetch($result);
 }
 
 
 
-
 ?>
\ No newline at end of file
diff --git a/sales/includes/db/recurrent_invoices_db.inc b/sales/includes/db/recurrent_invoices_db.inc
new file mode 100644 (file)
index 0000000..4ff6854
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU General Public License, GPL, 
+       as published by the Free Software Foundation, either version 3 
+       of the License, or (at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
+
+function add_recurrent_invoice($description, $order_no, $debtor_no, $group_no, $days, $monthly,
+       $begin, $end)
+{
+       $sql = "INSERT INTO ".TB_PREF."recurrent_invoices (description, order_no, debtor_no,
+               group_no, days, monthly, begin, end, last_sent) VALUES (".db_escape($description) . ", "
+               .db_escape($order_no).", ".db_escape($debtor_no).", "
+               .db_escape($group_no).", ".$days.", ".$monthly.", '"
+               .date2sql($begin)."', '".date2sql($end)."', '".date2sql(Add_Years($begin, -5))."')";
+       db_query($sql,"The recurrent invoice could not be added");
+}
+
+function update_recurrent_invoice($selected_id, $description, $order_no, $debtor_no, $group_no, $days, $monthly,
+       $begin, $end)
+{
+       $sql = "UPDATE ".TB_PREF."recurrent_invoices SET 
+               description=".db_escape($description).", 
+               order_no=".db_escape($order_no).", 
+               debtor_no=".db_escape($debtor_no).", 
+               group_no=".db_escape($group_no).", 
+               days=".$days.", 
+               monthly=".$monthly.", 
+               begin='".date2sql($begin)."', 
+               end='".date2sql($end)."' 
+               WHERE id = ".db_escape($selected_id);
+       db_query($sql,"The recurrent invoice could not be updated");
+}
+
+function update_last_sent_recurrent_invoice($id, $date)
+{
+       $date = date2sql($date);
+       $sql = "UPDATE ".TB_PREF."recurrent_invoices SET last_sent='$date' WHERE id=".db_escape($id);
+       db_query($sql,"The recurrent invoice could not be updated");
+}
+
+function delete_recurrent_invoice($selected_id)
+{
+       $sql="DELETE FROM ".TB_PREF."recurrent_invoices WHERE id=".db_escape($selected_id);
+       db_query($sql,"could not delete recurrent invoice");
+}
+
+function get_recurrent_invoices()
+{
+       $sql = "SELECT * FROM ".TB_PREF."recurrent_invoices ORDER BY description, group_no, debtor_no";
+       return db_query($sql,"could not get recurrent invoices");
+}
+
+function get_recurrent_invoice($selected_id)
+{
+       $sql = "SELECT * FROM ".TB_PREF."recurrent_invoices WHERE id=".db_escape($selected_id);
+
+       $result = db_query($sql,"could not get recurrent invoice");
+       return db_fetch($result);
+}
+?>
\ No newline at end of file
diff --git a/sales/includes/db/sales_groups_db.inc b/sales/includes/db/sales_groups_db.inc
new file mode 100644 (file)
index 0000000..57d15fc
--- /dev/null
@@ -0,0 +1,159 @@
+<?php
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU General Public License, GPL, 
+       as published by the Free Software Foundation, either version 3 
+       of the License, or (at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
+
+function add_sales_group($description)
+{
+       $sql = "INSERT INTO ".TB_PREF."groups (description) VALUES (".db_escape($description) . ")";
+       db_query($sql,"The sales group could not be added");
+}
+
+function update_sales_group($selected_id, $description)
+{
+       $sql = "UPDATE ".TB_PREF."groups SET description=".db_escape($description)." WHERE id = ".db_escape($selected_id);
+       db_query($sql,"The sales group could not be updated");
+}
+
+function delete_sales_group($selected_id)
+{
+       $sql="DELETE FROM ".TB_PREF."groups WHERE id=".db_escape($selected_id);
+       db_query($sql,"could not delete sales group");
+}
+
+function get_sales_groups($show_inactive)
+{
+       $sql = "SELECT * FROM ".TB_PREF."groups";
+       if (!$show_inactive) $sql .= " WHERE !inactive";
+       $sql .= " ORDER BY description";
+       return db_query($sql,"could not get groups");
+}
+
+function get_sales_group($selected_id)
+{
+       $sql = "SELECT * FROM ".TB_PREF."groups WHERE id=".db_escape($selected_id);
+
+       $result = db_query($sql,"could not get group");
+       return db_fetch($result);
+}
+
+function get_sales_group_name($group_no)
+{
+       $sql = "SELECT description FROM ".TB_PREF."groups WHERE id = ".db_escape($group_no);
+       $result = db_query($sql, "could not get group");
+       $row = db_fetch($result);
+       return $row[0];
+}
+
+function add_sales_area($description)
+{
+       $sql = "INSERT INTO ".TB_PREF."areas (description) VALUES (".db_escape($description) . ")";
+       db_query($sql,"The sales area could not be added");
+}
+
+function update_sales_area($selected_id, $description)
+{
+       $sql = "UPDATE ".TB_PREF."areas SET description=".db_escape($description)." WHERE area_code = ".db_escape($selected_id);
+       db_query($sql,"The sales area could not be updated");
+}
+
+function delete_sales_area($selected_id)
+{
+       $sql="DELETE FROM ".TB_PREF."areas WHERE area_code=".db_escape($selected_id);
+       db_query($sql,"could not delete sales area");
+}
+
+function get_sales_areas($show_inactive)
+{
+       $sql = "SELECT * FROM ".TB_PREF."areas";
+       if (!$show_inactive) $sql .= " WHERE !inactive";
+       return db_query($sql,"could not get areas");
+}
+
+function get_sales_area($selected_id)
+{
+       $sql = "SELECT * FROM ".TB_PREF."areas WHERE area_code=".db_escape($selected_id);
+
+       $result = db_query($sql,"could not get area");
+       return db_fetch($result);
+}
+
+function get_area_name($id)
+{
+       $sql = "SELECT description FROM ".TB_PREF."areas WHERE area_code=".db_escape($id);
+
+       $result = db_query($sql, "could not get sales type");
+
+       $row = db_fetch_row($result);
+       return $row[0];
+}
+
+function add_salesman($salesman_name, $salesman_phone, $salesman_fax,
+       $salesman_email, $provision, $break_pt, $provision2)
+{
+       $sql = "INSERT INTO ".TB_PREF."salesman (salesman_name, salesman_phone, salesman_fax, salesman_email,
+               provision, break_pt, provision2)
+               VALUES (".db_escape($salesman_name) . ", "
+                 .db_escape($salesman_phone) . ", "
+                 .db_escape($salesman_fax) . ", "
+                 .db_escape($salesman_email) . ", ".
+               $provision.", ".$break_pt.", "
+               .$provision2.")";
+       db_query($sql,"The insert of the sales person failed");
+}
+
+function update_salesman($selected_id, $salesman_name, $salesman_phone, $salesman_fax,
+       $salesman_email, $provision, $break_pt, $provision2)
+{
+       $sql = "UPDATE ".TB_PREF."salesman SET salesman_name=".db_escape($salesman_name) . ",
+               salesman_phone=".db_escape($salesman_phone) . ",
+               salesman_fax=".db_escape($salesman_fax) . ",
+               salesman_email=".db_escape($salesman_email) . ",
+               provision=".$provision.",
+               break_pt=".$break_pt.",
+               provision2=".$provision2."
+               WHERE salesman_code = ".db_escape($selected_id);
+       db_query($sql,"The update of the sales person failed");
+}
+
+function delete_salesman($selected_id)
+{
+       $sql="DELETE FROM ".TB_PREF."salesman WHERE salesman_code=".db_escape($selected_id);
+       db_query($sql,"The sales-person could not be deleted");
+}
+
+function get_salesmen($show_inactive)
+{
+       $sql = "SELECT * FROM ".TB_PREF."salesman";
+       if (!$show_inactive) $sql .= " WHERE !inactive";
+       return db_query($sql,"could not get sales persons");
+}
+
+function get_salesman($selected_id)
+{
+       $sql = "SELECT *  FROM ".TB_PREF."salesman WHERE salesman_code=".db_escape($selected_id);
+
+       $result = db_query($sql,"could not get sales person");
+       return db_fetch($result);
+}
+
+function get_salesman_name($id)
+{
+       $sql = "SELECT salesman_name FROM ".TB_PREF."salesman WHERE salesman_code=".db_escape($id);
+
+       $result = db_query($sql, "could not get sales type");
+
+       $row = db_fetch_row($result);
+       return $row[0];
+}
+
+
+
+?>
\ No newline at end of file
index 0d8c618aaae685396a96ceb2c3951214febd3256..299240c9148e34875623788cdc44092d5dfcfbd0 100644 (file)
@@ -474,4 +474,78 @@ function get_branch_to_order($customer_id, $branch_id) {
 
            return db_query($sql,"Customer Branch Record Retreive");
 }
+
+function get_sql_for_sales_orders_view($selected_customer, $trans_type)
+{
+       global $selected_stock_item;
+       
+       $sql = "SELECT 
+                       sorder.order_no,
+                       sorder.reference,
+                       debtor.name,
+                       branch.br_name,"
+                       .($_POST['order_view_mode']=='InvoiceTemplates' 
+                               || $_POST['order_view_mode']=='DeliveryTemplates' ?
+                        "sorder.comments, " : "sorder.customer_ref, ")
+                       ."sorder.ord_date,
+                       sorder.delivery_date,
+                       sorder.deliver_to,
+                       Sum(line.unit_price*line.quantity*(1-line.discount_percent))+freight_cost AS OrderValue,
+                       sorder.type,
+                       debtor.curr_code,
+                       Sum(line.qty_sent) AS TotDelivered,
+                       Sum(line.quantity) AS TotQuantity
+               FROM ".TB_PREF."sales_orders as sorder, "
+                       .TB_PREF."sales_order_details as line, "
+                       .TB_PREF."debtors_master as debtor, "
+                       .TB_PREF."cust_branch as branch
+                       WHERE sorder.order_no = line.order_no
+                       AND sorder.trans_type = line.trans_type
+                       AND sorder.trans_type = $trans_type
+                       AND sorder.debtor_no = debtor.debtor_no
+                       AND sorder.branch_code = branch.branch_code
+                       AND debtor.debtor_no = branch.debtor_no";
+
+       if (isset($_POST['OrderNumber']) && $_POST['OrderNumber'] != "")
+       {
+               // search orders with number like 
+               $number_like = "%".$_POST['OrderNumber'];
+               $sql .= " AND sorder.order_no LIKE ".db_escape($number_like)
+                               ." GROUP BY sorder.order_no";
+       }
+       else    // ... or select inquiry constraints
+       {
+               if ($_POST['order_view_mode']!='DeliveryTemplates' && $_POST['order_view_mode']!='InvoiceTemplates')
+               {
+                       $date_after = date2sql($_POST['OrdersAfterDate']);
+                       $date_before = date2sql($_POST['OrdersToDate']);
+
+                       $sql .=  " AND sorder.ord_date >= '$date_after'"
+                                       ." AND sorder.ord_date <= '$date_before'";
+               }
+               if ($trans_type == ST_SALESQUOTE && !check_value('show_all'))
+                       $sql .= " AND sorder.delivery_date >= '".date2sql(Today())."'";
+               if ($selected_customer != -1)
+                       $sql .= " AND sorder.debtor_no=".db_escape($selected_customer);
+
+               if (isset($selected_stock_item))
+                       $sql .= " AND line.stk_code=".db_escape($selected_stock_item);
+
+               if (isset($_POST['StockLocation']) && $_POST['StockLocation'] != ALL_TEXT)
+                       $sql .= " AND sorder.from_stk_loc = ".db_escape($_POST['StockLocation']);
+
+               if ($_POST['order_view_mode']=='OutstandingOnly')
+                       $sql .= " AND line.qty_sent < line.quantity";
+               elseif ($_POST['order_view_mode']=='InvoiceTemplates' || $_POST['order_view_mode']=='DeliveryTemplates')
+                       $sql .= " AND sorder.type=1";
+
+               $sql .= " GROUP BY sorder.order_no,
+                                       sorder.debtor_no,
+                                       sorder.branch_code,
+                                       sorder.customer_ref,
+                                       sorder.ord_date,
+                                       sorder.deliver_to";
+       }
+       return $sql;
+}
 ?>
\ No newline at end of file
index 536458369b243695db5c789535d9e2897ee2442e..febf93321ef3d8df5d5f5466eaa90fec3a8b0ef4 100644 (file)
@@ -17,6 +17,8 @@ include_once($path_to_root . "/sales/includes/db/sales_invoice_db.inc");
 include_once($path_to_root . "/sales/includes/db/sales_delivery_db.inc");
 include_once($path_to_root . "/sales/includes/db/sales_types_db.inc");
 include_once($path_to_root . "/sales/includes/db/sales_points_db.inc");
+include_once($path_to_root . "/sales/includes/db/sales_groups_db.inc");
+include_once($path_to_root . "/sales/includes/db/recurrent_invoices_db.inc");
 include_once($path_to_root . "/sales/includes/db/custalloc_db.inc");
 include_once($path_to_root . "/sales/includes/db/cust_trans_db.inc");
 include_once($path_to_root . "/sales/includes/db/cust_trans_details_db.inc");
index 84e5416f73e7d2cf6583c78824cddd0d0025d4bc..343e367e2cd2f7758344d9b05acd8fbc15aef7a4 100644 (file)
@@ -133,70 +133,8 @@ function fmt_credit($row)
 }
 //------------------------------------------------------------------------------------------------
 
-  $data_after = date2sql($_POST['TransAfterDate']);
-  $date_to = date2sql($_POST['TransToDate']);
-
-  $sql = "SELECT 
-               trans.type,
-               trans.trans_no,
-               trans.reference,
-               trans.order_,
-               trans.tran_date,
-               trans.due_date,
-               debtor.name,
-               debtor.curr_code,
-       (trans.ov_amount + trans.ov_gst + trans.ov_freight 
-                       + trans.ov_freight_tax + trans.ov_discount)     AS TotalAmount,
-               trans.alloc AS Allocated,
-               ((trans.type = ".ST_SALESINVOICE.")
-                       AND trans.due_date < '" . date2sql(Today()) . "') AS OverDue
-       FROM "
-                       .TB_PREF."debtor_trans as trans, "
-                       .TB_PREF."debtors_master as debtor
-       WHERE debtor.debtor_no = trans.debtor_no
-                       AND (trans.ov_amount + trans.ov_gst + trans.ov_freight 
-                               + trans.ov_freight_tax + trans.ov_discount != 0)
-               AND trans.tran_date >= '$data_after'
-               AND trans.tran_date <= '$date_to'";
-
-       if ($_POST['customer_id'] != ALL_TEXT)
-               $sql .= " AND trans.debtor_no = ".db_escape($_POST['customer_id']);
-
-       if (isset($_POST['filterType']) && $_POST['filterType'] != ALL_TEXT)
-       {
-               if ($_POST['filterType'] == '1' || $_POST['filterType'] == '2')
-               {
-                       $sql .= " AND trans.type = ".ST_SALESINVOICE." ";
-               }
-               elseif ($_POST['filterType'] == '3')
-               {
-                       $sql .= " AND trans.type = " . ST_CUSTPAYMENT;
-               }
-               elseif ($_POST['filterType'] == '4')
-               {
-                       $sql .= " AND trans.type = ".ST_CUSTCREDIT." ";
-               }
-
-       if ($_POST['filterType'] == '2')
-       {
-               $today =  date2sql(Today());
-               $sql .= " AND trans.due_date < '$today'
-                               AND (round(abs(trans.ov_amount + "
-                               ."trans.ov_gst + trans.ov_freight + "
-                               ."trans.ov_freight_tax + trans.ov_discount) - trans.alloc,6) > 0) ";
-       }
-       }else
-       {
-           $sql .= " AND trans.type <> ".ST_CUSTDELIVERY." ";
-       }
-
-
-       if (!check_value('showSettled'))
-       {
-               $sql .= " AND (round(abs(trans.ov_amount + trans.ov_gst + "
-               ."trans.ov_freight + trans.ov_freight_tax + "
-               ."trans.ov_discount) - trans.alloc,6) != 0) ";
-       }
+$sql = get_sql_for_customer_allocation_inquiry();
+
 //------------------------------------------------------------------------------------------------
 
 $cols = array(
index de745b5a1a86ff07ee19777f18da28b01af050ae..8029dc9ccb0a7e5f18088ca54f4b09ab0d9d2f53 100644 (file)
@@ -203,75 +203,7 @@ function check_overdue($row)
                && (abs($row["TotalAmount"]) - $row["Allocated"] != 0);
 }
 //------------------------------------------------------------------------------------------------
-    $date_after = date2sql($_POST['TransAfterDate']);
-    $date_to = date2sql($_POST['TransToDate']);
-
-  $sql = "SELECT 
-               trans.type, 
-               trans.trans_no, 
-               trans.order_, 
-               trans.reference,
-               trans.tran_date, 
-               trans.due_date, 
-               debtor.name, 
-               branch.br_name,
-               debtor.curr_code,
-               (trans.ov_amount + trans.ov_gst + trans.ov_freight 
-                       + trans.ov_freight_tax + trans.ov_discount)     AS TotalAmount, "; 
-       if ($_POST['filterType'] != ALL_TEXT)
-               $sql .= "@bal := @bal+(trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount), ";
-
-//     else
-//             $sql .= "IF(trans.type=".ST_CUSTDELIVERY.",'', IF(trans.type=".ST_SALESINVOICE." OR trans.type=".ST_BANKPAYMENT.",@bal := @bal+
-//                     (trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount), @bal := @bal-
-//                     (trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount))) , ";
-               $sql .= "trans.alloc AS Allocated,
-               ((trans.type = ".ST_SALESINVOICE.")
-                       AND trans.due_date < '" . date2sql(Today()) . "') AS OverDue
-               FROM "
-                       .TB_PREF."debtor_trans as trans, "
-                       .TB_PREF."debtors_master as debtor, "
-                       .TB_PREF."cust_branch as branch
-               WHERE debtor.debtor_no = trans.debtor_no
-                       AND trans.tran_date >= '$date_after'
-                       AND trans.tran_date <= '$date_to'
-                       AND trans.branch_code = branch.branch_code";
-
-       if ($_POST['customer_id'] != ALL_TEXT)
-               $sql .= " AND trans.debtor_no = ".db_escape($_POST['customer_id']);
-
-       if ($_POST['filterType'] != ALL_TEXT)
-       {
-               if ($_POST['filterType'] == '1')
-               {
-                       $sql .= " AND (trans.type = ".ST_SALESINVOICE." OR trans.type = ".ST_BANKPAYMENT.") ";
-               }
-               elseif ($_POST['filterType'] == '2')
-               {
-                       $sql .= " AND (trans.type = ".ST_SALESINVOICE.") ";
-               }
-               elseif ($_POST['filterType'] == '3')
-               {
-                       $sql .= " AND (trans.type = " . ST_CUSTPAYMENT 
-                                       ." OR trans.type = ".ST_BANKDEPOSIT.") ";
-               }
-               elseif ($_POST['filterType'] == '4')
-               {
-                       $sql .= " AND trans.type = ".ST_CUSTCREDIT." ";
-               }
-               elseif ($_POST['filterType'] == '5')
-               {
-                       $sql .= " AND trans.type = ".ST_CUSTDELIVERY." ";
-               }
-
-       if ($_POST['filterType'] == '2')
-       {
-               $today =  date2sql(Today());
-               $sql .= " AND trans.due_date < '$today'
-                               AND (trans.ov_amount + trans.ov_gst + trans.ov_freight_tax + 
-                               trans.ov_freight + trans.ov_discount - trans.alloc > 0) ";
-       }
-       }
+$sql = get_sql_for_customer_inquiry();
 
 //------------------------------------------------------------------------------------------------
 db_query("set @bal:=0");
index e65602bf557f6a2fba83423691878fe92ad2f21d..2069703bdccad07e76d9f11bd4dda3f58966f26d 100644 (file)
@@ -168,62 +168,7 @@ function check_overdue($row)
                        $row["Outstanding"]!=0;
 }
 //------------------------------------------------------------------------------------------------
-$sql = "SELECT trans.trans_no,
-               debtor.name,
-               branch.branch_code,
-               branch.br_name,
-               sorder.deliver_to,
-               trans.reference,
-               sorder.customer_ref,
-               trans.tran_date,
-               trans.due_date,
-               (ov_amount+ov_gst+ov_freight+ov_freight_tax) AS DeliveryValue,
-               debtor.curr_code,
-               Sum(line.quantity-line.qty_done) AS Outstanding,
-               Sum(line.qty_done) AS Done
-       FROM "
-        .TB_PREF."sales_orders as sorder, "
-        .TB_PREF."debtor_trans as trans, "
-        .TB_PREF."debtor_trans_details as line, "
-        .TB_PREF."debtors_master as debtor, "
-        .TB_PREF."cust_branch as branch
-               WHERE
-               sorder.order_no = trans.order_ AND
-               trans.debtor_no = debtor.debtor_no
-                       AND trans.type = ".ST_CUSTDELIVERY."
-                       AND line.debtor_trans_no = trans.trans_no
-                       AND line.debtor_trans_type = trans.type
-                       AND trans.branch_code = branch.branch_code
-                       AND trans.debtor_no = branch.debtor_no ";
-
-if ($_POST['OutstandingOnly'] == true) {
-        $sql .= " AND line.qty_done < line.quantity ";
-}
-
-//figure out the sql required from the inputs available
-if (isset($_POST['DeliveryNumber']) && $_POST['DeliveryNumber'] != "")
-{
-       $delivery = "%".$_POST['DeliveryNumber'];
-       $sql .= " AND trans.trans_no LIKE ".db_escape($delivery);
-       $sql .= " GROUP BY trans.trans_no";
-}
-else
-{
-       $sql .= " AND trans.tran_date >= '".date2sql($_POST['DeliveryAfterDate'])."'";
-       $sql .= " AND trans.tran_date <= '".date2sql($_POST['DeliveryToDate'])."'";
-
-       if ($selected_customer != -1)
-               $sql .= " AND trans.debtor_no=".db_escape($selected_customer)." ";
-
-       if (isset($selected_stock_item))
-               $sql .= " AND line.stock_id=".db_escape($selected_stock_item)." ";
-
-       if (isset($_POST['StockLocation']) && $_POST['StockLocation'] != ALL_TEXT)
-               $sql .= " AND sorder.from_stk_loc = ".db_escape($_POST['StockLocation'])." ";
-
-       $sql .= " GROUP BY trans.trans_no ";
-
-} //end no delivery number selected
+$sql = get_sql_for_sales_deliveries_view($selected_customer, $selected_stock_id);
 
 $cols = array(
                _("Delivery #") => array('fun'=>'trans_view'), 
index ec0091232d96aba87076f866f672dfec6c59d88c..c60df3a432893f85f176634cbd71e503fac707a3 100644 (file)
@@ -245,73 +245,7 @@ end_table(1);
 //---------------------------------------------------------------------------------------------
 //     Orders inquiry table
 //
-$sql = "SELECT 
-               sorder.order_no,
-               sorder.reference,
-               debtor.name,
-               branch.br_name,"
-               .($_POST['order_view_mode']=='InvoiceTemplates' 
-                       || $_POST['order_view_mode']=='DeliveryTemplates' ?
-                "sorder.comments, " : "sorder.customer_ref, ")
-               ."sorder.ord_date,
-               sorder.delivery_date,
-               sorder.deliver_to,
-               Sum(line.unit_price*line.quantity*(1-line.discount_percent))+freight_cost AS OrderValue,
-               sorder.type,
-               debtor.curr_code,
-               Sum(line.qty_sent) AS TotDelivered,
-               Sum(line.quantity) AS TotQuantity
-       FROM ".TB_PREF."sales_orders as sorder, "
-               .TB_PREF."sales_order_details as line, "
-               .TB_PREF."debtors_master as debtor, "
-               .TB_PREF."cust_branch as branch
-               WHERE sorder.order_no = line.order_no
-               AND sorder.trans_type = line.trans_type
-               AND sorder.trans_type = $trans_type
-               AND sorder.debtor_no = debtor.debtor_no
-               AND sorder.branch_code = branch.branch_code
-               AND debtor.debtor_no = branch.debtor_no";
-
-if (isset($_POST['OrderNumber']) && $_POST['OrderNumber'] != "")
-{
-       // search orders with number like 
-       $number_like = "%".$_POST['OrderNumber'];
-       $sql .= " AND sorder.order_no LIKE ".db_escape($number_like)
-                       ." GROUP BY sorder.order_no";
-}
-else   // ... or select inquiry constraints
-{
-       if ($_POST['order_view_mode']!='DeliveryTemplates' && $_POST['order_view_mode']!='InvoiceTemplates')
-       {
-               $date_after = date2sql($_POST['OrdersAfterDate']);
-               $date_before = date2sql($_POST['OrdersToDate']);
-
-               $sql .=  " AND sorder.ord_date >= '$date_after'"
-                               ." AND sorder.ord_date <= '$date_before'";
-       }
-       if ($trans_type == 32 && !check_value('show_all'))
-               $sql .= " AND sorder.delivery_date >= '".date2sql(Today())."'";
-       if ($selected_customer != -1)
-               $sql .= " AND sorder.debtor_no=".db_escape($selected_customer);
-
-       if (isset($selected_stock_item))
-               $sql .= " AND line.stk_code=".db_escape($selected_stock_item);
-
-       if (isset($_POST['StockLocation']) && $_POST['StockLocation'] != ALL_TEXT)
-               $sql .= " AND sorder.from_stk_loc = ".db_escape($_POST['StockLocation']);
-
-       if ($_POST['order_view_mode']=='OutstandingOnly')
-               $sql .= " AND line.qty_sent < line.quantity";
-       elseif ($_POST['order_view_mode']=='InvoiceTemplates' || $_POST['order_view_mode']=='DeliveryTemplates')
-               $sql .= " AND sorder.type=1";
-
-       $sql .= " GROUP BY sorder.order_no,
-                               sorder.debtor_no,
-                               sorder.branch_code,
-                               sorder.customer_ref,
-                               sorder.ord_date,
-                               sorder.deliver_to";
-}
+$sql = get_sql_for_sales_orders_view($selected_customer, $trans_type);
 
 if ($trans_type == ST_SALESORDER)
        $cols = array(
index aed0b1ffc9a622d74836be1c6d083f8ffb0406f3..90fc179e4a2dc05519540ff4e3a6f0060c5b95c2 100644 (file)
@@ -58,11 +58,7 @@ if ($Mode=='UPDATE_ITEM' && can_process())
 
 function can_delete($selected_id)
 {
-       $sql= "SELECT COUNT(*) FROM ".TB_PREF."debtors_master 
-               WHERE credit_status=".db_escape($selected_id);
-       $result = db_query($sql, "could not query customers");
-       $myrow = db_fetch_row($result);
-       if ($myrow[0] > 0) 
+       if (key_in_foreign_table($selected_id, 'debtors_master', 'credit_status'))
        {
                display_error(_("Cannot delete this credit status because customer accounts have been created referring to it."));
                return false;
index 3850e8baa59738fcfa299ac1f2d264cb1c24044e..72bb9f29e9bcdc8c8f827b48c3c92211d1e89169 100644 (file)
@@ -77,62 +77,27 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
        if ($selected_id != -1)
                {
                        /*SelectedBranch could also exist if submit had not been clicked this code would not run in this case cos submit is false of course see the     delete code below*/
-
-                       $sql = "UPDATE ".TB_PREF."cust_branch SET br_name = " . db_escape($_POST['br_name']) . ",
-                               branch_ref = " . db_escape($_POST['br_ref']) . ",
-                               br_address = ".db_escape($_POST['br_address']). ",
-               phone=".db_escape($_POST['phone']). ",
-               phone2=".db_escape($_POST['phone2']). ",
-               fax=".db_escape($_POST['fax']).",
-               contact_name=".db_escape($_POST['contact_name']) . ",
-               salesman= ".db_escape($_POST['salesman']) . ",
-               area=".db_escape($_POST['area']) . ",
-               email=".db_escape($_POST['email']) . ",
-               tax_group_id=".db_escape($_POST['tax_group_id']). ",
-                               sales_account=".db_escape($_POST['sales_account']) . ",
-                               sales_discount_account=".db_escape($_POST['sales_discount_account']) . ",
-                               receivables_account=".db_escape($_POST['receivables_account']) . ",
-                               payment_discount_account=".db_escape($_POST['payment_discount_account']) . ",
-               default_location=".db_escape($_POST['default_location']) . ",
-               br_post_address =".db_escape($_POST['br_post_address']) . ",
-               disable_trans=".db_escape($_POST['disable_trans']) . ",
-                               group_no=".db_escape($_POST['group_no']) . ", 
-               default_ship_via=".db_escape($_POST['default_ship_via']) . ",
-                notes=".db_escape($_POST['notes']) . "
-               WHERE branch_code =".db_escape($_POST['branch_code']) . "
-               AND debtor_no=".db_escape($_POST['customer_id']);
+                       update_branch($_POST['customer_id'], $_POST['branch_code'], $_POST['br_name'], $_POST['br_ref'],
+                               $_POST['br_address'], $_POST['phone'], $_POST['phone2'], $_POST['fax'], $_POST['contact_name'], 
+                               $_POST['salesman'], $_POST['area'], $_POST['email'], $_POST['tax_group_id'], $_POST['sales_account'],
+                               $_POST['sales_discount_account'], $_POST['receivables_account'], $_POST['payment_discount_account'],
+                               $_POST['default_location'], $_POST['br_post_address'], $_POST['disable_trans'], $_POST['group_no'],
+                               $_POST['default_ship_via'], $_POST['notes']);
 
                        $note =_('Selected customer branch has been updated');
                }
                else
                {
                        /*Selected branch is null cos no item selected on first time round so must be adding a  record must be submitting new entries in the new Customer Branches form */
-                       $sql = "INSERT INTO ".TB_PREF."cust_branch (debtor_no, br_name, branch_ref, br_address,
-                               salesman, phone, phone2, fax,
-                               contact_name, area, email, tax_group_id, sales_account, receivables_account, payment_discount_account, sales_discount_account, default_location,
-                               br_post_address, disable_trans, group_no, default_ship_via, notes)
-                               VALUES (".db_escape($_POST['customer_id']). ",".db_escape($_POST['br_name']) . ", "
-                                       .db_escape($_POST['br_ref']) . ", "
-                                       .db_escape($_POST['br_address']) . ", ".db_escape($_POST['salesman']) . ", "
-                                       .db_escape($_POST['phone']) . ", ".db_escape($_POST['phone2']) . ", "
-                                       .db_escape($_POST['fax']) . ","
-                                       .db_escape($_POST['contact_name']) . ", ".db_escape($_POST['area']) . ","
-                                       .db_escape($_POST['email']) . ", ".db_escape($_POST['tax_group_id']) . ", "
-                                       .db_escape($_POST['sales_account']) . ", "
-                                       .db_escape($_POST['receivables_account']) . ", "
-                                       .db_escape($_POST['payment_discount_account']) . ", "
-                                       .db_escape($_POST['sales_discount_account']) . ", "
-                                       .db_escape($_POST['default_location']) . ", "
-                                       .db_escape($_POST['br_post_address']) . ","
-                                       .db_escape($_POST['disable_trans']) . ", "
-                                       .db_escape($_POST['group_no']) . ", "
-                                       .db_escape($_POST['default_ship_via']). ", "
-                                       .db_escape($_POST['notes']) . ")";
-
+                       add_branch($_POST['customer_id'], $_POST['br_name'], $_POST['br_ref'],
+                               $_POST['br_address'], $_POST['phone'], $_POST['phone2'], $_POST['fax'], $_POST['contact_name'], 
+                               $_POST['salesman'], $_POST['area'], $_POST['email'], $_POST['tax_group_id'], $_POST['sales_account'],
+                               $_POST['sales_discount_account'], $_POST['receivables_account'], $_POST['payment_discount_account'],
+                               $_POST['default_location'], $_POST['br_post_address'], $_POST['disable_trans'], $_POST['group_no'],
+                               $_POST['default_ship_via'], $_POST['notes']);
+                       
                        $note = _('New customer branch has been added');
                }
-               //run the sql from either of the above possibilites
-               db_query($sql,"The branch record could not be inserted or updated");
                display_notification($note);
                $Mode = 'RESET';
                if (@$_REQUEST['popup']) {
@@ -148,28 +113,20 @@ elseif ($Mode == 'Delete')
 
        // PREVENT DELETES IF DEPENDENT RECORDS IN 'debtor_trans'
 
-       $sql= "SELECT COUNT(*) FROM ".TB_PREF."debtor_trans WHERE branch_code=".db_escape($_POST['branch_code'])." AND debtor_no = ".db_escape($_POST['customer_id']);
-       $result = db_query($sql,"could not query debtortrans");
-       $myrow = db_fetch_row($result);
-       if ($myrow[0] > 0)
+       if (branch_in_foreign_table($_POST['customer_id'], $_POST['branch_code'], 'debtor_trans'))
        {
                display_error(_("Cannot delete this branch because customer transactions have been created to this branch."));
 
        }
        else
        {
-               $sql= "SELECT COUNT(*) FROM ".TB_PREF."sales_orders WHERE branch_code=".db_escape($_POST['branch_code'])." AND debtor_no = ".db_escape($_POST['customer_id']);
-               $result = db_query($sql,"could not query sales orders");
-
-               $myrow = db_fetch_row($result);
-               if ($myrow[0] > 0)
+               if (branch_in_foreign_table($_POST['customer_id'], $_POST['branch_code'], 'sales_orders'))
                {
                        display_error(_("Cannot delete this branch because sales orders exist for it. Purge old sales orders first."));
                }
                else
                {
-                       $sql="DELETE FROM ".TB_PREF."cust_branch WHERE branch_code=".db_escape($_POST['branch_code'])." AND debtor_no=".db_escape($_POST['customer_id']);
-                       db_query($sql,"could not delete branch");
+                       delete_branch($_POST['customer_id'], $_POST['branch_code']);
                        display_notification(_('Selected customer branch has been deleted'));
                }
        } //end ifs to test if the branch can be deleted
@@ -211,30 +168,8 @@ echo "</center><br>";
 
 $num_branches = db_customer_has_branches($_POST['customer_id']);
 
-       $sql = "SELECT "
-               ."b.branch_code, "
-               ."b.branch_ref, "
-               ."b.br_name, "
-               ."b.contact_name, "
-               ."s.salesman_name, "
-               ."a.description, "
-               ."b.phone, "
-               ."b.fax, "
-               ."b.email, "
-               ."t.name AS tax_group_name, "
-               ."b.inactive
-               FROM ".TB_PREF."cust_branch b, "
-                       .TB_PREF."debtors_master c, "
-                       .TB_PREF."areas a, "
-                       .TB_PREF."salesman s, "
-                       .TB_PREF."tax_groups t
-               WHERE b.debtor_no=c.debtor_no
-               AND b.tax_group_id=t.id
-               AND b.area=a.area_code
-               AND b.salesman=s.salesman_code
-               AND b.debtor_no = ".db_escape($_POST['customer_id']);
-
-       if (!get_post('show_inactive')) $sql .= " AND !b.inactive";
+$sql = get_sql_for_customer_branches();
+
 //------------------------------------------------------------------------------------------------
 if ($num_branches)
 {
@@ -279,11 +214,7 @@ if ($selected_id != -1)
        if ($Mode == 'Edit') {
 
                //editing an existing branch
-       $sql = "SELECT * FROM ".TB_PREF."cust_branch
-                       WHERE branch_code=".db_escape($_POST['branch_code'])."
-                       AND debtor_no=".db_escape($_POST['customer_id']);
-               $result = db_query($sql,"check failed");
-           $myrow = db_fetch($result);
+               $myrow = get_cust_branch($_POST['customer_id'], $_POST['branch_code']);
                set_focus('br_name');
        $_POST['branch_code'] = $myrow["branch_code"];
            $_POST['br_name']  = $myrow["br_name"];
@@ -313,10 +244,7 @@ if ($selected_id != -1)
 elseif ($Mode != 'ADD_ITEM')
 { //end of if $SelectedBranch only do the else when a new record is being entered
        if(!$num_branches) {
-               $sql = "SELECT name, address, email, debtor_ref
-                       FROM ".TB_PREF."debtors_master WHERE debtor_no = ".db_escape($_POST['customer_id']);
-               $result = db_query($sql,"check failed");
-               $myrow = db_fetch($result);
+               $myrow = get_default_info_for_branch($_POST['customer_id']);
                $_POST['br_name'] = $myrow["name"];
                $_POST['br_ref'] = $myrow["debtor_ref"];
                $_POST['contact_name'] = _('Main Branch');
index dd2646834967b3ee61a78b50b8503eae90deb5a2..e95af9586cd66c9f04939f8661a6439907c812cf 100644 (file)
@@ -77,25 +77,10 @@ function handle_submit()
                
        if ($new_customer == false) 
        {
-
-               $sql = "UPDATE ".TB_PREF."debtors_master SET name=" . db_escape($_POST['CustName']) . ", 
-                       debtor_ref=" . db_escape($_POST['cust_ref']) . ",
-                       address=".db_escape($_POST['address']) . ", 
-                       tax_id=".db_escape($_POST['tax_id']) . ", 
-                       curr_code=".db_escape($_POST['curr_code']) . ", 
-                       email=".db_escape($_POST['email']) . ", 
-                       dimension_id=".db_escape($_POST['dimension_id']) . ", 
-                       dimension2_id=".db_escape($_POST['dimension2_id']) . ", 
-            credit_status=".db_escape($_POST['credit_status']) . ", 
-            payment_terms=".db_escape($_POST['payment_terms']) . ", 
-            discount=" . input_num('discount') / 100 . ", 
-            pymt_discount=" . input_num('pymt_discount') / 100 . ", 
-            credit_limit=" . input_num('credit_limit') . ", 
-            sales_type = ".db_escape($_POST['sales_type']) . ", 
-            notes=".db_escape($_POST['notes']) . "
-            WHERE debtor_no = ".db_escape($_POST['customer_id']);
-
-               db_query($sql,"The customer could not be updated");
+               update_customer($_POST['customer_id'], $_POST['CustName'], $_POST['cust_ref'], $_POST['address'],
+                       $_POST['tax_id'], $_POST['curr_code'], $_POST['email'], $_POST['dimension_id'], $_POST['dimension2_id'],
+                       $_POST['credit_status'], $_POST['payment_terms'], input_num('discount') / 100, input_num('pymt_discount') / 100,
+                       input_num('credit_limit'), $_POST['sales_type'], $_POST['notes']);
 
                update_record_status($_POST['customer_id'], $_POST['inactive'],
                        'debtors_master', 'debtor_no');
@@ -107,18 +92,10 @@ function handle_submit()
        {       //it is a new customer
 
                begin_transaction();
-
-               $sql = "INSERT INTO ".TB_PREF."debtors_master (name, debtor_ref, address, tax_id, email, dimension_id, dimension2_id,  
-                       curr_code, credit_status, payment_terms, discount, pymt_discount,credit_limit,  
-                       sales_type, notes) VALUES (".db_escape($_POST['CustName']) .", " .db_escape($_POST['cust_ref']) .", "
-                       .db_escape($_POST['address']) . ", " . db_escape($_POST['tax_id']) . ","
-                       .db_escape($_POST['email']) . ", ".db_escape($_POST['dimension_id']) . ", " 
-                       .db_escape($_POST['dimension2_id']) . ", ".db_escape($_POST['curr_code']) . ", 
-                       " . db_escape($_POST['credit_status']) . ", ".db_escape($_POST['payment_terms']) . ", " . input_num('discount')/100 . ", 
-                       " . input_num('pymt_discount')/100 . ", " . input_num('credit_limit') 
-                        .", ".db_escape($_POST['sales_type']).", ".db_escape($_POST['notes']) . ")";
-
-               db_query($sql,"The customer could not be added");
+               add_customer($_POST['CustName'], $_POST['cust_ref'], $_POST['address'],
+                       $_POST['tax_id'], $_POST['curr_code'], $_POST['email'], $_POST['dimension_id'], $_POST['dimension2_id'],
+                       $_POST['credit_status'], $_POST['payment_terms'], input_num('discount') / 100, input_num('pymt_discount') / 100,
+                       input_num('credit_limit'), $_POST['sales_type'], $_POST['notes']);
 
                $_POST['customer_id'] = db_insert_id();
                $new_customer = false;
@@ -146,30 +123,22 @@ if (isset($_POST['delete']))
 
        // PREVENT DELETES IF DEPENDENT RECORDS IN 'debtor_trans'
        $sel_id = db_escape($_POST['customer_id']);
-       $sql= "SELECT COUNT(*) FROM ".TB_PREF."debtor_trans WHERE debtor_no=$sel_id";
-       $result = db_query($sql,"check failed");
-       $myrow = db_fetch_row($result);
-       if ($myrow[0] > 0) 
+
+       if (key_in_foreign_table($sel_id, 'debtor_trans', 'debtor_no', true))
        {
                $cancel_delete = 1;
                display_error(_("This customer cannot be deleted because there are transactions that refer to it."));
        } 
        else 
        {
-               $sql= "SELECT COUNT(*) FROM ".TB_PREF."sales_orders WHERE debtor_no=$sel_id";
-               $result = db_query($sql,"check failed");
-               $myrow = db_fetch_row($result);
-               if ($myrow[0] > 0) 
+               if (key_in_foreign_table($sel_id, 'sales_orders', 'debtor_no', true))
                {
                        $cancel_delete = 1;
                        display_error(_("Cannot delete the customer record because orders have been created against it."));
                } 
                else 
                {
-                       $sql = "SELECT COUNT(*) FROM ".TB_PREF."cust_branch WHERE debtor_no=$sel_id";
-                       $result = db_query($sql,"check failed");
-                       $myrow = db_fetch_row($result);
-                       if ($myrow[0] > 0) 
+                       if (key_in_foreign_table($sel_id, 'cust_branch', 'debtor_no', true))
                        {
                                $cancel_delete = 1;
                                display_error(_("Cannot delete this customer because there are branch records set up against it."));
@@ -180,8 +149,8 @@ if (isset($_POST['delete']))
        
        if ($cancel_delete == 0) 
        {       //ie not cancelled the delete as a result of above tests
-               $sql = "DELETE FROM ".TB_PREF."debtors_master WHERE debtor_no=$sel_id";
-               db_query($sql,"cannot delete customer");
+       
+               delete_customer($sel_id, true);
 
                display_notification(_("Selected customer has been deleted."));
                unset($_POST['customer_id']);
@@ -230,11 +199,7 @@ if ($new_customer)
 } 
 else 
 {
-
-       $sql = "SELECT * FROM ".TB_PREF."debtors_master WHERE debtor_no = ".db_escape($_POST['customer_id']);
-       $result = db_query($sql,"check failed");
-
-       $myrow = db_fetch($result);
+       $myrow = get_customer($_POST['customer_id']);
 
        $_POST['CustName'] = $myrow["name"];
        $_POST['cust_ref'] = $myrow["debtor_ref"];
index f646ff2af685d62bbdfcfabc8d4315b98dafbd57..dea4ef3fdb9bb6755dd7d25275d0f7611d56122c 100644 (file)
@@ -13,6 +13,7 @@ $page_security = 'SA_SRECURRENT';
 $path_to_root = "../..";
 include($path_to_root . "/includes/session.inc");
 include($path_to_root . "/includes/ui.inc");
+include_once($path_to_root . "/sales/includes/sales_db.inc");
 
 $js = "";
 if ($use_popup_windows)
@@ -40,29 +41,17 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
        {
        if ($selected_id != -1) 
        {
-               $sql = "UPDATE ".TB_PREF."recurrent_invoices SET 
-                       description=".db_escape($_POST['description']).", 
-                       order_no=".db_escape($_POST['order_no']).", 
-                       debtor_no=".db_escape($_POST['debtor_no']).", 
-                       group_no=".db_escape($_POST['group_no']).", 
-                       days=".input_num('days', 0).", 
-                       monthly=".input_num('monthly', 0).", 
-                       begin='".date2sql($_POST['begin'])."', 
-                       end='".date2sql($_POST['end'])."' 
-                       WHERE id = ".db_escape($selected_id);
+               update_recurrent_invoice($selected_id, $_POST['description'], $_POST['order_no'], $_POST['debtor_no'], 
+                       $_POST['group_no'], input_num('days', 0), input_num('monthly', 0), $_POST['begin'], $_POST['end']);
                        $note = _('Selected recurrent invoice has been updated');
        } 
        else 
        {
-               $sql = "INSERT INTO ".TB_PREF."recurrent_invoices (description, order_no, debtor_no,
-                       group_no, days, monthly, begin, end, last_sent) VALUES (".db_escape($_POST['description']) . ", "
-                       .db_escape($_POST['order_no']).", ".db_escape($_POST['debtor_no']).", "
-                       .db_escape($_POST['group_no']).", ".input_num('days', 0).", ".input_num('monthly', 0).", '"
-                       .date2sql($_POST['begin'])."', '".date2sql($_POST['end'])."', '".date2sql(Add_Years($_POST['begin'], -5))."')";
+               add_recurrent_invoice($_POST['description'], $_POST['order_no'], $_POST['debtor_no'], $_POST['group_no'],
+                       input_num('days', 0), input_num('monthly', 0), $_POST['begin'], $_POST['end']);
                        $note = _('New recurrent invoice has been added');
        }
     
-       db_query($sql,"The recurrent invoice could not be updated or added");
                display_notification($note);            
                $Mode = 'RESET';
        }
@@ -75,8 +64,7 @@ if ($Mode == 'Delete')
 
        if ($cancel_delete == 0) 
        {
-               $sql="DELETE FROM ".TB_PREF."recurrent_invoices WHERE id=".db_escape($selected_id);
-               db_query($sql,"could not delete recurrent invoice");
+               delete_recurrent_invoice($selected_id);
 
                display_notification(_('Selected recurrent invoice has been deleted'));
        } //end if Delete area
@@ -89,16 +77,8 @@ if ($Mode == 'RESET')
        unset($_POST);
 }
 //-------------------------------------------------------------------------------------------------
-function get_sales_group_name($group_no)
-{
-       $sql = "SELECT description FROM ".TB_PREF."groups WHERE id = ".db_escape($group_no);
-       $result = db_query($sql, "could not get group");
-       $row = db_fetch($result);
-       return $row[0];
-}
 
-$sql = "SELECT * FROM ".TB_PREF."recurrent_invoices ORDER BY description, group_no, debtor_no";
-$result = db_query($sql,"could not get recurrent invoices");
+$result = get_recurrent_invoices();
 
 start_form();
 start_table("$table_style width=70%");
@@ -149,10 +129,7 @@ if ($selected_id != -1)
 {
        if ($Mode == 'Edit') {
                //editing an existing area
-               $sql = "SELECT * FROM ".TB_PREF."recurrent_invoices WHERE id=".db_escape($selected_id);
-
-               $result = db_query($sql,"could not get recurrent invoice");
-               $myrow = db_fetch($result);
+               $myrow = get_recurrent_invoice($selected_id);
 
                $_POST['description']  = $myrow["description"];
                $_POST['order_no']  = $myrow["order_no"];
index 8bb0ffd10af033d72d2c1a77f81f4841dc2210bd..1b528388322da0eb5b0181251c523e521aa53927 100644 (file)
@@ -35,16 +35,15 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
        {
        if ($selected_id != -1) 
        {
-               $sql = "UPDATE ".TB_PREF."areas SET description=".db_escape($_POST['description'])." WHERE area_code = ".db_escape($selected_id);
+               update_sales_area($selected_id, $_POST['description']);
                        $note = _('Selected sales area has been updated');
        } 
        else 
        {
-               $sql = "INSERT INTO ".TB_PREF."areas (description) VALUES (".db_escape($_POST['description']) . ")";
+               add_sales_area($_POST['description']);
                        $note = _('New sales area has been added');
        }
     
-       db_query($sql,"The sales area could not be updated or added");
                display_notification($note);            
                $Mode = 'RESET';
        }
@@ -57,18 +56,14 @@ if ($Mode == 'Delete')
 
        // PREVENT DELETES IF DEPENDENT RECORDS IN 'debtors_master'
 
-       $sql= "SELECT COUNT(*) FROM ".TB_PREF."cust_branch WHERE area=".db_escape($selected_id);
-       $result = db_query($sql,"check failed");
-       $myrow = db_fetch_row($result);
-       if ($myrow[0] > 0) 
+       if (key_in_foreign_table($selected_id, 'cust_branch', 'area'))
        {
                $cancel_delete = 1;
                display_error(_("Cannot delete this area because customer branches have been created using this area."));
        } 
        if ($cancel_delete == 0) 
        {
-               $sql="DELETE FROM ".TB_PREF."areas WHERE area_code=".db_escape($selected_id);
-               db_query($sql,"could not delete sales area");
+               delete_sales_area($selected_id);
 
                display_notification(_('Selected sales area has been deleted'));
        } //end if Delete area
@@ -85,9 +80,7 @@ if ($Mode == 'RESET')
 
 //-------------------------------------------------------------------------------------------------
 
-$sql = "SELECT * FROM ".TB_PREF."areas";
-if (!check_value('show_inactive')) $sql .= " WHERE !inactive";
-$result = db_query($sql,"could not get areas");
+$result = get_sales_areas(check_value('show_inactive'));
 
 start_form();
 start_table("$table_style width=30%");
@@ -124,10 +117,7 @@ if ($selected_id != -1)
 {
        if ($Mode == 'Edit') {
                //editing an existing area
-               $sql = "SELECT * FROM ".TB_PREF."areas WHERE area_code=".db_escape($selected_id);
-
-               $result = db_query($sql,"could not get area");
-               $myrow = db_fetch($result);
+               $myrow = get_sales_area($selected_id);
 
                $_POST['description']  = $myrow["description"];
        }
index 2ee95badf68fd9160ef04c7125e4581709ee3e8a..7521182af1569eb15bfe6250205a280dab6bdba6 100644 (file)
@@ -35,16 +35,15 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
        {
        if ($selected_id != -1) 
        {
-               $sql = "UPDATE ".TB_PREF."groups SET description=".db_escape($_POST['description'])." WHERE id = ".db_escape($selected_id);
+               update_sales_group($selected_id, $_POST['description']);
                        $note = _('Selected sales group has been updated');
        } 
        else 
        {
-               $sql = "INSERT INTO ".TB_PREF."groups (description) VALUES (".db_escape($_POST['description']) . ")";
+               add_sales_group($_POST['description']);
                        $note = _('New sales group has been added');
        }
     
-       db_query($sql,"The sales group could not be updated or added");
                display_notification($note);            
                $Mode = 'RESET';
        }
@@ -57,19 +56,14 @@ if ($Mode == 'Delete')
 
        // PREVENT DELETES IF DEPENDENT RECORDS IN 'debtors_master'
 
-       $sql= "SELECT COUNT(*) FROM ".TB_PREF."cust_branch WHERE group_no=".db_escape($selected_id);
-       $result = db_query($sql,"check failed");
-       $myrow = db_fetch_row($result);
-       if ($myrow[0] > 0) 
+       if (key_in_foreign_table($selected_id, 'cust_branch', 'group_no'))
        {
                $cancel_delete = 1;
                display_error(_("Cannot delete this group because customers have been created using this group."));
        } 
        if ($cancel_delete == 0) 
        {
-               $sql="DELETE FROM ".TB_PREF."groups WHERE id=".db_escape($selected_id);
-               db_query($sql,"could not delete sales group");
-
+               delete_sales_group($selected_id);
                display_notification(_('Selected sales group has been deleted'));
        } //end if Delete area
        $Mode = 'RESET';
@@ -84,10 +78,7 @@ if ($Mode == 'RESET')
 }
 //-------------------------------------------------------------------------------------------------
 
-$sql = "SELECT * FROM ".TB_PREF."groups";
-if (!check_value('show_inactive')) $sql .= " WHERE !inactive";
-$sql .= " ORDER BY description";
-$result = db_query($sql,"could not get groups");
+$result = get_sales_groups(check_value('show_inactive'));
 
 start_form();
 start_table("$table_style width=30%");
@@ -110,9 +101,7 @@ while ($myrow = db_fetch($result))
 }
 
 inactive_control_row($th);
-end_table();
-
-echo '<br>';
+end_table(1);
 
 //-------------------------------------------------------------------------------------------------
 
@@ -122,10 +111,7 @@ if ($selected_id != -1)
 {
        if ($Mode == 'Edit') {
                //editing an existing area
-               $sql = "SELECT * FROM ".TB_PREF."groups WHERE id=".db_escape($selected_id);
-
-               $result = db_query($sql,"could not get group");
-               $myrow = db_fetch($result);
+               $myrow = get_sales_group($selected_id);
 
                $_POST['description']  = $myrow["description"];
        }
index 1c398b61a37a8da5bcc705d384d363e8d3bf1126..55a5f12fd2f5d914c1082256d818f069267da5bf 100644 (file)
@@ -48,31 +48,16 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
        if ($selected_id != -1) 
        {
                /*selected_id could also exist if submit had not been clicked this code would not run in this case cos submit is false of course  see the delete code below*/
-
-               $sql = "UPDATE ".TB_PREF."salesman SET salesman_name=".db_escape($_POST['salesman_name']) . ",
-                       salesman_phone=".db_escape($_POST['salesman_phone']) . ",
-                       salesman_fax=".db_escape($_POST['salesman_fax']) . ",
-                       salesman_email=".db_escape($_POST['salesman_email']) . ",
-                       provision=".input_num('provision').",
-                       break_pt=".input_num('break_pt').",
-                       provision2=".input_num('provision2')."
-                       WHERE salesman_code = ".db_escape($selected_id);
+                       update_salesman($selected_id, $_POST['salesman_name'], $_POST['salesman_phone'], $_POST['salesman_fax'],
+                               $_POST['salesman_email'], input_num('provision'), input_num('break_pt'), input_num('provision2'));
        }
        else
        {
                /*Selected group is null cos no item selected on first time round so must be adding a record must be submitting new entries in the new Sales-person form */
-               $sql = "INSERT INTO ".TB_PREF."salesman (salesman_name, salesman_phone, salesman_fax, salesman_email,
-                       provision, break_pt, provision2)
-                       VALUES (".db_escape($_POST['salesman_name']) . ", "
-                                 .db_escape($_POST['salesman_phone']) . ", "
-                                 .db_escape($_POST['salesman_fax']) . ", "
-                                 .db_escape($_POST['salesman_email']) . ", ".
-                       input_num('provision').", ".input_num('break_pt').", "
-                               .input_num('provision2').")";
+                       add_salesman($_POST['salesman_name'], $_POST['salesman_phone'], $_POST['salesman_fax'],
+                               $_POST['salesman_email'], input_num('provision'), input_num('break_pt'), input_num('provision2'));
        }
 
-       //run the sql from either of the above possibilites
-       db_query($sql,"The insert or update of the sales person failed");
        if ($selected_id != -1) 
                        display_notification(_('Selected sales person data have been updated'));
                else
@@ -86,17 +71,13 @@ if ($Mode == 'Delete')
 
        // PREVENT DELETES IF DEPENDENT RECORDS IN 'debtors_master'
 
-       $sql= "SELECT COUNT(*) FROM ".TB_PREF."cust_branch WHERE salesman=".db_escape($selected_id);
-       $result = db_query($sql,"check failed");
-       $myrow = db_fetch_row($result);
-       if ($myrow[0] > 0)
+       if (key_in_foreign_table($selected_id, 'cust_branch', 'salesman'))
        {
                display_error("Cannot delete this sales-person because branches are set up referring to this sales-person - first alter the branches concerned.");
        }
        else
        {
-               $sql="DELETE FROM ".TB_PREF."salesman WHERE salesman_code=".db_escape($selected_id);
-               db_query($sql,"The sales-person could not be deleted");
+               delete_salesman($selected_id);
                display_notification(_('Selected sales person data have been deleted'));
        }
        $Mode = 'RESET';
@@ -111,9 +92,7 @@ if ($Mode == 'RESET')
 }
 //------------------------------------------------------------------------------------------------
 
-$sql = "SELECT * FROM ".TB_PREF."salesman";
-if (!check_value('show_inactive')) $sql .= " WHERE !inactive";
-$result = db_query($sql,"could not get sales persons");
+$result = get_salesmen(check_value('show_inactive'));
 
 start_form();
 start_table("$table_style width=60%");
@@ -154,10 +133,7 @@ if ($selected_id != -1)
 {
        if ($Mode == 'Edit') {
                //editing an existing Sales-person
-               $sql = "SELECT *  FROM ".TB_PREF."salesman WHERE salesman_code=".db_escape($selected_id);
-
-               $result = db_query($sql,"could not get sales person");
-               $myrow = db_fetch($result);
+               $myrow = get_salesman($selected_id);
 
                $_POST['salesman_name'] = $myrow["salesman_name"];
                $_POST['salesman_phone'] = $myrow["salesman_phone"];
index 915911c384c08fe9c4f29bd2c2360c9cb9dced2c..b394754855780ff0448451ab7099385e304ef921 100644 (file)
@@ -64,9 +64,8 @@ if ($Mode=='UPDATE_ITEM' && can_process())
 
 if ($Mode == 'Delete')
 {
-       $sql = "SELECT * FROM ".TB_PREF."users WHERE print_profile=".db_escape($selected_id);
-       $res = db_query($sql, "canot check pos usage");
-       if (db_num_rows($res)) {
+       if (key_in_foreign_table($selected_id, 'users', 'print_profile'))
+       {
                display_error(_("Cannot delete this POS because it is used in users setup."));
        } else {
                delete_sales_point($selected_id);
index 7ebd768594c14231cbbe796f329392a519601ac8..bc54f635595860db19096be4d749846847a302ba 100644 (file)
@@ -65,26 +65,15 @@ if ($Mode=='UPDATE_ITEM' && can_process())
 if ($Mode == 'Delete')
 {
        // PREVENT DELETES IF DEPENDENT RECORDS IN 'debtor_trans'
-
-       $sql= "SELECT COUNT(*) FROM ".TB_PREF."debtor_trans WHERE tpe=".db_escape($selected_id);
-       $result = db_query($sql,"check failed");
-       check_db_error("The number of transactions using this Sales type record could not be retrieved", $sql);
-
-       $myrow = db_fetch_row($result);
-       if ($myrow[0] > 0)
+       
+       if (key_in_foreign_table($selected_id, 'debtor_trans', 'tpe'))
        {
                display_error(_("Cannot delete this sale type because customer transactions have been created using this sales type."));
 
        }
        else
        {
-
-               $sql = "SELECT COUNT(*) FROM ".TB_PREF."debtors_master WHERE sales_type=".db_escape($selected_id);
-               $result = db_query($sql,"check failed");
-               check_db_error("The number of customers using this Sales type record could not be retrieved", $sql);
-
-               $myrow = db_fetch_row($result);
-               if ($myrow[0] > 0)
+               if (key_in_foreign_table($selected_id, 'debtors_master', 'sales_type'))
                {
                        display_error(_("Cannot delete this sale type because customers are currently set up to use this sales type."));
                }
index ebf60096fa3cf9585d9c0ed62e61f4b422c9071e..69273e03c6e569a9050a2f5ab74eb5c3624101e4 100644 (file)
@@ -94,8 +94,7 @@ if ($_GET['trans_type'] != ST_SALESQUOTE)
        $th = array(_("#"), _("Ref"), _("Date"), _("Total"));
        table_header($th);
 
-       $sql = "SELECT * FROM ".TB_PREF."debtor_trans WHERE type=".ST_CUSTDELIVERY." AND order_=".db_escape($_GET['trans_no']);
-       $result = db_query($sql,"The related delivery notes could not be retreived");
+       $result = get_related_documents(ST_CUSTDELIVERY, $_GET['trans_no']);
 
        $delivery_total = 0;
        $k = 0;
@@ -127,8 +126,7 @@ if ($_GET['trans_type'] != ST_SALESQUOTE)
        $th = array(_("#"), _("Ref"), _("Date"), _("Total"));
        table_header($th);
 
-       $sql = "SELECT * FROM ".TB_PREF."debtor_trans WHERE type=".ST_SALESINVOICE." AND order_=".db_escape($_GET['trans_no']);
-       $result = db_query($sql,"The related invoices could not be retreived");
+       $result = get_related_documents(ST_SALESINVOICE, $_GET['trans_no']);
 
        $invoices_total = 0;
        $k = 0;
@@ -159,8 +157,7 @@ if ($_GET['trans_type'] != ST_SALESQUOTE)
        $th = array(_("#"), _("Ref"), _("Date"), _("Total"));
        table_header($th);
 
-       $sql = "SELECT * FROM ".TB_PREF."debtor_trans WHERE type=".ST_CUSTCREDIT." AND order_=".db_escape($_GET['trans_no']);
-       $result = db_query($sql,"The related credit notes could not be retreived");
+       $result = get_related_documents(ST_CUSTCREDIT, $_GET['trans_no']);
 
        $credits_total = 0;
        $k = 0;
index e57ffb356bfbb171d10ca0bec47a695c5d0aca7b..f42470eff9b5b3134a02d70e9520ad44e211510f 100644 (file)
@@ -113,4 +113,18 @@ function is_tax_gl_unique($gl_code, $gl_code2=-1, $selected_id=-1) {
 
        return $gl_code2 == -1 ? ($row[0] <= 1) : ($row[0] == 0);
 }
+
+function is_tax_account($account_code)
+{
+       $sql= "SELECT id FROM ".TB_PREF."tax_types WHERE 
+               sales_gl_code=".db_escape($account_code)." OR purchasing_gl_code=".db_escape($account_code);
+       $result = db_query($sql, "checking account is tax account");
+       if (db_num_rows($result) > 0) {
+               $acct = db_fetch($result);
+               return $acct['id'];
+       } else
+               return false;
+}
+
+
 ?>
\ No newline at end of file
index f1414efcfe084145479ad4ac5c8ef2c80224bb7f..7e3dfce6bbc572b75678b06e3af9b0ff35df2e72 100644 (file)
@@ -72,10 +72,7 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
 
 function can_delete($selected_id)
 {
-       $sql= "SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE tax_type_id=".db_escape($selected_id);
-       $result = db_query($sql, "could not query stock master");
-       $myrow = db_fetch_row($result);
-       if ($myrow[0] > 0) 
+       if (key_in_foreign_table($selected_id, 'stock_master', 'tax_type_id'))
        {
                display_error(_("Cannot delete this item tax type because items have been created referring to it."));
                return false;
index 7107cdca7a75c8f6732e533231faeda6c84cc92e..0da0a74ed147d0f40746e3d065d4920b30922ade 100644 (file)
@@ -207,16 +207,4 @@ function get_tax_for_items($items, $prices, $shipping_cost, $tax_group, $tax_inc
        return $ret_tax_array;
 }
 
-function is_tax_account($account_code)
-{
-       $sql= "SELECT id FROM ".TB_PREF."tax_types WHERE 
-               sales_gl_code=".db_escape($account_code)." OR purchasing_gl_code=".db_escape($account_code);
-       $result = db_query($sql, "checking account is tax account");
-       if (db_num_rows($result) > 0) {
-               $acct = db_fetch($result);
-               return $acct['id'];
-       } else
-               return false;
-}
-
 ?>
\ No newline at end of file
index be6834826fb4ac384790bca52af2552592be8935..13990c38bb4bdafce31e6257a1c508fb71d886cb 100644 (file)
@@ -99,21 +99,15 @@ function can_delete($selected_id)
 {
        if ($selected_id == -1)
                return false;
-       $sql = "SELECT COUNT(*) FROM ".TB_PREF."cust_branch WHERE tax_group_id=".db_escape($selected_id);
-       $result = db_query($sql, "could not query customers");
-       $myrow = db_fetch_row($result);
-       if ($myrow[0] > 0) 
+       if (key_in_foreign_table($selected_id, 'cust_branch', 'tax_group_id'))  
        {
-               display_note(_("Cannot delete this tax group because customer branches been created referring to it."));
+               display_error(_("Cannot delete this tax group because customer branches been created referring to it."));
                return false;
        }
 
-       $sql = "SELECT COUNT(*) FROM ".TB_PREF."suppliers WHERE tax_group_id=".db_escape($selected_id);
-       $result = db_query($sql, "could not query suppliers");
-       $myrow = db_fetch_row($result);
-       if ($myrow[0] > 0) 
+       if (key_in_foreign_table($selected_id, 'suppliers', 'tax_group_id'))
        {
-               display_note(_("Cannot delete this tax group because suppliers been created referring to it."));
+               display_error(_("Cannot delete this tax group because suppliers been created referring to it."));
                return false;
        }
 
index c76691830053dd31a44bf08aa1c9c30ef3ac1d4b..87b3f255058b1df5b0aa4604ae9a9b4827b7b28c 100644 (file)
@@ -72,10 +72,7 @@ if ($Mode=='UPDATE_ITEM' && can_process())
 
 function can_delete($selected_id)
 {
-       $sql= "SELECT COUNT(*) FROM ".TB_PREF."tax_group_items  WHERE tax_type_id=".db_escape($selected_id);
-       $result = db_query($sql, "could not query tax groups");
-       $myrow = db_fetch_row($result);
-       if ($myrow[0] > 0)
+       if (key_in_foreign_table($selected_id, 'tax_group_items', 'tax_type_id'))
        {
                display_error(_("Cannot delete this tax type because tax groups been created referring to it."));