X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Frep106.php;h=f9ea4499eaa518989504200dc95017dd4ee467fe;hb=6bcd87642330092910f5d6977845a76ac59350ac;hp=00e4046109de5d3633dfc102ddcc1c3a70ba96b7;hpb=eb173e05459027cfae901e4ac3759ec0a7bc72e0;p=fa-stable.git diff --git a/reporting/rep106.php b/reporting/rep106.php index 00e40461..f9ea4499 100644 --- a/reporting/rep106.php +++ b/reporting/rep106.php @@ -1,23 +1,31 @@ . +***********************************************************************/ +$page_security = 'SA_SALESMANREP'; // ---------------------------------------------------------------- // $ Revision: 2.0 $ // Creator: Joe Hunt // date_: 2005-05-19 -// Title: Order Status List +// Title: Salesman Report // ---------------------------------------------------------------- -$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_salesman_list(); //---------------------------------------------------------------------------------------------------- @@ -27,20 +35,26 @@ function GetSalesmanTrans($from, $to) $fromdate = date2sql($from); $todate = date2sql($to); - $sql = "SELECT DISTINCT ".TB_PREF."debtor_trans.*, - ov_amount+ov_discount AS InvoiceTotal, - ".TB_PREF."debtors_master.name AS DebtorName, ".TB_PREF."debtors_master.curr_code, ".TB_PREF."cust_branch.br_name, - ".TB_PREF."cust_branch.contact_name, ".TB_PREF."salesman.* - FROM ".TB_PREF."debtor_trans, ".TB_PREF."debtors_master, ".TB_PREF."sales_orders, ".TB_PREF."cust_branch, - ".TB_PREF."salesman - WHERE ".TB_PREF."sales_orders.order_no=".TB_PREF."debtor_trans.order_ - AND ".TB_PREF."sales_orders.branch_code=".TB_PREF."cust_branch.branch_code - AND ".TB_PREF."cust_branch.salesman=".TB_PREF."salesman.salesman_code - AND ".TB_PREF."debtor_trans.debtor_no=".TB_PREF."debtors_master.debtor_no - AND (".TB_PREF."debtor_trans.type=10 OR ".TB_PREF."debtor_trans.type=11) - AND ".TB_PREF."debtor_trans.tran_date>='$fromdate' - AND ".TB_PREF."debtor_trans.tran_date<='$todate' - ORDER BY ".TB_PREF."salesman.salesman_code, ".TB_PREF."debtor_trans.tran_date"; + $sql = "SELECT DISTINCT trans.*, + ov_amount+ov_discount AS InvoiceTotal, + cust.name AS DebtorName, + cust.curr_code, + branch.br_name, + sorder.customer_ref, + salesman.* + FROM ".TB_PREF."debtor_trans trans, + ".TB_PREF."debtors_master cust, + ".TB_PREF."sales_orders sorder, + ".TB_PREF."cust_branch branch, + ".TB_PREF."salesman salesman + WHERE sorder.order_no=trans.order_ + AND sorder.branch_code=branch.branch_code + AND branch.salesman=salesman.salesman_code + AND trans.debtor_no=cust.debtor_no + AND (trans.type=".ST_SALESINVOICE." OR trans.type=".ST_CUSTCREDIT.") + AND trans.tran_date>='$fromdate' + AND trans.tran_date<='$todate' + ORDER BY salesman.salesman_code, trans.tran_date"; return db_query($sql, "Error getting order details"); } @@ -51,19 +65,24 @@ function print_salesman_list() { global $path_to_root; - include_once($path_to_root . "reporting/includes/pdf_report.inc"); - $from = $_POST['PARAM_0']; $to = $_POST['PARAM_1']; $summary = $_POST['PARAM_2']; $comments = $_POST['PARAM_3']; + $orientation = $_POST['PARAM_4']; + $destination = $_POST['PARAM_5']; + 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 ($summary == 0) $sum = _("No"); else $sum = _("Yes"); - $dec = user_qty_dec(); + $dec = user_price_dec(); $cols = array(0, 60, 150, 220, 325, 385, 450, 515); @@ -79,14 +98,16 @@ function print_salesman_list() 1 => array( 'text' => _('Period'), 'from' => $from, 'to' => $to), 2 => array( 'text' => _('Summary Only'),'from' => $sum,'to' => '')); - $cols2 = $cols; $aligns2 = $aligns; - $rep = new FrontReport(_('Salesman Listing'), "SalesmanListing.pdf", user_pagesize()); + $rep = new FrontReport(_('Salesman Listing'), "SalesmanListing", 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(); $salesman = 0; $subtotal = $total = $subprov = $provtotal = 0; @@ -94,11 +115,6 @@ function print_salesman_list() while ($myrow=db_fetch($result)) { - if ($rep->row < $rep->bottomMargin + (2 * $rep->lineHeight)) - { - $salesman = 0; - $rep->Header(); - } $rep->NewLine(0, 2, false, $salesman); if ($salesman != $myrow['salesman_code']) { @@ -107,17 +123,16 @@ function print_salesman_list() $rep->Line($rep->row - 8); $rep->NewLine(2); $rep->TextCol(0, 3, _('Total')); - $rep->TextCol(5, 6, number_format2($subtotal, $dec)); - $rep->TextCol(6, 7, number_format2($subprov, $dec)); + $rep->AmountCol(5, 6, $subtotal, $dec); + $rep->AmountCol(6, 7, $subprov, $dec); $rep->Line($rep->row - 4); $rep->NewLine(2); - //$rep->Line($rep->row); } $rep->TextCol(0, 2, $myrow['salesman_code']." ".$myrow['salesman_name']); $rep->TextCol(2, 3, $myrow['salesman_phone']); $rep->TextCol(3, 4, $myrow['salesman_email']); $rep->TextCol(4, 5, number_format2($myrow['provision'], user_percent_dec()) ." %"); - $rep->TextCol(5, 6, number_format2($myrow['break_pt'], $dec)); + $rep->AmountCol(5, 6, $myrow['break_pt'], $dec); $rep->TextCol(6, 7, number_format2($myrow['provision2'], user_percent_dec()) ." %"); $rep->NewLine(2); $salesman = $myrow['salesman_code']; @@ -126,28 +141,26 @@ function print_salesman_list() $subtotal = 0; $subprov = 0; } - $date = sql2date($myrow['tran_date']); - $rate = get_exchange_rate_from_home_currency($myrow['curr_code'], $date); + $rate = $myrow['rate']; $amt = $myrow['InvoiceTotal'] * $rate; - if ($subprov > $myrow['break_pt'] && $myrow['provision2'] != 0) - $prov = $myrow['provision2'] * $amt / 100; - else + if ($myrow['provision2'] == 0) $prov = $myrow['provision'] * $amt / 100; + else { + $amt1 = min($amt, max(0, $myrow['break_pt']-$subtotal)); + $amt2 = $amt - $amt1; + + $prov = $amt1*$myrow['provision']/100 + $amt2*$myrow['provision2']/100; + } if (!$summary) { $rep->TextCol(0, 1, $myrow['trans_no']); $rep->TextCol(1, 2, $myrow['DebtorName']); $rep->TextCol(2, 3, $myrow['br_name']); - $rep->TextCol(3, 4, $myrow['contact_name']); - $rep->TextCol(4, 5, $date); - $rep->TextCol(5, 6, number_format2($amt, $dec)); - $rep->TextCol(6, 7, number_format2($prov, $dec)); + $rep->TextCol(3, 4, $myrow['customer_ref']); + $rep->DateCol(4, 5, $myrow['tran_date'], true); + $rep->AmountCol(5, 6, $amt, $dec); + $rep->AmountCol(6, 7, $prov, $dec); $rep->NewLine(); - if ($rep->row < $rep->bottomMargin + (2 * $rep->lineHeight)) - { - $salesman = 0; - $rep->Header(); - } } $subtotal += $amt; $subprov += $prov; @@ -157,21 +170,20 @@ function print_salesman_list() $rep->Line($rep->row - 4); $rep->NewLine(2); $rep->TextCol(0, 3, _('Total')); - $rep->TextCol(5, 6, number_format2($subtotal, $dec)); - $rep->TextCol(6, 7, number_format2($subprov, $dec)); + $rep->AmountCol(5, 6, $subtotal, $dec); + $rep->AmountCol(6, 7, $subprov, $dec); $rep->Line($rep->row - 4); $rep->NewLine(2); - //$rep->Line($rep->row); $total += $subtotal; $provtotal += $subprov; } $rep->fontSize += 2; $rep->TextCol(0, 3, _('Grand Total')); $rep->fontSize -= 2; - $rep->TextCol(5, 6, number_format2($total, $dec)); - $rep->TextCol(6, 7, number_format2($provtotal, $dec)); + $rep->AmountCol(5, 6, $total, $dec); + $rep->AmountCol(6, 7, $provtotal, $dec); $rep->Line($rep->row - 4); + $rep->NewLine(); $rep->End(); } -?> \ No newline at end of file