X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Frep105.php;h=584791ac52b6877602e51c694a9a239d50fc7358;hb=7e6e0807990447d2977b970c3a0fd28dc9250194;hp=70c8c0d0a203cac7bb1aaf90d28ea15033ef9dfe;hpb=8b329ac7791b14171647a5c205225f93ca11a47d;p=fa-stable.git diff --git a/reporting/rep105.php b/reporting/rep105.php index 70c8c0d0..584791ac 100644 --- a/reporting/rep105.php +++ b/reporting/rep105.php @@ -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"); } @@ -79,11 +80,13 @@ 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 == ALL_NUMERIC) $category = 0; @@ -109,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), @@ -118,18 +121,20 @@ 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->NewPage(); $orderno = 0; + $grand_total = 0; $result = GetSalesOrders($from, $to, $category, $location, $backorder); - while ($myrow=db_fetch($result)) { $rep->NewLine(0, 2, false, $orderno); @@ -147,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']); @@ -165,7 +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(); } -?> \ No newline at end of file