Example #1
0
 public function regperAction()
 {
     $sid = new Container('base');
     $id_usuario = $sid->offsetGet('id_usuario');
     $dv = "";
     $rut_format = "";
     $status = "";
     $error = "";
     $idPersona = "0";
     if (isset($id_usuario)) {
         $v = $this->request->getPost();
         if (isset($v['nombrep1']) && $v['nombrep1'] != "") {
             $rut = isset($v['rutp1']) ? $v['rutp1'] : "";
             $rut_format = $rut;
             $this->dbAdapter = $this->getServiceLocator()->get('Zend\\Db\\Adapter');
             $persona = new PersonaTable($this->dbAdapter);
             if (!SysFnc::correoValido($v['correop1'])) {
                 $status = "nok";
                 $error = "Error correo invalido";
             }
             if ($rut != "" && $error == "") {
                 //formato de rut extraemos
                 $valores = explode("-", $rut);
                 $dv = $valores[1];
                 $rut = str_replace(".", "", $valores[0]);
                 $listaRut = $persona->getDatosRut($rut);
                 if (count($listaRut) > 0) {
                     $status = "nok";
                     $error = "El rut ya existe en el sistema";
                 }
             }
             if ($error == "") {
                 $data = array("tipo" => $v['tipop1'], "rut" => $rut, "dv" => $dv, "dni" => $v['dnip1'], "nombre" => $v['nombrep1'], "apellido" => $v['apellidop1'], "apellido2" => $v['apellido2p1'], "telefono" => $v['telefonop1'], "correo" => $v['correop1'], "user_create" => $id_usuario);
                 $idPersona = $persona->nuevaPersona($data);
                 $status = "ok";
             }
         } else {
             $status = "nok";
             $error = "Nombre de la persona esta vacio";
             $idPersona = "-1";
         }
     } else {
         $status = "nok";
         $error = "usuario no encontrado";
         $idPersona = "-1";
     }
     return new JsonModel(array('status' => $status, 'error' => $error, 'idpersona' => $idPersona, 'dv' => $dv, 'rutformat' => $rut_format));
 }
 public function indexAction()
 {
     //Conectamos a BBDD
     $sid = new Container('base');
     $db_name = $sid->offsetGet('dbNombre');
     $this->dbAdapter = $this->getServiceLocator()->get($db_name);
     //Instancias
     $dpto = new UnidadTable($this->dbAdapter);
     $form = new NotificacionForm("form");
     //Obtenemos combo dptos
     $dptos = $dpto->getDatosActivos();
     //Cargamos dptos en formulario
     $form->get('id_unidad')->setAttribute('options', $dptos);
     $this->layout('layout/conserje');
     $result = new ViewModel(array('rsptaOK' => SysFnc::rspOK(), 'form' => $form));
     //$result->setTerminal(true);
     return $result;
 }
