Pessoal, boa tarde
montei um sistema de pagamento de mensalidades, nele oq eu faco, eu seleciono os meses pagos de um cliente, monto uma lista, faco uma lista com todos os meses e removo dessa lista os meses ja pagos, entao so aparece para o cliente os meses a pagar, porem to com um problema, se um cliente entrar hoje os meses de janeiro, fevereiro, março nao devem aparecer pra ele, pois ele nao tera q pagar, somente desse mes pra frente, como eu faria isso?
segue meu codigo:
public List<String> geraMesesDevedores(int matricula, int ano) throws SQLException {
PreparedStatement stmt;
List<String> meses = new ArrayList<String>();
stmt = connection.prepareStatement("select c.*,m.* from contato c inner join mensalidade m where c.matricula = ? and c.idcontato = m.idcontato and m.pago = '1' and m.ano = ? group by m.idmensalidade order by m.mesref ASC");
stmt.setInt(1, matricula);
stmt.setInt(2, ano);
ResultSet rs = stmt.executeQuery();
while(rs.next()) {
meses.add(rs.getString("m.mes"));
}
rs.close();
stmt.close();
List<String> todosMeses = new ArrayList<String>();
todosMeses.add("JANEIRO");
todosMeses.add("FEVEREIRO");
todosMeses.add("MARÇO");
todosMeses.add("ABRIL");
todosMeses.add("MAIO");
todosMeses.add("JUNHO");
todosMeses.add("JULHO");
todosMeses.add("AGOSTO");
todosMeses.add("SETEMBRO");
todosMeses.add("OUTUBRO");
todosMeses.add("NOVEMBRO");
todosMeses.add("DEZEMBRO");
todosMeses.removeAll(meses);
return todosMeses;
}