Pegar todos registros do mês atual?

Estou com um problema, preciso calcular o valor de todos os pedidos do mês atual meu método é o seguinte:

public BigDecimal getTotalPedidosMes() {
    BigDecimal valor = new BigDecimal(0.00);
    for (PedidoSav obj : this.getPedidos()) {
        if (obj.getCancelado().equals("N") && obj.getTipo().equals("P")
                && obj.getModalidade() != 0 && obj.getNatOp().getBalCod().equals(0)
                && obj.getNatOp().getNatDevolve().equals("N")
                && obj.getDevolucaoOrigem() == null) {
            valor = valor.add(obj.getTotal());
        }
    }
    return valor;
}

Seria a partir da data atual obter o mês e daí obter o valor dos pedidos desse mês.

Não seria mais prático e elegante fazer isso com SQL ?

1 curtida

Pelo contexto que estou trabalhando não

1 curtida
public BigDecimal getTotalPedidosMes() {
        BigDecimal valor = new BigDecimal(0.00);
        for (PedidoSav obj : this.getPedidos()) {
            if (obj.getCancelado().equals("N") && obj.getTipo().equals("P")
                    && obj.getModalidade() != 0 && obj.getNatOp().getBalCod().equals(0)
                    && obj.getNatOp().getNatDevolve().equals("N")
                    && obj.getDevolucaoOrigem() == null) {
                valor = valor.add(obj.getTotal());
            }
        }
        return valor;
    }

Calendar cal = Calendar.getInstance();
int mesAtual = cal.get(Calendar.MONTH) + 1;// O primeiro mês é 0 no Calendar

O resto você se vira aí

1 curtida
public static long getPrimeiroDia() {
	Date d = new Date(System.currentTimeMillis());
	
	Calendar c = Calendar.getInstance();
	c.setTimeInMillis(d.getTime());

	c.set(Calendar.DAY_OF_MONTH, 1);

	d.setTime(c.getTimeInMillis());


	return d.getTime();
}

public static long getUltimoDia() {
    Calendar c = Calendar.getInstance();
    c.setTimeInMillis(System.currentTimeMillis());
    c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));

    return c.getTimeInMillis();
}

vê se isso ajuda.

Entendi os métodos Henrique5, só estou com dificuldade para implementar eles no meu pra trazer apenas os registros do mês

Obrigado pela resposta, consegui!

1 curtida

Obrigado a todos pela ajuda!

1 curtida