Example #3
0
 public function registrarAction()
 {
     $sid = new Container('base');
     $db_name = $sid->offsetGet('dbNombre');
     $id_db = $sid->offsetGet('id_db');
     $this->dbAdapter = $this->getServiceLocator()->get($db_name);
     $this->layout('layout/conserje');
     $time = time();
     $fechaCompleta = date("d-m-Y H:i:s", $time);
     setlocale(LC_TIME, 'spanish') . ': ';
     $mostrarFechaEst = ucfirst(iconv('ISO-8859-1', 'UTF-8', strftime('%A %d de %B del %Y', time())));
     $form = new VisitaForm("form");
     $unidad = new UnidadTable($this->dbAdapter);
     $motivo = new MotivoVisitaTable($this->dbAdapter);
     $form->get('id_unidad')->setAttribute('options', $unidad->getDatosActivos());
     $form->get('id_motivo')->setAttribute('options', $motivo->getDatosActivos());
     $form->get('fechaHoraV')->setAttribute('value', $fechaCompleta);
     $e = new EstacionamientoTable($this->dbAdapter);
     $mapa = $e->getEstVist($this->dbAdapter);
     return new ViewModel(array("form" => $form, "mapa" => $mapa, "mostrarFechaEst" => $mostrarFechaEst, 'rsptaOK' => SysFnc::rspOK(), 'nuevaPersona' => SysFnc::nuevaPersona()));
 }
 public function sendmailcircularAction()
 {
     //CORREOOOOOO
     $sid = new Container('base');
     $id_usuario = $sid->offsetGet('id_usuario');
     $id_db = $sid->offsetGet('id_db');
     $status = "ok";
     $mensaje = "";
     if (isset($id_usuario)) {
         //por seguridad, se aplica consulta de la peticion. Debe existir y con estado Proceso
         $db_name = $sid->offsetGet('dbNombre');
         $this->dbAdapter = $this->getServiceLocator()->get($db_name);
         $circularTable = new CircularTable($this->dbAdapter);
         //recuperamos nro de peticion de circular
         $lc = $this->request->getPost();
         $filtros = array('id' => $lc['id_circular'], 'estado' => 'Proceso');
         $lstCircular = $circularTable->getCircularByDatos($filtros);
         if (count($lstCircular) > 0) {
             // seteamos el link
             $link_circular = 'http://becheck.cl/files/db/' . $id_db . '/circulares/' . $lstCircular[0]['nombre_file'];
             //actualizamos la peticion de Proceso a Enviando
             $filtros = array('id' => $lc['id_circular'], 'estado' => 'Enviando', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms());
             $circularTable->actualizarCircular($filtros);
             //obtenemos todos los correos de la comunidad
             $correos = $circularTable->getListadoCorreoActivos($this->dbAdapter);
             //enviando a la gentita...
             $tamanio = count($correos);
             if ($tamanio > 0) {
                 //seteamos el link del descarga
                 //seteamos para que no expire la trasaccion
                 set_time_limit(90);
                 //enviamos correo masivas
                 $transport = new SmtpTransport();
                 $options = new SmtpOptions(array('name' => 'smtp.gmail.com', 'host' => 'smtp.gmail.com', 'port' => '587', 'connection_class' => 'login', 'connection_config' => array('username' => '*****@*****.**', 'password' => 'xofita123', 'ssl' => 'tls')));
                 for ($i = 0; $i < $tamanio; $i++) {
                     if (isset($correos[$i]['correo'])) {
                         $pos = strpos($correos[$i]['correo'], "@");
                         if ($pos == false) {
                         } else {
                             //si utilizas temporalmente Encomienda
                             $htmlMarkup = \HtmlCorreo::htmlcircular($correos[$i]['nombre'], $link_circular);
                             $html = new MimePart($htmlMarkup);
                             $html->type = "text/html";
                             $body = new MimeMessage();
                             $body->setParts(array($html));
                             $message = new Message();
                             $message->addTo($correos[$i]['correo'])->addFrom('*****@*****.**', 'Sistema be check')->setSubject('AVISO: Nuevo Circular del Condominio')->setBody($body);
                             $transport->setOptions($options);
                             $transport->send($message);
                             sleep(0.5);
                         }
                     }
                 }
                 //actualizamos si fue enviado
                 $filtros = array('id' => $lc['id_circular'], 'estado' => 'Enviado OK', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms());
                 $circularTable->actualizarCircular($filtros);
             } else {
                 $mensaje = "No hay datos para enviar correo masivo a la comunidad";
             }
             $mensaje = "Envio masivo de correo - OK";
         } else {
             $mensaje = "No se envia correos por que no cumple la regla de negocio";
         }
     } else {
         $status = "nok";
         $mensaje = "sesion time out";
     }
     return new JsonModel(array('status' => $status, 'mensaje' => $mensaje));
 }
