correctif sur le calcul du capital les weekend et dans la journée meme (ref #6)

This commit is contained in:
afornerot 2022-03-30 13:53:43 +02:00
parent fc4160865a
commit d893036fcf
1 changed files with 5 additions and 5 deletions

View File

@ -916,30 +916,30 @@ class TallydayController extends AbstractController
// On recherche le dernier pointage de la journée non terminé et on simule le créneau avec la date du moment // On recherche le dernier pointage de la journée non terminé et on simule le créneau avec la date du moment
$data = $em->getRepository($this->entity)->findOneBy(["user"=>$this->getUser(),"dateof"=>$datenow],["datestart"=>"DESC"]); $data = $em->getRepository($this->entity)->findOneBy(["user"=>$this->getUser(),"dateof"=>$datenow],["datestart"=>"DESC"]);
if($data&&$data->getDatestart()&&!$data->getDateend()) { if($data&&$data->getDatestart()&&!$data->getDateend()) {
$interval2 = $datenow->diff($data->getDatestart()); $interval2 = $data->getDatestart()->diff($datenow);
$e->add($interval2); $e->add($interval2);
} }
// Calcul de temps global de la journée = réel + simulé // Calcul de temps global de la journée = réel + simulé
$interval = $e->diff($f); $interval = $f->diff($e);
$timeday = $interval->format("%R").(($interval->days*24) + $interval->h).":".sprintf("%02s",$interval->i); $timeday = $interval->format("%R").(($interval->days*24) + $interval->h).":".sprintf("%02s",$interval->i);
// On récupère le capital // On récupère le capital
$capital=$em->getRepository("App:Tallyday")->getCapitaltimeinterval($this->getUser()); $capital=$em->getRepository("App:Tallyday")->getCapitaltimeinterval($this->getUser());
$e = new \DateTime('00:00'); $e = new \DateTime('00:00');
// Si la journée n'est finalisé on ajoute le créneau simulé // Si la journée n'est finalisé on ajoute le créneau simulé
if($data&&$data->getDatestart()&&!$data->getDateend()) { if($data&&$data->getDatestart()&&!$data->getDateend()) {
$f = new \DateTime('00:00'); $f = new \DateTime('00:00');
$f->add($interval); $f->add($interval);
$f->sub(new \DateInterval('PT7H'));
$f->add($capital); $f->add($capital);
$f->sub(new \DateInterval('PT7H'));
$interval = $e->diff($f); $interval = $e->diff($f);
$newcapital = $interval->format("%R").(($interval->days*24) + $interval->h).":".sprintf("%02s",$interval->i); $newcapital = $interval->format("%R").(($interval->days*24) + $interval->h).":".sprintf("%02s",$interval->i);
} }
// Si la journée n'est pas encore validé : on ajoute la journée à la simulation // Si la journée n'est pas encore validé : on ajoute la journée à la simulation
else if($data && (!$data->getValidateuser()||!$data->getValidateuser())) { else if($data && (!$data->getValidateuser()||!$data->getValidateuser())) {
$interval=$em->getRepository("App:Tallyday")->getCapitaltimeinterval($this->getUser(),true); $interval=$em->getRepository("App:Tallyday")->getCapitaltimeinterval($this->getUser(),true);