Beispiel #1
0
 /**
  * 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;
 }