public function eliminarAreas($numeroDocumento) { $connection = parent::initDB(); $query = "DELETE FROM usuario_area WHERE usuario = '{$numeroDocumento}'"; mysql_query($query); if (mysql_affected_rows() == 0) { throw new Exception('No se pudo eliminar el area'); } parent::closeDB($connection); }
public function getNivel($idNivel) { $connection = parent::initDB(); $query = "SELECT idNivel, nombre, descripcion FROM nivel " . "WHERE idNivel = " . $idNivel; $result = mysql_query($query); if (mysql_num_rows($result) == 0) { throw new Exception('No se pudo obtener el nivel'); } $row = mysql_fetch_array($result); $nivel = new Nivel(); $nivel->setIdNivel($row['idNivel']); $nivel->setNombre($row['nombre']); $nivel->setDescripcion($row['descripcion']); parent::closeDB($connection); return $nivel; }
public function existeSuperposicion($semanaEspecial) { $connection = parent::initDB(); $query = "SELECT * " . "FROM semana_especial " . "WHERE str_to_date('" . $semanaEspecial->imprimirInicio() . "', '%d-%m-%Y') < fin AND " . " inicio < str_to_date('" . $semanaEspecial->imprimirFin() . "', '%d-%m-%Y') AND " . " periodo = " . $semanaEspecial->getPeriodo()->getIdPeriodo(); $result = mysql_query($query); if (mysql_num_rows($result) == 0) { parent::closeDB($connection); return false; } else { parent::closeDB($connection); return true; } }
public function reporteFaltasDelDia($dia, $area) { $connection = parent::initDB(); if ($area == 0) { $query = "SELECT nombre, apellido, numeroDocumento, area, ingreso, egreso " . "FROM (SELECT idHorario AS horario, usuario, area, ingreso, egreso " . " FROM horario_asignado " . " WHERE dia = dayofweek(str_to_date('{$dia}', '%d-%m-%Y'))) AS horariosDelDia " . " LEFT OUTER JOIN " . " (SELECT idTurno AS turno, horario, fecha " . " FROM turno_usuario_area " . " WHERE fecha = str_to_date('{$dia}', '%d-%m-%Y')) AS turnosDelDia " . " ON horariosDelDia.horario = turnosDelDia.horario, usuario " . "WHERE turno IS NULL AND " . " usuario.numeroDocumento = horariosDelDia.usuario "; } else { $query = "SELECT nombre, apellido, numeroDocumento, area, ingreso, egreso " . "FROM (SELECT idHorario AS horario, usuario, area, ingreso, egreso " . " FROM horario_asignado " . " WHERE dia = dayofweek(str_to_date('{$dia}', '%d-%m-%Y'))) AS horariosDelDia " . " LEFT OUTER JOIN " . " (SELECT idTurno AS turno, horario, fecha " . " FROM turno_usuario_area " . " WHERE fecha = str_to_date('{$dia}', '%d-%m-%Y')) AS turnosDelDia " . " ON horariosDelDia.horario = turnosDelDia.horario, usuario " . "WHERE turno IS NULL AND " . " usuario.numeroDocumento = horariosDelDia.usuario AND " . " area = {$area} "; } $result = mysql_query($query); $filas = array(); while ($row = mysql_fetch_array($result)) { $fila = new FilaReporteFaltas(); $fila->setNombre($row['nombre']); $fila->setApellido($row['apellido']); $fila->setNumeroDocumento($row['numeroDocumento']); $fila->setArea($this->areaDAO->getArea($row['area'])); $fila->setIngreso($row['ingreso']); $fila->setEgreso($row['egreso']); array_push($filas, $fila); } parent::closeDB($connection); return $filas; }
public function reporteNotificacionesFaltasConReemplazoEntreLosDias($fechaInicio, $fechaFin, $area) { $connection = parent::initDB(); if ($area == 0) { $query = "SELECT usuarioFalta.numeroDocumento AS numeroDocumento, usuarioFalta.nombre AS nombre,\n usuarioFalta.apellido AS apellido, area, fechaFalta, horaFalta,\n usuarioRecupera.numeroDocumento AS numeroDocumentoRecupera,\n usuarioRecupera.nombre AS nombreRecupera,\n usuarioRecupera.apellido AS apellidoRecupera,\n fechaRecupera, horaRecupera, fechaRegistro\n FROM usuario AS usuarioFalta, notificacion_falta_usuarios, usuario AS usuarioRecupera\n WHERE usuarioRecupera != usuarioFalta AND\n notificacion_falta_usuarios.usuarioFalta = usuarioFalta.numeroDocumento AND\n notificacion_falta_usuarios.usuarioRecupera = usuarioRecupera.numeroDocumento AND\n fechaFalta BETWEEN str_to_date('{$fechaInicio}', '%d-%m-%Y') AND str_to_date('{$fechaFin}', '%d-%m-%Y')"; } else { $query = "SELECT usuarioFalta.numeroDocumento AS numeroDocumento, usuarioFalta.nombre AS nombre,\n usuarioFalta.apellido AS apellido, area, fechaFalta, horaFalta,\n usuarioRecupera.numeroDocumento AS numeroDocumentoRecupera,\n usuarioRecupera.nombre AS nombreRecupera,\n usuarioRecupera.apellido AS apellidoRecupera,\n fechaRecupera, horaRecupera, fechaRegistro\n FROM usuario AS usuarioFalta, notificacion_falta_usuarios, usuario AS usuarioRecupera\n WHERE usuarioRecupera != usuarioFalta AND\n notificacion_falta_usuarios.usuarioFalta = usuarioFalta.numeroDocumento AND\n notificacion_falta_usuarios.usuarioRecupera = usuarioRecupera.numeroDocumento AND\n fechaFalta BETWEEN str_to_date('{$fechaInicio}', '%d-%m-%Y') AND str_to_date('{$fechaFin}', '%d-%m-%Y') AND area = {$area}"; } $result = mysql_query($query); $filas = array(); while ($row = mysql_fetch_array($result)) { $fila = new FilaReporteNotificacionesFaltasConReemplazo(); $fila->setApellido($row['apellido']); $fila->setNombre($row['nombre']); $fila->setNumeroDocumento($row['numeroDocumento']); $fila->setArea($this->areaDAO->getArea($row['area'])); if (!empty($row['fechaFalta'])) { $fila->setFechaFaltaISO($row['fechaFalta']); } if (!empty($row['horaFalta'])) { $fila->setHoraFalta($row['horaFalta']); } if (!empty($row['nombreRecupera'])) { $fila->setNombreRecupera($row['nombreRecupera']); } if (!empty($row['apellidoRecupera'])) { $fila->setApellidoRecupera($row['apellidoRecupera']); } if (!empty($row['numeroDocumentoRecupera'])) { $fila->setNumeroDocumentoRecupera($row['numeroDocumentoRecupera']); } if (!empty($row['fechaRecupera'])) { $fila->setFechaRecuperaISO($row['fechaRecupera']); } if (!empty($row['horaRecupera'])) { $fila->setHoraRecupera($row['horaRecupera']); } if (!empty($row['fechaRegistro'])) { $fila->setFechaRegistro($row['fechaRegistro']); } array_push($filas, $fila); } parent::closeDB($connection); return $filas; }