Формулировка проблемы: в функционале модуля «Проекты» необходимо добавить возможность отображения фактического и планового прогрессов групповых мероприятий.
Используется: Проекты:
Тип расчета сроков
:
Автоматический;
Ручной;
Тип расчета прогресса
:
Среднее арифметическое значение;
Среднее взвешенное значение;
Перерасчет прогресса при изменении сроков
-
включено/выключено.
Решение:
Во-первых, необходимо добавить новую настройку выбора типа прогресса и разделить вкладку «Настройки» на две:
вкладка «Общее»:
Владелец
Паспорт проекта
Ссылка на проект
Абсолютная
Относительная
вкладка «Настройки»:
Дата начала проекта
Ограничить сроки проекта
Папка проекта
Тип расчета сроков
Тип расчета прогресса
Тип прогресса
- новая настройка
Перерасчет прогресса при изменении сроков
Вес мероприятия
Способ ввода сроков
Примечание:
Новый размер окна «Настройки» -
750*611 px
.
Во-вторых, новая настройка должна
представлять собой выпадающее меню Тип прогресса
.
Пункты выпадающего меню:
Фактический прогресс / Прогресс по работе
(по
умолчанию)
Фактический прогресс / Плановый прогресс
При выборе пункта
Фактический прогресс / Прогресс по работе
функционал прогресс-бара в модуле «Проекты» осуществляется, как в 63
итерации включительно.
При выборе пункта
Фактический прогресс / Плановый прогресс
необходимо реализовать следующий функционал прогресс-бара:
плановый прогресс мероприятия должен вычисляться по формуле:
$$P = \frac{L_{R} * 100}{L_{T}}$$
где
P - процент планового прогресса;
LR - пройденный срок (разница между текущей датой на сервере и датой начала мероприятия в часах);
LT - общий срок (разница между датой завершения мероприятия и датой начала в часах);
перерасчет планового прогресса должен осуществляться:
при нажатии на кнопку «Обновить» в основной рабочей области модуля;
при открытии проекта;
при сворачивании/разворачивании дерева группового мероприятия/проекта;
при изменении сроков мероприятия;
при превышении перерассчитанного процента прогресса 100%
сохранять значение прогресса как 100 %
;
при установке даты завершения мероприятия/проекта такой же, как
и дата их начала, сохранять значение прогресса как
100 %
;
до начала будущего мероприятия процент планового мероприятия
сохранять как 0 %
;
цвет полосы планового прогресса — желтый
(#ffe465
);
при завершении мероприятия/проекта необходимо отображать обе
полосы в прогресс-баре со статусом 100%
, при
этом:
если мероприятие/проект было просрочено - полосу
фактического прогресса необходимо отображать красным цветом
(#f47172
);
если мероприятие/проект завершилось в срок - полосу
фактического прогресса необходимо отображать зеленым цветом
(#b3e062
).
Рисунок 98. Прогресс-бары мероприятий при выборе пункта «Фактический прогресс / Плановый прогресс» в настройках проектов
Примечание:
Реализация данной задачи не должна затрагивать функционал окна редактирования проекта.
Действия при обновлении системы
При обновлении системы в настройках всех существующих проектов для
опции Тип прогресса
должно установиться значение
по умолчанию:
Фактический прогресс / Прогресс по работе
.
Других видимых изменений произойти не должно.