Payments & Deposits(Rounding Problem). Fixed.
[fa-stable.git] / fixed_assets / includes / fixed_assets_db.inc
index 7f30d8db95004c27fe5b208dd54820f5be1028c8..3881adadab8079f97880a4b0e670c0c4ec4aff15 100644 (file)
@@ -32,7 +32,7 @@ function process_fixed_asset_depreciation($stock_id, $gl_rows, $refline, $memo_)
 
   $value_of_change = 0;
   foreach ($gl_rows as $row) {
-    $value_of_change += round($row['value'], 2);
+    $value_of_change += round2($row['value'], user_price_dec());
 
     $cart->add_gl_item($stock_gl_code["adjustment_account"],
         $stock_gl_code["dimension_id"], $stock_gl_code["dimension2_id"], -$row['value'],
@@ -45,7 +45,7 @@ function process_fixed_asset_depreciation($stock_id, $gl_rows, $refline, $memo_)
 
   if (empty($memo_))
     $cart->memo_ = sprintf(_("Fixed asset has been deprecated by the value of %s"),
-        number_format2($value_of_change, 2));
+        number_format2($value_of_change, user_price_dec()));
   else
     $cart->memo_ = $memo_;
 
@@ -53,13 +53,10 @@ function process_fixed_asset_depreciation($stock_id, $gl_rows, $refline, $memo_)
 
   $sql = "UPDATE ".TB_PREF."stock_master SET 
     depreciation_date='".date2sql($cart->tran_date)."',
-    material_cost=".db_escape($new_cost).",
-    last_cost=".db_escape($old_cost)."
+    material_cost=".db_escape($new_cost)."
     WHERE stock_id=".db_escape($stock_id);
   db_query($sql,"The depreciation start date could not be updated");
 
-  $update_no = -1;
-  add_audit_trail(ST_JOURNAL, $update_no, $date_);
   commit_transaction();
 
   return $trans_no;
@@ -86,7 +83,9 @@ function get_fixed_asset_disposal($stock_id) {
 
   $sql = "SELECT * FROM ".TB_PREF."stock_moves 
        WHERE stock_id=".db_escape($stock_id)."
-               AND (type=".ST_INVADJUST." OR type=".ST_CUSTDELIVERY.")";
+               AND (type=".ST_INVADJUST." OR type=".ST_CUSTDELIVERY.")
+        ORDER BY tran_date DESC
+        LIMIT 1";
 
   $result = db_query($sql, "cannot retrieve fixed asset move");
 
@@ -97,30 +96,25 @@ function get_fixed_asset_disposal($stock_id) {
   return $row;
 }
 
-function get_fixed_asset_purchase($stock_id) {
-
-  $sql = "SELECT * 
-       FROM ".TB_PREF."stock_master m, "
-               .TB_PREF."supp_invoice_items i, "
-               .TB_PREF."supp_trans t
-    WHERE m.stock_id=".db_escape($stock_id)."
-           AND i.supp_trans_no=t.trans_no
-       AND m.stock_id=i.stock_id";
-
-  $result = db_query($sql, "cannot retrieve fixed asset move");
-
-  if (db_num_rows($result) == 0)
-    return false;
-
-  $row = db_fetch_assoc($result);
-  return $row;
-}
-
-//--------------------------------------------------------------------------------------------------
-
-function get_initial_price($stock_id) {
-  $row = get_fixed_asset_move($stock_id, ST_SUPPRECEIVE);
-  return $row['price'];
+function get_fixed_asset_purchase($stock_id) 
+{
+       $sql = "SELECT * 
+               FROM ".TB_PREF."stock_master m, "
+                       .TB_PREF."supp_invoice_items i, "
+                       .TB_PREF."supp_trans t
+       WHERE m.stock_id=".db_escape($stock_id)."
+                   AND i.supp_trans_no=t.trans_no
+               AND m.stock_id=i.stock_id
+       ORDER BY t.tran_date DESC
+       LIMIT 1";
+
+       $result = db_query($sql, "cannot retrieve fixed asset move");
+
+       if (db_num_rows($result) == 0)
+       return false;
+
+       $row = db_fetch_assoc($result);
+       return $row;
 }
 
 //--------------------------------------------------------------------------------------------------
@@ -138,17 +132,17 @@ function get_fixed_asset_class($id)
 
 function get_sql_for_fixed_assets($show_inactive = false)
 {
-  $sql = "SELECT s.stock_id, c.description, s.units, s.description as name,
-    s.depreciation_rate, s.depreciation_method, s.inactive, rcv.tran_date as purchase_date, rcv.trans_no as purchase_no,
-    adj.tran_date as disposal_date, adj.type as disposal_type, adj.trans_no as disposal_no, s.material_cost, s.last_cost, s.depreciation_factor
+       $sql = "SELECT s.stock_id, c.description, s.units, s.description as name,
+        s.depreciation_rate, s.depreciation_method, s.inactive, 
+        s.material_cost, s.purchase_cost, s.depreciation_factor
     FROM ".TB_PREF."stock_master s"
-       ." LEFT JOIN ".TB_PREF."stock_moves rcv ON rcv.stock_id=s.stock_id AND rcv.type=".ST_SUPPRECEIVE
-       ." LEFT JOIN ".TB_PREF."stock_moves adj ON adj.stock_id=s.stock_id AND adj.type IN(".ST_INVADJUST.",".ST_CUSTDELIVERY.")"
        ." LEFT JOIN ".TB_PREF."stock_fa_class c ON s.fa_class_id=c.fa_class_id"
        ." WHERE s.mb_flag='F'";
 
-  if (!$show_inactive)
-    $sql .= " AND !s.inactive AND !ISNULL(rcv.tran_date) AND ISNULL(adj.tran_date)";
+       if (!$show_inactive)
+       $sql .= " AND !s.inactive ";
+
+       $sql .= " ORDER BY c.description ";
 
        return $sql;
 }