[0005214] Stock Check Sheet: changed option name to less confusing for shortages...
[fa-stable.git] / reporting / rep105.php
index db32dffd3c85d793327101fea579039dddf13606..584791ac52b6877602e51c694a9a239d50fc7358 100644 (file)
@@ -35,34 +35,35 @@ function GetSalesOrders($from, $to, $category=0, $location=null, $backorder=0)
        $fromdate = date2sql($from);
        $todate = date2sql($to);
 
-       $sql= "SELECT ".TB_PREF."sales_orders.order_no,
-                               ".TB_PREF."sales_orders.debtor_no,
-                ".TB_PREF."sales_orders.branch_code,
-                ".TB_PREF."sales_orders.customer_ref,
-                ".TB_PREF."sales_orders.ord_date,
-                ".TB_PREF."sales_orders.from_stk_loc,
-                ".TB_PREF."sales_orders.delivery_date,
-                ".TB_PREF."sales_order_details.stk_code,
-                ".TB_PREF."stock_master.description,
-                ".TB_PREF."stock_master.units,
-                ".TB_PREF."sales_order_details.quantity,
-                ".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
-                   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'
-                AND ".TB_PREF."sales_orders.ord_date <='$todate'";
+       $sql= "SELECT sorder.order_no,
+                               sorder.debtor_no,
+                sorder.branch_code,
+                sorder.customer_ref,
+                sorder.ord_date,
+                sorder.from_stk_loc,
+                sorder.delivery_date,
+                sorder.total,
+                line.stk_code,
+                item.description,
+                item.units,
+                line.quantity,
+                line.qty_sent
+            FROM ".TB_PREF."sales_orders sorder
+                       INNER JOIN ".TB_PREF."sales_order_details line
+                   ON sorder.order_no = line.order_no
+                   AND sorder.trans_type = line.trans_type
+                   AND sorder.trans_type = ".ST_SALESORDER."
+               INNER JOIN ".TB_PREF."stock_master item
+                   ON line.stk_code = item.stock_id
+            WHERE sorder.ord_date >='$fromdate'
+                AND sorder.ord_date <='$todate'";
        if ($category > 0)
-               $sql .= " AND ".TB_PREF."stock_master.category_id=".db_escape($category);
+               $sql .= " AND item.category_id=".db_escape($category);
        if ($location != null)
-               $sql .= " AND ".TB_PREF."sales_orders.from_stk_loc=".db_escape($location);
+               $sql .= " AND sorder.from_stk_loc=".db_escape($location);
        if ($backorder)
-               $sql .= " AND ".TB_PREF."sales_order_details.quantity - ".TB_PREF."sales_order_details.qty_sent > 0";
-       $sql .= " ORDER BY ".TB_PREF."sales_orders.order_no";
+               $sql .= " AND line.quantity - line.qty_sent > 0";
+       $sql .= " ORDER BY sorder.order_no";
 
        return db_query($sql, "Error getting order details");
 }
@@ -112,7 +113,7 @@ function print_order_status_list()
        $aligns = array('left', 'left', 'right', 'right', 'right', 'right',     'right');
 
        $headers = array(_('Code'),     _('Description'), _('Ordered'), _('Delivered'),
-               _('Outstanding'), '');
+               _('Outstanding'), '', _('Total Amount'));
 
     $params =   array(         0 => $comments,
                                        1 => array(  'text' => _('Period'), 'from' => $from, 'to' => $to),
@@ -131,9 +132,9 @@ function print_order_status_list()
 
        $rep->NewPage();
        $orderno = 0;
+       $grand_total = 0;
 
        $result = GetSalesOrders($from, $to, $category, $location, $backorder);
-
        while ($myrow=db_fetch($result))
        {
                $rep->NewLine(0, 2, false, $orderno);
@@ -151,7 +152,10 @@ function print_order_status_list()
                        $rep->DateCol(4, 5,     $myrow['ord_date'], true);
                        $rep->DateCol(5, 6,     $myrow['delivery_date'], true);
                        $rep->TextCol(6, 7,     $myrow['from_stk_loc']);
-                       $rep->NewLine(2);
+                       $rep->NewLine(1);
+                       $rep->AmountCol(6, 7, $myrow['total']);
+                       $rep->NewLine(1);
+                       $grand_total += $myrow['total'];                
                        $orderno = $myrow['order_no'];
                }
                $rep->TextCol(0, 1,     $myrow['stk_code']);
@@ -169,6 +173,10 @@ function print_order_status_list()
                $rep->NewLine();
        }
        $rep->Line($rep->row);
+       $rep->NewLine();
+       $rep->TextCol(1, 6, _("Grand Total")); 
+       $rep->AmountCol(6, 7, $grand_total);
+       $rep->Line($rep->row - 5);
        $rep->End();
 }