Функционал доступен только для версии Packer3d-Corp!
Описание.
Практически все современные информационные системы на предприятиях функционируют в многопользовательском режиме, поэтому наибольшее распространение получила не однопользовательская схема интеграции [1] с модификацией packer3d-prof, а сетевая, многопользовательская, построенная на основе клиент-серверной архитектуры, в основе которой лежит программа packer3d-corp, устанавливаемая на сервер. Состав дистрибутива packer3d-corp имеет все необходимые модули и компоненты для реализации предлагаемого нашей компанией решения "Автоматического расчета плана укладки (АРПУ) готовой продукции (ГП) в транспортные средства (ТС)". Данное решение является типовым, но может быть изменено Заказчиком самостоятельно в случае необходимости.
ВНИМАНИЕ! По желанию Заказчика наша компания готова рассмотреть возможность доработки алгоритма под его индивидуальные требования и реализовать другое интеграционное решение.
Модульность.
Модификация packer3d-corp является модульной. В зависимости от выбранной схемы взаимодействия информационной среды с системой packer3d-corp устанавливаются и используются те или иные модули, либо все сразу. Модульная архитектура позволяет гибко интегрировать и легко расширять АРПУ, в случае необходимости разрабатывая и включая дополнительные модули. В стоимость дистрибутива packer3d-corp входят все модули, разработанные компанией.
Состав и архитектура системы АРПУ
- Сервер
- Серверы расчета плана загрузки
Сервер автоматического расчета плана укладки (далее «сервер расчета»): является исполняемым приложением для операционной системы типа Win32 в совокупности с набором динамических библиотек (DLL) и предназначен для расчета плана укладки c последующим сохранением его в БД (кроме ActiveX). Cам компонент не содержит никаких функций просмотра плана укладки.
В дистрибутиве сервер расчета представлен в четырех вариантах:
- ActiveX компонент. Вызывается по требованию непосредственно из ERP, получая исходную информацию для расчета и возвращая рассчитанный план загрузки виде XML файла минуя Базу данных расчетов. Удобный вариант для встраивания функций расчета плана загрузки непосредственно в ERP, но функции хранения данных должны обеспечиваться тоже средствами ERP. Как правило, используется совместно с клиентом в виде ActiveX, интегрируемым в клиентские приложения ERP, из которых и поступает вызов на расчет.
- графическое приложение - удобный вариант для запуска «модуля расчетов» вручную, если есть необходимость отслеживать состояние (сколько расчетов сделано, сколько расчетов идет сейчас, сколько стоит в очереди, каковы текущие настройки).
- системная служба - удобный вариант когда «модуль расчетов» должен запускаться автоматически при старте компьютера и быть "невидимым" для пользователя.
- консольное приложение - удобный вариант когда «модуль расчетов» должен запускаться и останавливаться из информационной системы пользователя и других приложений.
При установке и настройке системы пользователь выбирает один или несколько наиболее удобных для работы вариантов «сервера расчетов».
- ActiveX компонент. Вызывается по требованию непосредственно из ERP, получая исходную информацию для расчета и возвращая рассчитанный план загрузки виде XML файла минуя Базу данных расчетов. Удобный вариант для встраивания функций расчета плана загрузки непосредственно в ERP, но функции хранения данных должны обеспечиваться тоже средствами ERP. Как правило, используется совместно с клиентом в виде ActiveX, интегрируемым в клиентские приложения ERP, из которых и поступает вызов на расчет.
- База данных планов загрузки
База данных истории расчетов (далее «база данных» или «БД»): является хранилищем всех произведенных расчетов, реализованным в виде данных специальной структуры под управлением СУБД типа MS SQL. Доступ к БД со стороны других компонентов системы осуществляется по протоколу ODBC. Может быть установлена, как отдельная таблица в действующей СУБД предприятия.
- Генератор отчетов
Компонент формирования HTML-отчета (далее «генератор отчетов»): является исполняемым приложением для операционной системы типа Win32, и предназначен для формирования HTML-отчета, содержащего текстовый и графический план укладки.
- WEB сервер
Состоит из двух компонент:
- Система визуального просмотра истории расчетов и схем укладки (далее «система просмотра результатов»): представлена набором php-скриптов, работающих под управлением Web-сервера. Они предоставляют пользователям доступ к БД истории расчетов и отчетам со схемами укладки груза через Web-броузер с локального компьютера. Никаких функций записи в БД они не имеют. Скрипты:
- просмотр списка планов загрузки
- поиск плана загрузки по ID
- итоговая информация о плане загрузки
- подробный отчет плана загрузки
- просмотр списка планов загрузки
- SOAP сервер предназначен для обеспечения взаимодействия локальных клиентов с GUI интерфейсом с ERP системой и БД расчетов. Поддерживает авторизацию.
- Система визуального просмотра истории расчетов и схем укладки (далее «система просмотра результатов»): представлена набором php-скриптов, работающих под управлением Web-сервера. Они предоставляют пользователям доступ к БД истории расчетов и отчетам со схемами укладки груза через Web-броузер с локального компьютера. Никаких функций записи в БД они не имеют. Скрипты:
- Серверы расчета плана загрузки
- Клиенты
- ActiveX - удобно интегрируется непосредственно в GUI клиентского приложения. Как правило, взаимодействует с сервером расчетов ActiveX. С БД непосредственно не работает.
- GUI. Используются модификации packer3d-mini и packer3d-prof без USB ключа, распространяемые бесплатно. В режиме работы без USB ключа внутреннее ядро расчетов заблокировано. Пользователь может создавать задания на расчет плана загрузки, отсылать их на сервер для расчета и получать рассчитанные планы загрузки. В программе предварительно настраивается адрес нужного SOAP сервера. Следует отметить, что в данной схеме отсутствует взаимодействие с БД расчетов, каждый расчет хранится в виде отдельного файла локально или на сервере.
- WEB броузер - обеспечивает просмотра истории расчетов и схем укладки. Никакие записи в БД не производятся.
- ActiveX - удобно интегрируется непосредственно в GUI клиентского приложения. Как правило, взаимодействует с сервером расчетов ActiveX. С БД непосредственно не работает.
Основные схемы работы системы АРПУ
Расчет плана укладки.
Данная схема работы возникает в том случае, когда пользователю действующей информационной системы (ИС) требуется сделать расчет схемы укладки товара в указанное ТС.
- ИС формирует запрос на расчет оптимального плана загрузки ТС (при этом в этот запрос может войти несколько ТТН) содержащий все параметры ящиков, ТС, паллет и расчета;
- сформированный на предыдущем пункте запрос, в формате XML сохраняется в БД packer3d через SOAP запрос, или прямым доступом к СУБД или другим способом в соответствии с согласованным интерфейсом взаимодействия ;
- «модуль расчета» с периодичностью раз в секунду проверяет наличие новых запросов на расчет в БД и если такие есть, то рассчитывает для них схему укладки;
- завершив расчет оптимальной схемы укладки, и сохранив схему в БД в виде XML текста, «модуль расчета» изменяет статус соответствующей записи БД;
- при этом в результат расчета входит информация о перегрузке и рекомендации по дозагрузке и эта информация хранится в отдельных полях текущей записи БД;
- факт завершения расчетов и изменения статуса отображается в клиентской утилите или web-интерфейсе. При этом помимо самой схемы укладки пользователю доступны следующие результаты расчета:
- статус завершения «удачно» или «не удачно»;
- процент заполненного объема ТС;
- объем (в % от ТС) свободного места;
- масса (кг) которая дополнительно может быть добавлена без превышения грузоподъемности;
- количество ящиков, доступных к дополнительному размещению, либо количество ящиков к удалению из заказа.
- статус завершения «удачно» или «не удачно»;
Следует иметь в виду, что клиенты системы, подключившиеся к SOAP серверу с помошью программы-клиента packer3d-on-line в обход ИС не имеют возможности просмотра и редактирования БД расчетов. Они самостоятельно, без участия ИС формируют запрос на расчет, вводя всю информацию запроса вручную либо импортируя ее доступным способом и отсылают его на сервер расчетов. Результат заносятся в БД расчетов по обычной схеме и становится доступен всем пользователям ИС, а также возвращаются клиенту в программу packer3d-on-line для визуализации плана загрузки. Исходная информация таких запросов должна быть сохранена клиентом самостоятельно на локальном или сетевом ресурсе либо экспортирована в СУБД ИС средствами ИС.
Формирование HTML-отчета с планом укладки.
Данная схема работы возникает, когда менеджеру требуется передать грузчикам распечатку с ранее рассчитанным планом укладки.
- В любой момент времени после окончания расчета пользователю доступна ссылка на HTML-страницу с результатами расчета, которая содержит в себе полный идентификатор расчета, эта ссылка отображается пользователю ИС по окончании расчета или в любой другой момент в соответствии с внутренними бизнес-процессами;
- просмотр пользователем HTML страницы по этой ссылке инициирует запуск PHP-скрипта на сервере под управлением WEB-сервера, который делает запрос к БД и в соответствии с полученными данными формирует страницу с краткой информацией о результатах расчета;
- страница с информацией о результатах расчета содержит всю информацию представленную выше и гиперссылки на различные форматы отчетов со схемами укладки груза в ТС (полный, краткий, табличный, графический и т.п.);
- выбрав требуемый формат отчета, и перейдя по соответствующей гиперссылке, пользователь инициирует запуск модуля «генератор отчетов», который генерирует, сохраняет на сервере и отображает пользователю HTML страницу с отчетом и набор сопутствующей графической информации;
- просмотрев и по необходимости распечатав из Web-браузера отчет со схемой укладки груза, пользователь закрывает эту страницу Web-браузера.
Просмотр истории расчетов.
Данная схема работы возникает, когда менеджеру требуется просмотреть ранее сделанные расчеты оптимальной укладки.
- менеджер (без участия ИС) открывает в любом Web-браузере статическую страницу с историей расчетов;
- открытие страницы инициирует вызов PHP-скрипта, который обращается к БД и формирует полный список произведенных расчетов за последнее время (длительность отчетного периода определяется администратором системы в настройках сервера);
- каждый элемент списка содержит идентификатор расчета, дату его формирования и гиперссылку на подробную информацию;
- перейдя по этой гиперссылке пользователь имеет возможность просмотреть подробную информацию о расчете и схему укладки в соответствии с вышеописанными требованиями.
Поиск информации о расчете.
Данная схема работы возникает, когда менеджеру требуется найти подробную информацию о проделанном расчете по его идентификатору.
- менеджер (без участия ИС) открывает в любом Web-браузере статическую страницу поиска расчета;
- введя идентификатор расчета или его часть в форме поиска и нажав кнопку «Найти» на HTML-странице, пользователь инициирует вызов PHP-скрипта поиска расчета, который обращается к БД и формирует список произведенных расчетов удовлетворяющих параметрам поиска;
- пользователь имеет возможность работать с полученным списком расчетов в соответствии с вышеописанным разделом.
Системные требования.
Решение должно быть установлено на одном из серверов на платформе типа Win32. Тип СУБД – MSSQL 2005, MySQL. Тип Web-сервера MS IIS, Apache. Язык описания скриптов системы просмотра результатов – php.
Для реализации алгоритма "рядной укладки" требования к производительности сервера, исходя из возможности одновременного обсчета 10 ТС со средним количеством ящиков 4000 и типов ящиков 20, следующие:
- не менее 1 GB оперативной памяти (рекомендуемо 2 GB).
- не менее 4-х процессоров, производительностью не менее 2 ГГц.
Требование по процессорам не критичны, и могут быть уменьшены за счет пропорционального уменьшения скорости работы или максимально допустимого количества параллельных расчетов.
При реализации "плоского алгоритма" на сервере с такими техническими характеристиками и полной загрузке время расчета увеличится в 10-20 раз по сравнению с алгоритмом "рядной укладки".