From f271229cde9002f798924aad84d5b8d5dcff5a68 Mon Sep 17 00:00:00 2001 From: Joao-Pedro-P-Holanda Date: Tue, 5 Dec 2023 16:58:38 -0300 Subject: [PATCH 1/3] adicionando metodo de listar nomes de eventos --- .../casaculturaqxd/sgec/DAO/EventoDAO.java | 115 ++++++++++-------- 1 file changed, 67 insertions(+), 48 deletions(-) diff --git a/src/main/java/com/casaculturaqxd/sgec/DAO/EventoDAO.java b/src/main/java/com/casaculturaqxd/sgec/DAO/EventoDAO.java index 467bc0a1..8d7ac56c 100644 --- a/src/main/java/com/casaculturaqxd/sgec/DAO/EventoDAO.java +++ b/src/main/java/com/casaculturaqxd/sgec/DAO/EventoDAO.java @@ -209,6 +209,25 @@ public ArrayList listarUltimosEventos() throws SQLException { return eventos; } + public ArrayList listarNomesEventos() throws SQLException { + String sql = "select nome_evento from evento"; + PreparedStatement stmt = connection.prepareStatement(sql); + try { + ArrayList nomes = new ArrayList<>(); + + ResultSet resultSet = stmt.executeQuery(); + while (resultSet.next()) { + nomes.add(resultSet.getString("nome_evento")); + } + return nomes; + } catch (Exception e) { + logException(e); + throw new SQLException("falha listando nomes dos eventos", e); + } finally { + stmt.close(); + } + } + public ArrayList pesquisarEvento(String nome, Date inicioDate, Date fimDate) { String sql = "select id_evento,nome_evento,data_inicial, horario, id_service_file from evento where nome_evento ilike ? "; if (inicioDate != null) @@ -238,29 +257,29 @@ public ArrayList pesquisarEvento(String nome, Date inicioDate, Date fimD public Optional getEvento(Evento evento) throws SQLException { String sql = """ - SELECT - id_evento, - nome_evento, - publico_esperado, - publico_alcancado, - descricao, - data_inicial, - data_final, - horario, - classificacao_etaria, - certificavel, - carga_horaria, - acessivel_em_libras, - num_participantes_esperado, - num_municipios_esperado, - id_grupo_eventos, - num_municipios_alcancado, - num_participantes_alcancado, - num_colaboradores_alcancado, - num_colaboradores_esperado, - id_service_file - FROM evento WHERE id_evento = ? - """; + SELECT + id_evento, + nome_evento, + publico_esperado, + publico_alcancado, + descricao, + data_inicial, + data_final, + horario, + classificacao_etaria, + certificavel, + carga_horaria, + acessivel_em_libras, + num_participantes_esperado, + num_municipios_esperado, + id_grupo_eventos, + num_municipios_alcancado, + num_participantes_alcancado, + num_colaboradores_alcancado, + num_colaboradores_esperado, + id_service_file + FROM evento WHERE id_evento = ? + """; PreparedStatement stmt = connection.prepareStatement(sql); try { stmt.setInt(1, evento.getIdEvento()); @@ -271,9 +290,9 @@ public Optional getEvento(Evento evento) throws SQLException { GrupoEventosDAO grupoEventosDAO = new GrupoEventosDAO(connection); ServiceFileDAO serviceFileDAO = new ServiceFileDAO(connection); Optional optionalImagemCapa = serviceFileDAO - .getArquivo(new ServiceFile(resultSet.getInt("id_service_file"))); + .getArquivo(new ServiceFile(resultSet.getInt("id_service_file"))); Optional optionalGrupoEventos = grupoEventosDAO - .getPreviewGrupoEventos(new GrupoEventos(resultSet.getInt("id_grupo_eventos"))); + .getPreviewGrupoEventos(new GrupoEventos(resultSet.getInt("id_grupo_eventos"))); eventoRetorno = new Evento(); eventoRetorno.setIdEvento(resultSet.getInt("id_evento")); eventoRetorno.setNome(resultSet.getString("nome_evento")); @@ -358,8 +377,8 @@ public Optional getPreviewEvento(Evento evento) throws SQLException { EventoBuilder eventoBuilder = new EventoBuilder(); eventoBuilder.setHorario(resultSet.getTime("horario")).setId(resultSet.getInt("id_evento")) - .setNome(resultSet.getString("nome_evento")).setDataInicial(resultSet.getDate("data_inicial")) - .setImagemCapa(imagemCapa); + .setNome(resultSet.getString("nome_evento")).setDataInicial(resultSet.getDate("data_inicial")) + .setImagemCapa(imagemCapa); return Optional.ofNullable(eventoBuilder.getEvento()); } else { @@ -430,26 +449,26 @@ public ArrayList buscarLocaisPorEvento(Integer idEvento) throws SQL */ public boolean alterarEvento(Evento evento) throws SQLException { String sql = """ - update evento - set nome_evento=?, - publico_esperado=?, - publico_alcancado=?, - descricao=?, - data_inicial=?, - data_final=?, - horario=?, - classificacao_etaria=?::faixa_etaria, - certificavel=?, - carga_horaria=?, - acessivel_em_libras=?, - num_participantes_esperado = ?, - num_municipios_esperado = ?, - num_colaboradores_esperado = ?, - id_grupo_eventos = ?, - id_service_file = ? - - WHERE id_evento=? - """; + update evento + set nome_evento=?, + publico_esperado=?, + publico_alcancado=?, + descricao=?, + data_inicial=?, + data_final=?, + horario=?, + classificacao_etaria=?::faixa_etaria, + certificavel=?, + carga_horaria=?, + acessivel_em_libras=?, + num_participantes_esperado = ?, + num_municipios_esperado = ?, + num_colaboradores_esperado = ?, + id_grupo_eventos = ?, + id_service_file = ? + + WHERE id_evento=? + """; PreparedStatement stmt = connection.prepareStatement(sql); try { @@ -537,7 +556,7 @@ private ArrayList buscarParticipantesPorEvento(Integer idEvento) t * @throws SQLException */ public boolean atualizarParticipantesEvento(ArrayList participantes, Evento evento) - throws SQLException { + throws SQLException { ParticipanteDAO participanteDAO = new ParticipanteDAO(connection); ArrayList participantesAtuais = buscarParticipantesPorEvento(evento.getIdEvento()); try { From 9614ed7aed6fca64535594aa91d028278e09ea05 Mon Sep 17 00:00:00 2001 From: Joao-Pedro-P-Holanda Date: Tue, 5 Dec 2023 17:19:25 -0300 Subject: [PATCH 2/3] setando conteudo de imagem de capa nos metodos get --- .../casaculturaqxd/sgec/DAO/EventoDAO.java | 1 + .../sgec/DAO/GrupoEventosDAO.java | 8 +++-- .../sgec/DAO/InstituicaoDAO.java | 24 ++++++++------- .../sgec/DAO/ParticipanteDAO.java | 29 +++++++++++-------- 4 files changed, 38 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/casaculturaqxd/sgec/DAO/EventoDAO.java b/src/main/java/com/casaculturaqxd/sgec/DAO/EventoDAO.java index 8d7ac56c..7512baef 100644 --- a/src/main/java/com/casaculturaqxd/sgec/DAO/EventoDAO.java +++ b/src/main/java/com/casaculturaqxd/sgec/DAO/EventoDAO.java @@ -371,6 +371,7 @@ public Optional getPreviewEvento(Evento evento) throws SQLException { Optional resultOptional = serviceFileDAO.getArquivo(imagemCapa); if (resultOptional.isPresent()) { imagemCapa = serviceFileDAO.getArquivo(imagemCapa).get(); + imagemCapa.setContent(serviceFileDAO.getContent(imagemCapa)); } else { imagemCapa = null; } diff --git a/src/main/java/com/casaculturaqxd/sgec/DAO/GrupoEventosDAO.java b/src/main/java/com/casaculturaqxd/sgec/DAO/GrupoEventosDAO.java index 1e9b4418..870a7c8d 100644 --- a/src/main/java/com/casaculturaqxd/sgec/DAO/GrupoEventosDAO.java +++ b/src/main/java/com/casaculturaqxd/sgec/DAO/GrupoEventosDAO.java @@ -115,7 +115,9 @@ public Optional getGrupoEventos(GrupoEventos grupoEventos) throws .setOrganizadores(listOrganizadores(grupoEventos)) .setEventos(listEventos(grupoEventos)); if (resultFile.isPresent()) { - grupoEventosBuilder.setImagemCapa(resultFile.get()); + ServiceFile imagemCapa = resultFile.get(); + imagemCapa.setContent(serviceFileDAO.getContent(imagemCapa)); + grupoEventosBuilder.setImagemCapa(imagemCapa); } return Optional.of(grupoEventosBuilder.getGrupoEventos()); } else { @@ -150,7 +152,9 @@ public Optional getPreviewGrupoEventos(GrupoEventos grupoEventos) .setDataInicial(resultSet.getDate("data_inicial")) .setDataFinal(resultSet.getDate("data_final")); if (resultFile.isPresent()) { - grupoEventosBuilder.setImagemCapa(resultFile.get()); + ServiceFile imagemCapa = resultFile.get(); + imagemCapa.setContent(serviceFileDAO.getContent(imagemCapa)); + grupoEventosBuilder.setImagemCapa(imagemCapa); } return Optional.of(grupoEventosBuilder.getGrupoEventos()); } else { diff --git a/src/main/java/com/casaculturaqxd/sgec/DAO/InstituicaoDAO.java b/src/main/java/com/casaculturaqxd/sgec/DAO/InstituicaoDAO.java index 2cf254f3..919ac79e 100644 --- a/src/main/java/com/casaculturaqxd/sgec/DAO/InstituicaoDAO.java +++ b/src/main/java/com/casaculturaqxd/sgec/DAO/InstituicaoDAO.java @@ -42,7 +42,9 @@ public Optional getInstituicao(Instituicao instituicao) throws SQLE ServiceFile imagemCapa = new ServiceFile(resultado.getInt("id_service_file")); if (imagemCapa.getServiceFileId() > 0) { // setar a capa somente se o arquivo existir - instituicao.setImagemCapa(serviceFileDAO.getArquivo(imagemCapa).get()); + imagemCapa = serviceFileDAO.getArquivo(imagemCapa).get(); + imagemCapa.setContent(serviceFileDAO.getContent(imagemCapa)); + instituicao.setImagemCapa(imagemCapa); } instituicao.setIdInstituicao(resultado.getInt("id_instituicao")); instituicao.setNome(resultado.getString("nome_instituicao")); @@ -74,7 +76,9 @@ public Optional getInstituicao(String nome) throws SQLException { ServiceFile imagemCapa = new ServiceFile(resultado.getInt("id_service_file")); if (imagemCapa.getServiceFileId() > 0) { // setar a capa somente se o arquivo existir - instituicao.setImagemCapa(serviceFileDAO.getArquivo(imagemCapa).get()); + imagemCapa = serviceFileDAO.getArquivo(imagemCapa).get(); + imagemCapa.setContent(serviceFileDAO.getContent(imagemCapa)); + instituicao.setImagemCapa(imagemCapa); } instituicao.setIdInstituicao(resultado.getInt("id_instituicao")); @@ -305,7 +309,7 @@ public ArrayList listarColaboradoresGrupoEventos(int idGrupoEventos public boolean vincularOrganizadorEvento(Instituicao instituicao, Integer idEvento) throws SQLException { String sql = "insert into organizador_evento (id_instituicao,id_evento,descricao_contribuicao, valor_contribuicao)" - + " values(?, ?, ?, ?)"; + + " values(?, ?, ?, ?)"; PreparedStatement statement = conn.prepareStatement(sql); try { @@ -326,9 +330,9 @@ public boolean vincularOrganizadorEvento(Instituicao instituicao, Integer idEven } public boolean vincularOrganizadorEvento(Integer idInstituicao, Integer idEvento, String descricaoContribuicao, - String valorContribuicao) throws SQLException { + String valorContribuicao) throws SQLException { String sql = "insert into organizador_evento (id_instituicao,id_evento,descricao_contribuicao, valor_contribuicao)" - + " values(?, ?, ?, ?)"; + + " values(?, ?, ?, ?)"; PreparedStatement statement = conn.prepareStatement(sql); try { @@ -348,7 +352,7 @@ public boolean vincularOrganizadorEvento(Integer idInstituicao, Integer idEvento public boolean vincularColaboradorEvento(Instituicao instituicao, Integer idEvento) throws SQLException { String sql = "insert into colaborador_evento (id_instituicao,id_evento,descricao_contribuicao, valor_contribuicao)" - + " values(?, ?, ?, ?)"; + + " values(?, ?, ?, ?)"; PreparedStatement statement = conn.prepareStatement(sql); try { @@ -368,9 +372,9 @@ public boolean vincularColaboradorEvento(Instituicao instituicao, Integer idEven } public boolean vincularColaboradorEvento(Integer idInstituicao, Integer idEvento, String descricaoContribuicao, - String valorContribuicao) throws SQLException { + String valorContribuicao) throws SQLException { String sql = "insert into colaborador_evento (id_instituicao,id_evento,descricao_contribuicao, valor_contribuicao)" - + " values(?, ?, ?, ?)"; + + " values(?, ?, ?, ?)"; PreparedStatement statement = conn.prepareStatement(sql); try { @@ -390,7 +394,7 @@ public boolean vincularColaboradorEvento(Integer idInstituicao, Integer idEvento public boolean atualizarOrganizadorEvento(Instituicao instituicao, Integer idEvento) throws SQLException { String sql = "UPDATE organizador_evento SET descricao_contribuicao=?, valor_contribuicao=?" - + " WHERE id_instituicao = ? AND id_evento = ?"; + + " WHERE id_instituicao = ? AND id_evento = ?"; PreparedStatement stmt = conn.prepareStatement(sql); try { atualizarInstituicao(instituicao); @@ -411,7 +415,7 @@ public boolean atualizarOrganizadorEvento(Instituicao instituicao, Integer idEve public boolean atualizarColaboradorEvento(Instituicao instituicao, Integer idEvento) throws SQLException { String sql = "UPDATE colaborador_evento SET descricao_contribuicao=?, valor_contribuicao=?" - + " WHERE id_instituicao = ? AND id_evento = ?"; + + " WHERE id_instituicao = ? AND id_evento = ?"; PreparedStatement stmt = conn.prepareStatement(sql); try { atualizarInstituicao(instituicao); diff --git a/src/main/java/com/casaculturaqxd/sgec/DAO/ParticipanteDAO.java b/src/main/java/com/casaculturaqxd/sgec/DAO/ParticipanteDAO.java index 44b3b80e..0942bf64 100644 --- a/src/main/java/com/casaculturaqxd/sgec/DAO/ParticipanteDAO.java +++ b/src/main/java/com/casaculturaqxd/sgec/DAO/ParticipanteDAO.java @@ -45,15 +45,17 @@ public Optional getParticipante(Participante participante) throws ResultSet resultado = statement.executeQuery(); if (resultado.next()) { - ServiceFile resultFile = new ServiceFile(resultado.getInt("id_service_file")); - + Optional optionalImagemCapa = serviceFileDAO + .getArquivo(new ServiceFile(resultado.getInt("id_service_file"))); participante.setIdParticipante(resultado.getInt("id_participante")); participante.setAreaDeAtuacao(resultado.getString("area_atuacao")); participante.setNome(resultado.getString("nome_participante")); participante.setBio(resultado.getString("bio")); participante.setLinkMapaDaCultura(resultado.getString("link_perfil")); - if (serviceFileDAO.getArquivo(resultFile).isPresent()) { - participante.setImagemCapa(serviceFileDAO.getArquivo(resultFile).get()); + if (optionalImagemCapa.isPresent()) { + ServiceFile imagemCapa = optionalImagemCapa.get(); + imagemCapa.setContent(serviceFileDAO.getContent(imagemCapa)); + participante.setImagemCapa(imagemCapa); } return Optional.of(participante); } else { @@ -71,9 +73,9 @@ public Optional getParticipante(Participante participante) throws public Optional getParticipantePorNome(String nome) throws SQLException { String getParticipanteQuery = "SELECT id_participante,nome_participante,area_atuacao,bio,link_perfil,id_service_file FROM participante WHERE nome_participante=?"; - + PreparedStatement statement = conn.prepareStatement(getParticipanteQuery); - + try { statement.setString(1, nome); @@ -81,7 +83,8 @@ public Optional getParticipantePorNome(String nome) throws SQLExce ResultSet resultado = statement.executeQuery(); if (resultado.next()) { - ServiceFile resultFile = new ServiceFile(resultado.getInt("id_service_file")); + Optional optionalImagemCapa = serviceFileDAO + .getArquivo(new ServiceFile(resultado.getInt("id_service_file"))); Participante participante = new Participante(0); @@ -91,8 +94,10 @@ public Optional getParticipantePorNome(String nome) throws SQLExce participante.setBio(resultado.getString("bio")); participante.setLinkMapaDaCultura(resultado.getString("link_perfil")); - if (serviceFileDAO.getArquivo(resultFile).isPresent()) { - participante.setImagemCapa(serviceFileDAO.getArquivo(resultFile).get()); + if (optionalImagemCapa.isPresent()) { + ServiceFile imagemCapa = optionalImagemCapa.get(); + imagemCapa.setContent(serviceFileDAO.getContent(imagemCapa)); + participante.setImagemCapa(imagemCapa); } return Optional.of(participante); } else { @@ -122,7 +127,7 @@ public boolean inserirParticipante(Participante participante) throws SQLExceptio statement.executeUpdate(); ResultSet rs = statement.getGeneratedKeys(); - + if (rs.next()) { participante.setIdParticipante(rs.getInt("id_participante")); return true; @@ -206,9 +211,9 @@ public ArrayList obterListaNomesParticipantes() throws SQLException { String sql = "SELECT nome_participante FROM participante"; PreparedStatement statement = conn.prepareStatement(sql); - + ArrayList nomesParticipantes = new ArrayList(); - + try { ResultSet resultado = statement.executeQuery(); From 2c45be4c20e7af229f589ab1bdc2ecf9a17a6063 Mon Sep 17 00:00:00 2001 From: Francisco Paulino Arruda Filho Date: Tue, 5 Dec 2023 20:06:13 -0300 Subject: [PATCH 3/3] Inserindo view de pesquisar evento --- .../casaculturaqxd/sgec/DAO/EventoDAO.java | 41 ++++++------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/casaculturaqxd/sgec/DAO/EventoDAO.java b/src/main/java/com/casaculturaqxd/sgec/DAO/EventoDAO.java index 7512baef..e22ff91e 100644 --- a/src/main/java/com/casaculturaqxd/sgec/DAO/EventoDAO.java +++ b/src/main/java/com/casaculturaqxd/sgec/DAO/EventoDAO.java @@ -229,12 +229,13 @@ public ArrayList listarNomesEventos() throws SQLException { } public ArrayList pesquisarEvento(String nome, Date inicioDate, Date fimDate) { - String sql = "select id_evento,nome_evento,data_inicial, horario, id_service_file from evento where nome_evento ilike ? "; + String sql = "SELECT * FROM pesquisar_evento where nome ilike ? "; + if (inicioDate != null) - sql += "and data_inicial >= '" + inicioDate.toString() + "' "; + sql += "and inicio >= '" + inicioDate.toString() + "' "; if (fimDate != null) - sql += "and data_final <= '" + fimDate.toString() + "' "; + sql += "and fim <= '" + fimDate.toString() + "' "; if (nome == "" && inicioDate == null && fimDate == null) sql += "limit 30"; @@ -245,6 +246,7 @@ public ArrayList pesquisarEvento(String nome, Date inicioDate, Date fimD PreparedStatement stmt = connection.prepareStatement(sql); stmt.setString(1, "%" + nome + "%"); ResultSet resultSet = stmt.executeQuery(); + while (resultSet.next()) { Evento evento = new Evento(resultSet.getInt("id_evento")); eventos.add(getPreviewEvento(evento).get()); @@ -359,9 +361,8 @@ public Optional getEvento(String nomeEvento) throws SQLException { } public Optional getPreviewEvento(Evento evento) throws SQLException { - String sql = "SELECT id_evento,nome_evento,data_inicial, horario, id_service_file FROM evento WHERE id_evento = ?"; + String sql = "SELECT id_evento, nome_evento, acessivel_em_libras, data_inicial, horario, id_service_file FROM evento WHERE id_evento = ?"; PreparedStatement preparedStatement = connection.prepareStatement(sql); - try { preparedStatement.setInt(1, evento.getIdEvento()); ResultSet resultSet = preparedStatement.executeQuery(); @@ -377,8 +378,12 @@ public Optional getPreviewEvento(Evento evento) throws SQLException { } EventoBuilder eventoBuilder = new EventoBuilder(); - eventoBuilder.setHorario(resultSet.getTime("horario")).setId(resultSet.getInt("id_evento")) - .setNome(resultSet.getString("nome_evento")).setDataInicial(resultSet.getDate("data_inicial")) + eventoBuilder + .setHorario(resultSet.getTime("horario")) + .setAcessivelEmLibras(resultSet.getBoolean("acessivel_em_libras")) + .setId(resultSet.getInt("id_evento")) + .setNome(resultSet.getString("nome_evento")) + .setDataInicial(resultSet.getDate("data_inicial")) .setImagemCapa(imagemCapa); return Optional.ofNullable(eventoBuilder.getEvento()); @@ -394,28 +399,6 @@ public Optional getPreviewEvento(Evento evento) throws SQLException { } } - public Optional getPreviewEvento(String nomeEvento) throws SQLException { - String sql = "SELECT id_evento FROM evento WHERE nome_evento ILIKE ?"; - PreparedStatement preparedStatement = connection.prepareStatement(sql); - - try { - preparedStatement.setString(1, nomeEvento); - ResultSet resultSet = preparedStatement.executeQuery(); - if (resultSet.next()) { - Evento evento = new Evento(resultSet.getInt("id_evento")); - - return getPreviewEvento(evento); - } else { - return Optional.empty(); - } - } catch (Exception e) { - logException(e); - throw new SQLException("falha buscando evento com nome" + nomeEvento, e); - } finally { - preparedStatement.close(); - } - } - private ArrayList buscarArquivosPorEvento(Evento evento) throws SQLException { ServiceFileDAO serviceFileDAO = new ServiceFileDAO(connection); return serviceFileDAO.listarArquivosEvento(evento);