public function run()
 {
     DB::table('odontologos')->delete();
     Odontologo::create(array('id' => 1, 'nombres' => 'Martin', 'apellido' => 'Palermo', 'matricula' => 'MN 123456', 'created_at' => new DateTime(), 'updated_at' => new DateTime()));
     Odontologo::create(array('id' => 2, 'nombres' => 'Guillermo', 'apellido' => 'Barros Schelotto', 'matricula' => 'MN 654321', 'created_at' => new DateTime(), 'updated_at' => new DateTime()));
     for ($i = 3; $i < 1000; $i++) {
         $mn = 999000 + $i;
         Odontologo::create(array('id' => $i, 'nombres' => 'Nombre-' . $i, 'apellido' => 'Apellido-' . $i, 'matricula' => 'MN ' . $mn, 'created_at' => new DateTime(), 'updated_at' => new DateTime()));
     }
 }
 public function auditar($tratamiento_id)
 {
     try {
         $t = Tratamiento::findOrFail($tratamiento_id);
         $tu = $t->turno;
         $p = PacientePrepaga::findOrFail($tu->paciente_prepaga_id)->paciente;
         $o = Odontologo::findOrFail($tu->agenda->odontologo_efector_id);
         $n = $t->nomenclador;
         $this->errores[$t->id] = [];
         $this->edadFueraDeRango($t, $p, $n, $tu);
         return Response::json(array('error' => false, 'listado' => array("tratamiento" => $t->toArray(), "errores" => $this->errores[$t->id])), 200);
     } catch (\Exception $e) {
         return Response::json(array('error' => true, 'mensaje' => $e->getMessage()), 200);
     }
 }
 public function odontologosHabilitados($resumido = 'completo')
 {
     $odontologos = Odontologo::orderBy('apellido')->orderBy('nombres')->whereExists(function ($query) {
         $query->select(DB::raw(1))->from('centros_odontologos_especialidades')->whereRaw('centros_odontologos_especialidades.odontologo_id = odontologos.id and habilitado = 1');
     })->get();
     if ($resumido == 'simple') {
         $filtered = $odontologos->pluck('nombre_completo', 'id')->all();
         $odontologos = [];
         foreach ($filtered as $key => $odo) {
             $odontologos[] = ["id" => $key, "nombre_completo" => $odo];
         }
         //dd($odontologos);
     } else {
         $odontologos = $odontologos->toArray();
     }
     return Response::json(array('error' => false, 'listado' => $odontologos), 200);
 }
 public function ver_ausencias($id)
 {
     $params = Input::all();
     $desde = isset($params["desde"]) && !empty($params["desde"]) ? $params["desde"] : date("Y-m-d");
     $hasta = isset($params["hasta"]) && !empty($params["hasta"]) ? $params["hasta"] : date("Y-m-d", strtotime($desde . " +90 days"));
     $ausencias = Odontologo::find($id)->ausencias()->where("fecha_hasta", ">=", $desde)->where("fecha_desde", "<=", $hasta)->get();
     return Response::json(array('error' => false, 'listado' => $ausencias->toArrayFechas()), 200);
 }