Список наборов базовых ставок#
Пользователи процесса#
- пользователь с ролью AGENT - создание и редактирование базовых ставок
- пользователь с ролью CONTRACTOR - просмотр базовых ставок
- пользователь с ролью OBSESRVER - просмотр базовых ставок
Точки входа#
- пункт
Справочники->Базовые ставкив меню приложения. Отображается пользователю с правами
Интерфейс#
Таблица Наборов базовых ставок#
| Поле таблицы | Атрибут объекта |
|---|---|
| Дата начала | baseRate.startDate |
| Aгент | baseRate.agent.fullName |
| Статус | см. Статусы набора ставок |
- таблица отображается с пагинацией
- записи отсортированы в порядке возрастания по полю
Агент, внутри по убыванию (последние сверху) поДата начала - пользователи с правом VIEW_BASE_RATE_ALL - видят все записи
- пользователи с правом VIEW_BASE_RATE
- с ролью AGENT - видят только "свои" записи (в которых
baseRate.agentсовпадает со связанным с пользователем агентом)
- с ролью AGENT - видят только "свои" записи (в которых
Состояние "Нет ни одной записи"#
Если в базовых ставках еще нет ни одной записи, вместо таблицы отображается страница "Базовых ставок пока нет" с кнопкой Добавить.
Добавление Набора базовых ставок#
-
Кнопка
Добавить:- отображается пользователю с правом CREATE_BASE_RATE
- при нажатии на кнопку, открывается модальное окно:
-
Заголовок формы:
Набор базовых ставок - Поля:
Дата начала(см. описание в деталке набора базовых ставок)Агент- отображается пользователю с правом CREATE_BASE_RATE_AGENT_SELECTION
- В выпадашке список всех активных агентов
- Кнопка
Отменить- Активна всегда
- При нажатии пользователем на кнопку, система:
- закрывает окно без дополнительных подтверждений
- запись не сохраняется в БД
- Кнопка
Далее,- Активна если:
- заполнено поле
Дата начала - Заполнено поле
Агент(если поле отображается пользователю)
- заполнено поле
- В процессе сохранения на кнопке отображается лоадер, все поля и кнопки формы не активны
- При нажатии пользователем на кнопку, система:
- проверяет поле
Дата начала- если есть ошибки подсвечивает их, окно не закрывает, запись не сохраняет.
- сохраняет в БД.
- закрывает окно
- показывает деталку созданной базовой ставки
- показывает оповещение
- проверяет поле
- Активна если:
Сохранение набора базовых ставок#
- заполняется при первом сохранении:
baseRate.agent- если при создании набора пользователю отображается поле
Агент, то указанный пользователем - если не отображается, то агент, связанный с пользователем создавшим набор базовых ставок. с пользователем может быть связан только один агент
- если при создании набора пользователю отображается поле
- при каждом сохранении:
baseRate.startDate- указанное пользователемbaseRate.endDate- найти следующий (по StartDate) набор ставок агента:- если найден, в текущий ставим на день меньше даты начала найденного.
- если не найден, в текущий ставим null
- обновить дату окончания у "соседних" (по дате начала) наборов,
- которые:
- были "перед" набором до изменения даты,
- стали "перед" набором после изменения даты,
- таким образом, чтоб все интервалы дат начала и окончания в наборах агента следовали непрерывно
- которые:
Просмотр и редактирование Набора базовы ставок#
- деталка набора base_rates_detail ставок открывается по клику на строке списка. Открывается в режиме просмотра.
- редактирование набора базовых ставок см. в описании деталки набора базовых ставок