$unite = "hour"; $nb_unite = 6; $nb_ticks = 28; $date_min = CMbDT::dateTime("-2 days", $date); break; case "4weeks": $period = "1day"; $unite = "day"; $nb_unite = 1; $nb_ticks = 28; $date_min = CMbDT::dateTime("-1 week", CMbDate::dirac("week", $date)); default: } $offset = $nb_ticks * $nb_unite; $date_max = CMbDT::dateTime("+ {$offset} {$unite}", $date_min); $current = CMbDate::dirac("hour", CMbDT::dateTime()); $temp_datetime = CMbDT::dateTime(null, $date_min); // Pour l'affichage des prestations en mode journée if ($granularite == "day") { $date_max = CMbDT::dateTime("-1 second", $date_max); } for ($i = 0; $i < $nb_ticks; $i++) { $offset = $i * $nb_unite; $datetime = CMbDT::dateTime("+ {$offset} {$unite}", $date_min); $datetimes[] = $datetime; if ($granularite == "4weeks") { if (CMbDT::date($current) == CMbDT::date($temp_datetime) && CMbDT::time($current) >= CMbDT::time($temp_datetime) && CMbDT::time($current) > CMbDT::time($datetime)) { $current = $temp_datetime; } $week_a = CMbDT::transform($temp_datetime, null, "%V"); $week_b = CMbDT::transform($datetime, null, "%V");
foreach ($planifications as &$_planifs) { foreach ($_planifs as &$_planif) { $line_element = $_planif->loadTargetObject(); $element_prescription = $line_element->_ref_element_prescription; $element_prescription->loadRefsIndicesCout(); if (!count($element_prescription->_ref_indices_cout)) { continue; } if (!isset($charge[$_planif->sejour_id])) { foreach ($datetimes as $_datetime) { $charge[$_planif->sejour_id][$_datetime] = array(); } } foreach ($element_prescription->_ref_indices_cout as $_indice_cout) { $ressource = $_indice_cout->loadRefRessourceSoin(); $planif_date_time = CMbDate::dirac($period, $_planif->dateTime); $ressources[$ressource->_id] = $ressource; @($charge[$_planif->sejour_id][$planif_date_time][$ressource->_id] += $_indice_cout->nb); @($total_sejour[$_planif->sejour_id][$ressource->_id] += $_indice_cout->nb); @($total_datetime[$planif_date_time][$ressource->_id] += $_indice_cout->nb); @($total[$ressource->_id] += $_indice_cout->nb); } } } $bank_holidays = CMbDT::bankHolidays(); // Création du template $smarty = new CSmartyDP(); $smarty->assign("service_id", $service_id); $smarty->assign("services", $services); $smarty->assign("bank_holidays", $bank_holidays); $smarty->assign("datetimes", $datetimes);