public function generarAgendas()
 {
     $coes = CentroOdontologoEspecialidad::whereNotIn('especialidad_id', function ($query) {
         $query->select('id')->from('especialidades')->where('genera_agendas', '=', 0);
     })->where('habilitado', '=', 1)->get();
     if (count($coes) == 0) {
         return json_encode(array('error' => true, 'mensaje' => "No hay agendas para generar"));
     }
     $errores = false;
     $agendas_general = 0;
     $dow = array('Domingo' => 0, 'Lunes' => 1, 'Martes' => 2, 'Miercoles' => 3, 'Jueves' => 4, 'Viernes' => 5, 'Sabado' => 6);
     foreach ($coes as $coe) {
         $fecha_ini = date('Y-m-d');
         $especialidad = $coe->especialidad;
         $odontologo = $coe->odontologo;
         $centro = $coe->centro;
         $lapso = $especialidad->lapso;
         $fecha_fin = date("Y-m-d", strtotime("+" . $lapso . " days", strtotime($fecha_ini)));
         $agendas = array();
         while (strtotime($fecha_ini) <= strtotime($fecha_fin)) {
             $f = new Feriado();
             if ($f->esFeriado($fecha_ini)) {
                 //	echo "Feriado".$fecha_ini;
                 $fecha_ini = date("Y-m-d", strtotime("+1 day", strtotime($fecha_ini)));
                 continue;
             } elseif ($dow[$coe->dia_semana] != date('w', strtotime($fecha_ini))) {
                 $fecha_ini = date("Y-m-d", strtotime("+1 day", strtotime($fecha_ini)));
                 continue;
             } elseif ($coe->existeAgenda($fecha_ini)) {
                 $fecha_ini = date("Y-m-d", strtotime("+1 day", strtotime($fecha_ini)));
                 continue;
                 //} elseif ($coe->odontologo()->existeAusencia($fecha_ini) > 0){
             } elseif ($odontologo->existeAusencia($fecha_ini) > 0) {
                 $fecha_ini = date("Y-m-d", strtotime("+1 day", strtotime($fecha_ini)));
                 continue;
             } else {
                 $agenda = array();
                 $agenda["centro_odontologo_especialidad_id"] = $coe->id;
                 $agenda["fecha"] = $fecha_ini;
                 $agenda["odontologo_efector_id"] = $odontologo->id;
                 $agenda["habilitado_turnos"] = 1;
                 $agenda["created_at"] = date("Y-m-d H:i:s");
                 $agenda["updated_at"] = date("Y-m-d H:i:s");
                 $agendas[] = $agenda;
             }
             $fecha_ini = date("Y-m-d", strtotime("+1 day", strtotime($fecha_ini)));
         }
         $err_agenda = true;
         $agendas_general += count($agendas);
         if (count($agendas)) {
             $err_agenda = Agenda::insert($agendas);
         }
         if (!$err_agenda) {
             $errores = true;
         }
     }
     if ($agendas_general == 0) {
         return json_encode(array('error' => true, 'mensaje' => "No hay agendas para generar"));
     }
     $t = $this->generarTurnos();
     if (!$t) {
         $errores = true;
     }
     if ($errores) {
         return json_encode(array('error' => true, 'mensaje' => "Se produjeron errores al generar las agendas"));
     } else {
         return json_encode(array('error' => false, 'mensaje' => "Se generaron las agendas"));
     }
 }
Пример #2
0
            <div class="span12">

              <?php 
$agenda = new Agenda();
if (isset($_POST['cadastrar'])) {
    $dataCon = $_POST['dataCon'];
    $diaDaSemana = $_POST['diaDaSemana'];
    $hora = $_POST['hora'];
    $descricao = $_POST['descricao'];
    $agenda->setData($dataCon);
    $agenda->setDiaDaSemana($diaDaSemana);
    $agenda->setHora($hora);
    $agenda->setDescricao($descricao);
    #inserindo dados no banco
    if ($agenda->insert()) {
        echo "<div id='alert-message' class='alert alert-success'>\n                        <strong>Sucesso!</strong> Compromisso Cadastrado!\n                        </div>";
        #abaixo, chamamos a função header()
        #sua vez aponta para o endereço de onde ocorrerá o redirecionamento
        header('Refresh: 3; URL=consultaAgenda.php');
    }
}
?>

                <div class="widget-box">
                    <div class="widget-title">
                        <span class="icon">
                            <i class="icon-user"></i>
                        </span>
                        <h5>Cadastro de Compromissos</h5>
                    </div>