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")); } }
<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>