/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new HojaGastos(); $superTotal = 0; // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['HojaGastos'])) { $datosCita = Citas::model()->findByPk($_GET['idCita']); $model->attributes = $_POST['HojaGastos']; $model->cita_id = $datosCita->id; $model->paciente_id = $datosCita->paciente_id; $model->observaciones = $_POST['HojaGastos']['observaciones']; $model->fecha = date("Y-m-d H:i:s"); $model->personal_id = Yii::app()->user->usuarioId; if ($model->save()) { //Los detalles de la Hoja de Gastos for ($i = 0; $i <= $_POST['variable']; $i++) { if (isset($_POST['producto_' . $i])) { $detalleC = new HojaGastosDetalle(); $detalleC->hoja_gastos_id = $model->id; $detalleC->producto_id = $_POST['elid_' . $i]; $detalleC->cantidad = $_POST['cantidad_' . $i]; $detalleC->save(); //Agregar a relaciĆ³n de Hoja de gstos $elCosto = ProductoInventario::model()->findByPk($_POST['producto_' . $i]); //Reducir inventario e inventario detalle $elProducto = InventarioPersonalDetalle::model()->find('id =' . $_POST['producto_' . $i] . " and inventario_personal_id =" . Yii::app()->user->usuarioId); $elProducto->cantidad = $elProducto->cantidad - $_POST['cantidad_' . $i]; $elProducto->save(); $elProductoDetalle = ProductoInventarioDetalle::model()->find('producto_inventario_id = ' . $elProducto->producto_id . ' and lote = "' . $_POST['lote_' . $i] . '"'); $elProductoDetalle->existencia = $elProductoDetalle->existencia - $_POST['cantidad_' . $i]; if ($elProductoDetalle->save()) { $elProducto = ProductoInventario::model()->findByPk($elProductoDetalle->producto_inventario_id); $elProducto->cantidad = $elProducto->cantidad - $_POST['cantidad_' . $i]; $elProducto->save(); } $superTotal = $superTotal + $elProducto->costo_iva; } } } $relacion = new RelacionHojaGastos(); $relacion->hoja_gastos_id = $model->id; $relacion->paciente_id = $model->paciente_id; $relacion->n_identificacion = $datosCita->n_identificacion; $relacion->hoja = "Hoja de Gastos"; $relacion->asistencial_id = $datosCita->personal_id; $relacion->cita_id = $datosCita->id; $relacion->linea_servicio_id = $datosCita->linea_servicio_id; $relacion->fecha = date("Y-m-d"); $relacion->fecha_hora = date("Y-m-d H:i:s"); $relacion->costo = $superTotal; $relacion->personal_id = Yii::app()->user->usuarioId; $relacion->save(); $this->redirect(array('view', 'id' => $model->id)); } $this->render('create', array('model' => $model)); }
public function actionPendientes() { //Aca cargaremos todos los modelos $citasHoy = Citas::model()->count("fecha_cita = '" . date('Y-m-d') . "' and estado = 'Programada' and personal_id = " . Yii::app()->user->usuarioId); $seguimientosHoy = SeguimientoComercial::model()->count("fecha_accion = '" . date('Y-m-d') . "' and estado = 'Abierto' and responsable_id = " . Yii::app()->user->usuarioId); $citasVencidas = Citas::model()->count("estado = 'Vencida' and personal_id = " . Yii::app()->user->usuarioId); $seguimientosVencidos = SeguimientoComercial::model()->count("estado = 'Vencido' and responsable_id = " . Yii::app()->user->usuarioId); $tareas = PersonalTareas::model()->count("estado = 'Activa' and personal_id = " . Yii::app()->user->usuarioId); $tareasVencidas = PersonalTareas::model()->count("estado = 'Vencida' and personal_id = " . Yii::app()->user->usuarioId); $this->layout = 'main'; $this->render('pendientes', array('citasHoy' => $citasHoy, 'seguimientosHoy' => $seguimientosHoy, 'citasVencidas' => $citasVencidas, 'seguimientosVencidos' => $seguimientosVencidos, 'tareas' => $tareas, 'tareasVencidas' => $tareasVencidas)); }
<div class="span5"> <?php if ($model->tratamiento_interes_id == NULL) { $trata = ""; } else { $trata = $model->tratamientoInteres->name; } $this->widget('zii.widgets.CDetailView', array('data' => $model, 'attributes' => array('ciudad', 'pais', 'estado_civil', 'ocupacion', 'tipo_vinculacion', 'Aseguradora', 'nombre_acompanante', 'acompanante_telefono', 'nombre_responsable', 'relacion_responsable', 'telefono_responsable', array('name' => 'Tratamiento de Interes', 'value' => $trata), 'observaciones', array('name' => 'Estado', 'value' => $estado)))); ?> </div> </div> <div class="row"> <div class="span12"></div> </div> <?php $lasCitas = Citas::model()->findAll("paciente_id = {$model->id}"); if (count($lasCitas) > 0) { ?> <div class="row"> <div class="span12"> <h2 class="text-center">Historial de Citas</h2> <table class="table table-striped"> <tr> <th>Fecha</th> <th>Hora Inicio</th> <th>Hora Fin</th> <th>Profesional</th> <th>Contrato</th> <th>Servicio</th> <th>Comentario</th>
public function actionExportarCompras() { $lafecha = Yii::app()->dateformatter->format("yyyy-MM-dd", $_GET['lafecha']); $elpersonal = $_GET['elpersonal']; // Load data $model = Citas::model()->findAll("fecha_cita='{$lafecha}' and personal_id = {$elpersonal}"); // Export it $this->toExcel($model, array('paciente.nombreCompleto::Paciente', 'paciente.celular::Celular', 'personal.nombreCompleto::Personal', 'lineaServicio.nombre::Linea de Servicio', 'fecha_cita', 'horaInicio.hora::Hora de inicio', 'horaFin.hora::Hora Fin', 'comentario')); }
?> <td style="width: 300px;"> <?php $this->beginWidget('zii.widgets.CPortlet', array('title' => "<small class='ultra_mini'>" . $nombreMedico . "</small>")); ?> <?php $lashoras = HorasServicio::model()->findAll(); foreach ($lashoras as $las_horas) { //Buscar si hay Citas ?> <?php $color = 0; $citasProgramadas = Citas::model()->findAll("fecha_cita ='{$fechaBusqueda}' and personal_id = '{$los_medicos->id}' and (hora_inicio <= '{$las_horas->id}' and hora_fin >='{$las_horas->id}')"); if (count($citasProgramadas) > 0) { foreach ($citasProgramadas as $citas_programadas) { $color++; if ($color % 2 == 0) { $elcolor = "success"; } else { $elcolor = "error"; } //if ($citas_programadas->personal_id == $los_medicos->id and ($citas_programadas->hora_inicio <= $las_horas->id and $citas_programadas->hora_fin >=$las_horas->id)) { ?> <table width=100% class="table table-bordered"> <tr class="<?php echo $elcolor; ?> ">
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"); } } } } } }
</td> <td> <img src="images/empleados.png"/></div> </td> </tr> </table> </header> </div> <!--Contadores --> <?php $pacientes = Paciente::model()->count(); $citas = Citas::model()->count("fecha_cita = '" . date('Y-m-d') . "' and estado = 'Programada'"); $seguimientos = SeguimientoComercial::model()->count("fecha_accion = '" . date('Y-m-d') . "'"); $vencidas = Citas::model()->count("estado = 'Vencida'"); $inventario = InventarioPersonal::model()->count("personal_id = " . Yii::app()->user->usuarioId); $tareas = 0; if (!Yii::app()->user->isGuest) { $tareas = PersonalTareas::model()->count("estado = 'Activa' and personal_id = " . Yii::app()->user->usuarioId); } ?> <div class="row"> <div class = "span4"> <?php $this->beginWidget('zii.widgets.CPortlet', array('title' => "<b>Pacientes Registrados</b>")); ?> <div class="row"> <div class="span2">
/** * 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 Citas the loaded model * @throws CHttpException */ public function loadModel($id) { $model = Citas::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
/** * 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)); }
<!DOCTYPE html> <!-- To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools | Templates and open the template in the editor. --> <?php include './clases/controlador/Citas.php'; ?> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <?php $obj = new Citas(); #$resultado = $obj->getSolicitante('V', '18581242'); #$resultado = $obj->getCitasActivas("2016-03-01"); $resultado = $obj->getCitasCanceladas("2015-11-12"); var_dump($resultado); ?> </body> </html>
<?php $baseUrl = Yii::app()->theme->baseUrl; $cs = Yii::app()->getClientScript(); Yii::app()->clientScript->registerCoreScript('jquery'); $cs->registerCssFile($baseUrl . '/css/bootstrap.min.css'); $cs->registerCssFile($baseUrl . '/css/bootstrap-responsive.min.css'); $cs->registerCssFile($baseUrl . '/css/abound.css'); ?> <link rel="stylesheet" type="text/css" href="<?php echo $baseUrl; ?> /css/style-purple.css" /> <?php $model = Citas::model()->findByPK($_GET['id']); ?> <div class="row"> <div class="span1"></div> <div class="span10"> <h1>Cita #<?php echo $model->id; ?> </h1> <?php if ($model->fecha_cita != '') { $fecha_cita = date('d-m-Y', strtotime($model->fecha_cita)); } else {
<?php $form = $this->beginWidget('CActiveForm', array('id' => 'hoja-gastos-form', 'enableAjaxValidation' => false)); if (isset($_GET['idCita'])) { $laCita = $_GET['idCita']; } else { $laCita = "0"; } if (isset($_GET['idPaciente'])) { $idPaciente = $_GET['idPaciente']; //$idPaciente = $datosCita->paciente_id; $paciente = Paciente::model()->findByPk($idPaciente); } else { $idPaciente = "0"; } $datosCita = Citas::model()->findByPk($laCita); if ($laCita != 0) { ?> <?php echo $form->errorSummary($model); ?> <div class="row"> <div class="span1"></div> <div class="span5"> <h4 class="text-center">Datos de Paciente</h4> <?php $this->widget('zii.widgets.CDetailView', array('data' => $paciente, 'attributes' => array('nombreCompleto', 'n_identificacion', 'edad'))); ?> </div>
/** * Devuelve un arrar con las fechasHoras de cada cita para el usuario actual * @return array */ protected function obtenerCitasUsuarioActual() { $resultado = array(); //declaracion de array vacio foreach (Citas::model()->getCitasUsuario() as $lineas) { array_push($resultado, array('title' => 'Cita con el doctor ' . $lineas["NombreCompleto"] . ' ' . $lineas["FechaHoraInicio"], 'start' => $lineas["FechaHoraInicio"], 'end' => $lineas["FechaHoraInicio"], 'url' => Yii::app()->baseUrl . '?r=/citas/view&id=' . $lineas["idCita"])); } return $resultado; }