Untitled
unknown
plain_text
2 years ago
1.5 kB
10
Indexable
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);
}
}
}
}Editor is loading...