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