public boolean deleteAllPaciente(int id) { List<Consulta> consultas = new ArrayList<>(); String sql = "SELECT * FROM Consulta where NI_Paciente = ?"; try { PreparedStatement ps = connection.prepareStatement(sql); ps.setInt(1, id); ResultSet rs = ps.executeQuery(); ProcedimentoDAO procedimentoDAO = new ProcedimentoDAO(); PacienteDAO pacienteDAO = new PacienteDAO(); ProfissionalDAO profissionalDAO = new ProfissionalDAO(); while (rs.next()) { Paciente paciente = pacienteDAO.readById(rs.getInt("NI_Paciente")); Profissional profissional = profissionalDAO.readById(rs.getInt("NI_Profissional")); Consulta consulta = new Consulta( rs.getDate("DT_dataHora"), rs.getDouble("ND_valorTotal"), rs.getInt("NI_Consulta"), paciente, profissional); consulta.setProcedimentos(procedimentoDAO.readByConsulta(consulta.getIdConsulta())); procedimentoDAO.deleteAllInConsulta(consulta.getIdConsulta()); delete(consulta); } ps.close(); rs.close(); return true; } catch (SQLException ex) { ex.printStackTrace(); } return false; }
@Override public List<Consulta> read() { List<Consulta> consultas = new ArrayList<>(); String sql = "SELECT * FROM Consulta c " + "INNER JOIN Paciente p ON p.NI_Paciente = c.NI_Paciente " + "JOIN Profissional pr ON pr.NI_Profissional = c.NI_Profissional"; try { PreparedStatement ps = connection.prepareStatement(sql); ResultSet rs = ps.executeQuery(); PacienteDAO pacienteDAO = new PacienteDAO(); ProfissionalDAO profissionalDAO = new ProfissionalDAO(); ProcedimentoDAO procedimentoDAO = new ProcedimentoDAO(); while (rs.next()) { Paciente paciente = pacienteDAO.readById(rs.getInt("NI_Paciente")); Profissional profissional = profissionalDAO.readById(rs.getInt("NI_Profissional")); Consulta consulta = new Consulta( rs.getDate("DT_dataHora"), rs.getDouble("ND_valorTotal"), rs.getInt("NI_Consulta"), paciente, profissional); consulta.setProcedimentos(procedimentoDAO.readByConsulta(consulta.getIdConsulta())); consultas.add(consulta); } ps.close(); rs.close(); } catch (SQLException ex) { ex.printStackTrace(); } return consultas; }
public Consulta readById(int id) { String sql = "SELECT * FROM Consulta c " + "INNER JOIN Paciente p ON p.NI_Paciente = c.NI_Paciente " + "JOIN Profissional pr ON pr.NI_Profissional = c.NI_Profissional " + "WHERE NI_Consulta = ?"; try { PreparedStatement ps = connection.prepareStatement(sql); ps.setInt(1, id); ResultSet rs = ps.executeQuery(); PacienteDAO pacienteDAO = new PacienteDAO(); ProfissionalDAO profissionalDAO = new ProfissionalDAO(); ProcedimentoDAO procedimentoDAO = new ProcedimentoDAO(); while (rs.next()) { Paciente paciente = pacienteDAO.readById(rs.getInt("NI_Paciente")); Profissional profissional = profissionalDAO.readById(rs.getInt("NI_Profissional")); Consulta consulta = new Consulta( rs.getDate("DT_dataHora"), rs.getDouble("ND_valorTotal"), rs.getInt("NI_Consulta"), paciente, profissional); consulta.setProcedimentos(procedimentoDAO.readByConsulta(consulta.getIdConsulta())); ps.close(); rs.close(); return consulta; } } catch (SQLException ex) { ex.printStackTrace(); } return null; }
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ConverteData convData = new ConverteData(); request.setAttribute("convData", convData); /// sessao HttpSession sessao = request.getSession(true); /// Receber variavel de acao String acao = request.getParameter("acao"); /// Acao Padao if (acao == null) acao = "listar"; /// Instanciar bean/dao - Data Access Object PessoaDAO daoPessoa = new PessoaDAO(); PacienteDAO dao; PacienteBean paciente = new PacienteBean(); if (acao != null || !acao.equalsIgnoreCase("lista")) { if (request.getParameter("codigo") != null && request.getParameter("codigo") != "") paciente.setCodigo(Integer.parseInt(request.getParameter("codigo"))); paciente.setNome(request.getParameter("nome")); paciente.setCpf(request.getParameter("cpf")); paciente.setId(request.getParameter("id")); paciente.setSenha(request.getParameter("senha")); paciente.setEmail(request.getParameter("email")); paciente.setDataNascimento(convData.converteEmData(request.getParameter("data-nascimento"))); try { paciente.setCodigoPessoa(Integer.parseInt(request.getParameter("codigo-pessoa"))); } catch (Exception e) { } } try { dao = new PacienteDAO(); RequestDispatcher rd = null; if (acao.equalsIgnoreCase("listar")) { List pacientesList = dao.retornarTodos(); request.setAttribute("pacientesList", pacientesList); rd = request.getRequestDispatcher("pacienteLista.jsp"); } else if (acao.equalsIgnoreCase("cadastrar")) { /// Verificar se existem pessoa com esse CPF PessoaBean pessoa = daoPessoa.procurarPeloCpf(paciente); if (pessoa.getCodigo() == 0) { daoPessoa.cadastrar(paciente); } else { paciente.setCodigoPessoa(pessoa.getCodigo()); } dao.cadastrar(paciente); request.setAttribute("pacienteSelecionado", paciente); rd = request.getRequestDispatcher("MedicoController?acao=formulario"); } else if (acao.equalsIgnoreCase("completarcadastro")) { /// Verificar se existem pessoa com esse CPF dao.cadastrar(paciente); request.setAttribute("pacienteSelecionado", paciente); /// Instanciar Pessoa do médico PessoaBean pessoaPaciente = new PessoaBean(); pessoaPaciente.setCodigo(paciente.getCodigoPessoa()); pessoaPaciente.setSenha(paciente.getSenha()); pessoaPaciente.setStatus(2); /// Setar senha daoPessoa.definirSenha(pessoaPaciente); /// Ativar usuário daoPessoa.alterarStatus(pessoaPaciente); rd = request.getRequestDispatcher("PessoaController?acao=confirmarcadastro"); } else if (acao.equalsIgnoreCase("excluir")) { dao.excluir(paciente); rd = request.getRequestDispatcher("MedicoController?acao=listar"); } else if (acao.equalsIgnoreCase("obterum")) { paciente = dao.retornarPeloCodigo(paciente); request.setAttribute("pacienteSelecionado", paciente); rd = request.getRequestDispatcher("MedicoController?acao=formulario"); } else if (acao.equalsIgnoreCase("alterar")) { dao.alterar(paciente); request.setAttribute("pacienteSelecionado", paciente); rd = request.getRequestDispatcher("MedicoController?acao=formulario"); } else if (acao.equalsIgnoreCase("formulario")) { rd = request.getRequestDispatcher("pacienteForm.jsp"); } rd.forward(request, response); } catch (Exception e) { e.printStackTrace(); throw new ServletException(e); } }