예제 #1
0
 /**
  * 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));
 }
예제 #2
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id)
 {
     $sede = Sedes::find($id);
     $sede->update(Input::all());
     return Redirect::action('SedesController@index')->with('message', 'Sede modificada con éxito.');
 }
예제 #3
0
	<?php echo $form->errorSummary($model,'Opps!!!', null,array('class'=>'alert alert-error span12')); ?>
        		
   <div class="control-group">		
			<div class="span4">

	<?php echo $form->textFieldRow($model,'NombreFlota',array('class'=>'span5','maxlength'=>45, 'style'=>'text-transform:uppercase', 'onKeyUp'=>'javascript:this.value=this.value.toUpperCase();')); ?>

                      
                       
	

	<?php echo $form->dropDownListRow(
                    $model,
                    'IdSede',
                    CHtml::listData(Sedes::model()->findAll(), 'IdSede', 'NombreSede'),
                    array('empty'=>'', 'class'=>'span5')
                    
              );
        
        ?>
       
                            
                            

	

	
                        </div>   
  </div>
예제 #4
0
 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();
     }
 }
 /**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 private function _crearpresupuesto($paciente)
 {
     $companias_list = Companias::orderBy('nombre')->lists('nombre', 'id');
     $companias_paciente = array();
     $companias_paciente[] = $paciente->compania;
     $paciente->companias_text = $companias_list[$paciente->compania];
     if ($paciente->compania2 != 0) {
         $companias_paciente[] = $paciente->compania2;
         $paciente->companias_text .= ' y ' . $companias_list[$paciente->compania2];
     }
     $companias_select = $companias_list;
     $companias_select[0] = '-- La más económica del paciente --';
     asort($companias_select);
     $grupos = Grupos::orderBy('nombre')->get(array('id', 'nombre'));
     $atratamientos = $this->getTratamientosArray($grupos, $companias_list, $companias_paciente);
     $profesionales1 = Profesional::orderBy('nombre')->get(array(DB::raw("CONCAT_WS(' ', nombre, apellido1, apellido2) AS nombre"), 'id'));
     $profesionales = array();
     foreach ($profesionales1 as $p) {
         $profesionales[$p->id] = $p->nombre;
     }
     $sedes = Sedes::orderBy('nombre')->lists('nombre', 'id');
     unset($sedes[Sedes::TODAS]);
     return array('grupos' => $grupos, 'paciente' => $paciente, 'atratamientos' => $atratamientos, 'companias' => $companias_list, 'companias_select' => $companias_select, 'sedes' => $sedes, 'profesionales' => $profesionales);
 }
예제 #6
0
 public function putUpdate($id)
 {
     $user = User::find($id);
     $user->dni = Input::get('dni');
     $user->firstname = Input::get('firstname');
     $user->lastname = Input::get('lastname');
     $user->email = Input::get('email');
     $user->group_id = Input::get('group_id');
     $user->update();
     $user->sedes()->detach();
     if (Input::has('sede-' . Sedes::TODAS)) {
         $user->sedes()->attach(Sedes::TODAS);
     } else {
         foreach (Sedes::lists('id') as $i) {
             if (Input::has('sede-' . $i)) {
                 $user->sedes()->attach($i);
             }
         }
     }
     return Redirect::to('users/dashboard')->with('message', 'Usuario modificado con éxito.');
 }
예제 #7
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id)
 {
     // TODO: comprobar unico
     $user_id = Input::get('user_id');
     //$comprobar_unique = Profesional::where('user_id', $user_id)->get();
     //var_dump(count($comprobar_unique));die;
     /*
     if (count($comprobar_unique) > 0) {
     
         return Redirect::action('ProfesionalController@edit', $id)->with('message', 'Usuario ya asignado a otro profesional' );
     } else {
     */
     $profesional = Profesional::find($id);
     $profesional->nombre = Input::get('nombre');
     $profesional->apellido1 = Input::get('apellido1');
     $profesional->apellido2 = Input::get('apellido2');
     $profesional->especialidades_id = Input::get('especialidades_id');
     $profesional->user_id = $user_id;
     $profesional->update();
     $profesional->sedes()->detach();
     if (Input::has('sede-' . Sedes::TODAS)) {
         $profesional->sedes()->attach(Sedes::TODAS);
     } else {
         foreach (Sedes::lists('id') as $i) {
             if (Input::has('sede-' . $i)) {
                 $profesional->sedes()->attach($i);
             }
         }
     }
     return Redirect::action('ProfesionalController@index')->with('message', 'Profesional modificado con éxito.');
     //}
 }
