Массовые операции над заявками#
Общий процесс#
| # | Шаг |
|---|---|
| 1 | Пользователь выбирает одну или несколько заявок |
| 2 | Пользователь выбирает функцию массовой обработки |
| 3 | Система показывает диалоговое окно |
| 3.1 | Если пользователь отказывается (крестиком, кликом на фон или нажал Отмена), система закрывает диалог. Конец сценария. |
| 4. | Система для каждой заявки выполняет проверку: можно ли выполнить выбранную обработку к заявке. Если можно - выполняет. Если нет - пропускает заявку . В процессе показывает диалог с прогресс баром и кнопкой прерывания процесса |
| 4.1 | Если пользователь прерывает процесс (кнопкой прерывания), система показывает диалоговое окно с текстом с итоговым результатом |
| 4.2 | Если пользователь закрывает окно с прогресс-баром (крестиком), система продолжает выполнять обработку выбранных заявок в фоновом режиме без отображения прогресс бара. Обновляет таблицу, снимает галки с уже обработанных заявок. Конец сценария. |
| 5 | Система отображает диалоговое окно с итоговым результатом |
| 6 | Пользователь закрывает диалоговое окно (крестиком или кликом на фон) |
| 7 | Система отображает список заявок. Сбрасывает галочки выбора с заявок которые обработались успешно. У заявок, к которым операция не применена или не были затронуты, галочки остаются |
Общее для всех массовых операций#
Окно процесса обработки#
- Заголовок окна такой же как и у окна подтверждения выполнения действия пользователем. Текст указан ниже для каждой операции.
- Окно может быть закрыто только крестиком
Все заявки обработаны успешно
- Макет
- полоса прогресса - синяя
- отображается общее количество выбранных заявок
- отображается количество обработанных заявок
Есть заявки, которые не прошли проверку условий обработки
- Макет
- отображается общее количество выбранных заявок
- отображается количество обработанных заявок и заявок, которые не прошли проверку
Окно отображения итоговой информации#
- Окно может быть закрыто крестиком, кликом на фон
**Все заявки обработаны успешно:
- Макет
- полоса прогресса - зеленая
- отображается общее количество выбранных заявок
- отображается общее количество обработанных заявок
Есть заявки, которые не удалось обработать
- окно отображается в случаях если обработка закончилась и часть заявок не прошла проверку условий для обработки или при выполнении обработки возникли технические ошибки
- Макет
- полоса прогресса - зеленая
- отображается общее количество выбранных заявок
- отображается общее количество обработанных заявок и заявок, которые не прошли проверку или при их обработке произошла техническая ошибка.
Пользователь прервал обработку
- макет
- полоса прогресса - серая
- отображается общее количество выбранных заявок
- отображается общее количество обработанных заявок и (если такие есть) заявок, которые не прошли проверку или при их обработке произошла техническая ошибка.
После закрытия пользователем окна с итоговой информацией
- система показывает обновленный список заявок (заново запрашивает с бэка, с обновленными статусами)
- примененные фильтры сохраняются
- отображается первая страница пагинации
- сбрасывает галочки выбора с заявок, которые обработались успешно (на всех страницах пагинации, которые отобраны в результате фильтрации)
- у заявок, к которым операция не применена или не были затронуты, галочки остаются (на всех страницах пагинации, которые отобраны в результате фильтрации)
Формирование инвойса в импортной заявке#
Кнопка#
- название кнопки:
Инвойс, текст подсказки на кнопкеИмпортная заявка - отображается только пользователям с правом CREATE_INVOICE
Диалоговое окно#
- макет
- заголовок окна:
Сформировать и отправить инвойс для импортных заявок - поля (формат и обязательность) аналогичны полям ввода дополнительных параметров при формировании Инвойса в заявке
- может быть закрыто крестиком, кликом на фон, кнопкой
Отменить
Проверки выполняемые для каждой заявки#
Система применяет действие только к тем заявкам, у которых:
- тип заявки:
Импорт - статус заявки:
INVOICE_PREPARATION
Обработка заявки#
- сформировать ПФ Инвойс (аналогично формированию инвойса в заявке вручную), если уже сформирована, но этот шаг система пропускает, переходит к следующему.
- перевести заявку в статус AWAITING_FUNDS аналогично отправке заявки вручную, если тут возникла ошибка, сформированный инвойс не удаляется
- отправить сообщения аналогично отправке заявки вручную
Формирование инвойса в экспортной заявке#
Кнопка#
- название кнопки:
Инвойс на товары, текст подсказки на кнопкеЭкспортная заявкаИнвойс на услуги, текст подсказки на кнопкеЭкспортная заявка
- отображается только пользователям с правом EXPORT_CREATE_INVOICE
Диалоговое окно#
- макет
- заголовок окна:
Сформировать и отправить инвойс для экспортных заявок - поля (формат и обязательность) аналогичны полям ввода дополнительных параметров при формировании Инвойса в заявке
- может быть закрыто крестиком, кликом на фон, кнопкой
Отменить
Проверки выполняемые для каждой заявки#
Система применяет действие только к тем заявкам, у которых:
- тип заявки:
'экспорт' - статус заявки:
INVOICE_PREPARATION(INVOICE_ADJUSTMENT- не смотрим, т.к. если клиент вернул, то скорее стандартная форма не подходит и нужно ручное вкладывание, либо требуется только изменение тарифа исполнителем без переформирования инвойса.)
Обработка заявки#
- сформировать ПФ Инвойс (аналогично формированию инвойса в заявке вручную), если уже сформирована, но этот шаг система пропускает, переходит к следующему.
- перевести заявку в статус AWAITING_FUNDS, обновить атрибут
changedAtзаявки. Если тут возникла ошибка, сформированный инвойс не удаляется. - отправить сообщение клиенту и исполнителю (отдельные). При отправке сообщения клиенту сформированный файл инвойса, прикрепить к письму вложением.
Формирование поручения в экспортной заявке#
Кнопка#
- название кнопки:
Поручение, текст подсказки на кнопкеЭкспортная заявка - отображается только пользователям с правом EXPORT_CREATE_INSTRUCTION
Диалоговое окно#
- макет
- заголовок окна:
Сформировать и отправить поручение - поля (формат и обязательность) аналогичны полям ввода дополнительных параметров при формировании Поручения в заявке
- может быть закрыто крестиком, кликом на фон, кнопкой
Отменить
Проверки выполняемые для каждой заявки#
Система применяет действие только к тем заявкам, у которых:
- тип заявки:
'экспорт' - статус заявки:
INSTRUCTION_PREPARATION
Обработка заявки#
- сформировать ПФ поручение (аналогично формированию поручения в заявке вручную), если уже сформирована, но этот шаг система пропускает, переходит к следующему.
- перевести заявку в статус CUSTOMER_INSTRUCTION_SIGNING, обновить атрибут
changedAtзаявки. Если тут возникла ошибка, сформированный инвойс не удаляется. - отправить сообщение клиенту и исполнителю (отдельные).
Формирование Поручения субагенту#
Кнопка#
- название кнопки:
Поручение субагенту, текст подсказки на кнопкеИмпортная заявка - отображается только пользователям с правом IMPORT_CREATE_INSTRUCTION
Диалоговое окно#
- макет
- заголовок окна:
Сформировать поручение субагенту - может быть закрыто крестиком, кликом на фон, кнопкой
Отменить
Проверки выполняемые для каждой заявки#
Система применяет действие только к тем заявкам, у которых:
- тип заявки:
Импорт - статус заявки:
DOCUMENTS_COLLECTING - ПФ "поручение субагенту" отсутствует
Обработка#
- Система формирует ПФ Поручение субагенту (аналогично формированию Поручение субагенту)
- Статус заявки не меняется!
Формирование отчёта#
Кнопка#
- название кнопки:
Отчёт, текст подсказки на кнопке отсутствует. Отчёты формируются и по импортным и по экспортным заявке по одной кнопке. - отображается только пользователям с правом EXPORT_CREATE_REPORT или CREATE_REPORT
Диалоговое окно#
- макет
- заголовок окна:
Сформировать и отправить отчёт - поля в диалоге отсутствуют
- может быть закрыто крестиком, кликом на фон, кнопкой
Отменить
Проверки выполняемые для каждой заявки#
Система применяет действие только к тем заявкам, у которых:
-
Для импортных заявок:
- тип заявки:
'импорт' - существует приложенный файл в группе вложений
Подтверждающие документы - статус заявки:
EXECUTION(REPORT_ADJUSTMENT, в котором тоже может формироваться отчёт не обрабатываем, т.к. если отчёт вернули, то он требует индивидуальной работы с клиентом)
- тип заявки:
-
Для экспортных заявок:
- тип заявки:
'экспорт' - статус заявки:
REPORT_PREPARATION(REPORT_ADJUSTMENT, в котором тоже может формироваться отчёт не обрабатываем, т.к. если отчёт вернули, то он требует индивидуальной работы с клиентом)
- тип заявки:
Обработка заявки#
- сформировать ПФ Отчёт, аналогично формированию отчёта вручную (импорт, экспорт). Если отчёт уже сформирован, то этот шаг система пропускает, переходит к следующему.
- перевести заявку в статус: CUSTOMER_REPORT_SIGNING, обновить атрибут
changedAtзаявки. Если тут возникла ошибка, сформированный инвойс не удаляется. - отправить сообщение клиенту и исполнителю (отдельные)
Формирование пакета для отправки субагенту#
Кнопка#
- название кнопки:
Пакет документов для отправки субагенту - отображается только пользователям с правом DOWNLOAD_TO_SEND_SUBAGENT
Диалоговое окно#
- макет
- заголовок окна:
Сформировать пакет документов для отправки субагенту - может быть закрыто крестиком, кликом на фон, кнопкой
Отменить
Проверки выполняемые для каждой заявки#
Система применяет действие только к тем заявкам, у которых:
- тип заявки:
Импорт - статус заявки:
DOCUMENTS_READY_TO_SENT
Обработка#
- Окно прогресса не отображается, операция выполняется в фоне
- Система:
- отображает список заявок, все галочки выбора снимает
- для каждой заявки в статусе DOCUMENTS_READY_TO_SENT формирует архив файлов:
- в архиве все файлы из заявки из группы
TO_SEND_SUBAGENT - заявка в формате Excel
- название файла
Order {amountCounterparty} {currencyCounterparty} {subsidiary.fullNameEnglish}.zip- из
{subagent.fullNameEnglish}убраны все знаки символы кроме латиницы и пробела, пробел заменен на нижнее подчеркивание {amountCounterparty}- сумма в формате NNN NNN,NN (разделители разрядов пробелы, отделитель десятичной части - запятая){currencyCounterparty}- код валюты alfa-3
- из
- в архиве все файлы из заявки из группы
- все сформированные файлы группирует по субагенту, указанному в заявке
order.subagentи для каждого субагента формурует архив пакетов заявок- название файла
{subagent.fullNameEnglish}.zip.- из
{subagent.fullNameEnglish}убраны все знаки символы кроме латиницы и пробела, пробел заменен на нижнее подчеркивание
- из
- название файла
- сохраняет архивы по субагнетами в S3
- пользователю письмо запустившему формирование файла отправляет письмо:
- если архивы сформированы. В письме ссылки для скачивания всех сформированных архивов по субагентам
- если архивы НЕ сформированы
Документы отправлены#
Выполняется только для импортных заявок в статусе "Пакет документов готов к отправке"
Кнопка#
- название кнопки:
Документы отправлены, текст подсказки на кнопке отсутствует. - отображается только пользователям ролью CONTRACTOR или AGENT
Диалоговое окно#
- макет
- заголовок окна:
Перевести заявки в статус Документы отправлены - поля в диалоге отсутствуют
- может быть закрыто крестиком, кликом на фон, кнопкой
Отменить
Проверки выполняемые для каждой заявки#
Система применяет действие только к тем заявкам, у которых:
- тип заявки:
'импорт' - статус заявки:
DOCUMENTS_READY_TO_SENT
Обработка заявки#
- перевести заявку в статус:
EXECUTION, обновить атрибутchangedAtзаявки. - отправить сообщение агенту и исполнителю