Untitled

mail@pastecode.io avatarunknown
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);
				}
			}
		}
	}