# Bug in exchange variation calculation in certain situations. Again.
[fa-stable.git] / reporting / rep303.php
index a1f70d85313a16276ed73a809cc82a87d6e3d1d4..25b7a68ca589dd9a1462cc6e5302e253dc895847 100644 (file)
@@ -9,7 +9,7 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
     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
@@ -44,9 +44,9 @@ function getTransactions($category, $location)
                WHERE ".TB_PREF."stock_master.category_id=".TB_PREF."stock_category.category_id
                AND (".TB_PREF."stock_master.mb_flag='B' OR ".TB_PREF."stock_master.mb_flag='M')";
        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')
-               $sql .= " AND ".TB_PREF."stock_moves.loc_code = '$location'";
+               $sql .= " AND IF(".TB_PREF."stock_moves.stock_id IS NULL, '1=1',".TB_PREF."stock_moves.loc_code = ".db_escape($location).")";
        $sql .= " GROUP BY ".TB_PREF."stock_master.category_id,
                ".TB_PREF."stock_category.description,
                ".TB_PREF."stock_master.stock_id,
@@ -75,33 +75,39 @@ function print_stock_check()
        else
                include_once($path_to_root . "/reporting/includes/pdf_report.inc");
 
-       if ($category == reserved_words::get_all_numeric())
+       if ($category == ALL_NUMERIC)
                $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
                $loc = $location;
        if ($shortage)
+       {
                $short = _('Yes');
-       else    
+               $available = _('Shortage');
+       }       
+       else
+       {
                $short = _('No');
+               $available = _('Available');
+       }       
        if ($check)
        {
                $cols = array(0, 100, 250, 295, 345, 390, 445,  515);
-               $headers = array(_('Stock ID'), _('Description'), _('Quantity'), _('Check'), _('Demand'), _('Available'), _('On Order'));
+               $headers = array(_('Stock ID'), _('Description'), _('Quantity'), _('Check'), _('Demand'), $available, _('On Order'));
                $aligns = array('left', 'left', 'right', 'right', 'right', 'right', 'right');
        }
        else
        {
                $cols = array(0, 100, 250, 315, 380, 445,       515);
-               $headers = array(_('Stock ID'), _('Description'), _('Quantity'), _('Demand'), _('Available'), _('On Order'));
+               $headers = array(_('Stock ID'), _('Description'), _('Quantity'), _('Demand'), $available, _('On Order'));
                $aligns = array('left', 'left', 'right', 'right', 'right', 'right');
        }
 
@@ -126,6 +132,10 @@ function print_stock_check()
        $catt = '';
        while ($trans=db_fetch($res))
        {
+               if ($location == 'all')
+                       $loc_code = "";
+               else
+                       $loc_code = $location;
                $demandqty = get_demand_qty($trans['stock_id'], $loc_code);
                $demandqty += get_demand_asm_qty($trans['stock_id'], $loc_code);
                $onorder = get_on_porder_qty($trans['stock_id'], $loc_code);
@@ -144,10 +154,6 @@ function print_stock_check()
                        $catt = $trans['cat_description'];
                        $rep->NewLine();
                }
-               if ($location == 'all')
-                       $loc_code = "";
-               else
-                       $loc_code = $trans['loc_code'];
                $rep->NewLine();
                $dec = get_qty_dec($trans['stock_id']);
                $rep->TextCol(0, 1, $trans['stock_id']);
@@ -186,4 +192,4 @@ function print_stock_check()
     $rep->End();
 }
 
-?>
\ No newline at end of file
+?>