X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=inventory%2Fincludes%2Fdb%2Fitems_trans_db.inc;h=cf72ee342f727b48b2b87f7f74a8a6c8f8b9457f;hb=fbf51ab0febfd0885620abcab8738339d156ff45;hp=7292814d35c38d95e0f52befcb6dbd8227d9ce05;hpb=8ea6c4dd0d9b31b3456d012b0c94339b801bee0c;p=fa-stable.git diff --git a/inventory/includes/db/items_trans_db.inc b/inventory/includes/db/items_trans_db.inc index 7292814d..cf72ee34 100644 --- a/inventory/includes/db/items_trans_db.inc +++ b/inventory/includes/db/items_trans_db.inc @@ -16,13 +16,22 @@ function stock_cost_update($stock_id, $material_cost, $labour_cost, $overhead_co { $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", ""); + //display_db_error("Cannot do cost update for Service item : $stock_id", ""); + + //Chaitanya + $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; + } - $update_no = -1; - begin_transaction(); $sql = "UPDATE ".TB_PREF."stock_master SET material_cost=".db_escape($material_cost).", @@ -32,18 +41,14 @@ function stock_cost_update($stock_id, $material_cost, $labour_cost, $overhead_co 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(ST_COSTUPDATE); - 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); @@ -52,11 +57,26 @@ function stock_cost_update($stock_id, $material_cost, $labour_cost, $overhead_co add_gl_trans_std_cost(ST_COSTUPDATE, $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(ST_COSTUPDATE, $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()); + + if ($value_of_change != 0) + { + $stock_gl_code = get_stock_gl_code($stock_id); + $update_no = get_next_trans_no(ST_COSTUPDATE); + $memo_ = sprintf(_("Cost was %s changed to %s x quantity on hand for item '%s'"), + number_format2($last_cost, 2), number_format2($new_cost, 2), $stock_id); + add_gl_trans_std_cost(ST_COSTUPDATE, $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(ST_COSTUPDATE, $update_no, $date_, $stock_gl_code["inventory_account"], 0, 0, $memo_, + $value_of_change); + + change_stock_moves_std_cost($stock_id, $date_, $new_cost - $last_cost); + } } - add_audit_trail(ST_COSTUPDATE, $update_no, $date_); + if ($update_no != -1) + add_audit_trail(ST_COSTUPDATE, $update_no, $date_); commit_transaction(); return $update_no; @@ -64,4 +84,11 @@ function stock_cost_update($stock_id, $material_cost, $labour_cost, $overhead_co //------------------------------------------------------------------------------------------------------------- +function change_stock_moves_std_cost($stock_id, $date, $diff_cost) +{ + $date = date2sql($date); + $sql = "UPDATE ".TB_PREF."stock_moves SET standard_cost = standard_cost + ".db_escape($diff_cost). " WHERE stock_id = " + . db_escape($stock_id)." AND tran_date <= '$date' AND qty <> 0 AND standard_cost > 0.001 AND type <> ".ST_LOCTRANSFER; + db_query($sql,"The stock moves cost details for the inventory item could not be updated"); +} ?> \ No newline at end of file