Esempio n. 1
0
 /**
 	FUNCIONA
 */
 public static function getHoursDD($start, $end, $start_2, $end_2, $start_3, $end_3, $count)
 {
     $q = explode(' ', $start);
     $w = explode(' ', $end);
     $q2 = explode(' ', $start_2);
     $w2 = explode(' ', $end_2);
     $q3 = explode(' ', $start_3);
     $w3 = explode(' ', $end_3);
     $ff_count = $count - 1;
     list($y_s, $m_s, $d_s) = explode('-', $q[0]);
     list($h_s, $mm_s, $s_s) = explode(':', $q[1]);
     list($y_e, $m_e, $d_e) = explode('-', $w[0]);
     list($h_e, $mm_e, $s_e) = explode(':', $w[1]);
     list($y_s2, $m_s2, $d_s2) = explode('-', $q2[0]);
     list($h_s2, $mm_s2, $s_s2) = explode(':', $q2[1]);
     list($y_e2, $m_e2, $d_e2) = explode('-', $w2[0]);
     list($h_e2, $mm_e2, $s_e2) = explode(':', $w2[1]);
     list($y_s3, $m_s3, $d_s3) = explode('-', $q3[0]);
     list($h_s3, $mm_s3, $s_s3) = explode(':', $q3[1]);
     list($y_e3, $m_e3, $d_e3) = explode('-', $w3[0]);
     list($h_e3, $mm_e3, $s_e3) = explode(':', $w3[1]);
     $dt_start = Carbon::create($y_s, $m_s, $d_s, $h_s, $mm_s, $s_s);
     $dt_start2 = Carbon::create($y_s, $m_s, $d_s, $h_s, $mm_s, $s_s);
     $dt_start3 = Carbon::create($y_e, $m_e, $d_e, $h_e, $mm_e, $s_e);
     $dt_start_2 = Carbon::create($y_s2, $m_s2, $d_s2, $h_s2, $mm_s2, $s_s2);
     $dt_start2_2 = Carbon::create($y_s2, $m_s2, $d_s2, $h_s2, $mm_s2, $s_s2);
     $dt_start3_2 = Carbon::create($y_e2, $m_e2, $d_e2, $h_e2, $mm_e2, $s_e2);
     $dt_start_3 = Carbon::create($y_s3, $m_s3, $d_s3, $h_s3, $mm_s3, $s_s3);
     $dt_start2_3 = Carbon::create($y_s3, $m_s3, $d_s3, $h_s3, $mm_s3, $s_s3);
     $dt_start3_3 = Carbon::create($y_e3, $m_e3, $d_e3, $h_e3, $mm_e3, $s_e3);
     $f = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
     $hora_end = $dt_start3->toTimeString();
     $hora_end_2 = $dt_start3_2->toTimeString();
     $hora_end_3 = $dt_start3_3->toTimeString();
     $la = array();
     $fq = 0;
     if ($q[1] != '00:00:00') {
         foreach ($f as $a) {
             if ($a == 1) {
                 $dt_start2->addMinutes($ff_count)->addSeconds(60)->toTimeString();
                 $la[$fq] = array('paciente' => 'Hora Disponible', 'motivo' => '', 'inicio_hora' => Helpers::hora_min($dt_start->toTimeString()), 'final_hora' => Helpers::hora_min($dt_start2->toTimeString()), 'color' => '#CCCCCC', 'fecha' => $dt_start2->toDateString(), 'estado' => 'disponible');
             } else {
                 $dt_start->addMinutes($count)->toTimeString();
                 $dt_start2->addMinutes($ff_count)->addSeconds(59)->toTimeString();
                 $la[$fq] = array('paciente' => 'Hora Disponible', 'motivo' => '', 'inicio_hora' => Helpers::hora_min($dt_start->toTimeString()), 'final_hora' => Helpers::hora_min($dt_start2->toTimeString()), 'color' => '#CCCCCC', 'fecha' => $dt_start2->toDateString(), 'estado' => 'disponible');
             }
             if ($hora_end < $dt_start2->toTimeString()) {
                 break;
             }
             $fq++;
         }
     }
     if ($q2[1] != '00:00:00') {
         foreach ($f as $am) {
             if ($am == 1) {
                 $dt_start_2->toTimeString();
                 $dt_start2_2->addMinutes($ff_count)->addSeconds(60)->toTimeString();
                 $la[$fq] = array('paciente' => 'Hora Disponible', 'motivo' => '', 'inicio_hora' => Helpers::hora_min($dt_start_2->toTimeString()), 'final_hora' => Helpers::hora_min($dt_start2_2->toTimeString()), 'color' => '#CCCCCC', 'fecha' => $dt_start2_2->toDateString(), 'estado' => 'disponible');
             } else {
                 $dt_start_2->addMinutes($count)->toTimeString();
                 $dt_start2_2->addMinutes($ff_count)->addSeconds(59)->toTimeString();
                 $la[$fq] = array('paciente' => 'Hora Disponible', 'motivo' => '', 'inicio_hora' => Helpers::hora_min($dt_start_2->toTimeString()), 'final_hora' => Helpers::hora_min($dt_start2_2->toTimeString()), 'color' => '#CCCCCC', 'fecha' => $dt_start2_2->toDateString(), 'estado' => 'disponible');
             }
             if ($hora_end_2 < $dt_start2_2->toTimeString()) {
                 break;
             }
             $fq++;
         }
     }
     if ($q3[1] != '00:00:00') {
         foreach ($f as $am) {
             if ($am == 1) {
                 $la[$fq] = array('paciente' => 'Hora Disponible', 'motivo' => '', 'inicio_hora' => Helpers::hora_min($dt_start_3->toTimeString()), 'final_hora' => Helpers::hora_min($dt_start2_3->addMinutes($ff_count)->addSeconds(60)->toTimeString()), 'color' => '#CCCCCC', 'fecha' => $dt_start_3->toDateString(), 'estado' => 'disponible');
             } else {
                 $la[$fq] = array('paciente' => 'Hora Disponible', 'motivo' => '', 'inicio_hora' => Helpers::hora_min($dt_start_3->addMinutes($count)->toTimeString()), 'final_hora' => Helpers::hora_min($dt_start2_3->addMinutes($ff_count)->addSeconds(59)->toTimeString()), 'color' => '#CCCCCC', 'fecha' => $dt_start2_3->toDateString(), 'estado' => 'disponible');
             }
             if ($hora_end_3 < $dt_start2_3->toTimeString()) {
                 break;
             }
             $fq++;
         }
     }
     #return Response::json($la);
     return $la;
 }