Как найти итоговые поступления каждого маршрута за 7 дней?

Для решения данной задачи вам потребуется использовать язык программирования Java и подходящие библиотеки или фреймворки для работы с датами и суммирования данных.

Первым шагом нужно определить структуру данных, которая будет представлять информацию о поступлениях каждого маршрута за 7 дней. Например, можно использовать класс с полями для идентификатора маршрута, даты и суммы поступлений.

public class Revenue {
    private String routeId;
    private Date date;
    private double amount;

    // геттеры и сеттеры для полей
}

Далее вам нужно получить данные о поступлениях из какого-то источника, такого как база данных или файл. Для примера, предположим, что у вас есть коллекция объектов типа Revenue, содержащая все данные о поступлениях.

List<Revenue> revenueData = new ArrayList<>();
// заполнение коллекции данными о поступлениях

Для нахождения итоговых поступлений каждого маршрута за 7 дней вам потребуется выполнить следующие шаги:

1. Отфильтровать данные по датам в пределах последних 7 дней. Для этого создадим объект типа Calendar и установим его в сегодняшнюю дату минус 6 дней.

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, -6);
Date sevenDaysAgo = calendar.getTime();

2. Отфильтровать данные по датам, чтобы оставить только те, которые находятся в пределах последних 7 дней.

List<Revenue> filteredData = revenueData.stream()
    .filter(revenue -> revenue.getDate().after(sevenDaysAgo))
    .collect(Collectors.toList());

3. Сгруппировать данные по идентификатору маршрута.

Map<String, List<Revenue>> groupedData = filteredData.stream()
    .collect(Collectors.groupingBy(Revenue::getRouteId));

4. Произвести суммирование поступлений для каждого маршрута.

Map<String, Double> totalRevenues = new HashMap<>();
for (String routeId : groupedData.keySet()) {
    double total = groupedData.get(routeId).stream()
        .mapToDouble(Revenue::getAmount)
        .sum();
    totalRevenues.put(routeId, total);
}

Теперь у вас есть словарь totalRevenues, где ключами являются идентификаторы маршрутов, а значениями - итоговые поступления каждого маршрута за последние 7 дней.

Обратите внимание, что приведенный код является примером и предполагает, что у вас уже есть данные о поступлениях. Необходимо приспособить его под вашу конкретную ситуацию, включая способ получения данных и формат хранения.