Entrar em condição caso retorne true

2 respostas
java
R

Estou com uma dúvida, estou fazendo uma consulta, caso todos os registros da coluna status retornem “true” gostaria que entrasse na condição if, segue abaixo código.

//Servlet

        List<PedidoProduto> pedidoProduto  = daoPedido.listaProdutoPedido(id_pedido);				
			
			if (pedidoProduto.contains(status) == true){
				
				System.out.println("teste");
				
				
			}

        //Dao

          public List<PedidoProduto> listaProdutoPedido(String id_pedido)
		throws SQLException {
	List<PedidoProduto> retorno = new ArrayList<PedidoProduto>();
	String sql = "select op.id,pr.id as id_produto ,pr.ean, pr.descricao,pd.descricao as 
            periodo ,op.quantidade,op.status, o.dias, op.preco,op.desconto, (((op.quantidade * 
            op.preco) * o.dias) / pd.dias) - op.desconto AS total "
			+ "from pedido_produto op "
			+ "inner join produto pr on pr.id = op.id_produto "
			+ "inner join preco pc on pc.id = op.id_preco "
			+ "inner join pedido o on o.id = op.id_pedido "
			+ "inner join periodo pd on pd.id = pc.id_periodo "
			+ "where op.id_pedido = " + id_pedido;

	PreparedStatement statement = connection.prepareStatement(sql);
	ResultSet resultSet = statement.executeQuery();
	while (resultSet.next()) {
		PedidoProduto pedido = new PedidoProduto();
		pedido.setId(resultSet.getLong("id"));
		pedido.setEan(resultSet.getString("ean"));
		pedido.setId_produto(resultSet.getLong("id_produto"));
		pedido.setDescricao(resultSet.getString("descricao"));
		pedido.setPeriodo(resultSet.getString("periodo"));
		pedido.setQuantidade(resultSet.getDouble("quantidade"));
		pedido.setDias(resultSet.getDouble("dias"));
		pedido.setStatus(resultSet.getBoolean("status"));
		pedido.setPreco(resultSet.getDouble("preco"));
		pedido.setDesconto(resultSet.getDouble("desconto"));
		pedido.setTotal(resultSet.getDouble("total"));

		retorno.add(pedido);

	}

	return retorno;

}

BD

2 Respostas

staroski
List<PedidoProduto> pedidoProduto  = daoPedido.listaProdutoPedido(id_pedido);				
if (todosPossuemStatus(pedidoProduto, true)){
    System.out.println("teste");
}

Implementação do método todosPossuemStatus:

private boolean todosPossuemStatus(List<PedidoProduto> lista, boolean status) {
    for (PedidoProduto elemento : lista) {
        if (elemento.getStatus() != status) {
            return false;
        }
    }
    return true;
}
R

@staroski Deu Certo ! Muito Obrigado :+1:

Criado 11 de junho de 2020
Ultima resposta 11 de jun. de 2020
Respostas 2
Participantes 2