Bank Payment/Bank Deposit: removed sparse sign from settled amount input, fixed sign...
[fa-stable.git] / sales / includes / db / cust_trans_db.inc
index 29e611e17abc3730cb2313166463f60bbdbfaae5..efb6b25f97fa0139177d3e57309fd140de6474a1 100644 (file)
@@ -43,7 +43,7 @@ function get_customer_trans_version($type, $trans_no) {
        $sql .= implode(' OR ', $trans_no) . ')';
 
        $res = db_query($sql, 'document version retreival');
-
+       
        $vers = array();
        while($mysql=db_fetch($res)) {
                $vers[$mysql['trans_no']] = $mysql['version'];
@@ -72,8 +72,10 @@ function write_customer_trans($trans_type, $trans_no, $debtor_no, $BranchNo,
        if ($trans_type == ST_BANKPAYMENT)
                $Total = -$Total;
 
-       if ($new) {
-       $trans_no = get_next_trans_no($trans_type);
+    if ($new || !exists_customer_trans($trans_type, $trans_no))
+    {
+        if ($new)
+        $trans_no = get_next_trans_no($trans_type);
 
        $sql = "INSERT INTO ".TB_PREF."debtor_trans (
                trans_no, type,
@@ -101,7 +103,7 @@ function write_customer_trans($trans_type, $trans_no, $debtor_no, $BranchNo,
                ov_freight=".db_escape($Freight).", ov_freight_tax=$FreightTax, rate=$rate,
                ship_via=".db_escape($ship_via).", alloc=$AllocAmt,
                dimension_id=".db_escape($dimension_id).", dimension2_id=".db_escape($dimension2_id).",
-               payment_terms=".db_escape($payment_terms)."
+               payment_terms=".db_escape($payment_terms, true)."
                WHERE trans_no=".db_escape($trans_no)." AND type=".db_escape($trans_type);
        }
        db_query($sql, "The debtor transaction record could not be inserted");
@@ -114,16 +116,22 @@ function write_customer_trans($trans_type, $trans_no, $debtor_no, $BranchNo,
 
 function get_customer_trans($trans_id, $trans_type)
 {
+       global $go_debug;
+
        $sql = "SELECT trans.*,"
                ."ov_amount+ov_gst+ov_freight+ov_freight_tax+ov_discount AS Total,"
                ."cust.name AS DebtorName, cust.address, "
                ."cust.curr_code, "
-               ."cust.tax_id ";
+               ."cust.tax_id, "
+               ."com.memo_";
 
-       if ($trans_type == ST_CUSTPAYMENT) {
+       if ($trans_type == ST_CUSTPAYMENT || $trans_type == ST_BANKDEPOSIT) {
                // it's a payment so also get the bank account
-               $sql .= ", ".TB_PREF."bank_accounts.bank_name, ".TB_PREF."bank_accounts.bank_account_name,
-                       ".TB_PREF."bank_accounts.account_type AS BankTransType ";
+               // Chaitanya : Added bank_act to support Customer Payment Edit
+               $sql .= ",bank_act,".TB_PREF."bank_accounts.bank_name, ".TB_PREF."bank_accounts.bank_account_name,
+                       ".TB_PREF."bank_accounts.account_type AS BankTransType,
+                       ".TB_PREF."bank_accounts.bank_curr_code,
+                       ".TB_PREF."bank_trans.amount as bank_amount";
        }
 
        if ($trans_type == ST_SALESINVOICE || $trans_type == ST_CUSTCREDIT || $trans_type == ST_CUSTDELIVERY) {
@@ -137,17 +145,19 @@ function get_customer_trans($trans_id, $trans_type)
                .TB_PREF."tax_groups.id AS tax_group_id ";
        }
 
-       $sql .= " FROM ".TB_PREF."debtor_trans trans, ".TB_PREF."debtors_master cust";
+       $sql .= " FROM ".TB_PREF."debtor_trans trans
+                                       LEFT JOIN ".TB_PREF."comments com ON trans.type=com.type AND trans.trans_no=com.id
+                                       LEFT JOIN ".TB_PREF."shippers ON ".TB_PREF."shippers.shipper_id=trans.ship_via, 
+                                       ".TB_PREF."debtors_master cust";
 
-       if ($trans_type == ST_CUSTPAYMENT) {
+       if ($trans_type == ST_CUSTPAYMENT || $trans_type == ST_BANKDEPOSIT) {
                // it's a payment so also get the bank account
                $sql .= ", ".TB_PREF."bank_trans, ".TB_PREF."bank_accounts";
        }
 
        if ($trans_type == ST_SALESINVOICE || $trans_type == ST_CUSTCREDIT || $trans_type == ST_CUSTDELIVERY) {
                // it's an invoice so also get the shipper, salestypes
-               $sql .= ", ".TB_PREF."shippers, "
-               .TB_PREF."sales_types, "
+               $sql .= ", ".TB_PREF."sales_types, "
                .TB_PREF."cust_branch branch, "
                .TB_PREF."tax_groups ";
        }
@@ -156,16 +166,16 @@ function get_customer_trans($trans_id, $trans_type)
                AND trans.type=".db_escape($trans_type)."
                AND trans.debtor_no=cust.debtor_no";
 
-       if ($trans_type == ST_CUSTPAYMENT) {
+       if ($trans_type == ST_CUSTPAYMENT || $trans_type == ST_BANKDEPOSIT) {
                // it's a payment so also get the bank account
                $sql .= " AND ".TB_PREF."bank_trans.trans_no =".db_escape($trans_id)."
                        AND ".TB_PREF."bank_trans.type=$trans_type
+                       AND ".TB_PREF."bank_trans.amount != 0
                        AND ".TB_PREF."bank_accounts.id=".TB_PREF."bank_trans.bank_act ";
        }
        if ($trans_type == ST_SALESINVOICE || $trans_type == ST_CUSTCREDIT || $trans_type == ST_CUSTDELIVERY) {
                // it's an invoice so also get the shipper
-               $sql .= " AND ".TB_PREF."shippers.shipper_id=trans.ship_via
-                       AND ".TB_PREF."sales_types.id = trans.tpe
+               $sql .= " AND ".TB_PREF."sales_types.id = trans.tpe
                        AND branch.branch_code = trans.branch_code
                        AND branch.tax_group_id = ".TB_PREF."tax_groups.id ";
        }
@@ -174,12 +184,15 @@ function get_customer_trans($trans_id, $trans_type)
 
        if (db_num_rows($result) == 0) {
                // can't return nothing
+               if($go_debug)
+                       display_backtrace();
                display_db_error("no debtor trans found for given params", $sql, true);
                exit;
        }
-
        if (db_num_rows($result) > 1) {
                // can't return multiple
+               if($go_debug)
+                       display_backtrace();
                display_db_error("duplicate debtor transactions found for given params", $sql, true);
                exit;
        }