X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fincludes%2Fsales_db.inc;h=e9410251065c33cf4a966ad902055fdcd00711d7;hb=9a98bb3bc7a94f1a8e47f8dab45a87c8b4212080;hp=f66b209376e6093f0585a51b01631e51e2c4a541;hpb=1481d782477692fd972cc1c13b6585a95971769f;p=fa-stable.git diff --git a/sales/includes/sales_db.inc b/sales/includes/sales_db.inc index f66b2093..e9410251 100644 --- a/sales/includes/sales_db.inc +++ b/sales/includes/sales_db.inc @@ -174,7 +174,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 +201,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 @@ -272,7 +274,6 @@ function read_sales_trans($doc_type, $trans_no, &$cart) $cart->reference = $myrow["reference"]; $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,7 +302,8 @@ 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"]); } } } // !newdoc @@ -312,31 +314,30 @@ function read_sales_trans($doc_type, $trans_no, &$cart) function get_sales_child_lines($trans_type, $trans_no, $lines=true) { - if (!get_child_type($trans_type)) + if (!($ctype = get_child_type($trans_type))) return false; 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)).")" - : "trans.debtor_trans_type=$trans_type" - . " 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"; $sql .= " ORDER BY child.debtor_trans_no"; - + return db_query($sql, "can't retrieve child trans"); } @@ -357,19 +358,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");