CORE-POS/IS4C

View on GitHub
fannie/modules/plugins2.0/PIKiller/B2BReport.php

Summary

Maintainability
A
1 hr
Test Coverage
<?php

include(dirname(__FILE__).'/../../../config.php');
if (!class_exists('FannieAPI')) {
    include(__DIR__ . '/../../../classlib2.0/FannieAPI.php');
}

class B2BReport extends FannieReportPage
{
    protected $header = 'B2B Report';
    protected $title = 'B2B Report';
    public $disoverable = false;
    protected $required_fields = array();
    protected $report_headers = array('Email Address', 'Name', 'Invoice Item', 'Invoice Amount', 'Invoice Number', 'Payment URL');

    protected function defaultDescriptionContent($rowcount, $datefields=array())
    {
        return array();
    }

    public function fetch_report_data()
    {
        $query = 'SELECT
                b.cardNo,
                b.b2bInvoiceID,
                b.description,
                b.uuid,
                b.amount,
                c.FirstName,
                c.LastName,
                m.email_1
            FROM ' . FannieDB::fqn('B2BInvoices', 'trans') . ' AS b
                LEFT JOIN ' . FannieDB::fqn('custdata', 'op') . ' AS c ON b.cardNo=c.CardNo AND c.personNum=1
                LEFT JOIN ' . FannieDB::fqn('meminfo', 'op') . ' AS m ON b.cardNo=m.card_no
            WHERE b.isPaid=0';
        $res = $this->connection->query($query);
        $data = array();
        while ($row = $this->connection->fetchRow($res)) {
            $name = $row['LastName'];
            if ($row['FirstName']) {
                $name = $row['FirstName'] . ' ' . $row['LastName'];
            }
            $data[] = array(
                $row['email_1'],
                $name,
                $row['description'],
                sprintf('%.2f', $row['amount']),
                $row['b2bInvoiceID'],
                'http://store.wholefoods.coop/invoice/' . $row['uuid'],
            );
        }

        return $data;
    }
}

FannieDispatch::conditionalExec();