Статусная модель запроса на индивидуальные ставки от партнера#
JSON статусной модели individual_rate_set_partner.json
Статусы#
DRAFT#
-
DRAFT - Отображаемое название:
Черновик
| Свойство | Значение |
|---|---|
| Хинт при наведении курсора на статус | Черновик доступен только партнёру. Для отправки заполните поля, и нажмите “Отправить на проверку исполнителю”. |
| Кто видит запрос | Пользователь с ролю PARTNER |
Кто видит кнопку Редактировать и может изменять запрос |
Пользователь с ролю PARTNER |
| Поля которые можно редактировать в этом статусе | 1. все поля, кроме поля Партнёр 2. строки запроса (создать, удалить, изменить) |
| Куда можно перейти | CONTRACTOR_VERIFICATION (описание перехода) |
-
Перед сохранением запроса в статусе DRAFT, система выполняет проверку:
Дата начала: не может быть больше чемДата окончания. Если проверка не выполняется:- подсвечивает поле
Дата начала - под полем
Дата началаотображает сообщение: см. описание поля
- подсвечивает поле
Дата начала: не может быть меньше текущей даты. Если проверка не выполняется:- подсвечивает поле
Дата начала - под полем
Дата началаотображает сообщение: см. описание поля
- подсвечивает поле
Количество платежей в месяц: должно быть в интервале от 1 до 1000. Если проверка не выполняется:- подсвечивает поле
Количество платежей в месяц - под полем
Количество платежей в месяцотображает сообщение: см. описание поля
- подсвечивает поле
Совокупный объём в месяц: должно быть > 0. Если проверка не выполняется:- подсвечивает поле
Совокупный объём в месяц
- подсвечивает поле
Дата окончания: если заполнена, не может быть меньше чемДата начала. Если проверка не выполняется:- подсвечивает поле
Дата окончания - под полем
Дата окончанияотображает сообщение: см. описание поля
- подсвечивает поле
Дата окончания: если заполнена, не может быть меньше текущей даты. Если проверка не выполняется:- подсвечивает поле
Дата окончания - под полем
Дата окончанияотображает сообщение: см. описание поля
- подсвечивает поле
-
Добавление, изменение, удаление, строк работает аналогично как при создании запроса партнером
CONTRACTOR_VERIFICATION#
-
CONTRACTOR_VERIFICATION - Отображаемое название:
Проверка исполнителем
| Свойство | Значение |
|---|---|
| Хинт при наведении курсора на статус | Исполнитель проверят запрос |
| Кто видит запрос | Пользователь с любой из ролей: PARTNER, CONTRACTOR, OBSERVER, COMPLIANCE |
PARTNER - только свои запросы (в которых указан в individualRateSet.partner) |
|
| CONTRACTOR, OBSERVER, COMPLIANCE - видят все запросы | |
Кто видит кнопку Редактировать и может изменять запрос |
Пользователь с ролю CONTRACTOR |
| Поля которые можно редактировать в этом статусе | Поле Комментарий |
| Куда можно перейти | AGENT_APPROVAL (описание перехода) |
| REJECTED (описание перехода) |
- Перед сохранением запроса в статусе CONTRACTOR_VERIFICATION система не выполняет проверок.
AGENT_APPROVAL#
-
AGENT_APPROVAL - Отображаемое название:
Согласование агентом
| Свойство | Значение |
|---|---|
| Хинт при наведении курсора на статус | Агент согласовывает запрос |
| Кто видит запрос | Пользователь с любой из ролей: PARTNER, CONTRACTOR, OBSERVER, COMPLIANCE, AGENT |
PARTNER - только свои запросы (в которых указан в individualRateSet.partner) |
|
AGENT - только свои запросы (в которых указан в individualRateSet.agent) |
|
| CONTRACTOR, OBSERVER, COMPLIANCE - видят все запросы | |
Кто видит кнопку Редактировать и может изменять запрос |
Пользователь с ролю AGENT |
| Поля которые можно редактировать в этом статусе | 1. Дата окончания 2. строки запроса (создать, удалить, изменить) |
| Куда можно перейти | APPROVED (описание перехода) |
| REJECTED (описание перехода) |
-
Добавление, изменение, удаление, строк работает аналогично как при создании запроса партнером
-
Перед сохранением запроса в статусе AGENT_APPROVAL, система выполняет проверку:
Дата окончания: если заполнена, не может быть меньше чемДата начала. Если проверка не выполняется:- подсвечивает поле
Дата окончания - под полем
Дата окончанияотображает сообщение: см. описание поля
- подсвечивает поле
Дата окончания: если заполнена, не может быть меньше текущей даты. Если проверка не выполняется:- подсвечивает поле
Дата окончания - под полем
Дата окончанияотображает сообщение: см. описание поля
- подсвечивает поле
- При сохранении запроса в статусе AGENT_APPROVAL:
- если пользователь внес изменения в строки заявки,
система сохраняет признак individualRateSet.isChangedByAgent=true
- если пользователь внес изменения в строки заявки,
APPROVED#
-
APPROVED - Отображаемое название:
Согласован
Условие отображения статуса:
- для запросов на Все заявки (
scope==ALL_ORDERS) если:Cтатус=APPROVEDиДата начала> текущей даты
- для запросов на одну заявку (
scope==ONE_ORDER) если:- статус =
APPROVED
- статус =
| Свойство | Значение |
|---|---|
| Хинт при наведении курсора на статус | Запрос согласован |
| Кто видит запрос | Пользователь с любой из ролей: PARTNER, CONTRACTOR, OBSERVER, COMPLIANCE, AGENT |
PARTNER - только свои запросы (в которых указан в individualRateSet.partner) |
|
AGENT - только свои запросы (в которых указан в individualRateSet.agent) |
|
| CONTRACTOR, OBSERVER, COMPLIANCE - видят все запросы | |
Кто видит кнопку Редактировать и может изменять запрос |
Никто ничего не может изменить |
| Поля которые можно редактировать в этом статусе | Никто ничего не может изменить |
| Куда можно перейти | Переходы отсутствуют |
REJECTED#
-
REJECTED - Отображаемое название:
Отклонен
| Свойство | Значение |
|---|---|
| Хинт при наведении курсора на статус | Запрос отклонен |
| Кто видит запрос | Пользователь с любой из ролей: PARTNER, CONTRACTOR, OBSERVER, COMPLIANCE, AGENT |
PARTNER - только свои запросы (в которых указан в individualRateSet.partner) |
|
AGENT - только свои запросы (в которых указан в individualRateSet.agent) |
|
| CONTRACTOR, OBSERVER, COMPLIANCE - видят все запросы | |
Кто видит кнопку Редактировать и может изменять запрос |
Никто ничего не может изменить |
| Поля которые можно редактировать в этом статусе | Никто ничего не может изменить |
| Куда можно перейти | Переходы отсутствуют |
Если в запросе заполнено individualRateSet.notApprovalComment отображается блок с комментарием
ACTIVE#
-
ACTIVE - Отображаемое название:
Активен
Условие отображения статуса:
- для запросов на Все заявки (
scope==ALL_ORDERS) если:- статус =
APPROVEDи Дата начала<= текущей даты иДата окончания=> текущей даты илиДата окончанияне указана
- статус =
- для запросов на одну заявку (
scope==ONE_ORDER) если:- не может быть в таком статусе
| Свойство | Значение |
|---|---|
| Хинт при наведении курсора на статус | Действующие ставки |
| Кто видит запрос | Пользователь с любой из ролей: PARTNER, CONTRACTOR, OBSERVER, COMPLIANCE, AGENT |
PARTNER - только свои запросы (в которых указан в individualRateSet.partner) |
|
AGENT - только свои запросы (в которых указан в individualRateSet.agent) |
|
| CONTRACTOR, OBSERVER, COMPLIANCE - видят все запросы | |
Кто видит кнопку Редактировать и может изменять запрос |
Никто ничего не может изменить |
| Поля которые можно редактировать в этом статусе | Никто ничего не может изменить |
| Куда можно перейти | Переходы отсутствуют |
EXPIRED#
-
EXPIRED - Отображаемое название:
Срок действия истёк
Условие отображения статуса:
- для запросов на Все заявки (
scope==ALL_ORDERS) если:- статус =
APPROVEDи Дата окончания< текущей даты
- статус =
- для запросов на одну заявку (
scope==ONE_ORDER) если:- не может быть в таком статусе
| Свойство | Значение |
|---|---|
| Хинт при наведении курсора на статус | Срок действия запроса истёк |
| Кто видит запрос | Пользователь с любой из ролей: PARTNER, CONTRACTOR, OBSERVER, COMPLIANCE, AGENT |
PARTNER - только свои запросы (в которых указан в individualRateSet.partner) |
|
AGENT - только свои запросы (в которых указан в individualRateSet.agent) |
|
| CONTRACTOR, OBSERVER, COMPLIANCE - видят все запросы | |
Кто видит кнопку Редактировать и может изменять запрос |
Никто ничего не может изменить |
| Поля которые можно редактировать в этом статусе | Никто ничего не может изменить |
| Куда можно перейти | Переходы отсутствуют |
REDEEMED#
-
REDEEMED - Отображаемое название:
Использован в заявке
| Свойство | Значение |
|---|---|
| Хинт при наведении курсора на статус | Индивидуальная ставка была применена к заявке |
| Кто видит запрос | Пользователь с любой из ролей: PARTNER, CONTRACTOR, OBSERVER, COMPLIANCE, AGENT |
PARTNER - только свои запросы (в которых указан в individualRateSet.partner) |
|
AGENT - только свои запросы (в которых указан в individualRateSet.agent) |
|
| CONTRACTOR, OBSERVER, COMPLIANCE - видят все запросы | |
Кто видит кнопку Редактировать и может изменять запрос |
Никто ничего не может изменить |
| Поля которые можно редактировать в этом статусе | Никто ничего не может изменить |
| Куда можно перейти | Переходы отсутствуют |
CANCELLED#
-
CANCELLED - Отображаемое название:
Аннулирован
| Свойство | Значение |
|---|---|
| Хинт при наведении курсора на статус | Запрос аннулирован |
| Кто видит запрос | Пользователь с любой из ролей: PARTNER, CONTRACTOR, OBSERVER, COMPLIANCE, AGENT |
PARTNER - только свои запросы (в которых указан в individualRateSet.partner) |
|
AGENT - только свои запросы (в которых указан в individualRateSet.agent) |
|
| CONTRACTOR, OBSERVER, COMPLIANCE - видят все запросы | |
Кто видит кнопку Редактировать и может изменять запрос |
Никто ничего не может изменить |
| Поля которые можно редактировать в этом статусе | Никто ничего не может изменить |
| Куда можно перейти | Переходы отсутствуют |
Переходы#
DRAFT-CONTRACTOR_VERIFICATION#
- Макет
- Кнопка перехода в статус CONTRACTOR_VERIFICATION:
- отображается в форме создания и в статусе DRAFT
- вид отображения кнопки - первичная (закрашенная синим)
- название кнопки
Отправить на проверку исполнителю
- при нажатии пользователем на кнопку, система:
- выполняет контроль формата данных в полях (см. описание статуса DRAFT)
- если проверка не выполняется, на кнопке отправки показывает тултип
Заполните обязательные поля
- если проверка не выполняется, на кнопке отправки показывает тултип
- выполняет проверки:
- должны быть заполнены обязательные поля (
Агент,Клиент,Совокупный объем в месяц,Валюта,Количество платежей в месяц,Страны банков получателей,Валюты конечных платежей), если проверка не выполняется:- переводит форму в режим редактирования (если ещё не в нём)
- подсвечивают незаполненные поля
- на кнопке отправки показывает тултип
Заполните обязательные поля
- Для запросов на Все заявки (
scope==ALL_ORDERS) должно быть заполнено обязательное поляДата начала, если проверка не выполняется:- переводит форму в режим редактирования (если ещё не в нём)
- подсвечивают незаполненные поля
- на кнопке отправки показывает тултип
Заполните обязательные поля
- в запросе есть хотя бы одна строка со ставками, если проверка не выполняется:
- переводит форму в режим редактирования (если ещё не в нём)
- в блоке строк отображает сообщение
Добавьте хотя бы одну строку - на кнопке отправки показывает тултип
Заполните обязательные поля
- должны быть заполнены обязательные поля (
- Для запросов на Все заявки (
scope==ALL_ORDERS) выполняет проверку:- существуют ли запросы, которые необходимо аннулировать (должны выполняться все указанные условия):
- с таким же клиентом
individualRateSet.customer - с таким же агентом
individualRateSet.agent - с такой же областью действия
individualRateSet.scope - с таким же партнером
individualRateSet.partner - в статусе из списка: CONTRACTOR_VERIFICATION, AGENT_APPROVAL, APPROVED, ACTIVE
- пересекаются интервалы дат с отправляемым запросом (при поиске пересечения учитывается: если дата окончания не указана, то запрос действует бессрочно)
- с таким же клиентом
- Если такие запросы существуют, система показывает диалоговое окно:
- макет
- можно закрыть крестиком или кликом на фоне
- Кнопка
Отмена:- доступна всегда
- при нажатии на кнопку, система закрывает диалоговое окно, статус заявки не меняет, Конец сценария.
- Кнопка
Аннулировать:- доступна всегда
- при нажатии пользователем, система обновляет статус всех найденных пересекающиеся запросов индивидуальных ставок
individualRateSet.status = CANCELLED.
- существуют ли запросы, которые необходимо аннулировать (должны выполняться все указанные условия):
- сохраняет запрос
- меняет статус на CONTRACTOR_VERIFICATION
- закрывает форму запроса
- показывает таблицу с обновленными запросами индивидуальных ставок
- показывает оповещение
Запрос индивидуальных ставок отправлен - отправляет на почту сообщение исполнителю
- выполняет контроль формата данных в полях (см. описание статуса DRAFT)
CONTRACTOR_VERIFICATION-AGENT_APPROVAL#
- Макет
- Кнопка перехода в статус AGENT_APPROVAL:
- отображается в статусе CONTRACTOR_VERIFICATION пользователю с ролью CONTRACTOR
- вид отображения кнопки - первичная (закрашенная синим)
- название кнопки
Отправить на согласование агенту
- при нажатии пользователем на кнопку, система:
- не выполняет контроль формата данных в полях
- сохраняет запрос
- меняет статус на AGENT_APPROVAL
- закрывает форму запроса
- показывает таблицу с обновленными запросами индивидуальных ставок
- показывает оповещение
Запрос индивидуальных ставок отправлен - отправляет на почту сообщение агенту
CONTRACTOR_VERIFICATION-REJECTED#
- Макет
- Кнопка перехода в статус REJECTED:
- отображается в статусе CONTRACTOR_VERIFICATION пользователю с ролью CONTRACTOR
- вид отображения кнопки - красная
- название кнопки
Отклонить
- при нажатии пользователем на кнопку, система:
- показывает диалоговое окно подтверждения
Окно подтверждения:
- Можно закрыть крестиком или кликом на фон
- Кнопка
Отменить:- доступна всегда
- при нажатии пользователем на кнопку, система закрывает диалоговое окно, конец сценария.
- Кнопка
Подтвердить:- доступна всегда
- при нажатии пользователем на кнопку, система:
- не выполняет контроль формата данных в полях
- сохраняет запрос
- меняет статус на REJECTED
- закрывает форму запроса
- показывает таблицу с обновленными запросами индивидуальных ставок
- показывает оповещение
Запрос индивидуальных ставок отклонён - отправляет на почту сообщение партнеру
AGENT_APPROVAL-APPROVED#
- Макет
- Кнопка перехода в статус APPROVED:
- отображается в статусе AGENT_APPROVAL пользователю с ролью AGENT
- вид отображения кнопки - первичная (закрашенная синим)
- название кнопки
Согласовать
- при нажатии пользователем на кнопку, система:
- выполняет контроль формата данных в полях (см. описание статуса AGENT_APPROVAL)
- если проверка не выполняется, на кнопке отправки показывает тултип
Заполните обязательные поля
- если проверка не выполняется, на кнопке отправки показывает тултип
- выполняет проверки:
- в запросе есть хотя бы одна строка со ставками, если проверка не выполняется:
- переводит форму в режим редактирования (если ещё не в нём)
- в блоке строк отображает сообщение
Добавьте хотя бы одну строку - на кнопке отправки показывает тултип
Заполните обязательные поля
- в запросе есть хотя бы одна строка со ставками, если проверка не выполняется:
- сохраняет запрос
- меняет статус на APPROVED
- закрывает форму запроса
- показывает таблицу с обновленными запросами индивидуальных ставок
- показывает оповещение
Набор индивидуальных ставок согласован - отправляет на почту сообщение исполнителю и партнеру
- выполняет контроль формата данных в полях (см. описание статуса AGENT_APPROVAL)
AGENT_APPROVAL-REJECTED#
- Макет
- Кнопка перехода в статус REJECTED:
- отображается в статусе AGENT_APPROVAL пользователю с ролью AGENT
- вид отображения кнопки - красная
- название кнопки
Отклонить:
- при нажатии пользователем на кнопку, система:
- выполняет контроль формата данных в полях (см. описание статуса AGENT_APPROVAL)
- сохраняет запрос
- показывает диалоговое окно подтверждения.
Окно подтверждения:
- Можно закрыть крестиком или кликом на фон
- Поле для ввода комментария
- Кнопка
Отменить:- доступна всегда
- при нажатии пользователем на кнопку, система закрывает диалоговое окно, конец сценария.
- Кнопка
Отклонить:- становится доступной если в поле
Комментарийвведен текст. - При нажатии пользователем на кнопку:
- сохраняет запрос
- введенный комментарий сохраняет в
individualRateSet.notApprovalComment - меняет статус на REJECTED
- закрывает форму запроса
- показывает таблицу с обновленными запросами индивидуальных ставок
- показывает оповещение
Запрос индивидуальных ставок отклонён - отправляет на почту сообщение исполнителю и партнеру
- становится доступной если в поле
