CORE-POS/IS4C

View on GitHub
documentation/Reference Code/Wedge/is4c/tenderReport.php.ref

Summary

Maintainability
Test Coverage
<?php
/*******************************************************************************

    Copyright 2001, 2004 Wedge Community Co-op

    This file is part of IS4C.

    IS4C is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    IS4C is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    in the file license.txt along with IS4C; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

*********************************************************************************/
if (!function_exists("printReceipt")) include("printReceipt.php");
if (!function_exists("mDataConnect")) include("connect.php");

function tenderReport() {
    $db_a = mDataConnect();
    
    $blank = "             ";
    
    $eosQ = "select max(tdate) from dlog where register_no = " . $_SESSION["laneno"] . " and upc = 'ENDOFSHIFT'";
    $eosR = mysql_query($eosQ);
    $num_rows = mysql_num_rows($eosR);
    if ($num_rows > 0) {
        $row = mysql_fetch_row($eosR);
        $EOS = $row[0];
    }
    else {
        $EOS = '2007-08-01 12:00:00'; // probably could change...
    }

    $query_ckq = "select * from cktenders where tdate > '" . $EOS . "' and register_no = " . $_SESSION["laneno"] . " order by emp_no, tdate";
    $query_ccq = "select * from cctenders where tdate > '" . $EOS . "' and register_no = " . $_SESSION["laneno"] . " order by emp_no, tdate";
    $query_dcq = "select * from dctenders where tdate > '" . $EOS . "' and register_no = " . $_SESSION["laneno"] . " order by emp_no, tdate";
    $query_miq = "select * from mitenders where tdate > '" . $EOS . "' and register_no = " . $_SESSION["laneno"] . " order by emp_no, tdate";
    $query_bp = "select * from buspasstotals where tdate > '" . $EOS . "' and register_no = " . $_SESSION["laneno"] . " order by emp_no, tdate";

    $fieldNames = "  ".substr("Time".$blank, 0, 10)
        . substr("Lane".$blank, 0, 7)
        . substr("Trans #".$blank, 0, 6)
        . substr("Emp #".$blank, 0, 8)
        . substr("Change".$blank, 0, 10)
        . substr("Amount".$blank, 0, 10)."\n";

    $ref = centerString(trim($_SESSION["CashierNo"]) . "-" . trim($_SESSION['laneno']) . " " . trim($_SESSION["cashier"]) . " " . build_time(time())) . "\n";

    $receipt .= chr(27) . chr(33) . chr(5) . centerString("T E N D E R  R E P O R T") . "\n";
    $receipt .= $ref;
    $receipt .=    centerString("------------------------------------------------------");
    $receipt .= str_repeat("\n", 2);

    $netQ = "SELECT SUM(total) AS net
        from dlog
        where tdate > '" . $EOS . "'
        and register_no = " . $_SESSION['laneno']. "
        and trans_type IN('I','D')
        and trans_subtype <> 'IC'
        AND emp_no <> 9999";

    $netR = mysql_query($netQ);
    $row = mysql_fetch_row($netR);

    $receipt .= "  " . substr("NET Total: " . $blank . $blank,0,20);
    $receipt .= substr($blank.number_format(($row[0]), 2), -8) . "\n";
    $receipt .= "\n";

    $tendertotalsQ = "SELECT t.TenderName as tender_type,ROUND(-sum(d.total),2) as total,COUNT(*) as count
        FROM dlog d RIGHT JOIN is4c_op.tenders t
        ON d.trans_subtype = t.TenderCode
        AND tdate > '" . $EOS . "'
        AND register_no = ". $_SESSION['laneno']." 
        AND d.emp_no <> 9999
        GROUP BY t.TenderName";

    $results_ttq = mysql_query($tendertotalsQ);

    while($row = mysql_fetch_row($results_ttq))    {
        if(!isset($row[0]))    {
            $receipt .= "NULL";
        }
        else{
            $receipt .= "  ".substr($row[0] . $blank . $blank, 0, 20);
        }
        if(!isset($row[1])) {
            $receipt .= "    0.00";
        }
        else{
            $receipt .= substr($blank . number_format($row[1], 2), -8);
        }
        if(!isset($row[2])) {
            $receipt .= "NULL";
        }
        else{
            if(!isset($row[1])) {
                $row[2] = 0;
            }
            $receipt .= substr($blank . $row[2], -4, 4);
        }
        $receipt .= "\n";
    } $receipt .= "\n";

    $cack_tot = "SELECT ROUND(SUM(total),2) AS gross
        FROM dlog
        WHERE tdate > '" . $EOS . "'
        AND register_no = ". $_SESSION['laneno']."
        AND trans_subtype IN ('CA','CK')";
    $results_tot = mysql_query($cack_tot);
    $row = mysql_fetch_row($results_tot);

    $receipt .= "  " . substr("CA & CK Total: " . $blank . $blank, 0, 20);
    $receipt .= substr($blank . number_format(($row[0] * -1), 2), -8) . "\n";
    
    $card_tot = "SELECT ROUND(SUM(total),2) AS gross
        FROM dlog
        WHERE tdate > '" . $EOS . "'
        AND register_no = " . $_SESSION['laneno'] . "
        AND trans_subtype IN ('DC','CC','FS','EC')";
    $results_tot = mysql_query($card_tot);
    $row = mysql_fetch_row($results_tot);

    $receipt .= "  " . substr("DC / CC / EBT Total: " . $blank . $blank, 0, 20);
    $receipt .= substr($blank . number_format(($row[0] * -1), 2), -8) . "\n";

    $hchrg_tot = "SELECT ROUND(SUM(total),2) AS gross
        FROM dlog
        WHERE tdate > '" . $EOS . "'
        AND register_no = ". $_SESSION['laneno'] . "
        AND trans_subtype = 'MI'
        AND card_no <> 9999";
    $results_tot = mysql_query($hchrg_tot);
    $row = mysql_fetch_row($results_tot);

    $receipt .= "  " . substr("House Charge Total: " . $blank . $blank, 0, 20);
    $receipt .= substr($blank . number_format(($row[0] * -1), 2), -8) . "\n";

    $schrg_tot = "SELECT ROUND(SUM(total),2) AS gross
        FROM dlog
        WHERE tdate > '" . $EOS . "'
        AND register_no = ". $_SESSION['laneno'] . "
        AND trans_subtype = 'MI'
        AND card_no = 9999";
    $results_tot = mysql_query($schrg_tot);
    $row = mysql_fetch_row($results_tot);

    $receipt .= "  " . substr("Store Charge Total: " . $blank . $blank, 0, 20);
    $receipt .= substr($blank . number_format(($row[0] * -1), 2), -8);

    $receipt .= str_repeat("\n", 5);    // apbw/tt 3/16/05 Franking II

    $receipt .= chr(27) . chr(33) . chr(5) . centerString("C H E C K   T E N D E R S") . "\n";

    $receipt .=    centerString("------------------------------------------------------");
 
    $result_ckq = sql_query($query_ckq, $db_a);
    $num_rows_ckq = sql_num_rows($result_ckq);

    if ($num_rows_ckq > 0) {
        $receipt .= $fieldNames;
        for ($i = 0; $i < $num_rows_ckq; $i++) {
            $row_ckq = sql_fetch_array($result_ckq);
            $timeStamp = timeStamp($row_ckq["tdate"]);
            $receipt .= "  " . substr($timeStamp . $blank, 0, 10)
                . substr($row_ckq["register_no"] . $blank, 0, 7)
                . substr($row_ckq["trans_no"] . $blank, 0, 6)
                . substr($row_ckq["emp_no"] . $blank, 0, 6)
                . substr($blank.number_format($row_ckq["changeGiven"], 2), -10)
                . substr($blank.number_format($row_ckq["ckTender"], 2), -10) . "\n";
        }

        $receipt.= centerString("------------------------------------------------------");

        $query_ckq = "select SUM(ckTender) from cktenders where tdate > '" . $EOS . "' and register_no = " . $_SESSION["laneno"];
        $result_ckq = sql_query($query_ckq, $db_a);
        $row_ckq = sql_fetch_array($result_ckq);

        $receipt .= substr($blank . $blank . $blank . $blank . "Total: " . number_format($row_ckq[0], 2), -56) . "\n";
    }
    else {
        $receipt .= "\n\n" . centerString(" * * *   N O N E   * * * ") . "\n\n"
            . centerString("------------------------------------------------------");
    }

    $receipt .= str_repeat("\n", 3);    // apbw/tt 3/16/05 Franking II
    $receipt .= chr(27) . chr(33) . chr(5) . centerString("D E B I T  C A R D  T E N D E R S") . "\n";
    $receipt .= centerString("------------------------------------------------------");
 
    $result_dcq = sql_query($query_dcq, $db_a);
    $num_rows_dcq = sql_num_rows($result_dcq);

    if ($num_rows_dcq > 0) {
        $receipt .= $fieldNames;

        for ($i = 0; $i < $num_rows_dcq; $i++) {

            $row_dcq = sql_fetch_array($result_dcq);
            $timeStamp = timeStamp($row_dcq["tdate"]);
            $receipt .= "  ".substr($timeStamp.$blank, 0, 10)
                .substr($row_dcq["register_no"].$blank, 0, 7)
                .substr($row_dcq["trans_no"].$blank, 0, 6)
                .substr($row_dcq["emp_no"].$blank, 0, 6)
                .substr($blank.number_format($row_dcq["changeGiven"], 2), -10)
                .substr($blank.number_format($row_dcq["dcTender"], 2), -10)."\n";
        }

        $receipt.= centerString("------------------------------------------------------");

        $query_dcq = "select SUM(dcTender) from dctenders where tdate > '" . $EOS . "' and register_no = " . $_SESSION["laneno"];
        $result_dcq = sql_query($query_dcq, $db_a);
        $row_dcq = sql_fetch_array($result_dcq);

        $receipt .= substr($blank . $blank . $blank . $blank . "Total: " . number_format($row_dcq[0], 2), -56) . "\n";
    }
    else {
        $receipt .= "\n\n" . centerString(" * * *   N O N E   * * * ") . "\n\n"
            . centerString("------------------------------------------------------");
    }

    $receipt .= str_repeat("\n", 3);    // apbw/tt 3/16/05 Franking II

    $receipt .= chr(27) . chr(33) . chr(5) . centerString("C R E D I T   C A R D   T E N D E R S") . "\n";
    $receipt .= centerString("------------------------------------------------------");
 
    $result_ccq = sql_query($query_ccq, $db_a);
    $num_rows_ccq = sql_num_rows($result_ccq);

    if ($num_rows_ccq > 0) {
        $receipt .= $fieldNames;
        for ($i = 0; $i < $num_rows_ccq; $i++) {
            $row_ccq = sql_fetch_array($result_ccq);
            $timeStamp = timeStamp($row_ccq["tdate"]);
            $receipt .= "  ".substr($timeStamp.$blank, 0, 10)
                . substr($row_ccq["register_no"].$blank, 0, 7)
                . substr($row_ccq["trans_no"].$blank, 0, 6)
                . substr($row_ccq["emp_no"].$blank, 0, 6)
                . substr($blank.number_format($row_ccq["changeGiven"], 2), -10)
                . substr($blank.number_format($row_ccq["ccTender"], 2), -10) . "\n";
        }

        $receipt.= centerString("------------------------------------------------------");

        $query_ccq = "select SUM(ccTender) from cctenders where tdate > '" . $EOS . "' and register_no = " . $_SESSION["laneno"];
        $result_ccq = sql_query($query_ccq, $db_a);
        $row_ccq = sql_fetch_array($result_ccq);
        $receipt .= substr($blank . $blank . $blank . $blank . "Total: " . number_format($row_ccq[0], 2), -56) . "\n";
    }
    else {
        $receipt .= "\n\n" . centerString(" * * *   N O N E   * * * ") . "\n\n"
            . centerString("------------------------------------------------------");
    }

    $receipt .= str_repeat("\n", 3);    // apbw/tt 3/16/05 Franking II

    $receipt .= centerString("H O U S E / S T O R E   C H A R G E   T E N D E R S")."\n";
    $receipt .= centerString("------------------------------------------------------");

    $result_miq = sql_query($query_miq, $db_a);
    $num_rows_miq = sql_num_rows($result_miq);

    if ($num_rows_miq > 0) {
        $chgFieldNames = "  " . substr("Time" . $blank, 0, 10)
                . substr("Lane" . $blank, 0, 7)
                . substr("Trans #" . $blank, 0, 6)
                . substr("Emp #" . $blank, 0, 8)
                . substr("Member #" . $blank, 0, 10)
                . substr("Amount" . $blank, 0, 10) . "\n";
        
        $receipt .= $chgFieldNames;

        for ($i = 0; $i < $num_rows_miq; $i++) {
            $row_miq = sql_fetch_array($result_miq);
            $timeStamp = timeStamp($row_miq["tdate"]);
            $receipt .= "  ".substr($timeStamp . $blank, 0, 10)
                . substr($row_miq["register_no"] . $blank, 0, 7)
                . substr($row_miq["trans_no"] . $blank, 0, 6)
                . substr($row_miq["emp_no"] . $blank, 0, 6)
                . substr($row_miq["card_no"] . $blank, 0, 6)
                . substr($blank . number_format($row_miq["MiTender"], 2), -10) . "\n";
        }

        $receipt .= centerString("------------------------------------------------------");

        $query_miq = "select SUM(miTender) from mitenders where tdate > '" . $EOS . "' and register_no = " . $_SESSION["laneno"];
        $result_miq = sql_query($query_miq, $db_a);
        $row_miq = sql_fetch_array($result_miq);

        $receipt .= substr($blank . $blank . $blank . $blank . "Total: " . number_format($row_miq[0], 2), -56) . "\n";
    }
    else {
        $receipt .= "\n\n" . centerString(" * * *   N O N E   * * * ") . "\n\n"
            . centerString("------------------------------------------------------");
    }
    $receipt .= str_repeat("\n", 3);    // apbw/tt 3/16/05 Franking II

    $receipt .= chr(27) . chr(33) . chr(5) . centerString("T R I - M E T  P A S S E S   S O L D") . "\n";
    $receipt .= centerString("------------------------------------------------------");

    $result_bp = sql_query($query_bp, $db_a);
    $num_rows_bp = sql_num_rows($result_bp);

    if ($num_rows_bp > 0) {

        $receipt .= $fieldNames;

        for ($i = 0; $i < $num_rows_bp; $i++) {
            $row_bp = sql_fetch_array($result_bp);
            $timeStamp = timeStamp($row_bp["tdate"]);
            $receipt .= "  " . substr($timeStamp . $blank, 0, 10)
                . substr($row_bp["register_no"] . $blank, 0, 7)
                . substr($row_bp["trans_no"] . $blank, 0, 6)
                . substr($row_bp["emp_no"] . $blank, 0, 6)
                . substr($blank . ($row_bp["upc"]), -10)
                . substr($blank . number_format($row_bp["total"], 2), -10) . "\n";
        }

        $receipt.= centerString("------------------------------------------------------");
    }
    else {
        $receipt .= "\n\n" . centerString(" * * *   N O N E   * * * ") . "\n\n"
        . centerString("------------------------------------------------------");
    }

    $receipt .= str_repeat("\n", 8);    // apbw/tt 3/16/05 Franking II

    writeLine($receipt . chr(27) . chr(105));    // apbw/tt 3/16/05 Franking II
    sql_close($db_a);

    $_SESSION["msgrepeat"] = 1;
    $_SESSION["strRemembered"] = "ES";
        gohome();
}

function timeStamp($time) {
    return strftime("%I:%M %p", strtotime($time));
}