Untitled
plain_text
a month ago
1.5 kB
3
Indexable
Never
public void groupingRanges(List<Long> invoiceNumbers, List<E140nfsEntity> invoiceList, E020snfEntity serie) { // NOSONAR Long firstNumber; Long nextNumber; Long lastNumber = 0L; Numbers number = new Numbers(); List<Numbers> numbers = new ArrayList<>(); for (int i = 0; i <= invoiceNumbers.size() - 1; i++) { if (i == 0) { firstNumber = invoiceNumbers.get(i); lastNumber = firstNumber; number.setInvoiceNumberFrom(firstNumber); if (i == invoiceNumbers.size() - 1) { number.setInvoiceNumberTo(firstNumber); numbers.add(number); collectRangeList(invoiceList, numbers, serie); } } else { nextNumber = invoiceNumbers.get(i); if (nextNumber.equals(lastNumber + 1)) { number.setInvoiceNumberTo(nextNumber); lastNumber = nextNumber; if (i == invoiceNumbers.size() - 1) { numbers.add(number); collectRangeList(invoiceList, numbers, serie); } } else { if (i == invoiceNumbers.size() - 1) { number.setInvoiceNumberTo(lastNumber); numbers.add(number); number = new Numbers(); lastNumber = nextNumber; number.setInvoiceNumberFrom(lastNumber); number.setInvoiceNumberTo(lastNumber); numbers.add(number); collectRangeList(invoiceList, numbers, serie); } number.setInvoiceNumberTo(lastNumber); lastNumber = nextNumber; numbers.add(number); number = new Numbers(); number.setInvoiceNumberFrom(lastNumber); } } } }