Бизнес-процесс логистической компании в Unify NXJ


Содержание

1. Введение
2. Бизнес-кейс
3. Используемое ПО
4. Архитектура решения
4.1. Процесс «Заявка»
4.2. Процесс «Лот»
5. Программные компоненты
5.1. Программа чтения заявки
5.2. Программа группажа лотов
5.3. Пользовательский интерфейс
5.4. Таймер заявки
5.5. Программа подготовки отчета
5.6. Приложение «Заявка-Лот»
5.7. Портал пользователя
6. Пошаговая инструкция по исполнению процесса
7. Контакты

Любая современная компания, будь то крупный холдинг или представитель среднего бизнеса, имеет у себя одну или несколько автоматизированных систем и компьютеры на каждом рабочем столе. У тех, что покрупнее, — мощные ИТ-службы. Но при этом огромная часть работ по-прежнему остается за рамками корпоративных систем. Рабочие места обрастают «самоделками» в виде таблиц Excel, данные передаются в виде файлов или бумажных документов... Тяжеловесные, неповоротливые системы «не дотягиваются» до деталей реального бизнес-процесса. Гибкость этому монолиту способна придать BPM-система.

Предлагаем демонстрацию BPM-решения для крупной транснациональной логистической компании, работающей с несколькими производителями автотранспорта и множеством региональных дилеров. Чем интересна эта демонстрация:

Бизнес-процесс доставки автомобилей является основным для логистической компании. Это классический пример «сквозного» процесса, начинающегося с заказа на доставку от производителя и заканчивающегося доставкой дилерам. Участники процесса:

Дилеры отправляют на адрес производителя заказы на автомобили. Готовые автомобили производитель отправляет логистической компании вместе с адресами заказавших их дилеров. Логистическая компания отправляет автомобили дилерам, пользуясь для этого услугами специализированных компаний-грузоперевозчиков.

Демонстрационный процесс описывает работу логистической компании, начиная от получения заявки от производителя на доставку автомобилей и заканчивая подтверждением доставки.

Как организована эта работа:

  1. Производитель подает заявки в виде файлов Excel, содержащих идентификаторы автомобилей (номера VIN) и адреса получателей (дилеров).
  2. Экспедитор компании выбирает из заявки автомашины по направлениям, за которые он отвечает, и группирует их для погрузки на автовозы. (Группа автомобилей для погрузки на один автовоз называется «лот», а процедура сборки лота называется «группаж»). Направлением может быть, к примеру, Казань — Нижний Новгород — Екатеринбург, а в одном автовозе могут находиться машины для разных дилеров из этих городов. Количество экспедиторов, работающих с одной заявкой, может быть любым, в зависимости от присутствующих в ней направлений.
  3. Экспедитор заказывает у компании-грузоперевозчика автовоз для сформированного лота.
  4. Информацию о сформированном лоте экспедитор отправляет на склад. Склад производит сборку лота и его погрузку на автовоз. Пока автовоз не выехал с территории склада, экспедитор вправе заменить одну позицию в лоте на другую или исключить позицию из лота.
  5. По завершении доставки грузоперевозчик сообщает экспедитору компании фактические время и маршрут, а также цену, рассчитанную по этим данным. Расчеты с грузоперевозчиком производятся по факту доставки.
  6. Заявка считается выполненной, когда доставлены все заявленные в ней автомобили.

Какие сложности в управлении этим процессом возникали у компании:

Как изменилась работа компании после автоматизации процесса:

Представление о том, что сквозной бизнес-процесс исполняется как «делай раз — делай два — делай три» является упрощенным и наивным. Синхронно, шаг за шагом, исполняются только отдельные фрагменты. Сквозной же процесс технически реализуется в BPM-системе в виде нескольких процессов, асинхронно исполняемых и взаимодействующих друг с другом посредством различных сигналов и инициируемых этими сигналами событий (т.н. процессная хореография). Этим и отличается BPMS от простой системы класса WorkFlow.

Описываемый бизнес-процесс технически состоит из двух асинхронно взаимодействующих процессов:

