Библиотека для работы с бизнес процессами в OScript

workflow

Stars Release Открытый чат проекта https://gitter.im/EvilBeaver/oscript-library

Build Status Coverage Status

Библиотека для workflow

Короткое название workflow

Возможности

Данная библиотека предназначена для формирования простых и условых бизнес-процессов выполнения методов в OScript. Реализует основные классы: БизнесПроцесс - основной класс работы ЗадачаБизнесПроцесса - основная задача бизнес процесса УсловиеБизнесПроцесса - задача с условием бизнес процесса, выполняет в зависимости от условия разные ветки бизнес процесса (по факту вложенные бизнес процессы)

Установка

Для установки необходимо:

  • Скачать файл workflow*.ospx из раздела releases
  • Воспользоваться командой:
opm install -f <ПутьКФайлу>

или установить с хаба пакетов

opm install workflow

Пример работы

  • Выполнение задач с использованием нескольких задач

	БизнесПроцесс = Новый БизнесПроцесс("Тестовый бизнес процесс");
	БизнесПроцесс.ДобавитьЗадачу("Задача1", ЭтотОбъект, "ПроцедураБезПараметров");
	БизнесПроцесс.ДобавитьЗадачу("Задача2", ЭтотОбъект, "ПроцедураБезПараметров");
	БизнесПроцесс.ДобавитьЗадачу("Задача3", ЭтотОбъект, "ПроцедураБезПараметров");
	БизнесПроцесс.Запустить();

	Ожидаем.Что(БизнесПроцесс.Завершен(), "Бизнес процесс должен быть завершен").ЕстьИстина();

  • Выполнение задач с использованием общего контекста

	МассивПараметровЗадачи = Новый Массив();
	МассивПараметровЗадачи.Добавить("Параметр1ИзМассива");

	КонтекстВыполнения = БизнесПроцессы.НовыйКонтекстВыполнения();

	БизнесПроцесс = Новый БизнесПроцесс("Тестовый бизнес процесс");
	БизнесПроцесс.ДобавитьЗадачу("Задача1", ЭтотОбъект, "ПроцедураПомещенияВКонтекстЗначения", МассивПараметровЗадачи, КонтекстВыполнения);
	БизнесПроцесс.ДобавитьЗадачу("Задача2", ЭтотОбъект, "ПроцедураПолученияИзКонтекстаЗначения", МассивПараметровЗадачи, КонтекстВыполнения);
	БизнесПроцесс.Запустить();

  • Выполнение задач с условием выполнения

	МассивПараметровЗадачи = Новый Массив();
	МассивПараметровЗадачи.Добавить(Истина);

	БизнесПроцесс = Новый БизнесПроцесс("Тестовый бизнес процесс");
	КонтекстБизнесПроцесса = БизнесПроцесс.ПолучитьКонтекст();
	БизнесПроцесс.ДобавитьЗадачу("Задача1", ЭтотОбъект, "ПроцедураСКонтекстом", МассивПараметровЗадачи, КонтекстБизнесПроцесса);
	Условие1 = БизнесПроцесс.НовоеУсловие("Условие1");

	МассивПараметровЗадачи = Новый Массив();
	МассивПараметровЗадачи.Добавить(Ложь);
	Условие1.ДляЗначения(Истина).ДобавитьЗадачу("ЗадачаИстины", ЭтотОбъект, "ПроцедураСКонтекстом", МассивПараметровЗадачи, КонтекстБизнесПроцесса);
    Условие1.ПоУмолчанию().ДобавитьЗадачу("ЗадачаПоУмолчанию", ЭтотОбъект, "ПроцедураСКонтекстомПоУмолчанию", МассивПараметровЗадачи, КонтекстБизнесПроцесса);

	БизнесПроцесс.Запустить();

Публичный интерфейс

Документация публичного интерфейса (в разработке)

Доработка

Доработка проводится по git-flow. Жду ваших PR.

Лицензия

Смотри файл LICENSE.

Доступные версии пакета

0.1.0
Изменен: 02.01.2019 19:48:29
В разработке

Репозиторий

https://github.com/oscript-library/workflow

Актуальная версия

workflow-0.1.0