Bug 5722: Canceled Sales Orders Show Up In Sales Order Inquiry. Fixed.
[fa-stable.git] / sales / includes / db / cust_trans_db.inc
index a68063b8ff8f0cc315c0ddd09911e79b8c5bced5..61a0f60ae3f203620ca2ae46476e4606d4c10494 100644 (file)
@@ -111,7 +111,7 @@ function write_customer_trans($trans_type, $trans_no, $debtor_no, $BranchNo,
        }
        db_query($sql, "The debtor transaction record could not be inserted");
 
-       if ($trans_type != ST_JOURNAL) // skip for journal entries
+       if ($trans_type != ST_JOURNAL && $trans_type != ST_BANKDEPOSIT && $trans_type != ST_BANKPAYMENT) // skip for journal entries
                add_audit_trail($trans_type, $trans_no, $date_, $new ? '': _("Updated."));
 
        return $trans_no;
@@ -303,7 +303,7 @@ function post_void_customer_trans($type, $type_no)
 }
 
 //----------------------------------------------------------------------------------------
-function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter = ALL_TEXT, $show_voided = 0)
+function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter = ALL_TEXT, $show_voided = 0, $ref='')
 {
     $date_after = date2sql($from);
     $date_to = date2sql($to);
@@ -351,9 +351,11 @@ function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter =
                WHERE debtor.debtor_no = trans.debtor_no"; // exclude voided transactions and self-balancing (journal) transactions:
     if (!$show_voided)         
                $sql .= " AND ISNULL(v.date_) AND (trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount) != 0";
-
+    if ($ref) {
+       $sql .= " AND trans.reference LIKE ". db_escape("%$ref%");
+    }   
        if ($filter == '2')
-               $sql .= " AND ABS(IF(prep_amount, prep_amount, trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount)-trans.alloc)>"
+               $sql .= " AND ABS(IF(prep_amount, prep_amount, ABS(trans.ov_amount) + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount)-trans.alloc)>"
                        .FLOAT_COMP_DELTA;
        else {
                $sql .= " AND trans.tran_date >= '$date_after'
@@ -386,17 +388,21 @@ function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter =
                {
                        $sql .= " AND trans.type = ".ST_CUSTDELIVERY." ";
                }
+               elseif ($filter == '6')
+               {
+                       $sql .= " AND trans.type = ".ST_JOURNAL." ";
+               }
 
        if ($filter == '2')
        {
                $today =  date2sql(Today());
                $sql .= " AND trans.due_date < '$today'
-                               AND (trans.ov_amount + trans.ov_gst + trans.ov_freight_tax + 
+                               AND (ABS(trans.ov_amount) + trans.ov_gst + trans.ov_freight_tax + 
                                trans.ov_freight + trans.ov_discount - trans.alloc > 0) ";
        }
        }
 
-       $sql .= " GROUP BY trans.trans_no, trans.type";
+       $sql .= " GROUP BY trans.trans_no, trans.type, trans.debtor_no";
 
        return $sql;
 }