コード例 #1
0
 /**
  * Displays a particular model.
  * @param integer $id the ID of the model to be displayed
  */
 public function actionView($id)
 {
     $laCita = CitasReservadaDetalle::model()->find("cita_id = " . $id);
     if ($laCita) {
         $this->redirect(array('CitasReservada/view', 'id' => $laCita->cita_reservada_id));
     } else {
         $this->render('view', array('model' => $this->loadModel($id)));
     }
 }
コード例 #2
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new CitasReservada();
     // Uncomment the following line if AJAX validation is needed
     $this->performAjaxValidation($model);
     if (isset($_POST['CitasReservada'])) {
         $model->attributes = $_POST['CitasReservada'];
         //Proceder a crear y guardar cita
         //Solo 1 dia
         if ($_POST['opciones'] == "Horas") {
             //Verificar si hay cita entre el periodo
             $personal = $_POST['CitasReservada']['personal_id'];
             $fechainicio = Yii::app()->dateformatter->format("yyyy-MM-dd", $_POST['CitasReservada']['fecha_inicio']);
             $horainicio = $_POST['CitasReservada']['hora_inicio'];
             $horafin = $_POST['CitasReservada']['hora_fin'];
             $citaVerifica = CitasReservada::model()->findAll("personal_id = {$personal} and estado = 'Activa' and fecha_inicio = '{$fechainicio}' and {$horainicio} >= hora_inicio and {$horafin} <= hora_fin");
             $citaAgenda = Citas::model()->findAll("personal_id = {$personal} and estado = 'Programada' and fecha_cita = '{$fechainicio}' and ({$horainicio} >= hora_inicio and {$horafin} <= hora_fin)");
             if (count($citaAgenda) > 0) {
                 Yii::app()->user->setFlash('error', "Hay una cita a esa hora. Revise la agenda");
             } else {
                 if (count($citaVerifica) > 0) {
                     Yii::app()->user->setFlash('error', "Ya hay un bloqueo a esa hora");
                 } else {
                     $lacita = new Citas("otra");
                     $lacita->fecha_cita = Yii::app()->dateformatter->format("yyyy-MM-dd", $_POST['CitasReservada']['fecha_inicio']);
                     $lacita->hora_fin = $_POST['CitasReservada']['hora_fin'];
                     $lacita->hora_fin_mostrar = $_POST['CitasReservada']['hora_fin'];
                     $lacita->hora_inicio = $_POST['CitasReservada']['hora_inicio'];
                     $lacita->linea_servicio_id = 26;
                     $lacita->estado = "Reservado";
                     $lacita->correo = "No";
                     $lacita->comentario = $_POST['CitasReservada']['motivo'];
                     $lacita->personal_id = $_POST['CitasReservada']['personal_id'];
                     $lacita->fecha_creacion = date("Y-m-d");
                     $lacita->fecha_hora_creacion = date("Y-m-d H:i:s");
                     $lacita->usuario_id = Yii::app()->user->usuarioId;
                     $lacita->paciente_id = 109;
                     if ($lacita->save()) {
                         $model->scenario = 'horas';
                         $model->personal_id = $lacita->personal_id;
                         $model->cita_id = $lacita->id;
                         $model->hora_inicio = $lacita->hora_inicio;
                         $model->hora_fin = $lacita->hora_fin_mostrar;
                         $model->fecha_inicio = $lacita->fecha_cita;
                         $model->motivo = $_POST['CitasReservada']['motivo'];
                         $model->observacion = $_POST['CitasReservada']['observacion'];
                         $model->usuario_id = Yii::app()->user->usuarioId;
                         $model->fecha_creado = date("Y-m-d H:i:s");
                         $model->estado = "Activa";
                         if ($model->save()) {
                             $lacitadetalle = new CitasReservadaDetalle();
                             $lacitadetalle->cita_reservada_id = $model->id;
                             $lacitadetalle->cita_id = $model->cita_id;
                             $lacitadetalle->estado = 'Activa';
                             $lacitadetalle->save();
                             $this->redirect(array('view', 'id' => $model->id));
                         }
                     } else {
                         //Yii::app()->user->setFlash('error',"Noooooooooo lo hizo");
                         $this->render('create', array('model' => $model));
                     }
                 }
             }
         }
         if ($_POST['opciones'] == "Dias") {
             //Verificar q no existan bloqueos
             $personal = $_POST['CitasReservada']['personal_id'];
             $fechainicio = Yii::app()->dateformatter->format("yyyy-MM-dd", $_POST['CitasReservada']['fecha_inicio']);
             $fechafin = Yii::app()->dateformatter->format("yyyy-MM-dd", $_POST['CitasReservada']['fecha_fin']);
             $horainicio = $_POST['CitasReservada']['hora_inicio'];
             $horafin = $_POST['CitasReservada']['hora_fin'];
             $citaAgenda = Citas::model()->findAll("personal_id = {$personal} and estado = 'Programada' and fecha_cita = '{$fechainicio}' and ('{$fechainicio}' >= fecha_cita)");
             if (count($citaAgenda) > 0) {
                 Yii::app()->user->setFlash('error', "Hay una cita programada entre el rango de fechas");
             } else {
                 $citaVerifica = CitasReservada::model()->findAll("personal_id = {$personal} and ('{$fechainicio}' >= fecha_inicio and '{$fechainicio}' <= fecha_fin) and estado = 'Activa'");
                 if (count($citaVerifica) > 0) {
                     Yii::app()->user->setFlash('error', "Ya hay un bloqueo en ese rango de fechas");
                 } else {
                     //Determinar el numero de dias
                     $datetime1 = date_create($_POST['CitasReservada']['fecha_inicio']);
                     $datetime2 = date_create($_POST['CitasReservada']['fecha_fin']);
                     $interval = date_diff($datetime1, $datetime2);
                     $ndias = $interval->format('%a') + 1;
                     $model = new CitasReservada("dias");
                     $model->scenario = 'dias';
                     $model->personal_id = $_POST['CitasReservada']['personal_id'];
                     $model->hora_inicio = 1;
                     $model->hora_fin = 169;
                     $model->fecha_inicio = Yii::app()->dateformatter->format("yyyy-MM-dd", $_POST['CitasReservada']['fecha_inicio']);
                     $model->fecha_fin = Yii::app()->dateformatter->format("yyyy-MM-dd", $_POST['CitasReservada']['fecha_fin']);
                     $model->motivo = $_POST['CitasReservada']['motivo'];
                     $model->observacion = $_POST['CitasReservada']['observacion'];
                     $model->usuario_id = Yii::app()->user->usuarioId;
                     $model->fecha_creado = date("Y-m-d H:i:s");
                     $model->estado = "Activa";
                     if ($model->save()) {
                         $lafecha = Yii::app()->dateformatter->format("yyyy-MM-dd", $_POST['CitasReservada']['fecha_inicio']);
                         for ($i = 0; $i < $ndias; $i++) {
                             $lacita = new Citas("otra");
                             $lacita->fecha_cita = $lafecha;
                             $lacita->hora_fin = 169;
                             $lacita->hora_fin_mostrar = 169;
                             $lacita->hora_inicio = 1;
                             $lacita->linea_servicio_id = 26;
                             $lacita->estado = "Reservado";
                             $lacita->correo = "No";
                             $lacita->comentario = $_POST['CitasReservada']['motivo'];
                             $lacita->personal_id = $_POST['CitasReservada']['personal_id'];
                             $lacita->fecha_creacion = date("Y-m-d");
                             $lacita->fecha_hora_creacion = date("Y-m-d H:i:s");
                             $lacita->usuario_id = Yii::app()->user->usuarioId;
                             $lacita->paciente_id = 109;
                             $lacita->save();
                             $lafecha = strtotime('+1 day', strtotime(date($lafecha)));
                             $lafecha = date('Y-m-d', $lafecha);
                             //Guarda en Citas Reservada Detalle
                             $lacitadetalle = new CitasReservadaDetalle();
                             $lacitadetalle->cita_reservada_id = $model->id;
                             $lacitadetalle->cita_id = $lacita->id;
                             $lacitadetalle->estado = 'Activa';
                             $lacitadetalle->save();
                         }
                         $this->redirect(array('view', 'id' => $model->id));
                     }
                 }
             }
         }
         // if($model->save())
         //  	$this->redirect(array('view','id'=>$model->id));
     }
     $this->render('create', array('model' => $model));
 }