Совместная разработка Модуля Планирования работ

Добрый вечер, коллеги.

Первая публичная версия модуля плановых работ уже неделю как готова и лежит тут: https://github.com/itop-itsm-ru. Нужны отзывы, пожелания, замечания, баг-репорты.

Описания там нет, так что расскажу тут коротко. Модуль на самом деле не один, а два.

Первый workorder-mgmt это меню Управление работами, календарь, планировщик активностей и фоновый процесс, который работает через системный cron, как периодические бекапы, таймеры SLT и тп. Главный объект этого модуля называется Плановая активность (далее ПА). В этом объекте определяется та задача, которую необходимо выполнять (проверка логов, периодические работы на оборудовании, ГТП и т.п.), задается периодичность (в виде шаблона crontab), добавляются контакты и документы (например, технологические карты). ПА генерирует два события: основное действие (ОД) и предварительное действие (ПД). Дата ОД высчитывается по шаблону периодичности при каждом обновлении ПА, дата ПД опережает дату ОД на заданный интервал. На эти события может срабатывать собственный триггер (Триггер на плановую активность), к которому привязываются действия (стандартно только уведомления по email). После создания ПА её нужно активировать (кнопка Другие действия). Когда счетчик поймет, что следующая дата основного действия отсутствует или недостижима из-за установленного срока окончания, произойдет деактивация ПА. Автоматической активации ПА при достижении даты начала нет.

Второй модуль action-create-object расширяет функционал действий и добавляет возможность создания объекта при срабатывании триггера. В текущей версии создавать можно только наряд на работу. Связка с триггером настраивается аналогично уведомлениям. В действии есть вкладка Сопоставление полей, где для каждого поля создаваемого наряда (указывается код атрибута) нужно задать значение. Для этого можно использовать плейсхолдеры $this->attcode$. Объект плановой активности при срабатывании триггера помимо плейсхолдеров своих полей (смотрите в модели данных) предоставляет $this->wo_start_date$ и $this->wo_end_date$ (дата начала и дата окончания для наряда).

Общая последовательность действий для настройки модуля:

  1. Создать плановую активность.
  2. Создать триггер на предварительное действие.
  3. Создать для него действие создания наряда и оповещения.
  4. Создать триггер на основное действие.
  5. Создать для его действие уведомления.
1 лайк