@Override public String executa(HttpServletRequest req, HttpServletResponse res) { Connection conn = null; String[] ids = req.getParameterValues("id"); String[] quantidades = req.getParameterValues("quantidade"); String codFunc = req.getParameter("funcionario"); String codHosp = req.getParameter("codigoHospedagem"); try { conn = ConnectionFactory.getConnection(); // Inicia a transacao conn.setAutoCommit(false); for (int i = 0; i < ids.length; i++) { Consumo c = new Consumo(); Hospedagem h = new Hospedagem(); ProdutoServico ps = new ProdutoServico(); Funcionario f = new Funcionario(); h.setCdHospedagem(Integer.parseInt(codHosp)); ps.setCdTipoServico(Integer.parseInt(ids[i])); f.setCdPessoa(Integer.parseInt(codFunc)); c.setQtConsumo(Integer.parseInt(quantidades[i])); c.setHospedagem(h); c.setProdutoServico(ps); c.setFuncionarioConsumo(f); boolean confInsert = false; if (ConsumoBO.registrar(conn, c) > 0) { confInsert = true; } req.setAttribute("confInsert", confInsert); } conn.commit(); } catch (Exception e) { try { conn.rollback(); } catch (SQLException sqlExc) { } Excecoes ex = new Excecoes(e); req.setAttribute("error", ex.getMessage()); } setDataPage(req, conn, codHosp); req.setAttribute("varRequest", true); return "registraConsumo.jsp"; }
private void setDataPage(HttpServletRequest req, Connection conn, String codHosp) { try { // guarda lista dos funcionarios req.setAttribute("funcionarios", FuncionarioBO.listarFuncionarios(conn)); // gera a lista de produtos e servicos List<ProdutoServico> listaProdutos = ProdutoServicoBO.consultarProduto(conn); List<ProdutoServico> listaServicos = ProdutoServicoBO.consultarServico(conn); req.setAttribute("listaProdutos", listaProdutos); req.setAttribute("listaServicos", listaServicos); // gera as listas de produto e de servicos consumidos List<Consumo> listaProdutosConsumidos = ConsumoBO.listarItensConsumidos(conn, Integer.parseInt(codHosp), 1); List<Consumo> listaServicosConsumidos = ConsumoBO.listarItensConsumidos(conn, Integer.parseInt(codHosp), 2); req.setAttribute("listaProdutosConsumidos", listaProdutosConsumidos); req.setAttribute("listaServicosConsumidos", listaServicosConsumidos); // Seta Total Produto double totalProduto = 0.0; for (Consumo c : listaProdutosConsumidos) { totalProduto += (c.getProdutoServico().getVrPreco()) * (c.getQtConsumo()); } req.setAttribute("totalProduto", totalProduto); // Seta Total Servico double totalServico = 0.0; for (Consumo c : listaServicosConsumidos) { totalServico += (c.getProdutoServico().getVrPreco()) * (c.getQtConsumo()); } req.setAttribute("totalServico", totalServico); req.setAttribute("codigoHospedagem", codHosp); } catch (Exception e) { Excecoes ex = new Excecoes(e); req.setAttribute("error", ex.getMessage()); } finally { try { conn.close(); } catch (SQLException e) { } } }