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