AJUDA com Servlet - JAVA WEB

24/07/2019

0

Bom dia pelo dia rapaziada do Fórum, alguém poderia me ajudar a consertar essa parte do Servlet? Aqui é feito um cadastro de vários itens em um pedido
[...]
String itens[] = request.getParameterValues("item");
        int quantidadeItens = itens.length;
        String qtds[] = request.getParameterValues("quantidade");
        String valores[] = request.getParameterValues("valor");
[...]
//Cadastro Itens do Pedido
            if (pedido.getIdPedido() > 0) {
                for (int i = 0; i < quantidadeItens; i++) {
                    ItemPedido itemPedido = new ItemPedido();
                    itemPedido.setIdItem(Integer.parseInt(itens[i]));
                    itemPedido.setIdPedido(pedido.getIdPedido());
                    if (qtds[i].equals("")) {
                        itemPedido.setQuantidadeItemPedido(0);
                    } else {
                        itemPedido.setQuantidadeItemPedido(Integer.parseInt(qtds[i]));
                    }
                    itemPedido.setValorUntItem(Double.parseDouble(valores[i]));
                    itemPedido.setValorTotalItem((itemPedido.getValorUntItem())*(itemPedido.getQuantidadeItemPedido()));

                    try {
                        GenericDAO dao3 = new ItemPedidoDAO();
                        if (dao3.cadastrar(itemPedido)) {
                            System.out.println("Item Pedido cadastrado com Sucesso!");
                        } else {
                            System.out.println("ERRO ao cadastrar Item Pedido!");
                        }
                    } catch (Exception ex) {
                        System.out.println("Problemas ao cadastrar Irrigação Área! Erro: " + ex.getMessage());
                        ex.printStackTrace();
                    }
                }
            } else {
                System.out.println("ERRO ao cadastrar Itens do Pedido!");
            }
            //Fim do Cadastro Item do Pedido

E aqui a DAO que realiza o cadastro no banco. obs: nas colunas "quantidade item", "valor total item" e "valor unt item" as vezes ficam com valor "0".
@Override
    public Boolean cadastrar(Object object) {
        ItemPedido itempedido = (ItemPedido) object;
        PreparedStatement stmt = null;
        String sql = "INSERT INTO public.item_pedido(\\n"
                + "	id_item, id_pedido, quantidade_item_pedido, valor_total_item, valor_unt_item)\\n"
                + "	VALUES (?, ?, ?, ?, ?);";
        try {
            stmt = conn.prepareStatement(sql);
            stmt.setInt(1, itempedido.getIdItem());
            stmt.setInt(2, itempedido.getIdPedido());
            stmt.setInt(3, itempedido.getQuantidadeItemPedido());
            stmt.setDouble(4, itempedido.getValorTotalItem());
            stmt.setDouble(5, itempedido.getValorUntItem());
            stmt.execute();
            return true;
        } catch (SQLException ex) {
            System.out.println("Problemas ao cadastrar ItemPedido! Erro:" + ex.getMessage());
            ex.printStackTrace();
            return false;
        } finally {
            try {
                ConnectionFactory.closeConnection(conn, stmt);
            } catch (Exception ex) {
                System.out.println("Problemas ao fechar conexão! Em:" + ex.getMessage());
                ex.printStackTrace();
            }
        }
    }
Hiago

Hiago

Responder

Posts

29/07/2019

Hiago

Realizei algumas mudanças no código do servlet em si e ele está assim agora:
if (pedido.getIdPedido() > 0) {
                    String itens[] = request.getParameterValues("item");
                    int quantidadeItens = itens.length;
                    String qtds[] = request.getParameterValues("quantidade");
                    String valores[] = request.getParameterValues("valor");
                    for (int i = 0; i < quantidadeItens; i++) {
                        ItemPedido itemPedido = new ItemPedido();
                        itemPedido.setIdItem(Integer.parseInt(itens[i]));
                        itemPedido.setIdPedido(pedido.getIdPedido());
                        if (qtds[i].equals("")) {
                            itemPedido.setQuantidadeItemPedido(0);
                        } else {
                            itemPedido.setQuantidadeItemPedido(Integer.parseInt(qtds[i]));
                        }
                        itemPedido.setValorUntItem(Double.parseDouble(valores[i]));
                        itemPedido.setValorTotalItem((itemPedido.getValorUntItem()) * (itemPedido.getQuantidadeItemPedido()));
                        try {
                            GenericDAO dao3 = new ItemPedidoDAO();
                            if (dao3.cadastrar(itemPedido)) {
                                System.out.println("Item Pedido cadastrado com Sucesso!");
                            } else {
                                System.out.println("ERRO ao cadastrar Item Pedido!");
                            }
                        } catch (Exception ex) {
                            System.out.println("Problemas ao cadastrar Itens do Pedido! Erro: " + ex.getMessage());
                            ex.printStackTrace();
                        }
                    }
                }

Estou realmente necessitando de ajuda com essa parte do meu servlet, qualquer ajuda seria bem vinda.
Responder

30/07/2019

Hiago

[RESOLVIDO]
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar