X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Frep105.php;h=584791ac52b6877602e51c694a9a239d50fc7358;hb=7e6e0807990447d2977b970c3a0fd28dc9250194;hp=e25b89aae94034ca24de57b4f91d4fdff55eaaca;hpb=99730b8d6deb7e81d2f1ebeb2ce7066d27729485;p=fa-stable.git diff --git a/reporting/rep105.php b/reporting/rep105.php index e25b89aa..584791ac 100644 --- a/reporting/rep105.php +++ b/reporting/rep105.php @@ -1,23 +1,31 @@ . +***********************************************************************/ +$page_security = 'SA_SALESBULKREP'; // ---------------------------------------------------------------- // $ Revision: 2.0 $ // Creator: Joe Hunt // date_: 2005-05-19 // Title: Order Status List // ---------------------------------------------------------------- -$path_to_root="../"; +$path_to_root=".."; -include_once($path_to_root . "includes/session.inc"); -include_once($path_to_root . "includes/date_functions.inc"); -include_once($path_to_root . "includes/data_checks.inc"); -include_once($path_to_root . "sales/includes/sales_db.inc"); -include_once($path_to_root . "inventory/includes/db/items_category_db.inc"); +include_once($path_to_root . "/includes/session.inc"); +include_once($path_to_root . "/includes/date_functions.inc"); +include_once($path_to_root . "/includes/data_checks.inc"); +include_once($path_to_root . "/sales/includes/sales_db.inc"); +include_once($path_to_root . "/inventory/includes/db/items_category_db.inc"); //---------------------------------------------------------------------------------------------------- -// trial_inquiry_controls(); print_order_status_list(); //---------------------------------------------------------------------------------------------------- @@ -27,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"); } @@ -63,18 +74,23 @@ function print_order_status_list() { global $path_to_root; - include_once($path_to_root . "reporting/includes/pdf_report.inc"); - $from = $_POST['PARAM_0']; $to = $_POST['PARAM_1']; $category = $_POST['PARAM_2']; $location = $_POST['PARAM_3']; $backorder = $_POST['PARAM_4']; $comments = $_POST['PARAM_5']; + $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'); @@ -83,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 @@ -96,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), @@ -105,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.pdf", 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']) { @@ -136,18 +149,21 @@ function print_order_status_list() $rep->TextCol(1, 2, get_customer_name($myrow['debtor_no'])); $rep->TextCol(2, 3, get_branch_name($myrow['branch_code'])); $rep->TextCol(3, 4, $myrow['customer_ref']); - $rep->TextCol(4, 5, sql2date($myrow['ord_date'])); - $rep->TextCol(5, 6, sql2date($myrow['delivery_date'])); + $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']); $rep->TextCol(1, 2, $myrow['description']); $dec = get_qty_dec($myrow['stk_code']); - $rep->TextCol(2, 3, number_format2($myrow['quantity'], $dec)); - $rep->TextCol(3, 4, number_format2($myrow['qty_sent'], $dec)); - $rep->TextCol(4, 5, number_format2($myrow['quantity'] - $myrow['qty_sent'], $dec)); + $rep->AmountCol(2, 3, $myrow['quantity'], $dec); + $rep->AmountCol(3, 4, $myrow['qty_sent'], $dec); + $rep->AmountCol(4, 5, $myrow['quantity'] - $myrow['qty_sent'], $dec); if ($myrow['quantity'] - $myrow['qty_sent'] > 0) { $rep->Font('italic'); @@ -155,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