133 lines
4.8 KiB
PHP
Executable File
133 lines
4.8 KiB
PHP
Executable File
<?php
|
|
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: seekdasky
|
|
* Date: 02/12/15
|
|
* Time: 12:36
|
|
*/
|
|
class RDVRepo
|
|
{
|
|
|
|
public static function getById($id){
|
|
|
|
if(!StaticRepo::checkParam($id,'Integer')){return false;}
|
|
|
|
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM RDV WHERE RDV.id = :id');
|
|
$req->execute(['id' => $id]);
|
|
return StaticRepo::delNumeric( $req->fetch(), true );
|
|
|
|
}
|
|
|
|
public static function getForMonth($month, $year){
|
|
$req = StaticRepo::getConnexion()->prepare("SELECT RDV.Id, RDV.DateRDV, RDV.Medecin_Id, RDV.Patient_Id, RDV.Duree, Medecin.Prenom as M_Prenom, Medecin.Nom as M_Nom, Patient.Prenom as P_Prenom, Patient.Nom as P_Nom
|
|
FROM RDV, Patient, Medecin
|
|
WHERE Patient.Id = RDV.Patient_Id
|
|
AND Medecin.Id = RDV.Medecin_Id
|
|
AND MONTH(DateRDV) = :month
|
|
AND YEAR(DateRDV) = :year
|
|
ORDER BY DateRDV ASC");
|
|
$req->execute(array( ':month' => $month, ':year' => $year ));
|
|
return $req->fetchAll();
|
|
}
|
|
|
|
public static function getByDate($date){
|
|
|
|
if(!StaticRepo::checkParam($date,'Date')){return false;}
|
|
|
|
$date = date('Y-m-d',strtotime($date));
|
|
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM RDV WHERE DATE(DateRDV) = :date ORDER BY DateRDV ASC');
|
|
$req->execute(['date' => $date]);
|
|
return StaticRepo::delNumeric($req->fetchAll());
|
|
}
|
|
|
|
public static function delete($idRDV){
|
|
|
|
if(!StaticRepo::checkParam($idRDV,'Numeric')){return false;}
|
|
|
|
$req = StaticRepo::getConnexion()->prepare('DELETE FROM RDV WHERE RDV.id = :id');
|
|
return $req->execute(['id' => $idRDV]);
|
|
}
|
|
|
|
public static function add($date,$duree,$idPatient,$idMedecin){
|
|
|
|
if(!StaticRepo::checkParam($date,'Date') && !StaticRepo::checkParam($duree,'Integer') && !StaticRepo::checkParam($idPatient,'Integer') && !StaticRepo::checkParam($idMedecin,'Integer')){return false;}
|
|
|
|
$date = date('Y-m-d H:i:s',strtotime($date));
|
|
$duree = date('H:i:s',$duree*60);
|
|
$req = StaticRepo::getConnexion()->prepare('INSERT INTO RDV VALUES (DEFAULT,:date,:duree,:patient,:medecin)');
|
|
$result = $req->execute(['date' => $date,
|
|
'duree' => $duree,
|
|
'patient' => $idPatient,
|
|
'medecin' => $idMedecin]);
|
|
|
|
//PDO renvoie un ID sous forme de char, on transtype
|
|
$id = StaticRepo::getConnexion()->lastInsertId();
|
|
settype($id,'integer');
|
|
if($result){return $id;}
|
|
else{return false;}
|
|
}
|
|
|
|
public static function updateDateTime($idRDV, $dateRdv, $duree){
|
|
|
|
if(!StaticRepo::checkParam($idRDV, 'Numeric')) return false;
|
|
|
|
$req = StaticRepo::getConnexion()->prepare('UPDATE RDV SET DateRDV = :date_rdv, Duree = :duree WHERE id = :id');
|
|
return $req->execute([
|
|
':date_rdv' => $dateRdv,
|
|
':duree' => $duree,
|
|
':id' => $idRDV
|
|
]);
|
|
}
|
|
|
|
public static function getByPatientAndDate($idPatient,$date){
|
|
|
|
if(!StaticRepo::checkParam($idPatient,'Integer') && !StaticRepo::checkParam($date,'Date')){return false;}
|
|
|
|
$date = date('Y-m-d',strtotime($date));
|
|
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM RDV WHERE Patient_Id=:patient AND DATE(DateRDV)=:date');
|
|
$req->execute(['patient' => $idPatient,
|
|
'date' => $date]);
|
|
return StaticRepo::delNumeric($req->fetchAll());
|
|
}
|
|
|
|
public static function getAll($date = 0){
|
|
|
|
if(!StaticRepo::checkParam($date,'Integer')){return false;}
|
|
|
|
$dateTime = date('Y-m-d',time());
|
|
switch($date){
|
|
case -1:
|
|
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM RDV WHERE DATE(DateRDV) <= :date ORDER BY DateRDV ASC');
|
|
$req->execute(['date' => $dateTime]);
|
|
break;
|
|
case 0:
|
|
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM RDV ORDER BY DateRDV ASC');
|
|
$req->execute();
|
|
break;
|
|
case 1:
|
|
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM RDV WHERE DATE(DateRDV) >= :date ORDER BY DateRDV ASC');
|
|
$req->execute(['date' => $dateTime]);
|
|
break;
|
|
}
|
|
return StaticRepo::delNumeric($req->fetchAll());
|
|
}
|
|
|
|
public static function getByMonth($date){
|
|
|
|
$strDate = date( 'Y-m-d', $date );
|
|
|
|
// si erreur on retourne un tableau vide
|
|
if( !StaticRepo::checkParam($strDate, 'Date') ) return [];
|
|
|
|
$req = StaticRepo::getConnexion()->prepare('SELECT *, ((HOUR(Duree)*60)+MINUTE(Duree)) AS Minute FROM RDV WHERE MONTH(DateRDV) = :month AND YEAR(DateRDV) = :year ORDER BY DateRDV ASC');
|
|
$req->execute([
|
|
'month' => date( 'm', $date ),
|
|
'year' => date( 'Y', $date )
|
|
]);
|
|
|
|
return StaticRepo::delNumeric( $req->fetchAll() );
|
|
}
|
|
|
|
}
|