Перейти к содержанию

Список наборов базовых ставок#

Пользователи процесса#

  • пользователь с ролью AGENT - создание и редактирование базовых ставок
  • пользователь с ролью CONTRACTOR - просмотр базовых ставок
  • пользователь с ролью OBSESRVER - просмотр базовых ставок

Точки входа#

  • пункт Справочники -> Базовые ставки в меню приложения. Отображается пользователю с правами

Интерфейс#

Макет

Таблица Наборов базовых ставок#

baseRateSet.schema.json

Поле таблицы Атрибут объекта
Дата начала baseRate.startDate
Aгент baseRate.agent.fullName
Статус см. Статусы набора ставок
  • таблица отображается с пагинацией
  • записи отсортированы в порядке возрастания по полю Агент, внутри по убыванию (последние сверху) по Дата начала
  • пользователи с правом VIEW_BASE_RATE_ALL - видят все записи
  • пользователи с правом VIEW_BASE_RATE
    • с ролью AGENT - видят только "свои" записи (в которых baseRate.agent совпадает со связанным с пользователем агентом)

Состояние "Нет ни одной записи"#

Макет

Если в базовых ставках еще нет ни одной записи, вместо таблицы отображается страница "Базовых ставок пока нет" с кнопкой Добавить.

Добавление Набора базовых ставок#

  • Кнопка Добавить:

    • отображается пользователю с правом CREATE_BASE_RATE
    • при нажатии на кнопку, открывается модальное окно:
  • Заголовок формы: Набор базовых ставок

  • Поля:
  • Кнопка Отменить
    • Активна всегда
    • При нажатии пользователем на кнопку, система:
    • закрывает окно без дополнительных подтверждений
    • запись не сохраняется в БД
  • Кнопка Далее,
    • Активна если:
      • заполнено поле Дата начала
      • Заполнено поле Агент (если поле отображается пользователю)
    • В процессе сохранения на кнопке отображается лоадер, все поля и кнопки формы не активны
    • При нажатии пользователем на кнопку, система:
      • проверяет поле Дата начала
        • если есть ошибки подсвечивает их, окно не закрывает, запись не сохраняет.
      • сохраняет в БД.
      • закрывает окно
      • показывает деталку созданной базовой ставки
      • показывает оповещение

Сохранение набора базовых ставок#

  • заполняется при первом сохранении:
    • baseRate.agent
      • если при создании набора пользователю отображается поле Агент , то указанный пользователем
      • если не отображается, то агент, связанный с пользователем создавшим набор базовых ставок. с пользователем может быть связан только один агент
  • при каждом сохранении:
    • baseRate.startDate - указанное пользователем
    • baseRate.endDate - найти следующий (по StartDate) набор ставок агента:
      • если найден, в текущий ставим на день меньше даты начала найденного.
      • если не найден, в текущий ставим null
    • обновить дату окончания у "соседних" (по дате начала) наборов,
      • которые:
        • были "перед" набором до изменения даты,
        • стали "перед" набором после изменения даты,
      • таким образом, чтоб все интервалы дат начала и окончания в наборах агента следовали непрерывно

Просмотр и редактирование Набора базовы ставок#