/** * Get overview stats from the current range * @param $result * @return mixed */ public function getOverviewStats($result) { $stats = new stdClass(); $stats->saletotal = 0; // set defaults $stats->salenum = 0; $stats->refundtotal = 0; $stats->refundnum = 0; $stats->voidtotal = 0; $stats->voidnum = 0; $salesMdl = new TransactionsModel(); $voidMdl = new SaleVoidsModel(); // check if params set, if not set defaults $stime = isset($this->data->stime) ? $this->data->stime : strtotime('-1 week') * 1000; $etime = isset($this->data->etime) ? $this->data->etime : time() * 1000; // get non voided sales if (($sales = $salesMdl->getTotals($stime, $etime, 3, false, false, $this->data->type)) !== false) { $stats->salerefs = $sales[0]['refs']; $stats->saletotal = $sales[0]['stotal']; $stats->salenum = $sales[0]['snum']; } else { $result['error'] = $salesMdl->errorInfo; } // get voided sales $voids = $salesMdl->getTotals($stime, $etime, 3, true, false, $this->data->type); $stats->voidrefs = $voids[0]['refs']; $stats->voidtotal = $voids[0]['stotal']; $stats->voidnum = $voids[0]['snum']; // get refunds $refund = $voidMdl->getTotals($stime, $etime, false, false, $this->data->type); $stats->refundrefs = $refund[0]['refs']; $stats->refundtotal = $refund[0]['stotal']; $stats->refundnum = $refund[0]['snum']; // calc total takings $stats->totaltakings = round($stats->saletotal - $stats->refundtotal, 2); $stats->refs = []; $temprefs = $stats->salerefs . ($stats->voidrefs != null ? ',' . $stats->voidrefs : '') . ($stats->refundrefs != null ? ',' . $stats->refundrefs : ''); $temprefs = explode(',', $temprefs); foreach ($temprefs as $value) { if (!in_array($value, $stats->refs)) { } $stats->refs[] = $value; } $stats->refs = implode(',', $stats->refs); $result['data'] = $stats; return $result; }