$plage->multicountOperations(); $nbIntervNonPlacees += $plage->_count_operations - $plage->_count_operations_placees; $plage->loadAffectationsPersonnel(); $plage->fin = min($plage->fin, $max); $plage->debut = max($plage->debut, $min); $plage->updateFormFields(); $plage->makeView(); if ($plage->debut >= $plage->fin) { unset($listPlages[$keyDate][$plage->_id]); } } // Remplissage du tableau de visualisation foreach ($listPlages[$keyDate] as $plage) { $plage->debut = CMbDT::timeGetNearestMinsWithInterval($plage->debut, CPlageOp::$minutes_interval); $plage->fin = CMbDT::timeGetNearestMinsWithInterval($plage->fin, CPlageOp::$minutes_interval); $plage->_nbQuartHeure = CMbDT::timeCountIntervals($plage->debut, $plage->fin, "00:" . CPlageOp::$minutes_interval . ":00"); for ($time = $plage->debut; $time < $plage->fin; $time = CMbDT::time("+" . CPlageOp::$minutes_interval . " minutes", $time)) { $affichages["{$keyDate}-{$time}"] = "full"; } $affichages["{$keyDate}-{$plage->debut}"] = $plage->_id; } // Ajout des interventions hors plage foreach ($horsPlages as $_op) { if ($_op->salle_id) { $affichages["{$keyDate}-HorsPlage"][$_op->_id] = $_op; } } } //Création du template $smarty = new CSmartyDP(); $smarty->assign("listPlages", $listPlages);
$plage->loadRefsFwd(true); $function_id = $plage->_ref_chir->function_id; $plage->loadRefsConsultations(false, true, true); $plage->loadFillRate(); $plage->_ref_chir->loadRefFunction(); for ($i = 0; $i < $plage->_total; $i++) { $minutes = $plage->_freq * $i; $listPlace[$i]["time"] = CMbDT::time("+ {$minutes} minutes", $plage->debut); $listPlace[$i]["consultations"] = array(); } foreach ($plage->_ref_consultations as $keyConsult => $valConsult) { $consultation =& $plage->_ref_consultations[$keyConsult]; $consultation->loadRefPatient(); // Chargement de la categorie $consultation->loadRefCategorie(); $keyPlace = CMbDT::timeCountIntervals($plage->debut, $consultation->heure, $plage->freq); if ($keyPlace < 0) { $listBefore[$keyPlace] =& $consultation; } if ($consultation->heure >= $plage->fin) { $listAfter[$keyPlace] =& $consultation; } for ($i = 0; $i < $consultation->duree; $i++) { if (isset($listPlace[$keyPlace + $i])) { $listPlace[$keyPlace + $i]["consultations"][] =& $consultation; } } } // Utilisation des prises de rdv // Pour ceux de la même fonction $user = new CMediusers();
/** * @see parent::updateFormFields() */ function updateFormFields() { parent::updateFormFields(); $this->_total = CMbDT::timeCountIntervals($this->debut, $this->fin, $this->freq); if ($this->freq == "1:00:00" || $this->freq == "01:00:00") { $this->_freq = "60"; } else { $this->_freq = substr($this->freq, 3, 2); $this->_freq_minutes = CMbDT::minutesRelative("00:00:00", $this->freq); } }