Ejemplo n.º 1
0
}
$lahora = HorasServicio::model()->findByPK($model->hora_fin + 1);
$this->widget('zii.widgets.CDetailView', array('data' => $model, 'attributes' => array(array('name' => 'Paciente', 'value' => $model->paciente->nombreCompleto, ''), array('name' => 'Edad', 'value' => $edadpaciente, ''), array('name' => 'Cedula', 'value' => $model->paciente->n_identificacion, ''), array('name' => 'Dirección', 'value' => $model->paciente->direccion, ''), array('name' => 'Celular', 'value' => $model->paciente->celular, ''), array('name' => 'Personal', 'value' => $model->personal->nombreCompleto, ''), 'contrato_id', array('name' => 'Linea de Servicio', 'value' => $model->lineaServicio->nombre, ''))));
?>
	</div>

	<div class="span5">
		<?php 
$this->widget('zii.widgets.CDetailView', array('data' => $model, 'attributes' => array('estado', array('name' => 'Agendado por', 'value' => $model->usuario->nombreCompleto, ''), array('name' => 'Fecha de Cita', 'value' => $fecha_cita, ''), array('name' => 'Hora de Inicio', 'value' => $model->horaInicio->hora, ''), array('name' => 'Hora de Fin', 'value' => $lahora->hora, ''), 'correo', 'comentario', 'actualizacion')));
?>
	</div>
</div>

<!-- Los Equipos -->
<?php 
$elEquipo = CitasEquipo::model()->findByPK($model->id);
if ($elEquipo) {
    ?>
<div class="text-center">
	<h5>Equipo que se usara en la cita: <span class="text-error"><?php 
    echo $elEquipo->equipo->nombre . " - " . $elEquipo->equipo->numero;
    ?>
</span></h5>
</div>
<?php 
}
?>

<?php 
if ($model->confirmacion != null) {
    ?>
Ejemplo n.º 2
0
 public function validarHoraFin($attribute, $params)
 {
     $lafecha = Yii::app()->dateformatter->format("yyyy-MM-dd", $this->fecha_cita);
     $fechaCita = Citas::model()->findAll("fecha_cita = '{$lafecha}' and personal_id = '{$this->personal_id}' and estado != 'Cancelada'");
     if (count($fechaCita) > 0) {
         foreach ($fechaCita as $fecha_cita) {
             if ($this->hora_fin >= $fecha_cita->hora_inicio and $this->hora_inicio <= $fecha_cita->hora_fin) {
                 if ($this->paciente_id != $fecha_cita->paciente_id) {
                     $this->addError('hora_fin', "Ya hay paciente a esta Hora");
                 }
             }
         }
     }
     //Validar uso de equipo
     //$equiposDisponibles = Equipos::model()->findAll("linea_servicio_id = $this->linea_servicio_id and estado = 'Activo'");
     $equiposDisponibles = EquiposLineaServicio::model()->findAll("linea_servicio_id = {$this->linea_servicio_id}");
     if ($equiposDisponibles) {
         $agendaEquipos = CitasEquipo::model()->findAll("fecha = '{$lafecha}' and linea_servicio_id = {$this->linea_servicio_id}");
         if ($agendaEquipos) {
             //Verificar si hay mas de un equipo
             if (count($equiposDisponibles) > 1) {
                 $numero_reservas = count($equiposDisponibles);
                 $numero_reservas_comparar = 0;
                 foreach ($agendaEquipos as $agenda_equipos) {
                     if ($this->hora_fin >= $agenda_equipos->hora_inicio and $this->hora_inicio <= $agenda_equipos->hora_fin) {
                         $numero_reservas_comparar = $numero_reservas_comparar + 1;
                     }
                     if ($numero_reservas == $numero_reservas_comparar) {
                         $this->addError('hora_fin', "No hay equipo disponible a esta Hora");
                     }
                 }
             } else {
                 //Es solo un equipo
                 foreach ($agendaEquipos as $agenda_equipos) {
                     if ($this->hora_fin >= $agenda_equipos->hora_inicio and $this->hora_inicio <= $agenda_equipos->hora_fin and $this->id != $agenda_equipos->cita_id) {
                         $this->addError('hora_fin', "El equipo esta reservado a esta Hora");
                     }
                 }
             }
         }
     }
 }
 public function actionCancelar()
 {
     $elid = $_POST['Citas']['id'];
     $lacita = Citas::model()->find("id = {$elid} and estado !='Completada'");
     if ($lacita) {
         $lacita->estado = "Cancelada";
         $lacita->fecha_accion = date("Y-m-d H:i:s");
         $lacita->motivo_cancelacion = $_POST['Citas']['motivo_cancelacion'];
         $lacita->usuario_estado_id = Yii::app()->user->usuarioId;
         if ($lacita->update()) {
             //Cancelar Reservación de Equipo
             $equipoReservado = CitasEquipo::model()->findByPk($elid);
             if ($equipoReservado) {
                 $equipoReservado->delete();
             }
             //Actualizar estado de Detalle de Contrato
             if ($lacita->contrato_id != NULL) {
                 //Buscar Detalle
                 $detalleContrato = ContratoDetalle::model()->find("contrato_id = {$lacita->contrato_id} and estado = 'Programada' and linea_servicio_id = {$lacita->linea_servicio_id}");
                 if ($detalleContrato) {
                     $detalleContrato->estado = "Activo";
                     $detalleContrato->update();
                 }
             }
             Yii::app()->user->setFlash('error', "La cita se ha cancelado.");
             //Redireccionar
             $dataProvider = new CActiveDataProvider('Citas');
             /*$this->render('calendario',array(
             			'dataProvider'=>$dataProvider,
             		));*/
             if (isset($_GET['irCita'])) {
                 $this->redirect(array('view', 'id' => $lacita->id));
             } else {
                 $this->redirect(array('calendario', 'idpersonal' => $lacita->personal->id_perfil, 'fecha' => $lacita->fecha_cita));
             }
         } else {
             Yii::app()->user->setFlash('error', "No se ha podido cancelar la cita.");
             if (isset($_GET['irCita'])) {
                 $this->redirect(array('view', 'id' => $lacita->id));
             } else {
                 $this->redirect(array('calendario', 'idpersonal' => $lacita->personal->id_perfil, 'fecha' => $lacita->fecha_cita));
             }
         }
     } else {
         Yii::app()->user->setFlash('error', "No se ha podido cancelar la cita.");
         if (isset($_GET['irCita'])) {
             $this->redirect(array('view', 'id' => $lacita->id));
         } else {
             $this->redirect(array('citas'));
         }
     }
 }
 /**
  * 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 CitasEquipo the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = CitasEquipo::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }