Bom dia galera, tenho um data table em meu sistema onde eu seleciono várias linhas para gerar um método de reagendamento de um contrato para outra data, porém meu selection deste datatable está com problema, ao selecionar várias linhas de uma vez e gerar o reagendamento para elas, não está realizando o reagendamento, apenas aparece a mensagem de confirmação mas não reagenda.
Não sei se o problema está no meu selection ou no método de reagendar. Irei publicar parte do código aqui para me ajudarem.
public void onRowSelectByCheckbox(SelectEvent event) {
VendaFormando selectedVendaFormando = (VendaFormando) event.getObject();
vendasFormandoSelected.add(selectedVendaFormando);
}
public void onRowUnSelectByCheckbox(UnselectEvent event) {
VendaFormando unselectedVendaFormando = (VendaFormando) event.getObject();
vendasFormandoSelected.remove(unselectedVendaFormando);
}
public void onRowSelect(SelectEvent event) {
VendaFormando selectedVendaFormando = (VendaFormando) event.getObject();
vendasFormandoSelected.clear();
vendasFormandoSelected.add(selectedVendaFormando);
}
public void onToggleSelect(ToggleSelectEvent event) {
List<VendaFormando> comptesListOfCurrentPage = (List<VendaFormando>) vendasFormando.getWrappedData();
if(event.isSelected()) {
vendasFormandoSelected.addAll(comptesListOfCurrentPage);
} else {
vendasFormandoSelected.removeAll(comptesListOfCurrentPage);
}
}
public void generateAgenda() {
if (vendasFormandoSelected.isEmpty()){
FacesUtil.showMessage("", "Nenhuma Venda selecionada para geração de agendamentos!");
return;
}
for (VendaFormando vendaFormando : vendasFormandoSelected) {
vendaFormando = vendaFormandoService.findById(vendaFormando.getId());
Date dataAgendaAtual = vendaFormando.getDataVenda();
if (vendaFormando.getDataAgenda()!=null)
dataAgendaAtual = vendaFormando.getDataAgenda();
String complemento = "de " + formatData.format(dataAgendaAtual) + " para " + formatData.format(dataProxContato);
movimentoCobranca = new MovimentoCobranca();
movimentoCobranca.setDataMovimento(new Date());
movimentoCobranca.setDataProxContato(dataProxContato);
movimentoCobranca.setDescricao(descricaoMovtoCobranca);
movimentoCobranca.setHistorico(historicoMovtoCobranca);
movimentoCobranca.setComplemento(complemento);
movimentoCobranca.setUsuario(seguranca.getUsuario());
vendaFormando.addMovimentoCrobranca(movimentoCobranca);
vendaFormando.setDataAgenda(movimentoCobranca.getDataProxContato());
this.vendaFormando = this.vendaFormandoService.save(vendaFormando);
this.setVendaFormando(this.vendaFormando);
}
FacesUtil.showMessage("", "Agendamento(s) Gerado(s) com Sucesso!");
}
Caso alguma dúvida do problema é só falar.
Obrigado desde já!