X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Frep105.php;h=584791ac52b6877602e51c694a9a239d50fc7358;hb=630e99edecc3eabe708a9e7bda94eaa60bf16db7;hp=bc367e6aaa08019ba5be4c27ee42cd9484dbeff5;hpb=ad96cd0abbfd826592b851b8e0cb6d89e450fdf4;p=fa-stable.git diff --git a/reporting/rep105.php b/reporting/rep105.php index bc367e6a..584791ac 100644 --- a/reporting/rep105.php +++ b/reporting/rep105.php @@ -9,7 +9,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License here . ***********************************************************************/ -$page_security = 2; +$page_security = 'SA_SALESBULKREP'; // ---------------------------------------------------------------- // $ Revision: 2.0 $ // Creator: Joe Hunt @@ -35,32 +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 - 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=$category"; + $sql .= " AND item.category_id=".db_escape($category); if ($location != null) - $sql .= " AND ".TB_PREF."sales_orders.from_stk_loc='$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"); } @@ -77,15 +80,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 +99,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,8 +112,8 @@ function print_order_status_list() $aligns = array('left', 'left', 'right', 'right', 'right', 'right', 'right'); - $headers = array(_('Code'), _('Description'), _('Ordered'), _('Invoiced'), - _('Outstanding'), ''); + $headers = array(_('Code'), _('Description'), _('Ordered'), _('Delivered'), + _('Outstanding'), '', _('Total Amount')); $params = array( 0 => $comments, 1 => array( 'text' => _('Period'), 'from' => $from, 'to' => $to), @@ -116,25 +121,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; + $grand_total = 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']) { @@ -150,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']); @@ -166,14 +171,12 @@ 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->NewLine(); + $rep->TextCol(1, 6, _("Grand Total")); + $rep->AmountCol(6, 7, $grand_total); + $rep->Line($rep->row - 5); $rep->End(); } -?> \ No newline at end of file