/**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $intervalos = Intervalo::model()->findAll();
     $profesionales = Profesional::model()->findAll();
     $intHelper = array();
     foreach ($intervalos as $intervalo) {
         $intHelper[$intervalo->intervalo_id] = $intervalo->intervalo_inicio . " - " . $intervalo->intervalo_termino;
     }
     $proHelper = array();
     foreach ($profesionales as $profesional) {
         $proHelper[$profesional->profesional_id] = $profesional->profesional_nombre . " " . $profesional->profesional_apellido_paterno . " " . $profesional->profesional_apellido_materno;
     }
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['DiaIntervaloProfesional'])) {
         $sql = "\n            SELECT\n                    *\n            FROM\n                    dia_intervalo_profesional\n            WHERE\n                    intervalo_id = " . $_POST['DiaIntervaloProfesional']['intervalo_id'] . "\n                    AND dia_id = " . $_POST['DiaIntervaloProfesional']['dia_id'] . "\n                    AND profesional_id = " . $_POST['DiaIntervaloProfesional']['profesional_id'] . "\n                    AND sucursal_id = " . $_POST['DiaIntervaloProfesional']['sucursal_id'] . " ";
         $objIntervalo = DiaIntervaloProfesional::model()->findBySql($sql);
         //echo "<pre>"; print_r($objIntervalo); echo "</pre>"; exit();
         if (isset($objIntervalo)) {
             yii::app()->user->setFlash('errorIntervaloExiste', 'El intervalo existe');
         } else {
             $model->attributes = $_POST['DiaIntervaloProfesional'];
             if ($model->save()) {
                 $this->redirect(array('view', 'id' => $model->dia_intervalo_profesional_id));
             }
         }
     }
     $this->render('update', array('model' => $model, 'intHelper' => $intHelper, 'proHelper' => $proHelper));
 }
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     $grupousuario = Auth::user()->group_id;
     $facturacion = array();
     if ($grupousuario != 1) {
         $usuario = Auth::user()->id;
         $profesional_para_facturacion = Profesional::where('user_id', $usuario)->firstOrFail()->toArray();
         $facturacion = Historial_clinico::where('profesional_id', $profesional_para_facturacion['id'])->leftJoin('pacientes', 'pacientes.id', '=', 'historial_clinico.paciente_id')->leftJoin('tratamientos', 'historial_clinico.tratamiento_id', '=', 'tratamientos.id')->select('historial_clinico.*', 'tratamientos.nombre as t_n', 'pacientes.nombre as p_n', 'pacientes.apellido1 as p_a1', 'pacientes.apellido2 as p_a2', 'tratamientos.*')->get();
         $profesionales = Profesional::where('user_id', $usuario)->get();
         //var_dump($facturacion);
         return View::make('estadisticas.index')->with('profesionales', $profesionales)->with('facturacion', $facturacion);
     } else {
         $profesionales = Profesional::get();
         return View::make('estadisticas.index')->with('profesionales', $profesionales)->with('facturacion', $facturacion);
     }
 }
 public function actionAgendaProfesional()
 {
     if (isset($_POST['DatosAgenda'])) {
         $this->layout = 'sitio';
         $profesional = Profesional::model()->findByPk($_POST['DatosAgenda']['profesional-id']);
         $sucursalesProfesional = DiaIntervaloProfesional::getSucursalesProfesionalArray($_POST['DatosAgenda']['profesional-id']);
         //echo "<pre>"; print_r($sucursalesProfesional); exit();
         $intervalos = DiaIntervaloProfesional::getIntervalosProfesionalSucursalDia(isset($_POST['DatosAgenda']['dia-id']) ? $_POST['DatosAgenda']['dia-id'] : date('N'), $_POST['DatosAgenda']['profesional-id'], $_POST['DatosAgenda']['sucursal-id']);
         $objReservas = Reserva::model()->findAll('reserva_fecha = ' . isset($_POST['DatosAgenda']['fecha-seleccionada']) ? $_POST['DatosAgenda']['fecha-seleccionada'] : date('Y/m/d'));
         $reservas = array();
         foreach ($objReservas as $reserva) {
             $reservas[] = $reserva->dia_intervalo_profesional_id;
         }
         //echo "<pre>"; print_r($intervalos); exit();
         $this->render('agendaProfesional', array('profesional' => $profesional, 'intervalos' => $intervalos, 'sucursalesProfesional' => $sucursalesProfesional, 'reservas' => $reservas));
     } else {
         throw new CHttpException('no se puede mostrar la página solicitada.');
     }
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function busqueda()
 {
     $query = Input::get('q', '');
     if ($query != '') {
         $busca = '%' . $query . '%';
         $pacientes = Pacientes::select('pacientes.id', 'numerohistoria', 'pacientes.nombre', 'pacientes.apellido1', 'pacientes.apellido2')->where(DB::raw('concat(pacientes.nombre, " ", pacientes.apellido1, " ", pacientes.apellido2)'), 'LIKE', $busca)->orWhere(DB::raw('concat(pacientes.apellido1, " ", pacientes.apellido2, " ", pacientes.nombre)'), 'LIKE', $busca)->orWhere('numerohistoria', 'LIKE', $busca)->get();
         $espera = Espera::where('admitido', 1)->leftJoin('profesionales', 'espera.profesional_id', '=', 'profesionales.id')->select('paciente_id', 'profesionales.*')->where('profesionales.activo', 1)->get();
         foreach ($pacientes as $paciente) {
             if (isset($espera[$paciente->id])) {
                 $paciente->admitido = 1;
                 $paciente->prof_asignado = $espera[$paciente->id]->nombre . ', ' . $espera[$paciente->id]->apellido1 . ' ' . $espera[$paciente->id]->apellido2;
             }
         }
         $profesionales = Profesional::orderBy('nombre')->select(DB::raw("CONCAT_WS(' ', nombre, apellido1, apellido2) AS nombre"), 'id')->lists('nombre', 'id');
     } else {
         return Redirect::action('PacientesController@buscar');
     }
     $user = User::leftJoin('sedes_users', 'users.id', '=', 'sedes_users.user_id')->leftJoin('sedes', 'sedes.id', '=', 'sedes_users.sede_id')->find(Auth::id());
     $sedes = Sedes::lists('nombre', 'id');
     return View::make('pacientes.busqueda')->with(array('profesionales' => $profesionales, 'pacientes' => $pacientes, 'espera' => $espera, 'busca' => $query, 'user' => $user, 'sedes' => $sedes));
 }
 public function index()
 {
     if (Input::has('fecha_inicio') && Input::get('fecha_fin')) {
         $fecha_inicio = Input::get('fecha_inicio');
         $fecha_fin = Input::get('fecha_fin');
     } else {
         $fecha_fin = date('d/m/Y');
         $fecha_primeros = date('/m/Y');
         $fecha_inicio = "1" . $fecha_primeros;
     }
     $fecha_inicio_iso = explode('/', $fecha_inicio);
     $fecha_inicio_iso = $fecha_inicio_iso[2] . "-" . $fecha_inicio_iso[1] . "-" . $fecha_inicio_iso[0];
     $fecha_fin_iso = explode('/', $fecha_fin);
     $fecha_fin_iso = $fecha_fin_iso[2] . "-" . $fecha_fin_iso[1] . "-" . $fecha_fin_iso[0];
     $profesional = Profesional::where('user_id', Auth::user()->id)->first();
     if (count($profesional) > 0) {
         $historiales = Historial_clinico::whereBetween('fecha_realizacion', array($fecha_inicio_iso, $fecha_fin_iso))->leftJoin('pacientes', 'historial_clinico.paciente_id', '=', 'pacientes.id')->select('pacientes.nombre as p_n', 'pacientes.apellido1 as p_a1', 'pacientes.apellido2 as p_a2', 'pacientes.id as p_id', 'tratamientos.nombre as t_n', DB::raw("DATE_FORMAT(fecha_realizacion, '%d/%m/%Y') as fecha"), 'abonado_quiron', 'cobrado_profesional', 'historial_clinico.id as h_id', 'historial_clinico.*')->leftJoin('tratamientos', 'historial_clinico.tratamiento_id', '=', 'tratamientos.id')->where('profesional_id', $profesional->id)->orderBy('fecha_realizacion', 'ASC')->get();
         //var_dump($historial);
         return View::make('facturacion.index')->with('historiales', $historiales)->with('fecha_inicio', $fecha_inicio)->with('fecha_fin', $fecha_fin);
     } else {
         return Redirect::action('ProfesionalController@index')->with('message', 'No existe ningún profesional asignado a su usuario. Asigne ahora uno, o dirígase a los administradores de la aplicación');
     }
 }
Example #6
0
 public function actionManageProfesional()
 {
     $model = new Profesional('search');
     $model->unsetAttributes();
     if (isset($_GET['Profesional'])) {
         $model->setAttributes($_GET['Profesional']);
     }
     $this->render('manage_profesional', array('model' => $model));
 }
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer $id the ID of the model to be loaded
  * @return Profesional the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = Profesional::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
 public function listado_gf()
 {
     $validator = Validator::make(Input::all(), Guardias::$rules);
     if ($validator->passes()) {
         $profesional = Profesional::find(Input::get('profesional'));
         $sede = Sedes::find(Input::get('sede'));
         $fecha_inicio = explode('/', Input::get('fecha_inicio'));
         $fecha_inicio = $fecha_inicio[2] . "-" . $fecha_inicio[1] . "-" . $fecha_inicio[0];
         $fecha_fin = explode('/', Input::get('fecha_fin'));
         $fecha_fin = $fecha_fin[2] . "-" . $fecha_fin[1] . "-" . $fecha_fin[0];
         $guardias = Guardias::whereBetween('fecha_guardia', array($fecha_inicio, $fecha_fin))->where('sede_id', $sede->id)->where('profesional_id', $profesional->id)->select(DB::raw("DATE_FORMAT(fecha_guardia, '%d/%m/%Y') as fecha"), DB::raw("DATE_FORMAT(fecha_guardia, '%w') as dow"))->get();
         $opciones = Opciones::where('nombre', 'guardia_finde')->orWhere('nombre', 'guardia_laborable')->lists('valor', 'nombre');
         var_dump($opciones);
         $suma = 0;
         foreach ($guardias as $guardia) {
             if ($guardia->dow != 0) {
                 $guardia->euros = number_format($opciones['guardia_laborable'], 2, ',', '.');
             } else {
                 $guardia->euros = number_format($opciones['guardia_finde'], 2, ',', '.');
             }
             $suma = number_format($suma + $guardia->euros, 2, ',', '.');
         }
         //var_dump($guardias);die;
         return View::make('guardias.listado_gf')->with('guardias', $guardias)->with('profesional', $profesional)->with('sede', $sede)->with('fecha_inicio', $fecha_inicio)->with('fecha_fin', $fecha_fin)->with('opciones', $opciones)->with('suma', $suma);
     } else {
         return Redirect::to('guardia/listado')->with('message', '<h3 style="color: red"> Debe de indicar una fecha de inicio y de fin válidas.</h3>')->withErrors($validator)->withInput();
     }
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function verpresupuestos($numerohistoria)
 {
     $paciente_b = Pacientes::where('numerohistoria', $numerohistoria)->firstOrFail();
     $companias_list = Companias::lists('nombre', 'id');
     $paciente_b->companias_text = $companias_list[$paciente_b->compania];
     if ($paciente_b->compania2 != 0) {
         $paciente_b->companias_text .= ' y ' . $companias_list[$paciente_b->compania2];
     }
     $profesionales1 = Profesional::get(array(DB::raw("CONCAT_WS(' ', nombre, apellido1, apellido2) AS nombre"), 'id'));
     $profesionales = array();
     foreach ($profesionales1 as $p) {
         $profesionales[$p->id] = $p->nombre;
     }
     $users1 = User::get(array(DB::raw("CONCAT_WS(' ', firstname, lastname) AS nombre"), 'id'));
     $users = array();
     foreach ($users1 as $u) {
         $users[$u->id] = $u->nombre;
     }
     $presupuestos = Presupuestos::where('numerohistoria', $numerohistoria)->select('presupuestos.*', DB::raw("DATE_FORMAT(presupuestos.created_at, '%d/%m/%Y') as creado"), DB::raw("DATE_FORMAT(presupuestos.updated_at, '%d/%m/%Y') as actualizado"))->orderBy('updated_at', 'desc')->get();
     $precios = Precios::paciente($numerohistoria);
     foreach ($presupuestos as $p) {
         $total = 0;
         $tratamientos = $p->tratamientos()->get(array('presupuestos_tratamientos.*', 'tratamientos.nombre'));
         foreach ($tratamientos as $t) {
             $total += $t->precio_final;
         }
         if ($p->tipodescuento == 'P') {
             $descuento = $p->descuento * $total / 100;
             $descuentotext = $p->descuento . '%';
         } else {
             $descuento = $p->descuento;
             $descuentotext = $p->descuento . '€';
         }
         $p->importe_total = $total - $descuento;
         $p->descuentototal = $descuentotext;
         $p->profesional_n = $profesionales[$p->profesional_id];
         $p->user_n = $users[$p->user_id];
     }
     return View::make('presupuestos.presupuestos')->with('paciente', $paciente_b)->with(array('presupuestos' => $presupuestos));
 }
Example #10
0
<html lang="en">

<head>
@include('includes.head')
@yield('metas')
@yield('javascripts')
@yield('ceeseeses')
</head>

 <body>
 <div id="wrapper">
     <header>
 	<div class="welcome">
         Bienvenida/o <span class="bold">{{{ isset(Auth::user()->name) ? Auth::user()->lastname : Auth::user()->firstname.' '.Auth::user()->lastname  }}}</span><br>
     <?php 
$profesional = Profesional::where('user_id', Auth::user()->id)->first();
if (isset($profesional)) {
    echo "Profesional: " . $profesional->nombre . ", " . $profesional->apellido1 . " " . $profesional->apellido2;
} else {
    echo "Este usuario no tiene un profesional asignado";
}
$grupo = Usergroups::where('id', Auth::user()->group_id)->first();
?>
     <br/>
     Grupo: {{ $grupo->nombre }}
     </div>
         <div class="logo"></div>
         <div class="exit">
             @if(Auth::user()->isAdmin())
             {{ html_entity_decode( HTML::link("paciente", HTML::image("imagenes/home.png", "Inicio", array('title' => 'Inicio')) ) ) }}
             @elseif(Auth::user()->isProfesional())
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $profesional = Profesional::find($id);
     $profesional->activo = 0;
     $profesional->update();
     return Redirect::action('ProfesionalController@index')->with('message', 'Profesional eliminado con éxito.');
 }
Example #12
0
 private function getHtmlProfOptions($turnos, $add_empty, $sede_id)
 {
     $profesionales = Profesional::leftJoin('sedes_profesionales', 'sedes_profesionales.profesional_id', '=', 'profesionales.id')->whereIn('sedes_profesionales.sede_id', array($sede_id, Sedes::TODAS))->select('profesionales.id', 'profesionales.apellido1', 'profesionales.nombre')->orderBy('profesionales.nombre')->get();
     $options = array();
     foreach ($turnos as $turno) {
         $options[$turno->fecha_turno][$turno->tipo_turno] = "";
         if ($add_empty) {
             $options[$turno->fecha_turno][$turno->tipo_turno] .= '<option value="0">--</option>';
         }
         foreach ($profesionales as $profesional) {
             $selected = $profesional->id == $turno->profesional_id ? "selected" : "";
             $options[$turno->fecha_turno][$turno->tipo_turno] .= "<option value=\"{$profesional->id}\" {$selected}>{$profesional->nombre} {$profesional->apellido1}</option>";
         }
     }
     return $options;
 }
 public function cobrar($id)
 {
     $paciente = Pacientes::where('id', $id)->firstOrFail();
     //$paciente->saldo = $paciente->saldo + Input::get('cobrar');
     //$paciente->update();
     $user = Auth::id();
     $profesional = Profesional::where('user_id', $user)->firstOrFail();
     return Redirect::action('Historial_clinicoController@show', $paciente->id);
 }
Example #14
0
echo $form->errorSummary($model);
?>

<fieldset>

    <?php echo $form->hiddenField($model, 'idsociedad'); ?>

    <?php
    echo "<div class='control-group'>";
    echo $form->labelEx($model, 'idsocio', array('class' => 'control-label'));
    echo "<div class='controls'>";
    $this->widget('yiiwheels.widgets.select2.WhSelect2', array(
        'model' => $model,
        'attribute' => 'idsocio',
        'language' => 'es',
        'data' => CHtml::listData(Profesional::model()->findAll(array('order' => 'nombre')), 'identidad', 'nombrecomp'),
        'htmlOptions' => array(
            'style' => 'width:220px',

        ),
    ));
    echo "</div></div>";
    ?>  
    <?php echo $form->textFieldControlGroup($model, 'participacion', array('size' => 6, 'maxlength' => 6)); ?>


    <?php echo $form->textFieldControlGroup($model, 'porcjubil', array('size' => 6, 'maxlength' => 6)); ?>

</fieldset>

<div class="form-actions">