X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=inventory%2Fincludes%2Fdb%2Fitems_trans_db.inc;h=dfbc5eebeb9eab3b9f47cc12bd16511f11dda9ce;hb=5a7ef37131354aabdcf04c639a903e5876b743e4;hp=ce1153eddd6de37714cc1e2de3043149c5ddf6c8;hpb=da8311619dd73feae101d246a1957b972e00cbd2;p=fa-stable.git diff --git a/inventory/includes/db/items_trans_db.inc b/inventory/includes/db/items_trans_db.inc index ce1153ed..dfbc5eeb 100644 --- a/inventory/includes/db/items_trans_db.inc +++ b/inventory/includes/db/items_trans_db.inc @@ -1,57 +1,81 @@ . +***********************************************************************/ //------------------------------------------------------------------------------------------------------------- function stock_cost_update($stock_id, $material_cost, $labour_cost, $overhead_cost, - $last_cost) + $last_cost, $refline, $memo_) { $mb_flag = get_mb_flag($stock_id); - + + $update_no = -1; + if (is_service($mb_flag)) { - display_db_error("Cannot do cost update for Service item : $stock_id", ""); - } - - $update_no = -1; - + $sql = "UPDATE ".TB_PREF."stock_master SET material_cost=".db_escape($material_cost)." + WHERE stock_id=".db_escape($stock_id); + + db_query($sql,"The cost details for the inventory item could not be updated"); + + return $update_no; + } + begin_transaction(); - - $sql = "UPDATE ".TB_PREF."stock_master SET material_cost=$material_cost, - labour_cost=$labour_cost, - overhead_cost=$overhead_cost, - last_cost=$last_cost - WHERE stock_id='$stock_id'"; + + $sql = "UPDATE ".TB_PREF."stock_master SET material_cost=".db_escape($material_cost).", + labour_cost=".db_escape($labour_cost).", + overhead_cost=".db_escape($overhead_cost)." + WHERE stock_id=".db_escape($stock_id); db_query($sql,"The cost details for the inventory item could not be updated"); - $qoh = get_qoh_on_date($_POST['stock_id']); - + $qoh = get_qoh_on_date($stock_id); + + $date_ = Today(); + if (!is_date_in_fiscalyear($date_)) + $date_ = end_fiscalyear(); + if ($qoh > 0) { - - $update_no = get_next_trans_no(systypes::cost_update()); - $date_ = Today(); - if (!is_date_in_fiscalyear($date_)) - $date_ = end_fiscalyear(); - - $stock_gl_code = get_stock_gl_code($stock_id); - $new_cost = $material_cost + $labour_cost + $overhead_cost; - - $value_of_change = $qoh * ($new_cost - $last_cost); - - $memo_ = "Cost was " . $last_cost . " changed to " . $new_cost . " x quantity on hand of $qoh"; - add_gl_trans_std_cost(systypes::cost_update(), $update_no, $date_, $stock_gl_code["adjustment_account"], - $stock_gl_code["dimension_id"], $stock_gl_code["dimension2_id"], $memo_, (-$value_of_change)); - add_gl_trans_std_cost(systypes::cost_update(), $update_no, $date_, $stock_gl_code["inventory_account"], 0, 0, $memo_, - $value_of_change); - } + $value_of_change = round2($qoh * ($new_cost - $last_cost), user_price_dec()); - commit_transaction(); - - return $update_no; -} + if ($value_of_change != 0) + { + global $Refs; + $stock_gl_code = get_stock_gl_code($stock_id); -//------------------------------------------------------------------------------------------------------------- + $cart = new items_cart(ST_COSTUPDATE); + $cart->tran_date = $cart->doc_date = $cart->event_date = $date_; + if (!is_date_in_fiscalyear($cart->tran_date)) + $cart->tran_date = end_fiscalyear(); + $cart->reference = $Refs->get_next(ST_COSTUPDATE, $refline, $cart->tran_date, $date_); + + if (empty($memo_)) + $cart->memo_ = sprintf(_("Cost was %s changed to %s x quantity on hand of %s"), + number_format2($last_cost, 2), number_format2($new_cost), $qoh); + else + $cart->memo_ = $memo_; + + $cart->add_gl_item($stock_gl_code["adjustment_account"], + $stock_gl_code["dimension_id"], $stock_gl_code["dimension2_id"], -$value_of_change); + $cart->add_gl_item($stock_gl_code["inventory_account"], 0, 0, $value_of_change); -?> \ No newline at end of file + write_journal_entries($cart); + } + } + + if ($update_no != -1) + add_audit_trail(ST_COSTUPDATE, $update_no, $date_); + commit_transaction(); + + return $update_no; +}