Initialized upgrade procedures for FA 2.4
[fa-stable.git] / reporting / rep301.php
index bf189355be17e9491850aa56e982c2ed23b09d8f..56398b710b2c4302c2127c253936bfd073837458 100644 (file)
@@ -1,20 +1,20 @@
 <?php
 /**********************************************************************
     Copyright (C) FrontAccounting, LLC.
 <?php
 /**********************************************************************
     Copyright (C) FrontAccounting, LLC.
-       Released under the terms of the GNU General Public License, GPL, 
-       as published by the Free Software Foundation, either version 3 
+       Released under the terms of the GNU General Public License, GPL,
+       as published by the Free Software Foundation, either version 3
        of the License, or (at your option) any later version.
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
        of the License, or (at your option) any later version.
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
-$page_security = 2;
+$page_security = 'SA_ITEMSVALREP';
 // ----------------------------------------------------------------
 // $ Revision: 2.0 $
 // Creator:    Joe Hunt
 // date_:      2005-05-19
 // ----------------------------------------------------------------
 // $ Revision: 2.0 $
 // Creator:    Joe Hunt
 // date_:      2005-05-19
-// Title:      Supplier Balances
+// Title:      Inventory Valuation
 // ----------------------------------------------------------------
 $path_to_root="..";
 
 // ----------------------------------------------------------------
 $path_to_root="..";
 
@@ -26,7 +26,6 @@ include_once($path_to_root . "/inventory/includes/db/items_category_db.inc");
 
 //----------------------------------------------------------------------------------------------------
 
 
 //----------------------------------------------------------------------------------------------------
 
-// trial_inquiry_controls();
 print_inventory_valuation_report();
 
 function getTransactions($category, $location)
 print_inventory_valuation_report();
 
 function getTransactions($category, $location)
@@ -34,7 +33,8 @@ function getTransactions($category, $location)
        $sql = "SELECT ".TB_PREF."stock_master.category_id,
                        ".TB_PREF."stock_category.description AS cat_description,
                        ".TB_PREF."stock_master.stock_id,
        $sql = "SELECT ".TB_PREF."stock_master.category_id,
                        ".TB_PREF."stock_category.description AS cat_description,
                        ".TB_PREF."stock_master.stock_id,
-                       ".TB_PREF."stock_master.description,
+                       ".TB_PREF."stock_master.units,
+                       ".TB_PREF."stock_master.description, ".TB_PREF."stock_master.inactive,
                        ".TB_PREF."stock_moves.loc_code,
                        SUM(".TB_PREF."stock_moves.qty) AS QtyOnHand,
                        ".TB_PREF."stock_master.material_cost + ".TB_PREF."stock_master.labour_cost + ".TB_PREF."stock_master.overhead_cost AS UnitCost,
                        ".TB_PREF."stock_moves.loc_code,
                        SUM(".TB_PREF."stock_moves.qty) AS QtyOnHand,
                        ".TB_PREF."stock_master.material_cost + ".TB_PREF."stock_master.labour_cost + ".TB_PREF."stock_master.overhead_cost AS UnitCost,
@@ -53,9 +53,9 @@ function getTransactions($category, $location)
                        ".TB_PREF."stock_master.description
                HAVING SUM(".TB_PREF."stock_moves.qty) != 0";
                if ($category != 0)
                        ".TB_PREF."stock_master.description
                HAVING SUM(".TB_PREF."stock_moves.qty) != 0";
                if ($category != 0)
-                       $sql .= " AND ".TB_PREF."stock_master.category_id = '$category'";
+                       $sql .= " AND ".TB_PREF."stock_master.category_id = ".db_escape($category);
                if ($location != 'all')
                if ($location != 'all')
-                       $sql .= " AND ".TB_PREF."stock_moves.loc_code = '$location'";
+                       $sql .= " AND ".TB_PREF."stock_moves.loc_code = ".db_escape($location);
                $sql .= " ORDER BY ".TB_PREF."stock_master.category_id,
                        ".TB_PREF."stock_master.stock_id";
 
                $sql .= " ORDER BY ".TB_PREF."stock_master.category_id,
                        ".TB_PREF."stock_master.stock_id";
 
@@ -68,44 +68,47 @@ function print_inventory_valuation_report()
 {
     global $path_to_root;
 
 {
     global $path_to_root;
 
-    include_once($path_to_root . "/reporting/includes/pdf_report.inc");
-
     $category = $_POST['PARAM_0'];
     $location = $_POST['PARAM_1'];
     $detail = $_POST['PARAM_2'];
     $comments = $_POST['PARAM_3'];
     $category = $_POST['PARAM_0'];
     $location = $_POST['PARAM_1'];
     $detail = $_POST['PARAM_2'];
     $comments = $_POST['PARAM_3'];
-
+       $destination = $_POST['PARAM_4'];
+       if ($destination)
+               include_once($path_to_root . "/reporting/includes/excel_report.inc");
+       else
+               include_once($path_to_root . "/reporting/includes/pdf_report.inc");
+       $detail = !$detail;
     $dec = user_price_dec();
 
     $dec = user_price_dec();
 
-       if ($category == reserved_words::get_all_numeric())
+       if ($category == ALL_NUMERIC)
                $category = 0;
        if ($category == 0)
                $cat = _('All');
        else
                $cat = get_category_name($category);
 
                $category = 0;
        if ($category == 0)
                $cat = _('All');
        else
                $cat = get_category_name($category);
 
-       if ($location == reserved_words::get_all())
+       if ($location == ALL_TEXT)
                $location = 'all';
        if ($location == 'all')
                $loc = _('All');
        else
                $location = 'all';
        if ($location == 'all')
                $loc = _('All');
        else
-               $loc = $location;
+               $loc = get_location_name($location);
 
 
-       $cols = array(0, 100, 250, 350, 450,    515);
+       $cols = array(0, 75, 225, 250, 350, 450,        515);
 
 
-       $headers = array(_('Category'), '', _('Quantity'), _('Unit Cost'), _('Value'));
+       $headers = array(_('Category'), '', _('UOM'), _('Quantity'), _('Unit Cost'), _('Value'));
 
 
-       $aligns = array('left', 'left', 'right', 'right', 'right');
+       $aligns = array('left', 'left', 'left', 'right', 'right', 'right');
 
     $params =   array(         0 => $comments,
                                    1 => array('text' => _('Category'), 'from' => $cat, 'to' => ''),
                                    2 => array('text' => _('Location'), 'from' => $loc, 'to' => ''));
 
 
     $params =   array(         0 => $comments,
                                    1 => array('text' => _('Category'), 'from' => $cat, 'to' => ''),
                                    2 => array('text' => _('Location'), 'from' => $loc, 'to' => ''));
 
-    $rep = new FrontReport(_('Inventory Valuation Report'), "InventoryValReport.pdf", user_pagesize());
+    $rep = new FrontReport(_('Inventory Valuation Report'), "InventoryValReport", user_pagesize());
 
     $rep->Font();
     $rep->Info($params, $cols, $headers, $aligns);
 
     $rep->Font();
     $rep->Info($params, $cols, $headers, $aligns);
-    $rep->Header();
+    $rep->NewPage();
 
        $res = getTransactions($category, $location);
        $total = $grandtotal = 0.0;
 
        $res = getTransactions($category, $location);
        $total = $grandtotal = 0.0;
@@ -121,7 +124,7 @@ function print_inventory_valuation_report()
                                        $rep->NewLine(2, 3);
                                        $rep->TextCol(0, 4, _('Total'));
                                }
                                        $rep->NewLine(2, 3);
                                        $rep->TextCol(0, 4, _('Total'));
                                }
-                               $rep->Textcol(4, 5, number_format2($total, $dec));
+                               $rep->AmountCol(5, 6, $total, $dec);
                                if ($detail)
                                {
                                        $rep->Line($rep->row - 2);
                                if ($detail)
                                {
                                        $rep->Line($rep->row - 2);
@@ -139,13 +142,16 @@ function print_inventory_valuation_report()
                if ($detail)
                {
                        $rep->NewLine();
                if ($detail)
                {
                        $rep->NewLine();
-                       $rep->fontsize -= 2;
+                       $rep->fontSize -= 2;
                        $rep->TextCol(0, 1, $trans['stock_id']);
                        $rep->TextCol(0, 1, $trans['stock_id']);
-                       $rep->TextCol(1, 2, $trans['description']);
-                       $rep->TextCol(2, 3, number_format2($trans['QtyOnHand'], get_qty_dec($trans['stock_id'])));
-                       $rep->TextCol(3, 4, number_format2($trans['UnitCost'], $dec));
-                       $rep->TextCol(4, 5, number_format2($trans['ItemTotal'], $dec));
-                       $rep->fontsize += 2;
+                       $rep->TextCol(1, 2, $trans['description'].($trans['inactive']==1 ? " ("._("Inactive").")" : ""), -1);
+                       $rep->TextCol(2, 3, $trans['units']);
+                       $rep->AmountCol(3, 4, $trans['QtyOnHand'], get_qty_dec($trans['stock_id']));
+                       $dec2 = 0;
+                       price_decimal_format($trans['UnitCost'], $dec2);
+                       $rep->AmountCol(4, 5, $trans['UnitCost'], $dec2);
+                       $rep->AmountCol(5, 6, $trans['ItemTotal'], $dec);
+                       $rep->fontSize += 2;
                }
                $total += $trans['ItemTotal'];
                $grandtotal += $trans['ItemTotal'];
                }
                $total += $trans['ItemTotal'];
                $grandtotal += $trans['ItemTotal'];
@@ -155,7 +161,7 @@ function print_inventory_valuation_report()
                $rep->NewLine(2, 3);
                $rep->TextCol(0, 4, _('Total'));
        }
                $rep->NewLine(2, 3);
                $rep->TextCol(0, 4, _('Total'));
        }
-       $rep->Textcol(4, 5, number_format2($total, $dec));
+       $rep->Amountcol(5, 6, $total, $dec);
        if ($detail)
        {
                $rep->Line($rep->row - 2);
        if ($detail)
        {
                $rep->Line($rep->row - 2);
@@ -163,8 +169,9 @@ function print_inventory_valuation_report()
        }
        $rep->NewLine(2, 1);
        $rep->TextCol(0, 4, _('Grand Total'));
        }
        $rep->NewLine(2, 1);
        $rep->TextCol(0, 4, _('Grand Total'));
-       $rep->TextCol(4, 5, number_format2($grandtotal, $dec));
+       $rep->AmountCol(5, 6, $grandtotal, $dec);
        $rep->Line($rep->row  - 4);
        $rep->Line($rep->row  - 4);
+       $rep->NewLine();
     $rep->End();
 }
 
     $rep->End();
 }