X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fincludes%2Fsales_db.inc;h=efa2706c21aeb0c4191835e59e2a2b14ff86ef7b;hb=7561718ee5113232ce917f63085d272884b0929c;hp=f091a3539634dffd817502730072b060c43f78a4;hpb=d3a900b97ce93c6df7d2f2065d07ff7b6a7a3ab8;p=fa-stable.git diff --git a/sales/includes/sales_db.inc b/sales/includes/sales_db.inc index f091a353..efa2706c 100644 --- a/sales/includes/sales_db.inc +++ b/sales/includes/sales_db.inc @@ -11,6 +11,7 @@ ***********************************************************************/ include_once($path_to_root . "/includes/banking.inc"); include_once($path_to_root . "/includes/db/inventory_db.inc"); +include_once($path_to_root . "/includes/db/allocations_db.inc"); include_once($path_to_root . "/sales/includes/db/sales_order_db.inc"); include_once($path_to_root . "/sales/includes/db/sales_credit_db.inc"); include_once($path_to_root . "/sales/includes/db/sales_invoice_db.inc"); @@ -174,7 +175,7 @@ function get_kit_price($item_code, $currency, $sales_type_id, $factor=null, $kit_price = get_price( $item_code, $currency, $sales_type_id, $factor, $date); - if ($kit_price !== false) { + if ($kit_price !== 0) { return $kit_price; } } @@ -201,18 +202,20 @@ function update_parent_line($doc_type, $line_id, $qty_dispatched, $auto=false) { $doc_type = get_parent_type($doc_type); + $qty_dispatched = (float)$qty_dispatched; + // echo "update line: $line_id, $doc_type, $qty_dispatched"; - if ($doc_type==0) + if ($doc_type == 0) return false; else { - if ($doc_type==ST_SALESORDER) + if ($doc_type==ST_SALESORDER || $doc_type==ST_SALESQUOTE) { $sql = "UPDATE ".TB_PREF."sales_order_details SET qty_sent = qty_sent + $qty_dispatched"; if ($auto) $sql .= ", quantity = quantity + $qty_dispatched"; $sql .= " WHERE id=".db_escape($line_id); - } + } else $sql = "UPDATE ".TB_PREF."debtor_trans_details SET qty_done = qty_done + $qty_dispatched @@ -271,8 +274,8 @@ function read_sales_trans($doc_type, $trans_no, &$cart) $myrow["tax_group_name"]); $cart->reference = $myrow["reference"]; + $cart->prepaid = $myrow["prepaid"]; $cart->order_no = $myrow["order_"]; - $cart->trans_link = $myrow["trans_link"]; $cart->due_date = sql2date($myrow["due_date"]); $cart->document_date = sql2date($myrow["tran_date"]); $cart->dimension_id = $myrow['dimension_id']; // added 2.1 Joe Hunt 2008-11-12 @@ -301,9 +304,12 @@ function read_sales_trans($doc_type, $trans_no, &$cart) $myrow["stock_id"],$myrow["quantity"], $myrow["unit_price"], $myrow["discount_percent"], $myrow["qty_done"], $myrow["standard_cost"], - $myrow["StockDescription"],$myrow["id"], $myrow["debtor_trans_no"]); + $myrow["StockDescription"],$myrow["id"], $myrow["debtor_trans_no"], + @$myrow["src_id"]); } } + $cart->prepayments = get_payments_for($trans_no, $doc_type); + } // !newdoc return true; @@ -317,20 +323,19 @@ function get_sales_child_lines($trans_type, $trans_no, $lines=true) if (!is_array($trans_no)) { $trans_no = array($trans_no); } - - $trtbl = $trans_type == ST_SALESORDER ? "sales_order_details" : "debtor_trans_details"; - - $rel = $trans_type == ST_SALESORDER ? "trans.trans_type=$trans_type" - . " AND trans.order_no IN(". implode(',', array_values($trans_no)).")" - : "child.debtor_trans_type=$ctype" - . " AND trans.debtor_trans_no IN(". implode(',', array_values($trans_no)).")"; + $par_tbl = $trans_type == ST_SALESORDER ? "sales_order_details" : "debtor_trans_details"; + $par_no = $trans_type == ST_SALESORDER ? "trans.order_no" : "trans.debtor_trans_no"; + + foreach($trans_no as $n => $trans) { + $trans_no[$n] = db_escape($trans); + } $sql = "SELECT child.* FROM - ".TB_PREF."debtor_trans_details child, - ".TB_PREF."$trtbl trans - WHERE - $rel AND trans.id=child.src_id"; + ".TB_PREF."debtor_trans_details child + LEFT JOIN ".TB_PREF."$par_tbl trans + ON child.src_id=trans.id AND child.debtor_trans_type=$ctype + WHERE $par_no IN(". implode(',', array_values($trans_no)).")"; if (!$lines) $sql .= " GROUP BY child.debtor_trans_no"; @@ -357,19 +362,20 @@ function get_sales_parent_lines($trans_type, $trans_no, $lines=true) if (!$partype) return false; - $partbl = $partype == ST_SALESORDER ? "sales_order_details" : "debtor_trans_details"; - $parent_no = $partype == ST_SALESORDER ? "parent.order_no" : "parent.debtor_trans_no"; + $par_tbl = $partype == ST_SALESORDER ? "sales_order_details" : "debtor_trans_details"; + $par_no = $partype == ST_SALESORDER ? "parent.order_no" : "parent.debtor_trans_no"; $sql = "SELECT parent.* FROM - ".TB_PREF."$partbl parent + ".TB_PREF."$par_tbl parent LEFT JOIN ".TB_PREF."debtor_trans_details trans ON trans.src_id=parent.id WHERE - trans.debtor_trans_type=$trans_type AND trans.debtor_trans_no=$trans_no"; + trans.debtor_trans_type=".db_escape($trans_type) + ." AND trans.debtor_trans_no=".db_escape($trans_no); if (!$lines) - $sql .= " GROUP BY $parent_no"; + $sql .= " GROUP BY $par_no"; - $sql .= " ORDER BY $parent_no"; + $sql .= " ORDER BY $par_no"; return db_query($sql, "can't retrieve child trans"); @@ -403,5 +409,3 @@ function get_sales_child_documents($trans_type, $trans_no) return db_query($sql,"The related credit notes could not be retreived"); } - -?> \ No newline at end of file