Example #5
0
 public function cargarresidentesAction()
 {
     $sid = new Container('base');
     $id_usuario = $sid->offsetGet('id_usuario');
     $status = "";
     $mensaje = "";
     if (isset($id_usuario)) {
         $id_db = $sid->offsetGet('id_db');
         //Primero hay que cargar el archivo es decir reemplazamos el archivo
         $File = $this->params()->fromFiles('fileData');
         $adapterFile = new \Zend\File\Transfer\Adapter\Http();
         $adapterFile->setDestination($_SERVER['DOCUMENT_ROOT'] . '/files/db/' . $id_db . '/admin/copropietarios');
         $adapterFile->receive($File['name']);
         //Llamamos Clase PHPExcel
         $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
         $objReader->setReadDataOnly(TRUE);
         //seleccionamos el archivo que ha sido reemplazado con el mimso nombre
         $archivo = $_SERVER['DOCUMENT_ROOT'] . '/files/db/' . $id_db . '/admin/copropietarios/' . $File['name'];
         //cargamos el archivo
         $objPHPExcel = $objReader->load($archivo);
         //Obtenemos Hoja de trabajo
         $objWorksheet = $objPHPExcel->getActiveSheet();
         //validamos RUT debe contener el caracter guion y mayor a 3
         //validamos nombre apellido y apellido2 no vacios y correo consistente y no vacio
         //preparamos la query
         $recorre = true;
         $fila = 3;
         $status = "ok";
         while ($recorre) {
             $dpto = $objWorksheet->getCell('A' . $fila)->getValue();
             if (trim($dpto) == "") {
                 $recorre = false;
                 if ($fila == 3) {
                     $status = "nok";
                     $mensaje = "no hay datos";
                 }
                 break;
             }
             $bodega = $objWorksheet->getCell('B' . $fila)->getValue();
             $estacionamiento = $objWorksheet->getCell('C' . $fila)->getValue();
             $nombre = $objWorksheet->getCell('D' . $fila)->getValue();
             $apellido = $objWorksheet->getCell('E' . $fila)->getValue();
             $apellido_2 = $objWorksheet->getCell('F' . $fila)->getValue();
             $rut = $objWorksheet->getCell('G' . $fila)->getValue();
             $telefono = $objWorksheet->getCell('H' . $fila)->getValue();
             $correo = $objWorksheet->getCell('I' . $fila)->getValue();
             $pais = $objWorksheet->getCell('J' . $fila)->getValue();
             $descripcion = $objWorksheet->getCell('K' . $fila)->getValue();
             if (strpos(trim($rut), "-") === FALSE) {
                 $recorre = false;
                 $status = "nok";
                 $mensaje = "Formato de RUT no es valido: " . $rut;
                 break;
             }
             if (strpos($correo, "@") === FALSE) {
                 $recorre = false;
                 $status = "nok";
                 $mensaje = "Formato de Correo no es valido";
                 break;
             }
             if (trim($nombre) == "" || trim($apellido) == "" || trim($apellido_2) == "") {
                 $recorre = false;
                 $status = "nok";
                 $mensaje = "Valores vacios, Nombre o Apellidos nulos";
                 break;
             }
             //almacenamos en un array desde indice 0
             //primero obtenemos rut y su dv
             //obtenemos rut sin espacios
             $rutSE = trim($rut);
             //tamaƱo del rut
             $rutLen = strlen($rutSE);
             //cortamos hacia la izquierda
             $dv = substr($rutSE, -1, 1);
             $rutSinDv = substr($rutSE, 0, $rutLen - 2);
             $myDatos[$fila - 3] = array("dpto" => trim($dpto), "bodega" => trim($bodega), "estacionamiento" => trim($estacionamiento), "nombre" => trim($nombre), "apellido" => trim($apellido), "apellido_2" => trim($apellido_2), "rut" => $rutSinDv, "dv" => $dv, "telefono" => trim($telefono), "correo" => trim($correo), "pais" => trim($pais), "descripcion" => trim($descripcion));
             $fila++;
         }
         if ($status == "ok") {
             $db_name = $sid->offsetGet('dbNombre');
             $this->dbAdapter = $this->getServiceLocator()->get($db_name);
             $this->dbAdapter2 = $this->getServiceLocator()->get('Zend\\Db\\Adapter');
             $unidad = new UnidadTable($this->dbAdapter);
             $persona = new PersonaTable($this->dbAdapter2);
             $personaDet = new PersonaDetTable($this->dbAdapter);
             //Filtramos los datos
             $contadorPersona = 0;
             $contadorDetalle = 0;
             for ($i = 0; $i < count($myDatos); $i++) {
                 //Recuperamos el id_unidad
                 $datosId = $unidad->getIdUIdBIdEIdPActivos($this->dbAdapter, $myDatos[$i]);
                 if (count($datosId) > 0) {
                     //verificamos si existe la persona
                     if ($datosId[0]['id_persona'] > 0) {
                         $id_persona = $datosId[0]['id_persona'];
                     } else {
                         //insertamos nueva persona
                         $dataPersona = array('rut' => $myDatos[$i]['rut'], 'dv' => $myDatos[$i]['dv'], 'nombre' => $myDatos[$i]['nombre'], 'apellido' => $myDatos[$i]['apellido'], 'apellido2' => $myDatos[$i]['apellido_2'], 'telefono' => $myDatos[$i]['telefono'], 'correo' => $myDatos[$i]['correo'], 'pais' => $myDatos[$i]['pais'], 'observacion' => $myDatos[$i]['descripcion'], 'user_create' => $id_usuario);
                         $id_persona = $persona->nuevaPersona($dataPersona);
                         $contadorPersona++;
                     }
                     //insertamos perdet siempre y cuando no exista la relacion id_unidad con id_persona
                     //si existe no hacemos nada
                     $detallePersona = $personaDet->getDatosPersonaDetalle($datosId[0]['id_unidad'], $id_persona);
                     if (count($detallePersona) == 0) {
                         //insertamos la tabla perdet, porque no existe
                         $myDatosPerDet = array('id_unidad' => $datosId[0]['id_unidad'], 'id_bodega' => $datosId[0]['id_bodega'], 'id_estacionamiento' => $datosId[0]['id_estacionamiento'], 'id_persona' => $id_persona, 'activo' => '1', 'user_create' => $id_usuario, 'date_update' => \Sistema\Util\SysFnc::FechaActualYmdHms(), 'condicion' => 'C', 'titular' => '1', 'representa' => 's', 'gastocomun' => '1');
                         $personaDet->nuevaPersonaDetalle($myDatosPerDet);
                         $contadorDetalle++;
                     }
                 }
             }
             if ($contadorDetalle == 0 && $contadorPersona == 0) {
                 $mensaje = "Se analiza y se verifica que el contenido del fichero ya se encuentra en la base de datos por lo tanto no se inserta datos";
             } else {
                 $mensaje = "Operacion Exitosa: Se inserto " . $contadorPersona . " nuevas personas y se inserto " . $contadorDetalle . " Detalles Personas. Si no coincide la cantidad significa que ya existen en la base de datos";
             }
         }
     } else {
         $status = "nok";
         $mensaje = "Sesion expirada...";
     }
     return new JsonModel(array('status' => $status, 'mensaje' => $mensaje));
 }
