Tenho um cálculo de data de vencimento de faturas, tem cliente que prefere que o vencimento seja feito para um determinado dia da semana (Ex: Quarta-feira = 4), já tenho o cálculo das datas das faturas.
Preciso que a data seja recalculada para a próxima semana e para o dia determinado no cadastro do cliente.
Digamos que a data caia numa Quinta-feita e no cadastro do cliente esteja que deve ser numa Quarta-feira, preciso que a data seja recalculada para a próxima quarta-feira, no meu código abaixo não está dando certo.
...
calDataVencimento.add(Calendar.DAY_OF_MONTH, prazo);
if(diaSemana < 7){
// 1=Domingo, 2=Segunda, etc...
int diaSemanaVencimento = calDataVencimento.get(Calendar.DAY_OF_WEEK);
int diaSemanaCliente = diaSemana + 1; // Ex: 4 = Quarta-feira
System.out.println("Data calculada.......: "+calDataVencimento.getTime());
System.out.println("Dia semana calculado.: "+diaSemanaVencimento);
System.out.println("Dia semana no cliente: "+diaSemanaCliente);
if(diaSemanaVencimento != diaSemanaCliente){
// Se nao estiver do dia da semana que esta no cliente colocar no proximo
System.out.println("Dia calculado diferente do dia no cadastro do cliente.");
// Na linha abaixo não está pulando para o PRÓXIMO dia da semana
calDataVencimento.add(Calendar.DAY_OF_WEEK, diaSemanaCliente);
System.out.println("Data calculada 2.....: "+calDataVencimento.getTime());
}
System.out.println("----------------------------------------------------------");
}
Data calculada.......: Thu Jan 14 07:43:02 BRST 2010
Dia semana calculado.: 5
Dia semana no cliente: 4
Dia calculado diferente do dia no cadastro do cliente.
Data calculada 2.....: Mon Jan 18 07:43:02 BRST 2010
Alguém pode dar alguma dica?