@startuml
mainframe Получение заказов для отображения фильтров
autonumber
actor user
participant ARM
participant OMS
collections Redis
participant MSKB
database Database

user -> ARM: Устанавливает фильтры
alt устанавливает фильтр по ПВЗ
user -> ARM: Начинает вводить наименование ПВЗ
ARM -> OMS: Запрашивает список подходящих ПВЗ
OMS -> Redis: Запрашивает список ПВЗ
Redis --> OMS: Возвращает список ПВЗ
OMS --> ARM: Возвращает список ПВЗ
user -> ARM: Выбирает необходимый ПВЗ
ARM -> ARM: Запоминает идентификатор ПВЗ
else устанавливает фильтр по менеджеру
user -> ARM: Начинает вводить ФИО менеджера
ARM -> OMS: Запрашивает список подходящих менеджеров
OMS -> Redis: Запрашивает список менеджеров
Redis --> OMS: Возвращает список менеджеров
OMS --> ARM: Возвращает список менеджеров
user -> ARM: Выбирает необходимого менеджера
ARM -> ARM: Запоминает идентификатор менеджера
else устанавливает фильтр по КА
user -> ARM: Нажимает на фильтр по КА
ARM --> user: Открывает модальное окно "Поиск КА"
user -> ARM: Ищет необходимого КА
ARM -> OMS: Запрашивает список подходящих КА
OMS -> MSKB: Запрашивает список КА
MSKB --> OMS: Возвращает список КА
OMS --> ARM: Возвращает список КА
user -> ARM: Выбирает необходимого КА
ARM -> ARM: Запоминает идентификатор КА
end

alt Необходимы сортировки
user -> ARM: Выбирает необходимую сортировку
ARM -> ARM: Запоминает выбор пользователя
else Не устанавливаются сортировки
end
user -> ARM: Нажимает кнопку Enter или "Обновить"
ARM -> ARM: Формирует запрос на bf
ARM -> OMS: Отправляет запрос
OMS -> Database: Запрашивает список заказов\nс установленными фильтрами
Database --> OMS: Ответ
OMS --> ARM: Ответ
ARM --> user: Отображает журнал заказов
@enduml