Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
50.00% covered (danger)
50.00%
1 / 2
CRAP
93.55% covered (success)
93.55%
29 / 31
StatsRepo
0.00% covered (danger)
0.00%
0 / 1
50.00% covered (danger)
50.00%
1 / 2
9.02
93.55% covered (success)
93.55%
29 / 31
 getAgePatient
0.00% covered (danger)
0.00%
0 / 1
8.03
92.59% covered (success)
92.59%
25 / 27
 getRDVStat
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
4 / 4
<?php
/**
 * Created by PhpStorm.
 * User: seekdasky
 * Date: 02/12/15
 * Time: 12:36
 */
class StatsRepo
{
    public static function getAgePatient(){
        $patients = PatientRepo::getAll();
        $homme = ['25-'=>0,'25-50'=>0,'50+'=>0];
        $femme = ['25-'=>0,'25-50'=>0,'50+'=>0];
        $nbrHomme=0;
        $nbrFemme=0;
        foreach($patients as $key=>$patient){
            $dateNaissance = strtotime($patient['DateNaissance']);
            $age = date('Y',time()-$dateNaissance);
            $patient['age'] = $age - 1970;
            switch($patient['Civilite']){
                case 'M':
                    $nbrHomme++;
                    if($patient['age']<25){
                        $homme['25-']++;
                    }elseif($patient['age']<50){
                        $homme['25-50']++;
                    }else{
                        $homme['50+']++;
                    }
                    break;
                case 'F':
                    $nbrFemme++;
                    if($patient['age']<25){
                        $femme['25-']++;
                    }elseif($patient['age']<50){
                        $femme['25-50']++;
                    }else{
                        $femme['50+']++;
                    }
                    break;
            }
        }
        return ['H'=>$homme,'F'=>$femme,'NbrH'=>$nbrHomme,'NbrF'=>$nbrFemme];
    }
    public static function getRDVStat($medecin){
        $req = StaticRepo::getConnexion()->prepare('SELECT count(*) NombreRDV, sum((HOUR(Duree)*60)+MINUTE(Duree)) AS DureeTotale FROM RDV WHERE Medecin_id = :medecin;');
        $req->execute(['medecin'=>$medecin]);
        $returned = StaticRepo::delNumeric($req->fetch(),true);
        return $returned;
    }
}