Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
0.00% |
0 / 24 |
|
0.00% |
0 / 7 |
CRAP | |
0.00% |
0 / 1 |
| SystemBuyReport | |
0.00% |
0 / 24 |
|
0.00% |
0 / 7 |
90 | |
0.00% |
0 / 1 |
| __construct | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
| setDates | |
0.00% |
0 / 2 |
|
0.00% |
0 / 1 |
2 | |||
| getBuysByHourByDay | |
0.00% |
0 / 17 |
|
0.00% |
0 / 1 |
12 | |||
| getDateEnd | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
| setDateEnd | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
| getDateStart | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
| setDateStart | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
| 1 | <?php |
| 2 | |
| 3 | namespace BuyerKiosk\Core; |
| 4 | |
| 5 | class SystemBuyReport { |
| 6 | private $db; |
| 7 | public $dateStart; |
| 8 | public $dateEnd; |
| 9 | |
| 10 | public function __construct(\Database $db) { |
| 11 | $this->db = $db; |
| 12 | } |
| 13 | public function setDates($dateStart, $dateEnd) { |
| 14 | |
| 15 | $this->setDateStart(getDateRange($dateStart)); |
| 16 | $this->setDateEnd(getDateRange($dateEnd)); |
| 17 | } |
| 18 | |
| 19 | |
| 20 | public function getBuysByHourByDay($concept) { |
| 21 | |
| 22 | $query = "SELECT COUNT(*), DATE_FORMAT(timeStamp, '%H') as utcHour, DATE_FORMAT(timeStamp, '%a') as dayOfWeek FROM systemBuys WHERE origin LIKE :concept AND `timeStamp` BETWEEN :dateStart AND :dateEnd GROUP BY dayOfWeek, utcHour"; |
| 23 | $args = array(":concept" => $concept, ":dateStart"=> $this->dateStart['dateStart']->format("Y-m-d H:i:s"), ":dateEnd" => $this->dateEnd['dateEnd']->format("Y-m-d H:i:s")); |
| 24 | $results = $this->db->query($query, $args); |
| 25 | $days = array( |
| 26 | "Mon" => array(), |
| 27 | "Tue" => array(), |
| 28 | "Wed" => array(), |
| 29 | "Thu" => array(), |
| 30 | "Fri" => array(), |
| 31 | "Sat" => array(), |
| 32 | "Sun" => array() |
| 33 | ); |
| 34 | |
| 35 | foreach ($results as $result) { |
| 36 | if($days[$result['dayOfWeek']][$result['utcHour']] == 0) { |
| 37 | $days[$result['dayOfWeek']][$result['utcHour']] = $result['COUNT(*)']; |
| 38 | } else { |
| 39 | $days[$result['dayOfWeek']][$result['utcHour']] += $result['COUNT(*)']; |
| 40 | } |
| 41 | } |
| 42 | return $days; |
| 43 | } |
| 44 | /** |
| 45 | * @return mixed |
| 46 | */ |
| 47 | public function getDateEnd() |
| 48 | { |
| 49 | return $this->dateEnd; |
| 50 | } |
| 51 | |
| 52 | /** |
| 53 | * @param mixed $dateEnd |
| 54 | */ |
| 55 | public function setDateEnd($dateEnd) |
| 56 | { |
| 57 | $this->dateEnd = $dateEnd; |
| 58 | } |
| 59 | |
| 60 | /** |
| 61 | * @return mixed |
| 62 | */ |
| 63 | public function getDateStart() |
| 64 | { |
| 65 | return $this->dateStart; |
| 66 | } |
| 67 | |
| 68 | /** |
| 69 | * @param mixed $dateStart |
| 70 | */ |
| 71 | public function setDateStart($dateStart) |
| 72 | { |
| 73 | $this->dateStart = $dateStart; |
| 74 | } |
| 75 | |
| 76 | } |