Пример #1
0
function print_inventory_sales()
{
    global $path_to_root;
    $from = $_POST['PARAM_0'];
    $destination = $_POST['PARAM_1'];
    if ($destination) {
        include_once $path_to_root . "/reporting/includes/excel_report.inc";
    } else {
        include_once $path_to_root . "/reporting/includes/pdf_report.inc";
    }
    $dec = user_price_dec();
    if ($category == ALL_NUMERIC) {
        $category = 0;
    }
    if ($category == 0) {
        $cat = _('All');
    } else {
        $cat = get_category_name($category);
    }
    $cols = array(0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200);
    $headers = array(_('Date'), _('Client Name'), _('IMC'), _('Charge'), _('Sales'), _('Date'), _('CM#'), _('Returns'), _(''), _('Discount'), _('Balance'), _('Date'), _('PR/OR#'), _('Date'), _('OR #'), _('Amount'), _('Partial'), _('Balance'), _('Date'), _(''), _('Commission'), _('w/tax'), _('Net Commission'));
    $header2 = array(_(''), '', '', _('Invoice'), _('Amount'), _(''), _(''), _(''), _(''), _(''), _(''), _(''), _(''), _(''), _(''), _(''), _(''), _(''), _(''), _(''), '', _(''), _(''));
    $aligns = array('left', 'center', 'center', 'center', 'right', 'right', 'right', 'right', 'right', 'right', 'right', 'right', 'right', 'right', 'right');
    $params = array(0 => $comments, 1 => array('text' => _('Period'), 'from' => $from, 'to' => $to), 2 => array('text' => _('Category'), 'from' => $cat, 'to' => ''));
    $rep = new FrontReport(_('Series Report'), "SeriesReport", user_pagesize(), 8, 'L');
    $rep->Font();
    $rep->Info($params, $cols, $header2, $aligns, $cols, $headers, $aligns);
    $rep->NewPage();
    $total = $grandtotal = 0.0;
    $total1 = $grandtotal1 = 0.0;
    $total2 = $grandtotal2 = 0.0;
    $catt = '';
    $res = getTransactions($imc, $from);
    while ($myrow = db_fetch($res)) {
        $company_data = get_company_prefs();
        $branch = get_branch($myrow["branch_code"]);
        $branch_data = get_branch_accounts($myrow['branch_code']);
        $dt = get_discount($branch_data['sales_discount_account'], $myrow['type'], $myrow['trans_no']);
        $salesman = get_imc_code($myrow['branch_code']);
        $res2 = get_return_details($myrow['order_']);
        $returns = 0;
        $rtn_dt = 0;
        $credit_num = "";
        $cm_date = "";
        $num = db_num_rows($res2);
        $var = array();
        while ($myrow2 = db_fetch($res2)) {
            $returns += $myrow2['ov_amount'];
            if ($num > 1) {
                $credit_num .= $myrow2['customized_no'] . "/";
                $cm_date = $myrow2['tran_date'] . "/";
            } else {
                $credit_num .= $myrow2['customized_no'];
                $cm_date = $myrow2['tran_date'];
            }
            $var = array($myrow2['trans_no']);
            //$res2 = get_return_discount($branch_data['sales_discount_account'], $myrow2['type'], $myrow2['trans_no']);
            //	while ($myrow3 = db_fetch($res2)){
            //		$rtn_dt += abs($myrow3['amount']);
            //	}
        }
        foreach ($var as $vars) {
            $res2 = get_return_discount($branch_data['sales_discount_account'], ST_CUSTCREDIT, $vars);
            while ($myrow3 = db_fetch($res2)) {
                $rtn_dt += abs($myrow3['amount']);
            }
        }
        $total_returns = $returns + $rtn_dt;
        $return_discount = $rtn_dt / $total_returns * 100;
        //$discount = $myrow['discount'];
        $invoicetot = $myrow['ov_amount'] + $dt;
        $invoice_discount = $dt / $invoicetot * 100;
        $sales_discount = ($invoicetot - $total_returns) * ($invoice_discount / 100);
        $net_sales = $invoicetot - $total_returns - $sales_discount;
        $gross_commission = ($invoicetot - $total_returns) * ($myrow['commission'] / 100);
        $tot_invoice = $invoicetot - $invoicetot * ($invoice_discount / 100);
        $sample = $invoicetot - $total_returns;
        $rep->TextCol(0, 1, $myrow['tranDate']);
        $rep->TextCol(1, 2, $myrow['br_name']);
        $rep->TextCol(2, 3, $salesman);
        $rep->TextCol(3, 4, $myrow['customized_no']);
        if ($myrow['IsVoid'] == '') {
            $rep->AmountCol(4, 5, $invoicetot, 2);
            $rep->TextCol(5, 6, $cm_date);
            $rep->TextCol(6, 7, $credit_num);
            if ($total_returns != 0) {
                $rep->AmountCol(7, 8, $total_returns, 2);
            }
            if ($invoice_discount < 0) {
                $rep->TextCol(8, 9, "CLIENT SALES/SALES DISCOUNT NOT DEFINED.");
            } else {
                $rep->TextCol(8, 9, $invoice_discount . "%");
            }
            if ($sales_discount < 0) {
                $rep->TextCol(9, 10, "ERROR.");
            } else {
                if ($sales_discount != 0) {
                    $rep->AmountCol(9, 10, $sales_discount, 2);
                }
            }
            if ($net_sales != 0) {
                $rep->AmountCol(10, 11, $net_sales, 2);
            }
            $partial_payment = 0;
            $or = get_pr_details($myrow['type'], $myrow['trans_no']);
            $ref = '';
            $num2 = db_num_rows($or);
            $date_alloc = '';
            while ($pr = db_fetch($or)) {
                $partial_payment += $pr['amt'];
                $date_alloc = $pr['prDate'] . " ";
                $pr_number = $pr['customized_no'] . " ";
                if ($num2 > 1) {
                    $ref .= $pr['reference'] . "/";
                } else {
                    $ref = $pr['reference'];
                }
            }
            $net_remittance = $net_sales - $partial_payment;
            $rep->TextCol(11, 12, $date_alloc);
            $rep->TextCol(12, 13, $ref);
            $rep->TextCol(13, 14, $date_alloc);
            $rep->TextCol(14, 15, _(""));
            if ($partial_payment == $tot_invoice) {
                $rep->AmountCol(15, 16, $partial_payment, 2);
            }
            if ($partial_payment != 0) {
                if ($partial_payment < $tot_invoice) {
                    $bal = $tot_invoice - $partial_payment;
                    $rep->AmountCol(16, 17, $partial_payment, 2);
                    $rep->AmountCol(17, 18, $bal, 2);
                }
            }
            //$rep->AmountCol(15,16, $partial_payment, 2);
            //$rep->AmountCol(17,18, $net_remittance, 2);
            $myrow4 = db_fetch(get_commission_details($myrow['type'], $myrow['trans_no']));
            $comm = ($invoicetot - $total_returns) * ($myrow4['commission'] / 100);
            $rep->TextCol(18, 19, $myrow4['tranDate']);
            if ($myrow4['commission'] != 0) {
                $rep->TextCol(19, 20, $myrow4['commission'] . "%");
            }
            if ($comm != 0) {
                $rep->AmountCol(20, 21, $comm, 2);
            }
            if ($myrow4['with_tax'] != 0) {
                $rep->AmountCol(21, 22, $myrow4['with_tax'], 2);
            }
            if ($myrow4['net_commission'] != 0) {
                $rep->AmountCol(22, 23, $myrow4['net_commission'], 2);
            }
            $net_invoice += $invoicetot;
            $net_discount += $sales_discount;
            $net_returns += $total_returns;
            $sale_amount += $net_sales;
            $net_partial += $partial_payment;
            $net_rem += $net_remittance;
            $net_bal += $bal;
            $net_balance = $net_rem + $net_bal;
            $net_comm += $comm;
            $net_tax += $myrow4['with_tax'];
            $net_net_comm += $myrow4['net_commission'];
        } else {
            $rep->TextCol(4, 5, "Voided");
        }
        $rep->NewLine();
    }
    $rep->Font('bold');
    $rep->NewLine();
    $rep->TextCol(1, 2, "TOTAL");
    $rep->AmountCol(4, 5, $net_invoice, 2);
    $rep->AmountCol(7, 8, $net_returns, 2);
    $rep->AmountCol(9, 10, $net_discount, 2);
    $rep->AmountCol(10, 11, $sale_amount, 2);
    $rep->AmountCol(16, 17, $net_partial, 2);
    //$rep->AmountCol(17,18, $net_balance, 2);
    $rep->AmountCol(20, 21, $net_comm, 2);
    $rep->AmountCol(21, 22, $net_tax, 2);
    $rep->AmountCol(22, 23, $net_net_comm, 2);
    $rep->NewLine();
    $rep->End();
}
function print_summary()
{
    global $path_to_root;
    $sman = $_POST['PARAM_0'];
    $from = $_POST['PARAM_1'];
    $to = $_POST['PARAM_2'];
    $stat = $_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';
    $dec = user_price_dec();
    $cols = array(0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 520, 550);
    $headers = array(_('IMC'), _('Gross'), _('Returns'), _('% To Sales'), _('Net Sales'), _('Full Payment'), _('% To Sales'), _('Partial Payments'), _('% To Sales'), _('Accounts Receivables'), _('% To Sales'));
    $aligns = array('left', 'right', 'right', 'right', 'right', 'right', 'right', 'right', 'right', 'right', 'right');
    $aligns2 = $aligns;
    $summary = 1;
    $rep = new FrontReport(_('Sales Status'), "Sales Status", user_pagesize(), 9, $orientation);
    if ($orientation == 'L') {
        recalculate_cols($cols);
    }
    $cols2 = $cols;
    $rep->Font();
    $rep->Info(null, $cols, $headers, $aligns);
    $rep->NewPage();
    $total = $grandtotal = 0.0;
    $total1 = $grandtotal1 = 0.0;
    $total2 = $grandtotal2 = 0.0;
    $catt = '';
    $slist = array();
    if ($sman == "") {
        $row = get_all_salesman();
        while ($r = db_fetch($row)) {
            array_push($slist, $r['salesman_code']);
        }
        foreach ($slist as $slists) {
            $res = getTransactions($from, $to, $slists, $stat);
        }
    } else {
        $res = getTransactions($from, $to, $sman, $stat);
    }
    $prev = '';
    while ($myrow = db_fetch($res)) {
        $current = $myrow['salesman_code'];
        if ($myrow['salesman_code'] != "") {
            if ($current == $prev) {
            } else {
            }
            $prev = $current;
        }
        $company_data = get_company_prefs();
        $branch = get_branch($myrow["branch_code"]);
        $branch_data = get_branch_accounts($myrow['branch_code']);
        $dt = get_discount($branch_data['sales_discount_account'], $myrow['type'], $myrow['trans_no']);
        $salesman = get_imc_code($myrow['branch_code']);
        $res2 = get_return_details($myrow['order_']);
        $returns = 0;
        $rtn_dt = 0;
        $credit_num = "";
        $cm_date = "";
        $num = db_num_rows($res2);
        $var = array();
        while ($myrow2 = db_fetch($res2)) {
            $returns += $myrow2['ov_amount'];
            if ($num > 1) {
                $credit_num .= $myrow2['customized_no'] . "/";
                $cm_date = $myrow2['tran_date'] . "/";
            } else {
                $credit_num .= $myrow2['customized_no'];
                $cm_date = $myrow2['tran_date'];
            }
            $var = array($myrow2['trans_no']);
        }
        foreach ($var as $vars) {
            $res2 = get_return_discount($branch_data['sales_discount_account'], ST_CUSTCREDIT, $vars);
            while ($myrow3 = db_fetch($res2)) {
                $rtn_dt += abs($myrow3['amount']);
            }
        }
        $total_returns = $returns + $rtn_dt;
        $return_discount = $rtn_dt / $total_returns * 100;
        $invoicetot = $myrow['ov_amount'] + $dt;
        $invoice_discount = $dt / $invoicetot * 100;
        $sales_discount = ($invoicetot - $total_returns) * ($invoice_discount / 100);
        $net_sales = $invoicetot - $total_returns - $sales_discount;
        $gross_commission = ($invoicetot - $total_returns) * ($myrow['commission'] / 100);
        $tot_invoice = $invoicetot - $invoicetot * ($invoice_discount / 100);
        if ($myrow['IsVoid'] == '') {
            $myrow4 = db_fetch(get_commission_details($myrow['type'], $myrow['trans_no']));
            $comm = ($invoicetot - $total_returns) * ($myrow4['commission'] / 100);
            $partial_payment = 0;
            $zero;
            $or = get_pr_details($myrow['type'], $myrow['trans_no']);
            $ref = '';
            $num2 = db_num_rows($or);
            $date_alloc = '';
            $ctr = 0;
            $bal = 0;
            $bal1 = 0;
            $bal2 = 0;
            $ppayment = 0;
            $fpayment = 0;
            $all_bal = 0;
            $payment = get_total_payment($myrow['type'], $myrow['trans_no']);
            while ($pr = db_fetch($or)) {
                $partial_payment += $pr['amt'];
                $date_alloc = $pr['prDate'] . " ";
                $pr_number = $pr['customized_no'] . " ";
                $ref = $pr['reference'];
                $net_remittance = $net_sales - $partial_payment;
                $ctr++;
                if ($num2 > 1) {
                    $bal = $net_sales - $partial_payment;
                    if (number_format($payment, 2) == number_format($net_sales, 2)) {
                        $fpayment += $pr['amt'];
                    } else {
                        $ppayment += $pr['amt'];
                        $all_bal += $bal;
                    }
                } else {
                    $bal = $net_sales - $partial_payment;
                    if ($bal == 0) {
                        $bal = number_format($net_sales, 2) - number_format($partial_payment, 2);
                        $fpayment += $partial_payment;
                        $bal1 += $bal;
                    } else {
                        $bal = $net_sales - $pr['amt'];
                        $ppayment += $partial_payment;
                        $bal2 += $bal;
                    }
                }
                if ($num2 > 1) {
                    $rep->NewLine();
                }
            }
            $net_invoice += $invoicetot;
            $net_discount += $sales_discount;
            $net_returns += $total_returns;
            $sale_amount += $net_sales;
            $net_partial += $ppayment;
            $net_rem += $net_remittance;
            $net_bal += $bal;
            $net_balance = $net_rem + $net_bal;
            $net_comm += $comm;
            $net_tax += $myrow4['with_tax'];
            $net_net_comm += $myrow4['net_commission'];
            $net_full_payment += $fpayment;
        }
    }
    $Percentage1 = $net_returns / $net_invoice * 100;
    $NetSales = $net_invoice - $net_returns;
    $Percentage2 = $net_full_payment / $NetSales * 100;
    $Percentage3 = $net_partial / $NetSales * 100;
    $ReceivablesTotal = $NetSales - $net_full_payment - $net_partial;
    $Percentage4 = $ReceivablesTotal / $NetSales * 100;
    $rep->Font('bold');
    $rep->NewLine();
    $rep->TextCol(0, 1, $salesman);
    $rep->AmountCol(1, 2, $net_invoice, 2);
    $rep->AmountCol(2, 3, $net_returns, 2);
    $rep->AmountCol(3, 4, $Percentage1, 2);
    $rep->AmountCol(4, 5, $NetSales, 2);
    $rep->AmountCol(5, 6, $net_full_payment, 2);
    $rep->AmountCol(6, 7, $Percentage2, 2);
    $rep->AmountCol(7, 8, $net_partial, 2);
    $rep->AmountCol(8, 9, $Percentage3, 2);
    $rep->AmountCol(9, 10, $ReceivablesTotal, 2);
    $rep->AmountCol(10, 11, $Percentage4, 2);
    $rep->NewLine();
    $rep->End();
}