rerun of bug 5232 fix.
[fa-stable.git] / reporting / rep451.php
index fe712111a80ebdc8dd3b565143e5dc7b34b42303..ece0519b7af61ec3df4d7ea896b504483368736e 100644 (file)
@@ -24,6 +24,17 @@ include_once($path_to_root . "/includes/data_checks.inc");
 include_once($path_to_root . "/gl/includes/gl_db.inc");
 include_once($path_to_root . "/inventory/includes/db/items_category_db.inc");
 include_once($path_to_root . "/fixed_assets/includes/fixed_assets_db.inc");
+include_once($path_to_root . "/fixed_assets/includes/fa_classes_db.inc");
+
+function find_last_location($stock_id, $end_date)
+{
+       $end_date = date2sql($end_date);
+       $sql = "SELECT loc_code FROM ".TB_PREF."stock_moves WHERE stock_id = ".db_escape($stock_id)." AND
+               tran_date <= '$end_date' ORDER BY tran_date DESC LIMIT 1";
+       $res = db_query($sql,"No stock moves were returned");
+       $row = db_fetch_row($res);
+       return $row[0];
+}
 
 //----------------------------------------------------------------------------------------------------
 
@@ -36,7 +47,7 @@ function print_fixed_assets_valuation_report()
     global $path_to_root, $SysPrefs;
 
        $date = $_POST['PARAM_0'];
-    $category = $_POST['PARAM_1'];
+    $class = $_POST['PARAM_1'];
     $location = $_POST['PARAM_2'];
     $detail = $_POST['PARAM_3'];
     $comments = $_POST['PARAM_4'];
@@ -50,12 +61,12 @@ function print_fixed_assets_valuation_report()
     $dec = user_price_dec();
 
        $orientation = ($orientation ? 'L' : 'P');
-       if ($category == ALL_NUMERIC)
-               $category = 0;
-       if ($category == 0)
-               $cat = _('All');
+       if ($class == ALL_NUMERIC)
+               $class = 0;
+       if ($class== 0)
+               $cln = _('All');
        else
-               $cat = get_category_name($category);
+               $cln = get_fixed_asset_classname($class);
 
        if ($location == ALL_TEXT)
                $location = 'all';
@@ -66,13 +77,13 @@ function print_fixed_assets_valuation_report()
 
        $cols = array(0, 75, 225, 250, 350, 450,        515);
 
-       $headers = array(_('Class'), '', _('UOM'),  _('Amount'), _('Depreciations'), _('Balance'));
+       $headers = array(_('Class'), '', _('UOM'),  _('Initial'), _('Depreciations'), _('Current'));
 
        $aligns = array('left', 'left', 'left', 'right', 'right', 'right', 'right');
 
     $params =   array(         0 => $comments,
                                        1 => array('text' => _('End Date'), 'from' => $date,            'to' => ''),
-                                   2 => array('text' => _('Category'), 'from' => $cat, 'to' => ''),
+                                   2 => array('text' => _('Class'), 'from' => $cln, 'to' => ''),
                                    3 => array('text' => _('Location'), 'from' => $loc, 'to' => ''));
 
     $rep = new FrontReport(_('Fixed Assets Valuation Report'), "FixedAssetsValReport", user_pagesize(), 9, $orientation);
@@ -83,13 +94,22 @@ function print_fixed_assets_valuation_report()
     $rep->NewPage();
 
        //$res = getTransactions($category, $location, $date);
-       $sql = get_sql_for_fixed_assets(true);
+       $sql = get_sql_for_fixed_assets(false);
        $res = db_query($sql,"No transactions were returned");
        
        $total = $grandtotal = 0.0;
        $catt = '';
        while ($trans=db_fetch($res))
        {
+               $loc = find_last_location($trans['stock_id'], $date);
+               if ($location != 'all' && $location != $loc)
+                       continue;
+               $purchase = get_fixed_asset_purchase($trans['stock_id']);
+               $d = sql2date($purchase['tran_date']);
+               if (date1_greater_date2($d, $date))
+                       continue;
+               if ($class != 0 && $cln != $trans['description'])
+                       continue;
                if ($catt != $trans['description'])
                {
                        if ($catt != '')
@@ -113,14 +133,14 @@ function print_fixed_assets_valuation_report()
                        if ($detail)
                                $rep->NewLine();
                }
-               $UnitCost = $trans['last_cost'];
-               $Depreciation = $trans['last_cost'] - $trans['material_cost'];;
+               $UnitCost = $trans['purchase_cost'];
+               $Depreciation = $trans['purchase_cost'] - $trans['material_cost'];
                $Balance = $trans['material_cost'];
                if ($detail)
                {
                        $rep->NewLine();
                        $rep->TextCol(0, 1, $trans['stock_id']);
-                       $rep->TextCol(1, 2, $trans['name'].($trans['inactive']==1 ? " ("._("Inactive").")" : ""), -1);
+                       $rep->TextCol(1, 2, $trans['name']);
                        $rep->TextCol(2, 3, $trans['units']);
                        $rep->AmountCol(3, 4, $UnitCost, $dec);
                        $rep->AmountCol(4, 5, $Depreciation, $dec);