예제 #8
0
 public function showMonth($sede_id, $ano, $mes)
 {
     if (Input::has('cdate')) {
         $cdate = explode('-', Input::get('cdate'));
         return Redirect::action('TurnoController@showMonth', array($sede_id, $cdate[0], $cdate[1]));
     }
     if ($sede_id == Sedes::TODAS) {
         return Redirect::action('TurnoController@index');
     }
     $sede = Sedes::where('id', $sede_id)->firstOrFail();
     $turnos = Turnos::where('fecha_turno', 'LIKE', "{$ano}-{$mes}-%")->where('sede_id', $sede_id)->orderBy('fecha_turno')->get();
     //-----------------------------------------
     // Si no existe turno para ese mes, crearlo a partir del anterior
     if (count($turnos) == 0) {
         $query = array('sede' => $sede_id, 'cdate' => $ano . '-' . $mes);
         return Redirect::action('TurnoController@create', $query);
     }
     $turnosArray = array();
     $turnosHtml = array();
     $incidenciasArray = array();
     foreach ($turnos as $turno) {
         $profesional = Profesional::find($turno->profesional_id);
         $turnosHtml[$turno->fecha_turno][$turno->tipo_turno] = $this->getHtmlProfRow($turno, $profesional);
         // $turnosArray
         $day = explode('-', $turno->fecha_turno)[2];
         if ($profesional !== null) {
             $turnosArray[$day][$turno->tipo_turno] = array($turno->profesional_id, "{$profesional->nombre} {$profesional->apellido1}");
         } else {
             $turnosArray[$day][$turno->tipo_turno] = array($turno->profesional_id, "");
         }
         $incidenciasArray[$day][$turno->tipo_turno] = $turno->incidencia_text;
     }
     $events = array();
     $turnosHtmlSelect = $this->getHtmlProfesionalesSedeSelects($sede_id, $turnos);
     foreach ($turnosHtml as $fecha => $value) {
         $div = $this->getHtmlCasillaCalendario($fecha, $sede_id, $turnosHtml, $turnosHtmlSelect);
         $events[$fecha] = array($div);
     }
     $calendario = $this->getTurnoCalendar($events, $ano . '-' . $mes, '/turno/' . $sede_id);
     $d = gregoriantojd($mes, 1, $ano);
     $fecha = jdmonthname($d, 1) . ' de ' . $ano;
     return View::make('turnos.show')->with(array('calendario' => $calendario, 'sede' => $sede, 'fecha' => $fecha, 'incidencias' => $incidenciasArray));
 }
예제 #9
0
        public function actionGeneratePdf() 
	{
           $session=new CHttpSession;
           $session->open();
		Yii::import('application.extensions.bootstrap.gii.*');
		require_once('bootstrap/tcpdf/tcpdf.php');
		require_once('bootstrap/tcpdf/config/lang/eng.php');

             if(isset($session['Sedes_records']))
               {
                $model=$session['Sedes_records'];
               }
               else
                 $model = Sedes::model()->findAll();



		$html = $this->renderPartial('expenseGridtoReport', array(
			'model'=>$model
		), true);
		
		//die($html);
		
		$pdf = new TCPDF('L');
		$pdf->SetCreator(PDF_CREATOR);
		$pdf->SetAuthor(Yii::app()->name);
		$pdf->SetTitle('Sedes Report');
		$pdf->SetSubject('Sedes Report');
		//$pdf->SetKeywords('example, text, report');
		$pdf->SetHeaderData('', 0, "Report", '');
		$pdf->SetHeaderData("", "", "Reporte ".Yii::app()->name, "");
		$pdf->setHeaderFont(Array('helvetica', '', 8));
		$pdf->setFooterFont(Array('helvetica', '', 6));
		$pdf->SetMargins(15, 18, 15);
		$pdf->SetHeaderMargin(5);
		$pdf->SetFooterMargin(10);
		$pdf->SetAutoPageBreak(TRUE, 0);
		$pdf->SetFont('dejavusans', '', 7);
		$pdf->AddPage();
		$pdf->writeHTML($html, true, false, true, false, '');
		$pdf->LastPage();
		$pdf->Output("Sedes_002.pdf", "I");
	}