Специфика данного процесса заключается в том, что объектами являются три разные сущности — заявка, лот и автомобиль. Смена состояний каждого объекта зависит от состояния других. Так, состояние заявки зависит от состояния всех входящих в нее автомобилей. Состояние автомобиля зависит от состояния лота. Экземпляры процесса «Лот» не привязаны к конкретной заявке, но именно они меняют состояние каждого объекта автомобиль и опосредованно через них — заявки в целом.

Процесс «Заявка» отслеживает состояние заявки от момента ее возникновения до момента доставки автомобилей получателям.

  1. Когда пользователь нажимает кнопку «Импорт», запускается программа чтения заявки. Содержимое заявки от производителя заносится в базу данных.
  2. Процедура импорта стартует экземпляр процесса «Заявка» через веб-сервис.
  3. Данные проверяются на наличие ошибок (например, указано неверное направление или нарушен формат данных). В случае наличия ошибок процесс переходит на шаг «Исправить некорректные записи заявки», назначенный старшему экспедитору. Старший экспедитор вносит необходимые исправления, после чего снова запускается процедура проверки заявки.
  4. После проверки входного файла процесс переходит на шаг «Группаж лотов», и находится на этом шаге до тех пор, пока все позиции заявки не будут сгуппированы в лоты.
  5. Группировка в лоты происходит в процессе «Лот». После того, как все позиции заявки сгруппированы, из процесса лот инициируется переход процесса «Заявка» на шаг «Лоты отгружены».
  6. Когда все процессы «Лот», в которых присутствуют позиции заявки, будут завершены, процесс «Заявка» перейдет с шага «Лоты отгружены» на шаг «Лоты доставлены».

  1. При нажатии кнопки «Пуск» на сформированном лоте, запускается процесс «Лот». Процесс стартует через веб-сервис.
  2. На шаге «Согласование автовоза» экспедитор компании договаривается с грузоперевозчиком о выделении транспорта.
  3. Сборка лотов производится автоматически, но в любой момент до погрузки на автовоз экспедитор может вручную скорректировать лот.
  4. Одновременно с шагами «Сборка лота» и «Прибытие автовоза на КПП» стартует шаг «Лот на погрузке», назначенный экспедитору. На этом шаге экспедитор может менять состав лота. Как только процесс переходит на шаг «Контроль на выезде», шаг «Лот на погрузке» становится неактивным.
  5. На шаге «Ожидание доставки» процесс находится до тех пор, пока не придет подтверждение, что груз доставлен. После получения подтверждения о доставке на этом же шаге происходит проверка наличия заявок, по которым доставлены все позиции. Процессы «Заявка», по которым все позиции выполнены, переводятся на шаг «Лоты доставлены».

Для реализации процесса разработаны следующие компоненты: веб-сервисы, Java-приложения, пользовательские интерфейсы, выполненные в NXJ ActiveForms, отчеты, выполненные в Jusper Reports. Для каждого шага, назначаемого пользователю, разработаны экранные веб-формы.

Для работы с порталом, заявками и лотами, с экранными формами пользователю не нужно устанавливать на компьютер никакого программного обеспечения, весь пользовательский интерфейс реализован в интернет-браузере (в демонстрации используется Internet Explorer).

Заявка представляет собой файл в формате Excel. Каждая строка таблицы — это один заказанный автомобиль, имеющий свой идентификатор (VIN), адрес парковки (склад, с которого забирать), местоположение в пределах склада и адрес доставки (точка назначения).

Заявка приходит по электронной почте и перемещается в специальную папку. Программа чтения заявки (Java приложение), которая запускается нажатием кнопки «импорт», разбирает каждую строку файла и записывает данные в соответствующие поля таблицы заявок в БД. В случае некорректных данных во входном файле заявка отправляется старшему экспедитору, который исправляет данные вручную. После исправления файл снова подается в программу обработки.

Процедура импорта в конце своей работы запускает через веб-сервис процесс «Заявка».

Участники процесса могут исполнять одну или несколько ролей, т.е. входить в одну или несколько ролевых групп (например, сотрудник может входить в группы «экспедитор» и «старший экспедитор»). В процессе участвуют следующие группы пользователей:

