Fixed amibiguity in few text messages to make translations easier, updated gettext...
[fa-stable.git] / reporting / rep303.php
index e96f32b81d97881a99983dfd9b91b8b64dfd6d10..9794e8c7b3b58b907b5c13565e7c6dc451adf7f5 100644 (file)
@@ -1,12 +1,12 @@
 <?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>.
 ***********************************************************************/
 $page_security = 'SA_ITEMSVALREP';
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
 $page_security = 'SA_ITEMSVALREP';
@@ -29,24 +29,34 @@ include_once($path_to_root . "/includes/db/manufacturing_db.inc");
 
 print_stock_check();
 
 
 print_stock_check();
 
-function getTransactions($category, $location)
+function getTransactions($category, $location, $item_like)
 {
        $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.units,
                        ".TB_PREF."stock_master.description, ".TB_PREF."stock_master.inactive,
                        IF(".TB_PREF."stock_moves.stock_id IS NULL, '', ".TB_PREF."stock_moves.loc_code) AS loc_code,
                        SUM(IF(".TB_PREF."stock_moves.stock_id IS NULL,0,".TB_PREF."stock_moves.qty)) AS QtyOnHand
                FROM (".TB_PREF."stock_master,
                        ".TB_PREF."stock_category)
                LEFT JOIN ".TB_PREF."stock_moves ON
                        ".TB_PREF."stock_master.description, ".TB_PREF."stock_master.inactive,
                        IF(".TB_PREF."stock_moves.stock_id IS NULL, '', ".TB_PREF."stock_moves.loc_code) AS loc_code,
                        SUM(IF(".TB_PREF."stock_moves.stock_id IS NULL,0,".TB_PREF."stock_moves.qty)) AS QtyOnHand
                FROM (".TB_PREF."stock_master,
                        ".TB_PREF."stock_category)
                LEFT JOIN ".TB_PREF."stock_moves ON
-                       (".TB_PREF."stock_master.stock_id=".TB_PREF."stock_moves.stock_id OR ".TB_PREF."stock_master.stock_id IS NULL)
+                       (".TB_PREF."stock_master.stock_id=".TB_PREF."stock_moves.stock_id)
                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 = ".db_escape($category);
        if ($location != 'all')
                $sql .= " AND IF(".TB_PREF."stock_moves.stock_id IS NULL, '1=1',".TB_PREF."stock_moves.loc_code = ".db_escape($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 = ".db_escape($category);
        if ($location != 'all')
                $sql .= " AND IF(".TB_PREF."stock_moves.stock_id IS NULL, '1=1',".TB_PREF."stock_moves.loc_code = ".db_escape($location).")";
+  if($item_like)
+  {
+    $regexp = null;
+
+    if(sscanf($item_like, "/%s", $regexp)==1)
+      $sql .= " AND ".TB_PREF."stock_master.stock_id RLIKE ".db_escape($regexp);
+    else
+      $sql .= " AND ".TB_PREF."stock_master.stock_id LIKE ".db_escape($item_like);
+  }
        $sql .= " GROUP BY ".TB_PREF."stock_master.category_id,
                ".TB_PREF."stock_category.description,
                ".TB_PREF."stock_master.stock_id,
        $sql .= " GROUP BY ".TB_PREF."stock_master.category_id,
                ".TB_PREF."stock_category.description,
                ".TB_PREF."stock_master.stock_id,
@@ -61,7 +71,7 @@ function getTransactions($category, $location)
 
 function print_stock_check()
 {
 
 function print_stock_check()
 {
-    global $path_to_root, $pic_height;
+    global $path_to_root, $SysPrefs;
 
        $category = $_POST['PARAM_0'];
        $location = $_POST['PARAM_1'];
 
        $category = $_POST['PARAM_0'];
        $location = $_POST['PARAM_1'];
@@ -69,14 +79,17 @@ function print_stock_check()
        $check    = $_POST['PARAM_3'];
        $shortage = $_POST['PARAM_4'];
        $no_zeros = $_POST['PARAM_5'];
        $check    = $_POST['PARAM_3'];
        $shortage = $_POST['PARAM_4'];
        $no_zeros = $_POST['PARAM_5'];
-       $comments = $_POST['PARAM_6'];
-               $destination = $_POST['PARAM_7'];
+       $like     = $_POST['PARAM_6']; 
+       $comments = $_POST['PARAM_7'];
+       $orientation = $_POST['PARAM_8'];
+       $destination = $_POST['PARAM_9'];
 
        if ($destination)
                include_once($path_to_root . "/reporting/includes/excel_report.inc");
        else
                include_once($path_to_root . "/reporting/includes/pdf_report.inc");
 
 
        if ($destination)
                include_once($path_to_root . "/reporting/includes/excel_report.inc");
        else
                include_once($path_to_root . "/reporting/includes/pdf_report.inc");
 
+       $orientation = ($orientation ? 'L' : 'P');
        if ($category == ALL_NUMERIC)
                $category = 0;
        if ($category == 0)
        if ($category == ALL_NUMERIC)
                $category = 0;
        if ($category == 0)
@@ -94,7 +107,7 @@ function print_stock_check()
        {
                $short = _('Yes');
                $available = _('Shortage');
        {
                $short = _('Yes');
                $available = _('Shortage');
-       }       
+       }
        else
        {
                $short = _('No');
        else
        {
                $short = _('No');
@@ -104,15 +117,15 @@ function print_stock_check()
        else $nozeros = _('No');
        if ($check)
        {
        else $nozeros = _('No');
        if ($check)
        {
-               $cols = array(0, 100, 250, 295, 345, 390, 445,  515);
-               $headers = array(_('Stock ID'), _('Description'), _('Quantity'), _('Check'), _('Demand'), $available, _('On Order'));
-               $aligns = array('left', 'left', 'right', 'right', 'right', 'right', 'right');
+               $cols = array(0, 75, 225, 250, 295, 345, 390, 445,      515);
+               $headers = array(_('Stock ID'), _('Description'), _('UOM'), _('Quantity'), _('Check'), _('Demand'), $available, _('On Order'));
+               $aligns = array('left', 'left', 'left', 'right', 'right', 'right', 'right', 'right');
        }
        else
        {
        }
        else
        {
-               $cols = array(0, 100, 250, 315, 380, 445,       515);
-               $headers = array(_('Stock ID'), _('Description'), _('Quantity'), _('Demand'), $available, _('On Order'));
-               $aligns = array('left', 'left', 'right', 'right', 'right', 'right');
+               $cols = array(0, 75, 225, 250, 315, 380, 445,   515);
+               $headers = array(_('Stock ID'), _('Description'), _('UOM'), _('Quantity'), _('Demand'), $available, _('On Order'));
+               $aligns = array('left', 'left', 'left', 'right', 'right', 'right', 'right');
        }
 
 
        }
 
 
@@ -127,19 +140,15 @@ function print_stock_check()
        else
                $user_comp = "";
 
        else
                $user_comp = "";
 
-       $rep = new FrontReport(_('Stock Check Sheets'), "StockCheckSheet", user_pagesize());
+       $rep = new FrontReport(_('Stock Check Sheets'), "StockCheckSheet", user_pagesize(), 9, $orientation);
+    if ($orientation == 'L')
+       recalculate_cols($cols);
 
 
-<<<<<<< rep303.php
     $rep->Font();
     $rep->Info($params, $cols, $headers, $aligns);
     $rep->NewPage();
     $rep->Font();
     $rep->Info($params, $cols, $headers, $aligns);
     $rep->NewPage();
-=======
-       $rep->Font();
-       $rep->Info($params, $cols, $headers, $aligns);
-       $rep->Header();
->>>>>>> 1.22
 
 
-       $res = getTransactions($category, $location);
+       $res = getTransactions($category, $location, $like);
        $catt = '';
        while ($trans=db_fetch($res))
        {
        $catt = '';
        while ($trans=db_fetch($res))
        {
@@ -173,31 +182,32 @@ function print_stock_check()
                $dec = get_qty_dec($trans['stock_id']);
                $rep->TextCol(0, 1, $trans['stock_id']);
                $rep->TextCol(1, 2, $trans['description'].($trans['inactive']==1 ? " ("._("Inactive").")" : ""), -1);
                $dec = get_qty_dec($trans['stock_id']);
                $rep->TextCol(0, 1, $trans['stock_id']);
                $rep->TextCol(1, 2, $trans['description'].($trans['inactive']==1 ? " ("._("Inactive").")" : ""), -1);
-               $rep->AmountCol(2, 3, $trans['QtyOnHand'], $dec);
+               $rep->TextCol(2, 3, $trans['units']);
+               $rep->AmountCol(3, 4, $trans['QtyOnHand'], $dec);
                if ($check)
                {
                if ($check)
                {
-                       $rep->TextCol(3, 4, "_________");
-                       $rep->AmountCol(4, 5, $demandqty, $dec);
-                       $rep->AmountCol(5, 6, $trans['QtyOnHand'] - $demandqty, $dec);
-                       $rep->AmountCol(6, 7, $onorder, $dec);
+                       $rep->TextCol(4, 5, "_________");
+                       $rep->AmountCol(5, 6, $demandqty, $dec);
+                       $rep->AmountCol(6, 7, $trans['QtyOnHand'] - $demandqty, $dec);
+                       $rep->AmountCol(7, 8, $onorder, $dec);
                }
                else
                {
                }
                else
                {
-                       $rep->AmountCol(3, 4, $demandqty, $dec);
-                       $rep->AmountCol(4, 5, $trans['QtyOnHand'] - $demandqty, $dec);
-                       $rep->AmountCol(5, 6, $onorder, $dec);
+                       $rep->AmountCol(4, 5, $demandqty, $dec);
+                       $rep->AmountCol(5, 6, $trans['QtyOnHand'] - $demandqty, $dec);
+                       $rep->AmountCol(6, 7, $onorder, $dec);
                }
                if ($pictures)
                {
                }
                if ($pictures)
                {
-                       $image = company_path() . '/images/' 
+                       $image = company_path() . '/images/'
                                . item_img_name($trans['stock_id']) . '.jpg';
                        if (file_exists($image))
                        {
                                $rep->NewLine();
                                . item_img_name($trans['stock_id']) . '.jpg';
                        if (file_exists($image))
                        {
                                $rep->NewLine();
-                               if ($rep->row - $pic_height < $rep->bottomMargin)
+                               if ($rep->row - $SysPrefs->pic_height < $rep->bottomMargin)
                                        $rep->NewPage();
                                        $rep->NewPage();
-                               $rep->AddImage($image, $rep->cols[1], $rep->row - $pic_height, 0, $pic_height);
-                               $rep->row -= $pic_height;
+                               $rep->AddImage($image, $rep->cols[1], $rep->row - $SysPrefs->pic_height, 0, $SysPrefs->pic_height);
+                               $rep->row -= $SysPrefs->pic_height;
                                $rep->NewLine();
                        }
                }
                                $rep->NewLine();
                        }
                }
@@ -207,4 +217,3 @@ function print_stock_check()
     $rep->End();
 }
 
     $rep->End();
 }
 
-?>