X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fincludes%2Fdb%2Fcust_trans_db.inc;h=e8ccbf6708fbec53c39cdfd1129b1be5400efa75;hb=d63ba7b7819e07a73cd1999cec249fc6f0b009fb;hp=52fce9e2df8d243ae24eb4c281bb28061e506a98;hpb=09f11ae8dda656ddc48b3d6916f34b93033d9136;p=fa-stable.git diff --git a/sales/includes/db/cust_trans_db.inc b/sales/includes/db/cust_trans_db.inc index 52fce9e2..e8ccbf67 100644 --- a/sales/includes/db/cust_trans_db.inc +++ b/sales/includes/db/cust_trans_db.inc @@ -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; @@ -125,6 +125,7 @@ function get_customer_trans($trans_id, $trans_type, $customer_id=null) $sql = "SELECT trans.*," ."ov_amount+ov_gst+ov_freight+ov_freight_tax+ov_discount AS Total," ."cust.name AS DebtorName, cust.address, " + ."cust.debtor_ref, " ."cust.curr_code, " ."cust.tax_id, trans.prep_amount>0 as prepaid," @@ -243,7 +244,7 @@ function get_customer_trans_order($type, $type_no) $row = db_fetch_row($result); - return $row[0]; + return is_array($row) ? $row[0] : false; } //---------------------------------------------------------------------------------------- @@ -302,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) +function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter = ALL_TEXT, $show_voided = 0) { $date_after = date2sql($from); $date_to = date2sql($to); @@ -317,9 +318,8 @@ function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter = debtor.name, branch.br_name, debtor.curr_code, - debtor.debtor_no, IF(prep_amount, prep_amount, trans.ov_amount + trans.ov_gst + trans.ov_freight - + trans.ov_freight_tax + trans.ov_discount) AS TotalAmount, "; + + trans.ov_freight_tax + trans.ov_discount) AS TotalAmount," // if ($filter != ALL_TEXT) // $sql .= "@bal := @bal+IF(prep_amount, prep_amount, trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount), "; @@ -327,6 +327,11 @@ function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter = // $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))) , "; + . "IF(trans.type IN(".implode(',', array(ST_CUSTCREDIT,ST_CUSTPAYMENT,ST_BANKDEPOSIT))."), -1, 1) + *(IF(prep_amount, prep_amount, trans.ov_amount + trans.ov_gst + trans.ov_freight + + trans.ov_freight_tax + trans.ov_discount)-trans.alloc) Balance, + debtor.debtor_no,"; + $sql .= "trans.alloc AS Allocated, ((trans.type = ".ST_SALESINVOICE." || trans.type = ".ST_JOURNAL.") AND trans.due_date < '" . date2sql(Today()) . "') AS OverDue , @@ -343,11 +348,17 @@ function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter = LEFT JOIN ".TB_PREF."users as user ON (audit.user=user.id) LEFT JOIN ".TB_PREF."cust_branch as branch ON trans.branch_code=branch.branch_code," .TB_PREF."debtors_master as debtor - WHERE debtor.debtor_no = trans.debtor_no - AND trans.tran_date >= '$date_after' - AND trans.tran_date <= '$date_to'" - // exclude voided transactions and self-balancing (journal) transactions: - . " AND ISNULL(v.date_) AND (trans.ov_amount + trans.ov_gst + trans.ov_freight + trans.ov_freight_tax + trans.ov_discount) != 0"; + 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 ($filter == '2') + $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' + AND trans.tran_date <= '$date_to'"; + } if ($cust_id != ALL_TEXT) $sql .= " AND trans.debtor_no = ".db_escape($cust_id); @@ -360,7 +371,7 @@ function get_sql_for_customer_inquiry($from, $to, $cust_id = ALL_TEXT, $filter = } elseif ($filter == '2') { - $sql .= " AND (trans.type = ".ST_SALESINVOICE.") "; + $sql .= " AND (trans.type <> ".ST_CUSTDELIVERY.") "; } elseif ($filter == '3') { @@ -375,17 +386,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; }