Optimized Inventory Valuation Reports, 301 and 308.
[fa-stable.git] / reporting / rep105.php
index e3cd6de775a3becf785c7271ad8335b34e357954..b57536756935fe20ce004431c422b8fb190cc704 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_SALESBULKREP';
 // ----------------------------------------------------------------
 // $ Revision: 2.0 $
 // Creator:    Joe Hunt
@@ -49,7 +49,9 @@ function GetSalesOrders($from, $to, $category=0, $location=null, $backorder=0)
                 ".TB_PREF."sales_order_details.qty_sent
             FROM ".TB_PREF."sales_orders
                INNER JOIN ".TB_PREF."sales_order_details
-                   ON ".TB_PREF."sales_orders.order_no = ".TB_PREF."sales_order_details.order_no
+                   ON (".TB_PREF."sales_orders.order_no = ".TB_PREF."sales_order_details.order_no
+                   AND ".TB_PREF."sales_orders.trans_type = ".TB_PREF."sales_order_details.trans_type
+                   AND ".TB_PREF."sales_orders.trans_type = ".ST_SALESORDER.")
                INNER JOIN ".TB_PREF."stock_master
                    ON ".TB_PREF."sales_order_details.stk_code = ".TB_PREF."stock_master.stock_id
             WHERE ".TB_PREF."sales_orders.ord_date >='$fromdate'
@@ -77,15 +79,17 @@ function print_order_status_list()
        $location = $_POST['PARAM_3'];
        $backorder = $_POST['PARAM_4'];
        $comments = $_POST['PARAM_5'];
-       $destination = $_POST['PARAM_6'];
+       $orientation = $_POST['PARAM_6'];
+       $destination = $_POST['PARAM_7'];
        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 == reserved_words::get_all_numeric())
+       if ($category == ALL_NUMERIC)
                $category = 0;
-       if ($location == reserved_words::get_all())
+       if ($location == ALL_TEXT)
                $location = null;
        if ($category == 0)
                $cat = _('All');
@@ -94,7 +98,7 @@ function print_order_status_list()
        if ($location == null)
                $loc = _('All');
        else
-               $loc = $location;
+               $loc = get_location_name($location);
        if ($backorder == 0)
                $back = _('All Orders');
        else
@@ -107,7 +111,7 @@ function print_order_status_list()
 
        $aligns = array('left', 'left', 'right', 'right', 'right', 'right',     'right');
 
-       $headers = array(_('Code'),     _('Description'), _('Ordered'), _('Invoiced'),
+       $headers = array(_('Code'),     _('Description'), _('Ordered'), _('Delivered'),
                _('Outstanding'), '');
 
     $params =   array(         0 => $comments,
@@ -116,25 +120,22 @@ function print_order_status_list()
                                        3 => array(  'text' => _('Location'), 'from' => $loc, 'to' => ''),
                                        4 => array(  'text' => _('Selection'),'from' => $back,'to' => ''));
 
-       $cols2 = $cols;
        $aligns2 = $aligns;
 
-       $rep = new FrontReport(_('Order Status Listing'), "OrderStatusListing", user_pagesize());
+       $rep = new FrontReport(_('Order Status Listing'), "OrderStatusListing", user_pagesize(), 9, $orientation);
+    if ($orientation == 'L')
+       recalculate_cols($cols);
+       $cols2 = $cols;
        $rep->Font();
        $rep->Info($params, $cols, $headers, $aligns, $cols2, $headers2, $aligns2);
 
-       $rep->Header();
+       $rep->NewPage();
        $orderno = 0;
 
        $result = GetSalesOrders($from, $to, $category, $location, $backorder);
 
        while ($myrow=db_fetch($result))
        {
-               if ($rep->row < $rep->bottomMargin + (2 * $rep->lineHeight))
-               {
-                       $orderno = 0;
-                       $rep->Header();
-               }
                $rep->NewLine(0, 2, false, $orderno);
                if ($orderno != $myrow['order_no'])
                {
@@ -166,11 +167,6 @@ function print_order_status_list()
                        $rep->Font();
                }
                $rep->NewLine();
-               if ($rep->row < $rep->bottomMargin + (2 * $rep->lineHeight))
-               {
-                       $orderno = 0;
-                       $rep->Header();
-               }
        }
        $rep->Line($rep->row);
        $rep->End();