Example #6
0
 public function updateNota($lista)
 {
     $array = array('texto' => $lista['texto'], 'date_update' => SysFnc::FechaActualYmdHms());
     $this->update($array, array('id' => $lista['id']));
 }
Example #7
0
 public function verdetencAction()
 {
     $sid = new Container('base');
     $db_name = $sid->offsetGet('dbNombre');
     $id_db = $sid->offsetGet('id_db');
     $id_usuario = $sid->offsetGet('id_usuario');
     $status = "ok";
     $error = "";
     $modal = "";
     if (isset($id_usuario)) {
         if ($this->request->getPost()) {
             $v = $this->request->getPost();
             $this->dbAdapter = $this->getServiceLocator()->get($db_name);
             $enc = new EncomiendaTable($this->dbAdapter);
             $perdet = new PersonaDetTable($this->dbAdapter);
             $datosEnc = $enc->detalleEnconmienda($this->dbAdapter, $v['id']);
             $dataPer = $perdet->getHabitanDpto($this->dbAdapter, $v['id_unidad']);
             $habitan = "";
             for ($i = 0; $i < count($dataPer); $i++) {
                 $habitan = $habitan . " <tr><td>" . $dataPer[$i]['nombres'] . "</td><td>" . $dataPer[$i]['telefono'] . "</td><td>" . $dataPer[$i]['condicion'] . "</td></tr>";
             }
             $vector = array('dpto' => 'Departamento: ' . $datosEnc[0]['dpto'], 'estado' => $datosEnc[0]['estado'], 'habitan' => $habitan, 'remite' => $datosEnc[0]['remite'], 'retirado' => isset($datosEnc[0]['retira']) ? $datosEnc[0]['retira'] : '', 'fecha' => $datosEnc[0]['fecha_ingreso'], 'detalle' => $datosEnc[0]['detalle'], 'observacion' => $datosEnc[0]['observacion'], 'ingresado' => $datosEnc[0]['registrado'], 'actualizado' => isset($datosEnc[0]['actualizado']) ? $datosEnc[0]['actualizado'] : '', 'date_update' => isset($datosEnc[0]['date_update']) ? $datosEnc[0]['date_update'] : '');
             $modal = SysFnc::detalleEnc($vector);
         } else {
             $status = "nok";
             $error = "Parametros de entradas vacios";
         }
     } else {
         $status = "nok";
         $error = "La sesion ha caducado, vuelva ingresar al sistema";
     }
     return new JsonModel(array('status' => $status, 'error' => $error, 'modal' => $modal));
 }
 public function guardarpartidaAction()
 {
     //Conectamos con BBDD
     $sid = new Container('base');
     $db_name = $sid->offsetGet('dbNombre');
     $this->dbAdapter = $this->getServiceLocator()->get($db_name);
     //Instancias
     $part = new PartidaMantTable($this->dbAdapter);
     //Obtenemos datos POST
     $lista = $this->request->getPost();
     //Validamos post
     if (isset($lista['categoria'])) {
         //Retornamos formulario a la vista
         $result = new ViewModel(array('categoria' => $categoria, 'rsptaOK' => SysFnc::rspOK()));
         $result->setTerminal(true);
         return $result;
     } else {
         //Guardamos partida
         $partida = $part->guardarPartida($lista);
     }
     //Retornamos a la vista
     $descripcion = "Cambios guardados exitosamente...";
     $result = new JsonModel(array('status' => 'ok', 'descripcion' => $descripcion));
     return $result;
 }
