Таблица ZAKSUPPL (поставщики заказов) представляет информацию по суммам закупки у каждого поставщика, прайс-лист которого входит в сформированный заказ. Основными полями таблицы являются: ссылка на поставщика справочника SUPPLIER, сумма закупки у этого поставщика с учетом скидки, скидка в рублях. Поля, обеспечивающие сохранность информации: условие поставки поставщика, дополнительная информация. Описание полей таблицы ZAKSUPPL смотрите в таблице 2.27.
Таблица 2.27 Описание полей таблицы ZAKSUPPL
Наимен. Поля
Тип
Логический смысл
Физический смысл
Numb
Integer
идентификационный
номер
первичный ключ
ZKNumb
номер атрибутов заказа
вторичный ключ
SuNumb
номер поставщика
PANumb
номер атрибутов
прайс-листа
CoName
Char(35)
условие поставки
значащее поле
Inform
Char(65)
дополнительная
информация
DiscTotSum
Double Precision
сумма закупки у поставщика с учетом скидки
Discount
скидка
База данных разнарядок состоит из двух таблиц: родительской таблицы RAZNARATR (атрибуты разнарядок) и дочерней таблицы RAZNARYAD (содержимое разнарядок). В эти таблицы заносится информация из сформированных заказов, распределенная по потребностям заказчиков (ЛПУ). По этой информации программно составляются отчеты, которые представляют из себя разнарядки на поставку поставщиками и разнарядки на получение ЛПУ лекарственных средств.
Поле "дополнительная информация" в RAZNARATR – поле, относящееся к полям для обеспечения целостности информации.
Описание полей таблицы RAZNARATR смотрите в таблице 2.28.
Таблица 2.28 Описание полей таблицы RAZNARATR
ZSuNumb
номер поставщика заказа
ZSANumb
номер атрибутов листа
заказа заказчика
LPUCode
Char(30)
код заказчика (ЛПУ)
Sum
сумма закупки всех необходимых заказчику
лекарственных средств
Описание полей таблицы RAZNARYAD смотрите в таблице 2.29.
Таблица 2.29 Описание полей таблицы RAZNARYAD
Наим. Поля
номер атрибутов прайс-листа
ZakNumb
номер позиции в таблице сформированного заказа ZAKAZ содержимого
Quant
количество упаковок
Cost
стоимость закупки без учета скидки всех упаковок лек. средства из позиции ZakNumb у поставщика с прайс-листом PANumb
Перечислим основные триггеры базе выходных данных:
n BI_ZKDATE вносит в поле даты формирования заказа текущую дату;
n триггеры, позволяющие удалив атрибуты заказа в таблице ZAKAZATR удалить содержимое всего заказа и его разнарядок.
2.3.4 Подсистема конвертирования и наполнения базы входных
данных
Входными данными для решения задачи нахождения оптимального заказа являются заявки заказчиков на необходимые им партии товаров и прайс-листы фирм, предлагающих товары. Входные данные могут поставляться в виде файлов таких форматов, как *.xls (Excel), *.doc, *.rtf (Word), *.html, *.dbf (dBase) и txt, а также на бумажных бланках. Информация, имеющаяся на бумажных бланках, должна быть занесена в базу входных данных вручную. Информация, имеющаяся в виде файлов, обрабатывается автоматизированно и заносится в базу входных данных автоматически. Автоматизированная обработка состоит в том, что файлы преобразовываются в текстовый формат (txt) и приводятся к единой структуре с использованием конвертора файлов. А затем информация из полученных файлов заносится в базу входных данных автоматически. За нехваткой времени данная подсистема осталась недоработанной.
2.3.5 Подсистема формирования заказов на товары
Основными, несущими наибольшую смысловую нагрузку и решающими основную задачу СППР для формирования заказа на торгово-закупочном предприятии, модулями являются модули, представленные на рис. 2.5 в п. 2.3.2 :
" Формирование заказа простыми методами " и " Формирование заказа с помощью Генетического алгоритма ".
Рассмотрим функционирование модуля "Формирование заказа простыми методами ".
Сначала пользователь указывает дату прайс-листов или то, что прайс-листы должны быть выбраны по отметке, ранее произведенной пользователем. Аналогичная операция осуществляется и для листов заказа.
После нажатия кнопки <Выбрать> в модуле обрабатывается событие нажатия кнопки. Обработка события состоит в следующем: осуществляется выборка данных из базы данных прайс-листов и базы данных листов заказа.
К данным, выбираемым из прайс-листов относятся:
n номер прайс-листа;
n номер поставщика;
n номер условия поставки;
n система скидок;
n содержимое прайс-листа, к которому относятся номера лекарственных средств и соответствующие им номера международных наименований, цены и сроки годности.
Данными, выбираемыми из листов заказа являются:
n номер лекарственного средства;
n номера заказчиков по каждому лекарственному средству и заказываемое ими количество.
На основе выбранных данных из листов заказа рассчитывается итоговое количество упаковок по каждому лекарственному средству, которое надо закупить.
Далее функционирование модуля " Формирование заказа простыми методами " рассмотрим в рамках подсистемы: на рисунке 2.9 представлена блок-схема функционирования подсистемы формирования заказов на товары. Выборку информации в блок-схему решено не вносить, так как она производится для увеличения быстродействия программы – считывание при работе алгоритма формирования заказа информации из базы данных сильно замедляет работу алгоритма.
После окончания выборки входной информации пользователь настраивает систему: отмечает, надо ли при формировании заказа учитывать территорию поставщиков, их условия поставки, производителей лекарственных средств, товары на складе.
Далее пользователь вводит наименование и код заказа, который надо сформировать. А затем уже выбирает один из методов формирования заказа:
1) по минимальным ценам;
2) на одно предприятие;
3) по максимальным ценам;
4) генетический алгоритм по минимальной стоимости.
Первые три из указанных методов выполняются в этом же модуле, откуда он и получил свое название: "Формирование заказа простыми методами ".
На рисунке 2.10 показано окно модуля "Формирование заказа простыми методами ".
Рис. 2.10 Окно модуля "Формирование заказа простыми методами "
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18