public function getHorariosSuperpuestos($horario) { $connection = parent::initDB(); // Nuevo horario if (is_null($horario->getIdHorario())) { $query = "SELECT idHorario, area, fecha, ingreso, egreso " . "FROM horario_asignado " . "WHERE str_to_date('" . $horario->imprimirIngreso() . "', '%H:%i') < egreso AND " . " ingreso < str_to_date('" . $horario->imprimirEgreso() . "', '%H:%i') AND " . " fecha = str_to_date('" . $horario->imprimirFecha() . "', '%d-%m-%Y') AND " . " usuario = '" . $horario->getUsuario()->getNumeroDocumento() . "' AND " . " activo = 1"; } else { // Horario existente $query = "SELECT idHorario, area, fecha, ingreso, egreso " . "FROM horario_asignado " . "WHERE str_to_date('" . $horario->imprimirIngreso() . "', '%H:%i') < egreso AND " . " ingreso < str_to_date('" . $horario->imprimirEgreso() . "', '%H:%i') AND " . " fecha = str_to_date('" . $horario->imprimirFecha() . "', '%d-%m-%Y') AND " . " usuario = '" . $horario->getUsuario()->getNumeroDocumento() . "' AND " . " idHorario != " . $horario->getIdHorario() . " AND " . " activo = 1"; } $result = mysql_query($query); $horarios = array(); while ($row = mysql_fetch_array($result)) { $horario = new Horario(); $horario->setIdHorario($row['idHorario']); $horario->setArea($this->areaDAO->getArea($row['area'])); $horario->setFechaISO($row['fecha']); $horario->setIngreso($row['ingreso']); $horario->setEgreso($row['egreso']); array_push($horarios, $horario); } parent::closeDB($connection); return $horarios; }