Направления, обслуживаемые экспедиторами:

В демо-примере пароли пользователей совпадают с их именами.

Шаг 1.

Запустите приложение «Заявка-Лот» (ярлык на рабочем столе). Имя и пароль — ann.

Шаг 2.

Кликните на иконку «импорт», выберите импортируемую заявку (если заявка уже была импортирована ранее, то повторно она не загрузится). После того, как заявка загрузится, в окне появятся все позиции заявки, относящиеся к вашему направлению (Рисунок 3).

Шаг 3.

Кликните на иконку «Группаж» для автоматической группировки лотов. Нумерация лотов автоматическая — направление + автоматический номер. Позиции лота можно удалять или добавлять до тех пор, пока лот он не будет отгружен.

Запустите процесс «Лот» (Рисунок 4). Для этого кликните на кнопку старта (зеленый кружок со стрелкой). Через несколько секунд появится сообщение «Процесс Лот стартовал».

Шаг 4.

Откройте приложение «Портал» (иконка «Портал» на рабочем столе) (Рисунок 5).

В закладке «Задания» появится задание «Согласование автовоза» с именем стартовавшего процесса «Лот». Для того, чтобы посмотреть схему экземпляра процесса, кликните на ссылку с именем процесса в колонке «процесс». Для выполнения задания кликните по ссылке с названием шага задания в колонке «задания».

В открывшейся форме (Рисунок 6) выберите компанию-перевозчика из списка, заполните поля (красной рамкой помечены поля, обязательные для заполнения). Нажмите кнопку «Согласован».

Шаг 5.

В портале нажмите кнопку «Обновить», после чего появятся три задания «Лот на погрузке», «Прибытие автовоза на КПП» и «Сборка лота».

(Примечание: кнопку «Обновить» необходимо нажимать при каждом возврате в портал.)

Шаг 6.

Кликните на задании «Прибытие автовоза на КПП» и сделайте отметку о прибытии — нажмите кнопку «Прибыл» (Рисунок 7).

Шаг 7.

Кликните на задании «Сборка лота» и сделайте отметку о том, что лот собран — нажмите кнопку «Собран». (Рисунок 8).

Шаг 8.

Кликните на задании «Погрузка» и сделайте отметку о выполнении — проставьте дату отгрузки и нажмите кнопку «Выполнена». (Рисунок 9).

Шаг 9.

Кликните на задании «Контроль на выезде», в поле «Число автомобилей» проставьте количество фактически находящихся на автовозе автомобилей и нажмите кнопку «Продолжить» (Рисунок 10).

Шаг 10.

Кликните на задании «Выезд с КПП» и нажмите кнопку «Убыл» (Рисунок 11).

Шаг 11.

Кликните на задании «Ожидание доставки», проставьте дату доставки и нажмите кнопку «Доставлен» (Рисунок 12).

Шаг 12.

Процесс «Лот» завершился. Закройте портал. Если все автомобили, находившиеся в заявке, доставлены по назначению, то процесс «Заявка» автоматически завершится. Посмотреть его можно в приложении «Заявка-Лот». Откройте приложение «Заявка-Лот». Откройте закладку «Заявки», выберите «закрытые заявки» и посмотрите состояние заявки (Рисунок 13).

Шаг 13.

Зайдите в портал с пользователем mary (этот пользователь имеет полномочия администратора), откройте закладку «Отчеты» и постройте отчеты из списка.

Данный проект разработан компанией Бизнес-Консоль (www.b-k.ru), официальным дистрибьютором программного обеспечения Unify в России. Компания Бизнес-Консоль имеет большой опыт в области BPM. Специалисты компании готовы ответить на любые ваши вопросы и выполнить пилотный проект на основе вашего бизнес-процесса, демонстрирующий возможности программного обеспечения и бизнес-преимущества BPM.

Прочитать про программное обеспечения Unify NXJ, скачать дистрибутив и получить временные ключи на 45 дней можно на сайте www.unify.ru.