Example #9
0
 public function aqoperAction()
 {
     $error = "";
     $status = "";
     $msj = "";
     $sid = new Container('base');
     $id_usuario = $sid->offsetGet('id_usuario');
     $id_db = $sid->offsetGet('id_db');
     $prm = $this->request->getPost();
     if (isset($id_usuario) && !empty($prm['id']) && !empty($prm['oper'])) {
         $db_name = $sid->offsetGet('dbNombre');
         $this->dbAdapter = $this->getServiceLocator()->get($db_name);
         $vD = new RsvQuinchoTable($this->dbAdapter);
         if ($prm['oper'] == "reservaOK") {
             $data = array('estado' => 'Reserva', 'condicion' => 'Abierto', 'observacion_entrega' => 'Se entrega quincho OK. Pasa de Pre Reserva a Reserva', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms());
             $vD->actualizarRsvQuincho($prm['id'], $data);
             $msj = "Se hizo la reserva satisfactoriamente...";
         }
         if ($prm['oper'] == "finalizaOK") {
             $data = array('estado_recibido' => 'OK', 'condicion' => 'Cerrado', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms());
             $vD->actualizarRsvQuincho($prm['id'], $data);
             $msj = "Se ha finalizado la reserva satisfactoriamente...";
         }
         if ($prm['oper'] == "anulaReserva") {
             $data = array('activo' => 0, 'estado_entrega' => '', 'observacion_entrega' => '', 'observacion_cancelacion' => $prm['obs'], 'condicion' => 'Cancelado', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms());
             $vD->actualizarRsvQuincho($prm['id'], $data);
             $msj = "Se ha cancelado la reserva satisfactoriamente...";
         }
         if ($prm['oper'] == "finalizaNOK") {
             $data = array('estado_recibido' => 'NOK', 'observacion_recibido' => $prm['obs'], 'condicion' => 'Cerrado', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms());
             $vD->actualizarRsvQuincho($prm['id'], $data);
             $msj = "Se ha finalizado con observacion la reserva satisfactoriamente...";
         }
         if ($prm['oper'] == "finalizaM") {
             $data = array('estado_recibido' => 'NOK', 'motivo_multa' => $prm['obs'], 'monto_multa' => $prm['monto'], 'condicion' => 'Cerrado', 'user_update' => $id_usuario, 'date_update' => SysFnc::FechaActualYmdHms());
             $vD->actualizarRsvQuincho($prm['id'], $data);
             $msj = "Se ha finalizado con multa la reserva satisfactoriamente...";
         }
         $status = "ok";
     } else {
         $error = "Se ha caducado la sesion o parametro incorrecto";
     }
     $datos = array('status' => $status, 'error' => $error, 'message' => $msj);
     $result = new JsonModel($datos);
     return $result;
 }