Wiki source code of Настройка схемы обработки инцидентов
Last modified by superadmin on 2026/06/24 21:41
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | Инструменты раздела [[doc:ui.Параметры узла.Инциденты.WebHome]] (вкладка **Обработка инцидентов**) позволяют задать схему обработки инцидентов оператором [[neyross.АРМ НЕЙРОСС Центр.WebHome]]. Вы можете выполнить загрузку готовой схемы обработки или сформировать схему непосредственно из веб-интерфейса с помощью встроенного редактора. | ||
| 2 | |||
| 3 | {{info}} | ||
| 4 | **Переход к функционалу**: | ||
| 5 | |||
| 6 | * С версии 20.40 ~[[[doc:ui.Рабочий стол НЕЙРОСС.Изменения интерфейса НЕЙРОСС.WebHome]]]: [[doc:ui.Рабочий стол НЕЙРОСС.WebHome]] > [[doc:ui.Параметры узла.WebHome]] > Инциденты > вкладка Обработка инцидентов. | ||
| 7 | * До версии 20.39 включительно: [[doc:ui.Рабочий стол НЕЙРОСС.WebHome]] > Конфигурация узлов > Ситуационный центр > вкладка Обработка инцидентов. | ||
| 8 | {{/info}} | ||
| 9 | |||
| 10 | {{info}} | ||
| 11 | Возможна полностью автоматическая обработка событий, например, события технической неисправности могут автоматически адресоваться службе эксплуатации. В этом случае воспользуйтесь сервисом автоматизации ~[[[neyross.НЕЙРОСС Автоматика.WebHome]]]. | ||
| 12 | {{/info}} | ||
| 13 | |||
| 14 | == {{id name="Настройкасхемыобработкиинцидентов-Общиесведения"/}}Общие сведения == | ||
| 15 | |||
| 16 | Платформа НЕЙРОСС обеспечивает возможность выбора схемы обработки инцидентов в зависимости от условий возникновения события и шагов оператора, выполняющего обработку, согласно заданному сценарию, с подсказкой оператору по шагам обработки и контролем действий оператора. (%%)Предустановлена стандартная схема обработки: оператор принимает инцидент в обработку, самостоятельно изучает состояния и события элементов, просматривает «живое» видео и видеоархив, формирует фото- и видеоматериалы, выполняет управляющие команды, формирует текстовый комментарий к инциденту и завершает его обработку. | ||
| 17 | |||
| 18 | {{info}} | ||
| 19 | При необходимости использования более сложного сценария обработки (с разветвлением и инструкциями оператору по шагам обработки) вы можете самостоятельно разработать такой сценарий или оформить заявку на разработку нестандартного многошагового алгоритма. Для работы в режиме PSIM (обработки события по алгоритму), требуется приобретение соответствующей лицензии ~[[[neyross.Лицензирование | Платформа НЕЙРОСС.WebHome]]]. | ||
| 20 | {{/info}} | ||
| 21 | |||
| 22 | Запуск задачи обработки осуществляется при возникновении события, удовлетворяющего конкретному фильтру. Таким образом, с(%%)оздавая пары [фильтр + алгоритм обработки], можно распределять инциденты по операторам и назначать разные схемы обработки разным типам событий. Обработка событий может быть частично или полностью автоматизирована. К пользовательским шагам обработки относится: отметка о выполнении заданного действия, заполнение формы, добавление комментария, вынос резолюции по инциденту, возможность скачать отчёт по инциденту. К автоматическим шагам обработки относится: возможность «привязать» архивные скриншоты, выполнить произвольный SCALA-скрипт, сформировать отчёт по инциденту и отправить на заданную почту. | ||
| 23 | |||
| 24 | **Порядок настройки:** | ||
| 25 | |||
| 26 | 1. **Рисование схемы | ||
| 27 | **Для рисования базовой схемы (каркаса) рекомендуется использовать встроенный редактор BPMN-схем. | ||
| 28 | \\ | ||
| 29 | 1. **Дополнение схемы | ||
| 30 | **Для всех автоматических и пользовательских шагов с помощью атрибутов настройте параметры шага. Для всех операторов ветвления нужно задать условия ветвления. Также необходимо указать уникальный идентификатор процесса. | ||
| 31 | \\ | ||
| 32 | 1. **Добавление фильтра | ||
| 33 | **Требуется задать условия запуска процесса обработки по заданному сценарию — фильтр отбора целевых событий. | ||
| 34 | |||
| 35 | Каждая схема должна содержать **Стартовое событие**, которое иницилизирует запуск процесса в нотации BPMN изображается в виде круга, а также **Конечное событие** — изображается в виде «жирного» круга. Для упрощения действий администратора по созданию сценария обработки, в Платформе НЕЙРОСС при создании алгоритма ему автоматически присваивается типовая схема, содержащая обязательные шаги и шаг ручного завершения оператором процедуры обработки инцидента. | ||
| 36 | |||
| 37 | [[image:attach:processing_scheme_start.png||width="500"]] | ||
| 38 | |||
| 39 | Вся логика работы (ход) процесса выражается во всевозможных элементах, расположенных между Стартовым и Конечным событием. Достаточно добавить типовые шаги обработки и настроить их параметры. | ||
| 40 | |||
| 41 | [[image:attach:processing_scheme_standart.png||width="800"]] | ||
| 42 | //Пример схемы с автоматическим формированием фотоматериалов и выгрузкой отчёта в формате PDF// | ||
| 43 | \\ | ||
| 44 | |||
| 45 | [[image:attach:algorithms.png||width="800"]] | ||
| 46 | |||
| 47 | //Пример сложной разветвлённой схемы обработки инцидентов АвтоКПП// | ||
| 48 | |||
| 49 | == {{id name="Настройкасхемыобработкиинцидентов-Созданиесхемыобработки"/}}(% class="auto-cursor-target" %)Создание схемы обработки(%%) == | ||
| 50 | |||
| 51 | В блоке **Алгоритмы обработки** нажмите на кнопку [[image:attach:btn_plus_new.png]] для добавления нового алгоритма. | ||
| 52 | |||
| 53 | В отобразившемся окне: | ||
| 54 | |||
| 55 | [[image:attach:algorithm_add.png||width="450"]] | ||
| 56 | |||
| 57 | 1. В поле **Название** введите произвольное текстовое название нового алгоритма. | ||
| 58 | 1. ((( | ||
| 59 | В поле **Фильтр по событиям** из раскрывающегося списка выберите фильтр событий. | ||
| 60 | |||
| 61 | {{info}} | ||
| 62 | Фильтр событий позволяет разделить все входящие события на несколько потоков и для каждого потока в отдельности задать свой алгоритм обработки. Фильтры настраиваются в разделе [[doc:ui.Параметры узла.События и фильтры.WebHome]]. Для перехода к разделу вы также можете воспользоваться кнопкой **Настроить фильтры [[image:attach:filtr_btn.png]].** | ||
| 63 | {{/info}} | ||
| 64 | ))) | ||
| 65 | 1. Нажмите на кнопку **Добавить и начать редактировать**. Будет создан новый алгоритм со стандартной схемой обработки. | ||
| 66 | |||
| 67 | \\ | ||
| 68 | |||
| 69 | Загрузите готовую схему обработки или создайте её с помощью редактора | ||
| 70 | |||
| 71 | 1. [[Загрузить готовую схему обработки>>doc:WebHome]] | ||
| 72 | 1. [[Создать схему с помощью редактора>>doc:||anchor="Настройкасхемыобработкиинцидентов-Редакторсхемобработки"]] | ||
| 73 | |||
| 74 | === {{id name="Настройкасхемыобработкиинцидентов-Загрузкаготовойсхемыобработки"/}}Загрузка готовой схемы обработки === | ||
| 75 | |||
| 76 | Вы можете загрузить готовый XML-файл схемы, а также вставить исходный код с помощью текстового редактора. | ||
| 77 | |||
| 78 | **Загрузка файла** | ||
| 79 | |||
| 80 | 1. В поле **Описание схемы** нажмите на кнопку **Выбрать файл** и укажите файл XML-описания алгоритма обработки. Будет загружен графический вид схемы. | ||
| 81 | 1. Нажмите на кнопку **Сохранить**. | ||
| 82 | |||
| 83 | **Загрузка исходного кода** | ||
| 84 | |||
| 85 | 1. Скопируйте исходный код схемы в буфер обмена. | ||
| 86 | 1. В поле **Описание схемы** нажмите на кнопку **Открыть редактор**. | ||
| 87 | 1. На вкладке **Текстовый редактор** вставьте код схемы из буфера обмена. | ||
| 88 | 1. Нажмите на кнопку **Сохранить**. | ||
| 89 | |||
| 90 | {{info}} | ||
| 91 | Подробная информация по работе с редактором схем обработки приведена ниже. | ||
| 92 | {{/info}} | ||
| 93 | |||
| 94 | \\ | ||
| 95 | |||
| 96 | === {{id name="Настройкасхемыобработкиинцидентов-Созданиесхемывредакторе"/}}Создание схемы в редакторе === | ||
| 97 | |||
| 98 | В поле **Описание схемы** нажмите на кнопку **Открыть редактор**. | ||
| 99 | [[image:attach:processing_redactor_open.png||height="57"]] | ||
| 100 | |||
| 101 | В отобразившемся [[окне редактора схем>>doc:||anchor="Настройкасхемыобработкиинцидентов-Окноредакторасхем"]]: | ||
| 102 | |||
| 103 | 1. ((( | ||
| 104 | Сформируйте каркас схемы обработки [3] при помощи готовых элементов, доступных на панели элементов [2], задайте последовательность шагов. Рекомендуется использовать базовую схему с шагами запуска и завершения инцидента и дополнить её готовыми или произвольными шагами обработки. Для обеспечения «ветвления» алгоритма — выбор «ветки» в зависимости от заданных оператором условий — предусмотрен оператор ветвления. | ||
| 105 | |||
| 106 | {{info title="Перечень готовых элементов схемы обработки"}} | ||
| 107 | [[#Готовые элементы схемы обработки>>doc:||anchor="Настройкасхемыобработкиинцидентов-Готовыеэлементысхемыобработки"]] | ||
| 108 | {{/info}} | ||
| 109 | ))) | ||
| 110 | 1. На панели свойств [5] измените, при необходимости, уникальный идентификатор каждого шага и потока, укажите параметры. | ||
| 111 | 1. Перейдите к вкладке **Текстовый редактор** [1] задайте дополнительные параметры элементов, условия ветвления. | ||
| 112 | [[image:attach:processing_scheme_text.png||width="800"]] | ||
| 113 | 1. ((( | ||
| 114 | Нажмите на кнопку **Сохранить**. | ||
| 115 | |||
| 116 | {{info}} | ||
| 117 | В процессе сохранения выполняется валидация алгоритма. Если найдены ошибки, сохранение не выполняется. Проверьте алгоритм и внесите необходимые изменения, повторите попытку сохранения. | ||
| 118 | {{/info}} | ||
| 119 | ))) | ||
| 120 | 1. Закройте окно редактора схем. | ||
| 121 | [[image:attach:processing_redactor_close.png||width="500"]] | ||
| 122 | |||
| 123 | \\ | ||
| 124 | |||
| 125 | == {{id name="Настройкасхемыобработкиинцидентов-Окноредакторасхем"/}}Окно редактора схем == | ||
| 126 | |||
| 127 | [[image:attach:s_center_redactor_schemes.png||width="900"]] | ||
| 128 | |||
| 129 | 1. **Вкладки Диаграмма и Текстовый редактор**: вкладка **Диаграмма** предоставляет графический редактор для формирования каркаса схемы, вкладка** Текстовый редактор** предоставляет доступ к коду xml-схемы с подсветкой синтаксиса, позволяет задать параметры шагов схемы. | ||
| 130 | 1. **Панель элементов**:[[ готовые элементы схемы обработки>>doc:||anchor="Настройкасхемыобработкиинцидентов-Готовыеэлементысхемыобработки"]]; достаточно выбрать требуемый элемент и нанести на схему. | ||
| 131 | 1. **Схема обработки**: визуальное представление схемы с указанием последовательности обработки шага; формируется автоматически в процессе добавления новых элементов; каждому элементу и потоку присваивается уникальный идентификатор, который вы можете изменить в поле id панели свойств [5]. | ||
| 132 | 1. **Элемент схемы обработки**: при выделении элемента отображаются доступные инструменты по изменению типа элемента, добавлением нового потока и проч. | ||
| 133 | 1. **Панель свойств**: содержит базовые свойства выделенного на схеме [3] элемента ~[[[#Готовые элементы схемы обработки>>doc:||anchor="Настройкасхемыобработкиинцидентов-Готовыеэлементысхемыобработки"]]]. | ||
| 134 | 1. Кнопка **Сохранить**: сохранение схемы, в процессе сохранения выполняется валидация. | ||
| 135 | |||
| 136 | \\ | ||
| 137 | |||
| 138 | == {{id name="Настройкасхемыобработкиинцидентов-Готовыеэлементысхемыобработки"/}}Готовые элементы схемы обработки == | ||
| 139 | |||
| 140 | Платформа НЕЙРОСС предоставляет готовые элементы для построения схемы обработки инцидентов: | ||
| 141 | |||
| 142 | * пользовательские шаги: отметка о выполнении действия, заполнение формы; | ||
| 143 | * автоматические шаги: добавление медиаматериалов, формирование отчёта по инциденту и отправка его на электронную почту, выполнение произвольного скрипта. | ||
| 144 | |||
| 145 | Подержаны операторы условного ветвления. | ||
| 146 | |||
| 147 | |=(% colspan="4" style="text-align: left;" %)((( | ||
| 148 | Пользовательские шаги | User Task | ||
| 149 | ))) | ||
| 150 | |=(% style="text-align: left;" %)((( | ||
| 151 | № | ||
| 152 | )))|=(% style="text-align: left;" %)((( | ||
| 153 | Шаг / Панель свойств | ||
| 154 | )))|=(% style="text-align: left;" %)((( | ||
| 155 | Описание | ||
| 156 | )))|=(% style="text-align: left;" %)((( | ||
| 157 | Пример XML-описания | ||
| 158 | ))) | ||
| 159 | |(% style="text-align: left;" %)((( | ||
| 160 | 1 | ||
| 161 | )))|(% style="text-align: left;" %)((( | ||
| 162 | ((( | ||
| 163 | Отметить выполнение действия | ||
| 164 | |||
| 165 | [[image:attach:processing_scheme_chekbox1.png||height="96"]] | ||
| 166 | ))) | ||
| 167 | |||
| 168 | [[image:attach:processing_scheme_chekbox.png||thumbnail="true" width="200"]] | ||
| 169 | )))|(% style="text-align: left;" %)((( | ||
| 170 | Пользовательский произвольный шаг обработки, факт выполнения которого оператор фиксирует установкой флага в соответствующем поле. Задаёт алгоритм действий оператора: подсказывает последовательность шагов и контролирует их выполнение. | ||
| 171 | |||
| 172 | Инструкция оператору задаётся в поле {{code language="none"}}name{{/code}}. | ||
| 173 | |||
| 174 | В карточке инцидента отображается в виде чек-бокса с текстом. Оператор знакомится с текстом инструкции, выполняет требуемые действия. По факту завершения устанавливает флаг в поле. Система фиксирует время выполнения шага и передает управление следующему шагу. | ||
| 175 | )))|(% style="text-align: left;" %)((( | ||
| 176 | ((( | ||
| 177 | {{code language="java"}} | ||
| 178 | <userTask id="view_all_around" name="Осуществить обзор территории" activiti:assignee="incident:${incidentId}" activiti:exclusive="true"> | ||
| 179 | <extensionElements> | ||
| 180 | <ultima:bpmnElementExtension class="extensions.vmc.incident.SimpleIncidentTask"/> | ||
| 181 | </extensionElements> | ||
| 182 | </userTask> | ||
| 183 | {{/code}} | ||
| 184 | ))) | ||
| 185 | ))) | ||
| 186 | |(% style="text-align: left;" %)((( | ||
| 187 | 2 | ||
| 188 | )))|(% style="text-align: left;" %)((( | ||
| 189 | ((( | ||
| 190 | Завершить обработку / пометить инцидент ложным | ||
| 191 | |||
| 192 | [[image:attach:processing_scheme_finish1.png||width="320"]] | ||
| 193 | ))) | ||
| 194 | |||
| 195 | [[image:attach:processing_scheme_finish.png||thumbnail="true" width="200"]] | ||
| 196 | )))|(% style="text-align: left;" %)((( | ||
| 197 | Завершает обработку инцидента. Выносит резолюцию «Ложный» / «Подтверждённый» для инцидента. | ||
| 198 | |||
| 199 | В карточке инцидента отображается в виде виде двух кнопок: **Завершить** и **Ложный**. | ||
| 200 | |||
| 201 | Шаг включён в стандартную схему обработки. | ||
| 202 | )))|(% style="text-align: left;" %)((( | ||
| 203 | ((( | ||
| 204 | {{code language="java"}} | ||
| 205 | <userTask id="finishProcessing" name="Завершить обработку" activiti:assignee="incident:${incidentId}" activiti:exclusive="true"> | ||
| 206 | <extensionElements> | ||
| 207 | <ultima:bpmnElementExtension class="extensions.vmc.incident.FinishProcessingIncidentTask"/> | ||
| 208 | </extensionElements> | ||
| 209 | </userTask> | ||
| 210 | {{/code}} | ||
| 211 | ))) | ||
| 212 | ))) | ||
| 213 | |(% style="text-align: left;" %)((( | ||
| 214 | 3 | ||
| 215 | )))|(% style="text-align: left;" %)((( | ||
| 216 | Заполнить произвольную форму | ||
| 217 | |||
| 218 | [[image:attach:processing_scheme_form1.png||width="320"]] | ||
| 219 | |||
| 220 | [[image:attach:processing_scheme_form.png||thumbnail="true" width="200"]] | ||
| 221 | |||
| 222 | \\ | ||
| 223 | |||
| 224 | \\ | ||
| 225 | |||
| 226 | ((( | ||
| 227 | \\ | ||
| 228 | ))) | ||
| 229 | )))|(% style="text-align: left;" %)((( | ||
| 230 | Позволяет оператору заполнить и отправить произвольную форму из полей типа string, long, boolean, date, enum и selectvalue. Возможно указание списка полей, обязательных к заполнению, значений по умолчанию для полей, текстовых подсказок оператору. | ||
| 231 | |||
| 232 | В карточке инцидента отображается в виде заголовка, списка полей формы и кнопки **Отправить**. | ||
| 233 | |||
| 234 | Заголовок формы задаётся в поле name для шага обработки. Параметры полей указываются отдельно: идентификатор (id), тип поля (type), заголовок поля (name), флаг обязательности (required), значение по умолчанию (default), флаг «только для чтения» (readonly). | ||
| 235 | |||
| 236 | Система фиксирует время выполнения шага и передает управление следующему шагу. | ||
| 237 | |||
| 238 | Все введённые значения доступны при обработке следующих шагов, в частности, — в зависимости от введённого оператором значения возможен выбор ветки алгоритма. | ||
| 239 | )))|(% style="text-align: left;" %)((( | ||
| 240 | ((( | ||
| 241 | {{code language="java"}} | ||
| 242 | <userTask id="fill_form" name="Заполнить форму" activiti:assignee="incident:${incidentId}" activiti:exclusive="true"> | ||
| 243 | <extensionElements> | ||
| 244 | <ultima:bpmnElementExtension class="extensions.vmc.incident.UserFormIncidentTask"/> | ||
| 245 | <activiti:formProperty id="stringValue" name="Текст" type="string" default="123"/> | ||
| 246 | <activiti:formProperty id="booleanValue" name="Да/Нет" type="boolean" required="true"/> | ||
| 247 | <activiti:formProperty type="long" name="Число" id="longValue" default="Целое число"/> | ||
| 248 | <activiti:formProperty id="dateValue" name="Дата" type="date"/> | ||
| 249 | <activiti:formProperty id="selectValue" name= "Выбор из списка" type="enum"> | ||
| 250 | <activiti:value id="value1" name="Первое значение"/> | ||
| 251 | <activiti:value id="value12" name="Второе значение"/> | ||
| 252 | <activiti:value id="value13" name="Третье значение"/> | ||
| 253 | <activiti:value id="value14" name="Четвёртое значение"/> | ||
| 254 | </activiti:formProperty> | ||
| 255 | </extensionElements> | ||
| 256 | </userTask> | ||
| 257 | {{/code}} | ||
| 258 | ))) | ||
| 259 | ))) | ||
| 260 | |(% style="text-align: left;" %)((( | ||
| 261 | 4 | ||
| 262 | )))|(% style="text-align: left;" %)((( | ||
| 263 | ((( | ||
| 264 | Запустить процесс сформирования PDF-отчета об инцидентен и сохранения его в папку загрузок браузера | ||
| 265 | |||
| 266 | [[image:attach:processing_scheme_download1.png||width="320"]] | ||
| 267 | |||
| 268 | [[image:attach:processing_scheme_download.png||thumbnail="true" width="200"]] | ||
| 269 | ))) | ||
| 270 | )))|(% style="text-align: left;" %)((( | ||
| 271 | Позволяет оператору скачать pdf-отчёт об инциденте. | ||
| 272 | |||
| 273 | В XML-описании указывается: ключ отчёта, идентификатор источника данных и форма, которая будет использована при формировании отчёта. | ||
| 274 | |||
| 275 | В карточке инцидента отображается в виде двух кнопок **Сохранить отчёт** и **Не сохранять**. На момент подготовки отчёта кнопки не активны. В случае возникновения ошибки создания отчёта отображается кнопка **Ошибка**. | ||
| 276 | |||
| 277 | Система фиксирует время выполнения шага и передает управление следующему шагу. | ||
| 278 | )))|(% style="text-align: left;" %)((( | ||
| 279 | ((( | ||
| 280 | {{code language="java"}} | ||
| 281 | <userTask id="Download_report" name="Скачать отчёт по инциденту" activiti:assignee="incident:${incidentId}" activiti:exclusive="true"> | ||
| 282 | <extensionElements> | ||
| 283 | <ultima:bpmnElementExtension class="extensions.vmc.incident.DownloadReportTask"/> | ||
| 284 | <activiti:formProperty id="reportDefinitionKey" type="string" default="ultima-reports-vmc-incident-detail" writable="false" readable="true"/> | ||
| 285 | <activiti:formProperty id="dataSourceId" type="long" default="1" writable="false" readable="true"/> | ||
| 286 | <activiti:formProperty id="INCIDENT_ID" type="long" default="${incidentId}" writable="false" readable="true"/> | ||
| 287 | </extensionElements> | ||
| 288 | </userTask> | ||
| 289 | {{/code}} | ||
| 290 | ))) | ||
| 291 | ))) | ||
| 292 | |=(% colspan="4" style="text-align: left;" %)((( | ||
| 293 | Автоматические шаги | Service Task | ||
| 294 | ))) | ||
| 295 | |(% style="text-align: left;" %)((( | ||
| 296 | 1 | ||
| 297 | )))|(% style="text-align: left;" %)((( | ||
| 298 | ((( | ||
| 299 | «Привязать» архивные скриншоты | ||
| 300 | |||
| 301 | [[image:attach:processing_scheme_screenshots.png||width="200"]] | ||
| 302 | ))) | ||
| 303 | )))|(% style="text-align: left;" %)((( | ||
| 304 | Добавляет в карточку инцидента скриншоты из архива «привязанных» к источнику инцидента камер. Действий пользователя не требуется. Скриншоты добавляются в отчёт по инциденту. | ||
| 305 | |||
| 306 | В поле **Относительное время** (параметр **relativeTimestamps в **коде) через запятую задаются сдвиги относительно времени возникновения инцидента, за которые нужно «привязать» скриншоты. | ||
| 307 | |||
| 308 | Необходимо обеспечить связь камер с источником тревог ~[[[«Привязка» камер источникам тревог>>doc:ui.Параметры узла.Элементы.«Привязка» камер источникам тревог.WebHome]]] и наличие видеоархива за требуемый период. | ||
| 309 | )))|(% style="text-align: left;" %)((( | ||
| 310 | ((( | ||
| 311 | {{code language="java"}} | ||
| 312 | <serviceTask id="Screenshots" name="Привязать архивные скриншоты" activiti:class="extensions.vmc.incident.BindArchiveSnapshotsTask"> | ||
| 313 | <extensionElements> | ||
| 314 | <activiti:field stringValue="-5,0,5" name="relativeTimestamps"/> | ||
| 315 | <activiti:field name="incidentId" expression="${incidentId}"/> | ||
| 316 | </extensionElements> | ||
| 317 | </serviceTask> | ||
| 318 | {{/code}} | ||
| 319 | ))) | ||
| 320 | ))) | ||
| 321 | |(% style="text-align: left;" %)((( | ||
| 322 | 2 | ||
| 323 | )))|(% style="text-align: left;" %)((( | ||
| 324 | ((( | ||
| 325 | Отправить отчёт по e-mail | ||
| 326 | |||
| 327 | [[image:attach:processing_scheme_email_.png||thumbnail="true" width="200"]] | ||
| 328 | ))) | ||
| 329 | )))|(% style="text-align: left;" %)((( | ||
| 330 | Формирует отчёт об инциденте и отправляет его на заданную почту. Отчёт формируется в формате pdf. | ||
| 331 | |||
| 332 | Необходимо настроить параметры почтового сервера в разделе [[Дополнительные настройки>>doc:ui.Параметры узла.Дополнительные настройки.Параметры изображений планов, интеграция с ГИС.WebHome]]. Требуется наличие лицензий ~[[[neyross.НЕЙРОСС Автоматика.WebHome]]]. | ||
| 333 | |||
| 334 | E-mail-адрес получателя указывается в параметрах шага. | ||
| 335 | )))|(% style="text-align: left;" %)((( | ||
| 336 | ((( | ||
| 337 | {{code language="java"}} | ||
| 338 | <serviceTask id="E-mail_report" name="Отправить отчет по email" activiti:class="extensions.vmc.incident.SendReportByEmailTask"> | ||
| 339 | <extensionElements> | ||
| 340 | <activiti:field stringValue="example@example.com" name="emailTo" type="string"/> | ||
| 341 | <activiti:field name="incidentId" expression="${incidentId}"/> | ||
| 342 | <activiti:field stringValue="ultima-reports-vmc-incident-detail" name="reportDefinitionKey" type="string"/> | ||
| 343 | </extensionElements> | ||
| 344 | </serviceTask> | ||
| 345 | {{/code}} | ||
| 346 | ))) | ||
| 347 | ))) | ||
| 348 | |(% style="text-align: left;" %)((( | ||
| 349 | 3 | ||
| 350 | )))|(% style="text-align: left;" %)((( | ||
| 351 | ((( | ||
| 352 | (% class="code" %) | ||
| 353 | ((( | ||
| 354 | Выполнить произвольный скрипт | ||
| 355 | [[image:attach:processing_scheme_scrypt.png||thumbnail="true" width="200"]] | ||
| 356 | ))) | ||
| 357 | ))) | ||
| 358 | )))|(% style="text-align: left;" %)((( | ||
| 359 | Запускает на выполнение произвольный scala-скрипт. Специальные символы в скрипте необходимо экранировать, согласно стандарту XML. Переносы строки в коде нужно заменить на ";" | ||
| 360 | )))|(% style="text-align: left;" %)((( | ||
| 361 | ((( | ||
| 362 | {{code language="java"}} | ||
| 363 | <serviceTask id="Run_scrypt" name="Выполнить пользовательский скрипт" activiti:class="extensions.vmc.incident.RunScriptTask"> | ||
| 364 | <extensionElements> | ||
| 365 | <activiti:field stringValue="import services.common.{SystemLogService, SystemLogTag};val systemLogService = ctx.injector.instanceOf[SystemLogService];systemLogService.log(SystemLogTag.ALARM)("ТРЕВОГА")" name="script" type="string"/> | ||
| 366 | <activiti:field name="incidentId" expression="${incidentId}"/> | ||
| 367 | </extensionElements> | ||
| 368 | </serviceTask> | ||
| 369 | {{/code}} | ||
| 370 | ))) | ||
| 371 | ))) | ||
| 372 | |=(% colspan="4" style="text-align: left;" %)((( | ||
| 373 | Оператор условного ветвления | ||
| 374 | ))) | ||
| 375 | |(% style="text-align: left;" %)((( | ||
| 376 | 1 | ||
| 377 | )))|(% style="text-align: left;" %)((( | ||
| 378 | ((( | ||
| 379 | «Разветвить» алгоритм | ||
| 380 | |||
| 381 | [[image:attach:processing_scheme_gateway.png||thumbnail="true" width="200"]] | ||
| 382 | ))) | ||
| 383 | )))|(% style="text-align: left;" %)((( | ||
| 384 | Позволяет в зависимости от значения текущих переменных в рамках обработки инцидента выбрать тот или иной следующий шаг. | ||
| 385 | |||
| 386 | На текущий момент в качестве переменных можно использовать только значения, введённые оператором в рамках ранее завершённых шагов заполнения формы | ||
| 387 | )))|(% style="text-align: left;" %)((( | ||
| 388 | ((( | ||
| 389 | {{code language="java"}} | ||
| 390 | <userTask id="Form" name="Предварительная проверка" activiti:assignee="incident:${incidentId}" activiti:exclusive="true"> | ||
| 391 | <extensionElements> | ||
| 392 | <ultima:bpmnElementExtension class="extensions.vmc.incident.UserFormIncidentTask"/> | ||
| 393 | <activiti:formProperty id="isNotPhony" type="boolean" name="Нарушитель обнаружен"/> | ||
| 394 | </extensionElements> | ||
| 395 | </userTask> | ||
| 396 | <exclusiveGateway id="Gateway"/> | ||
| 397 | <sequenceFlow id="Flow_toForm" sourceRef="startevent1" targetRef="Form"/> | ||
| 398 | <sequenceFlow id="Flow_toGateway" sourceRef="Form" targetRef="Gateway"/> | ||
| 399 | <sequenceFlow id="flow_GatewayON" name="Инцидент подтверждён" sourceRef="Gateway" targetRef="Activity_1o9mqp9"> | ||
| 400 | <conditionExpression xsi:type="tFormalExpression"> | ||
| 401 | ${isNotPhony == true} | ||
| 402 | </conditionExpression> | ||
| 403 | </sequenceFlow> | ||
| 404 | <sequenceFlow id="flow_GatewayOFF" name="Ложная тревога" sourceRef="Gateway" targetRef="finishProcessing"> | ||
| 405 | <conditionExpression xsi:type="tFormalExpression"> | ||
| 406 | ${isNotPhony != true} | ||
| 407 | </conditionExpression> | ||
| 408 | </sequenceFlow> | ||
| 409 | {{/code}} | ||
| 410 | ))) | ||
| 411 | ))) | ||
| 412 | |||
| 413 | == {{id name="Настройкасхемыобработкиинцидентов-Отладкапроцедурыобработки"/}}Отладка процедуры обработки == | ||
| 414 | |||
| 415 | Откройте «живой» журнал аудита и выберете пресет **Обработка инцидентов**. | ||
| 416 | |||
| 417 | ~[[[doc:ui.Журнал аудита.WebHome]]] |