public List<ItemPlanilhaDownload> makeTheMagic( List<ItemPlanilhaUpload> itensPlanilha, Veiculo veiculo) { // fazemos a comparacao dos veiculos da planilha upload com os // cadastrados // Lista de veiculos com cobrancas incorretas List<ItemPlanilhaDownload> itensIncorretos = new ArrayList<ItemPlanilhaDownload>(); erros = 0; for (int j = 0; j < itensPlanilha.size(); j++) { if (veiculo.getPlacaVeiculo().equalsIgnoreCase(itensPlanilha.get(j).getPlaca()) && itensPlanilha.get(j).getValor() > 0.0) { if (isDuplicado(itensPlanilha, j)) { if (itensIncorretos.size() < 5) { itensIncorretos.add(this.criaItemDownload(itensPlanilha.get(j), veiculo, true)); } erros++; } else { if ((itensPlanilha.get(j).getCategoria() > veiculo.getMaximoEixo())) { erros++; if (itensIncorretos.size() < 5) { itensIncorretos.add(this.criaItemDownload(itensPlanilha.get(j), veiculo, false)); } } } } } return itensIncorretos; }
private ItemPlanilhaDownload criaItemDownload( ItemPlanilhaUpload itemPlanilhaUpload, Veiculo temp, boolean duplicado) { ItemPlanilhaDownload item = new ItemPlanilhaDownload(); item.setCategoria(itemPlanilhaUpload.getCategoria()); item.setCategoriaCorreta(temp.getMaximoEixo()); item.setConcessionaria(itemPlanilhaUpload.getConcessionaria()); item.setData(itemPlanilhaUpload.getData()); item.setHora(itemPlanilhaUpload.getHora()); item.setPlaca(itemPlanilhaUpload.getPlaca()); item.setValor(itemPlanilhaUpload.getValor()); item.setPraca(itemPlanilhaUpload.getPraca()); item.setValorCorreto( item.getValor() / item.formataCategoria(item.getCategoria()) * item.formataCategoria(item.getCategoriaCorreta())); if (duplicado) { item.setValorRestituicao(item.getValor()); } else { item.setValorRestituicao(item.getValor() - item.getValorCorreto()); } item.setObs(duplicado ? "Passagem Duplicada" : "Número de Eixos incorreto"); return item; }