Комплекс задач АРМа “Сертификатчик”:
· прием информации по межмашинной связи (автоматический ввод);
· ввод информации о факте отгрузки металла и ее отображение на экране;
· работа с нормативно-справочной информацией;
· корректировка информации;
· удаление информации из баз данных;
· сохранение информации;
· оформление документов.
Комплекс задач данного АРМа непосредственно связан со следующими задачами:
· АРМом “Контролер (контрольный мастер) ОТК”, при этом используются таблицы XA , XAD , MEXSV , MEXD ;
· АРМом “Приемосдатчик”, в котором используется таблица SKLAD , формируемая данным АРМом;
· АРМом “Администратор”;
· при работе АРМа используются базы данных, входящие в портфель заказов.
Результатом решения задачи является:
· выдача на печатающее устройство сертификатов качества;
· занесение в БД информации об отгрузке металлопродукции заказчику.
Информационное обеспечение АС ОДУОМ состоит из следующих групп наборов данных, находящихся на SQL-сервере:
PORTFEL – база данных, хранящая информацию портфеля заказов;
СПРАВОЧНИКИ - база данных, хранящая нормативно-справочную информацию;
SGP - база данных, хранящая оперативную и архивную информацию;
MEX_XIM - база данных, хранящая данные, переданные из ЛМИ.
Исходная информация, поступающая на вход системы, заносится в соответствующие наборы данных. Периодически накопленная информация обрабатывается по различным показателям, с использованием определенных алгоритмов, и на выходе системы появляется итоговая, или результирующая информация.
Информационная база данных АС ОДУОМ строится на базе сетевого программного обеспечения типа MSSQLServer 2005. фирмы Microsift в среде Windows Server 2003 той же фирмы. Функционируя на SQLServer, система управления базами данных (СУБД) обеспечивает полный спектр операций с файлами и записями на основе языка T-SQL. Автоматически поддерживается обработка транзакций, синхронизация доступа пользователей к одним и тем же файлам и записям.
Рассмотрим рационализаторскую задачуна примере «Приема портфеля»
Краткое описание существовавшего решения, его недостатки:
В связи с внедрением новых технологий появилась возможность передачи и приема информации из систем верхнего уровня более оперативно и без участия оператора по оформлению ТСД.
До модернизации АРМа “Администратор” информация поступала и передавалась следующем образом:
1.Прием портфеля заказов на отгрузку:
- УЭ ИС подготавливал и выкладывал портфель заказов с плановыми показателями в виде текстовых файлов на сервер NEPTUN. Формирование осуществлялось согласно заданному расписанию (каждые три часа в дневную смену). В случае появления нового заказа и отсутствия его в базе, оператор связывался с начальником смены УЭ ИС, который формировал внеочередной портфель;
- оператор по оформлению ТСД копировал файлы с сервера NEPTUN и осуществлял прием текстовых файлов через АРМ “Администратор”, проверял на целостность переданные файлы, фиксировал в журнале время приема и размер полученных файлов.
2.Передача данных на отгружаемую продукцию:
- оператор по оформлению ТСД по заданному расписанию (четыре раза в сутки)
формировал текстовые файлы для передачи в отдел сбыта комбината и копировал их на сервер NEPTUN. Сверял количество переданных данных с имеющимися в наличии сертификатами. УЭ ИС принимал их и загружал в базу отдела сбыта.
- в случае отгрузки экспорта то же самое проделывал только для загрузки в базу таможенного отдела контроля.
Основным недостаткам ручного формирования информации является большая трудоемкость, временные задержки по передаче данных, необходимость постоянного контроля информации.
Решение:
Функции оператора взяли на себя задачи сервера, которые запускаются в определенные моменты времени. Передача отгрузки осуществляется каждые 6 мин., прием портфеля каждые 20 мин. круглосуточно. Это позволяет использовать данные об отгрузке и портфеле заказов оптимально оперативно.
Для реализации функции приема портфеля заказов между двумя разными системами (серверами) потребовалось создать вспомогательные базы данных, таблицы и программные модули.
На сервере ПП (SQL 2000) была создана новая база данных OBMEN и в ней на основе старых созданы временные таблицы EXPORT_250, FAKTURA_250, SHAPKA_250, POZICIA_250, TEXDOPTR_250 и оперативные таблицы EXPORT, FAKTURA, PORTFP, PORTFR, TEXDOPTR. Каждые 20мин идет опрос баз данных УС ИС на сервере POSEIDON на существование новых заказов в случае положительного ответа эти заказы копируются в оперативные таблицы, после чего с помощью хранимых процедур перекодируются и вставляются в оперативные таблицы. АРМы АС ОДУОМ работают уже непосредственно с ними. Эту функцию осуществляет задача на сервере ПП “ Приём портфеля ”. Полученная база данных OBMEN является единой, ей пользуются как на участке СГП, так и СГЗ. Весь процесс занимает около одной минуты.
Для описания используется язык запросов к БД – SQL.
Шаг №1. Приемфактур.
if exists (select * from [OBMEN].dbo.sysobjects where id = object_id(N'[dbo].[FAKTURA_250]') )
drop table [OBMEN].[dbo].[FAKTURA_250]
SELECT *
INTO [OBMEN].dbo.FAKTURA_250
FROM POSEIDON..OTL_ZANAR.FAKTURA_250
WHERE (STDT>GETDATE()-60 OR STIZ>GETDATE()-35) AND (UKPR = 1 OR UKPR =3)
Шаг №2. Приемпозиций.
if exists (select * from [OBMEN].dbo.sysobjects where id = object_id(N'[dbo].[POZICIA_250]') )
drop table [OBMEN].[dbo].[POZICIA_250]
SELECT *
INTO [OBMEN].dbo.POZICIA_250
FROM POSEIDON..OTL_ZANAR.POZICIA_250
WHERE (STDT>GETDATE()-10 OR STIZ>GETDATE()-10) AND (UKPR = 1 OR UKPR =3)
Шаг №3. Приемреквизитов.
if exists (select * from [OBMEN].dbo.sysobjects where id = object_id(N'[dbo].[SHAPKA_250]') )
drop table [OBMEN].[dbo].[SHAPKA_250]
SELECT *
INTO [OBMEN].dbo.SHAPKA_250
FROM POSEIDON..OTL_ZANAR.SHAPKA_250
WHERE (STDT>GETDATE()-10 OR STIZ>GETDATE()-10) AND(UKPR = 1 OR UKPR =3)
Шаг №4. Приемэкспорта.
if exists (select * from [OBMEN].dbo.sysobjects where id = object_id(N'[dbo].[EXPORT_250]') )
drop table [OBMEN].[dbo].[EXPORT_250]
SELECT *
INTO [OBMEN].dbo.EXPORT_250
FROM POSEIDON..OTL_ZANAR.EXPORT_250
WHERE (STDT>GETDATE()-10 OR STIZ>GETDATE()-10) AND (UKPR = 1 OR UKPR =3)
Шаг №5. Прием тех.доп.требований.
if exists (select * from [OBMEN].dbo.sysobjects where id = object_id(N'[dbo].[TEXDOPTR_250]') )
drop table [OBMEN].[dbo].[TEXDOPTR_250]
SELECT *
INTO [OBMEN].dbo.TEXDOPTR_250
FROM POSEIDON..OTL_ZANAR.TEXDOPTR_250
WHERE (STDT>GETDATE()-10 OR STIZ>GETDATE()-10) AND (UKPR = 1 OR UKPR =3)