|
Сентябрь
|
Октябрь
|
Ноябрь
|
Декабрь
|
1.Проектирование
|
|
|
|
|
1.1
Разработка технического задания
|
|
|
|
|
1.2
Функциональное моделирование IDEF0, IDEF3
|
|
|
|
|
1.3
Моделирование потоков данных
|
|
|
|
|
1.4Информационное
моделирование
|
|
|
|
|
1.5
Разработка объектной модели
|
|
|
|
|
1.6
Проектирование базы данных
|
|
|
|
|
1.7
Разработать бизнес-логику
|
|
|
|
|
2.
Разработать программное обеспечение
|
|
|
|
|
2.1
Эскизный проект
|
|
|
|
|
2.2
Технический проект
|
|
|
|
|
2.3
Рабочий проект
|
|
|
|
|
2.4
Внедрение
|
|
|
|
|
1.8 Порядок контроля и приемки
Программное обеспечение должно проверяться после
каждого этапа разработки, это связано с логикой его работы, если на начальных
этапах неправильно будут составлены основных модели, то в последующем их
программирование может привести к ошибкам, что поведет за собой дополнительные
расходы. Поэтому по окончанию заданных дат на этап, необходима проверка на
корректность. Контроль за разработкой должен осуществляться главным
специалистом по разработке проекта.
2. Разработка функциональных моделей
автоматизированной системы «Деятельности бетонно-растворного узла»
В данной курсовой работе на основе нотации IDEF0
была разработана контекстная диаграмма, которая показывает входные и выходные
ресурсы, правила управления и механизм управления (Рисунок 1).
Рисунок 1. Контекстная диаграмма системы (IDEF0)
Декомпозируем контекстную диаграмму на 5
функциональных блока
(Рисунок 2):
Выбор поставщика;
Оформление договора;
Исполнение заказа;
Оплата;
Доставка заказа.
Рисунок 2. Диаграмма декомпозиции контекстной
диаграммы (IDEF0)
Декомпозируем функциональный блок «Выбор
поставщика» еще на 4 действия (Рисунок 3):
Выбор поставщика товаров;
Оценка готовности поставщика к закупке;
Проведение закупки у поставщиков;
Приёмка товаров от поставщиков.
Рисунок 3 - Декомпозиция функционального блока
«Выбор поставщика» (IDEF0)
Декомпозируем функциональный блок «Оформление
договора» еще на 3 действия (Рисунок 4):
Формирование требований;
Срок действия договора;
Заключение договора.
Рисунок 4 - Декомпозиция функционального блока
«Оформление договора» (IDEF0)
Декомпозируем функциональный блок «Исполнение
заказа» еще на 4 действия (Рисунок 5):
Подготовка оборудования;
Подготовка материалов;
Замес раствора;
Тестирование.
Рисунок 5 - Декомпозиция функционального блока
«Исполнение заказа» (IDEF0)
Декомпозируем функциональный блок «Оплата» еще
на 3 действия (Рисунок 6):
Произвести финансовые расчёты;
Выдать накладную;
Выдать чек.
Рисунок 6 - Декомпозиция функционального блока
«Оплата» (IDEF0)
Декомпозируем функциональный блок «Доставка
заказа» еще на 3 действия (Рисунок 7):
Подготовка транспорта;
Перевозка заказа;
Отгрузка готового заказа.
Рисунок 7 - Декомпозиция функционального блока
«Доставка заказа» (IDEF0)
Моделирование потоков данных (DFD), часто
используемое при разработке программного обеспечения, сосредоточено вокруг
потоков данных, передающихся между различными операциями, включая их хранение,
для достижения максимальной доступности и минимального времени ответа.
Декомпозируем функциональный блок «Формирование
требований» на 5 действий (Рисунок 8):
Предмет договора;
Условия и сроки поставки;
Цена товара и порядок оплаты;
Порядок приёмки товаров;
Ответственности сторон.
Рисунок 8 - Декомпозиция функционального блока
«Формирование требований» (DFD)
Декомпозируем функциональный блок «Тестирование»
на 4 действия (Рисунок 9):
Проверить объём полученного раствора;
Проверить прочность;
Определение морозостойкости раствора;
Определение водонепроницаемости раствора.
Рисунок 9 - Декомпозиция функционального блока
«Тестирование (DFD)
Декомпозируем функциональный блок «Формирование
требований» на действия (Рисунок 10):
Отправка с места погрузки;
Соблюдение заданного маршрута;
Необходимая заправка;
Прибытие к месту отгрузки.
Рисунок 10 - Декомпозиция функционального блока
«Перевозка заказа» (DFD)
Стандарт IDEF3 предназначен для документирования
технологических процессов, происходящих на предприятии, и предоставляет
инструментарий для наглядного исследования и моделирования их сценариев.
Декомпозируем функциональный блок «Подготовка
материалов» на 5 действий (Рисунок 11):
Определить объём замеса;
Подготовка воды для замешивания;
Подготовка щебня;
Подготовка сухой смеси;
Выдержка технологической паузы.
Рисунок 11 - Декомпозиция блока «Подготовка
материалов» (IDEF3)
Далее декомпозируем функциональный блок «Выдача
заказа» на 6 действий (Рисунок 12):
Определение пропорций;
Добавление воды;
Добавление песка;
Добавление цемента;
Добавление щебня;
Перемешивание.
Рисунок 12 - Декомпозиция блока «Замес раствора»
(IDEF3)
Далее декомпозируем функциональный блок
«Подготовка транспорта» на 4 действия (Рисунок 13):
Задание маршрута;
Подготовка водителя;
Выбор транспорта;
Загрузка товара.
Рисунок 13 - Декомпозиция блока «Подготовка
транспорта» (IDEF3)
3.Разработка информационной модели
автоматизированной системы «Деятельности БРУ»
Цель моделирования данных (информационного
моделирования) состоит в обеспечении разработчика ИС концептуальной схемой БД в
форме одной модели или нескольких локальных моделей.
Наиболее распространенным средством
моделирования данных являются диаграммы ERD (диаграммы «сущность-связь»).
Диаграмма уровня сущностей и атрибутов, в
нотации IDEF1X логического уровня модели ERwin: (Рисунок 14)
Рисунок 14- ERD-диаграмма в нотации IDEF1X
логический уровень.
В ERwin существуют два уровня представления и моделирования
- логический и физический. Логический уровень означает прямое отображение
фактов из реальной жизни. Например, люди, столы, отделы, компьютеры являются
реальными объектами. Они именуются на естественном языке, с любыми
разделителями слов (пробелы, запятые и т.д.). На логическом уровне не
рассматривается использование конкретной СУБД, не определяются типы данных
(например, целое или вещественное число) и не определяются индексы для
таблиц.диаграмма физического уровня модели ERwin: (Рисунок 15)
Рисунок 15 - ERD- диаграмма в нотации IDEF1X
физический уровень
Физический уровень модели ERWin составляют
целевая СУБД, имена объектов, типы данных и индексы.
4. Разработка
пользовательского приложения
Для удобства пользователей, программисты
изощряются в написании все более и более удобных операционных систем. Одна из
новых называется Android. Пожалуй, на сегодняшний день это самая популярная
система. А все потому, что другие в основном используются на довольно дорогих
смартфонах, Android же захватил и рынок относительно дешевых телефоны.
В итоге было создано мобильное приложение,
которое имеет следующий вид (Рисунок 16):
Рисунок 16 - Интерфейс приложения
Вкладка «Информация» содержит в себе следующее:
(Рисунок 17)
Рисунок 17 - Вкладка «Информация»
Вкладка «Предоставляемые услуги» содержит в себе
следующее: (Рисунок 18)
Рисунок 18 - Вкладка «Предоставляемые услуги»
Вкладка «Прайс-лист» содержит в себе следующее:
(Рисунок 19)
Рисунок 19 - Вкладка «Прайс-лист»
5.Разработка пользовательского интерфейса
Программа «Автоматизированная система
деятельности БРУ» позволяет пользователю вводить и просматривать, хранить
информацию в базе данных, изменять и удалять ее, осуществлять сортировку,
фильтрацию и поиск информации по всей базе.
.1 Интерфейс клиентского Web-приложения
приложение в технологии «Клиент-Сервер»
представляет собой некий интерфейс между пользователем и базой данных,
расположенной на сервере и состоящей под управлением какой-либо СУБД. Такие
приложения отличаются от приложений Windows тем, что пользователю не требуется
наличие никаких установленных дополнительно на компьютере программ, кроме
Web-браузера. Все действия, которые требует выполнить такое приложение,
выполняются непосредственно на сервере. Кроме того, Web-приложение интерпретируются
сервером в момент обращения пользователя к данному приложению.
В результате приложение будет иметь следующий
вид: (Рисунок 20).
Рисунок 20 - Стартовая страница сайта
Это главная страница приложения, из данной страницы
осуществляется переход на остальные страницы приложения для последующей работы
с ними:
добавления,
модификации,
удаления
сортировки,
поиска и фильтрации
Поиск и фильтрация информации (Рисунок 21).
Рисунок 21 - Поиск и фильтрация информации
Сортировка данных производится как
по-возрастанию, так и по-убыванию. Сортировка производится по выбранному полю
(Рисунок 22).
Рисунок 22 - Сортировка по возрастанию по полю
«Фамилия»
Теперь осуществим добавление данных в
таблицу(Рисунок 23).
Рисунок 23 - Добавление записи
Выводится сообщение о результате добавления
записи (Рисунок 24).
Рисунок 24 - Сообщение о добавлении записи
Проверим результат добавления (Рисунок 25).
Рисунок 25 - Результат добавления
Изменим ранее добавленную запись (Рисунок 26)
Рисунок 26 - Вводим новые данные
Проверим правильность работы изменения данных
(Рисунок 27).
Рисунок 27 - Результат изменения записи
Удаление данных. (Рисунок 28)
Рисунок 28 - Удаление данных
Проверим удалились ли данные из таблицы (Рисунок
29).
Рисунок 29 - Результат удаления
.1 Руководство пользователя
Для того, чтобы открыть программу «АС
деятельности БРУ» нужно выбрать и открыть файл index.php (Рисунок 30).
Рисунок 30 - Открытие программы
После открытия программы появится
пользовательский интерфейс. На каждой из вкладок можно осуществлять добавление,
изменение и удаление записей из всех 6 таблиц базы данных. Для этого нужно
ввести данные в отведенные для операций добавления, изменения и удаления и
нажать соответствующую кнопку, таблица автоматически обновится. Нажав
«Очистить» очистятся все текстовые поля, в которые были введены данные. Так же
на каждой для каждой таблицы имеется возможность фильтрации поиска и сортировки
данных. Для работы фильтра и поиска необходимо ввести параметр в отведенное для
этого поле и нажать кнопку «Поиск».
Заключение
В любой организации, как большой, так и
маленькой, возникает проблема возможности управления данными, которая
обеспечила бы наиболее эффективную работу. Небольшие организации используют для
этого шкафы с папками, однако крупные корпоративные предприятия используют
компьютеризированные системы автоматизации, позволяющие эффективно хранить,
извлекать информацию и управлять большими объемами данных.
Крупные компании стремятся моментально
реализовать технические новшества в аппаратных средствах, однако для успешной
реализации крупных систем управления требуется применить нестандартный подход,
творческое решение. Использование основ эргономики при проектировании,
реализации и внедрении системы управления позволит решить многие
«психологические» и «технологические» проблемы предприятий.
В результате проделанной работы была
автоматизирована деятельность автозаправки. Стало возможным быстрого выполнения
обслуживания, лёгкая система оплаты, хранение информации о клиентах и
сотрудниках.
Список использованных источников
Архангельский,
А.Я. Программирование в C++ Builder 6 - М.:БИНОМ, 2003 - 1184c.
Хомоненко,
А. Д. Базы данных: учебник для высших учебных заведений, 4-е издание
дополненное и переработанное. - СПб.: Корона, 2004 - 736 с.
Маклаков
С.В. Моделирование бизнес-процессов с BРwin 4.1. - М.: Диалог-МИФИ, 2004 - 209
с.
Бори,
Х. FIREBIRD. Руководство разработчика баз данных. - СПб.: БХВ, 2006 - 1104c.
Калянов
Г.Н. CASE-технологии. Консалтинг при автоматизации бизнес-процессов / Калянов
Г.Н.. - 2-е изд., перераб. и доп.. - М.: Горячая линия-Телеком, 2000 - 318 с
Приложение 1. Листинг
БД
/******************************************************************************/
/*** Domains ***/
/******************************************************************************/DOMAIN
D_D AS;DOMAIN D_I ASNULL;DOMAIN D_V AS(50);
/******************************************************************************/
/*** Generators ***/
/******************************************************************************/GENERATOR
GEN_DOLJN;GENERATOR GEN_DOLJN TO 3;GENERATOR GEN_KLIENT;GENERATOR GEN_KLIENT TO
12;GENERATOR GEN_MATERIAL;GENERATOR GEN_MATERIAL TO 5;GENERATOR
GEN_POST;GENERATOR GEN_POST TO 5;GENERATOR GEN_SDELKI;GENERATOR GEN_SDELKI TO
9;GENERATOR GEN_SOTR;GENERATOR GEN_SOTR TO 9;GENERATOR GEN_TOVAR;GENERATOR
GEN_TOVAR TO 3;GENERATOR GEN_TOVAR_MATERIAL;GENERATOR GEN_TOVAR_MATERIAL TO
10;GENERATOR GEN_TRANSPORT;GENERATOR GEN_TRANSPORT TO 5;GENERATOR
GEN_USLUGI;GENERATOR GEN_USLUGI TO 5;GENERATOR GEN_ZAKAZ;GENERATOR GEN_ZAKAZ TO
9;GENERATOR GEN_ZAKAZ_USLUGI;GENERATOR GEN_ZAKAZ_USLUGI TO 6;
/******************************************************************************/
/*** Tables ***/
/******************************************************************************/TABLE
DOLJN (
ID_DOLJN D_I NOT NULL,
NAME_D D_V
);TABLE KLIENT (
ID_KLIENT D_I NOT NULL,
SURNAME D_V,
NAME D_V,
PHONE D_V
);TABLE MATERIAL (
ID_MATERIAL D_I NOT NULL,
ID_POST D_I,
NAME_M D_V
);TABLE POST (
ID_POST D_I NOT NULL,
NAME_F D_V,
PREDST D_V
);TABLE SDELKI (
ID_SDELKI D_I NOT NULL,
ID_ZAKAZ D_I,
ID_KLIENT D_I
);TABLE SOTR (
ID_SOTR D_I NOT NULL,
ID_DOLJN D_I,
SURNAME_S D_V,
NAME_S D_V
);TABLE TOVAR (
ID_TOVAR D_I NOT NULL,
NAME_T D_V
);TABLE TOVAR_MATERIAL (
ID_TOVAR_MATERIAL D_I NOT NULL,
ID_TOVAR D_I,
ID_MATERIAL D_I
);TABLE TRANSPORT (
ID_TRANSPORT D_I NOT NULL,
MODEL D_V,
OPISANIE D_V
);TABLE USLUGI (
ID_USLUGI D_I NOT NULL,
NAME_U D_V,
PRICE D_V
);TABLE ZAKAZ (
ID_TRANSPORT D_I,
ID_SOTR D_I,
DATA D_D,
SUMMA D_V
);TABLE ZAKAZ_USLUGI (
ID_ZAKAZ_USLUGI D_I NOT NULL,
ID_TOVAR D_I,
ID_USLUGI D_I,
ID_ZAKAZ D_I
);
/******************************************************************************/
/*** Primary Keys ***/
/******************************************************************************/TABLE
DOLJN ADD CONSTRAINT PK_DOLJN PRIMARY KEY (ID_DOLJN);TABLE KLIENT ADD
CONSTRAINT PK_KLIENT PRIMARY KEY (ID_KLIENT);TABLE MATERIAL ADD CONSTRAINT
PK_MATERIAL PRIMARY KEY (ID_MATERIAL);TABLE POST ADD CONSTRAINT PK_POST PRIMARY
KEY (ID_POST);TABLE SDELKI ADD CONSTRAINT PK_SDELKI PRIMARY KEY
(ID_SDELKI);TABLE SOTR ADD CONSTRAINT PK_SOTR PRIMARY KEY (ID_SOTR);TABLE TOVAR
ADD CONSTRAINT PK_TOVAR PRIMARY KEY (ID_TOVAR);TABLE TOVAR_MATERIAL ADD
CONSTRAINT PK_TOVAR_MATERIAL PRIMARY KEY (ID_TOVAR_MATERIAL);TABLE TRANSPORT
ADD CONSTRAINT PK_TRANSPORT PRIMARY KEY (ID_TRANSPORT);TABLE USLUGI ADD
CONSTRAINT PK_USLUGI PRIMARY KEY (ID_USLUGI);TABLE ZAKAZ ADD CONSTRAINT
PK_ZAKAZ PRIMARY KEY (ID_ZAKAZ);TABLE ZAKAZ_USLUGI ADD CONSTRAINT
PK_ZAKAZ_USLUGI PRIMARY KEY (ID_ZAKAZ_USLUGI);
/******************************************************************************/
/*** Foreign Keys ***/
/******************************************************************************/TABLE
MATERIAL ADD CONSTRAINT FK_MATERIAL FOREIGN KEY (ID_POST) REFERENCES POST
(ID_POST) ON DELETE CASCADE ON UPDATE CASCADE;TABLE SDELKI ADD CONSTRAINT
FK_SDELKI FOREIGN KEY (ID_ZAKAZ) REFERENCES ZAKAZ (ID_ZAKAZ) ON DELETE CASCADE
ON UPDATE CASCADE;TABLE SDELKI ADD CONSTRAINT FK_SDELKI1 FOREIGN KEY (ID_KLIENT)
REFERENCES KLIENT (ID_KLIENT) ON DELETE CASCADE ON UPDATE CASCADE;TABLE SOTR
ADD CONSTRAINT FK_SOTR FOREIGN KEY (ID_DOLJN) REFERENCES DOLJN (ID_DOLJN) ON
DELETE CASCADE ON UPDATE CASCADE;TABLE TOVAR_MATERIAL ADD CONSTRAINT
FK_TOVAR_MATERIAL FOREIGN KEY (ID_TOVAR) REFERENCES TOVAR (ID_TOVAR) ON DELETE
CASCADE ON UPDATE CASCADE;TABLE TOVAR_MATERIAL ADD CONSTRAINT
FK_TOVAR_MATERIAL1 FOREIGN KEY (ID_MATERIAL) REFERENCES MATERIAL (ID_MATERIAL)
ON DELETE CASCADE ON UPDATE CASCADE;TABLE ZAKAZ ADD CONSTRAINT FK_ZAKAZ FOREIGN
KEY (ID_TRANSPORT) REFERENCES TRANSPORT (ID_TRANSPORT) ON DELETE CASCADE ON
UPDATE CASCADE;TABLE ZAKAZ ADD CONSTRAINT FK_ZAKAZ1 FOREIGN KEY (ID_SOTR)
REFERENCES SOTR (ID_SOTR) ON DELETE CASCADE ON UPDATE CASCADE;TABLE
ZAKAZ_USLUGI ADD CONSTRAINT FK_ZAKAZ_USLUGI FOREIGN KEY (ID_TOVAR) REFERENCES
TOVAR (ID_TOVAR) ON DELETE CASCADE ON UPDATE CASCADE;TABLE ZAKAZ_USLUGI ADD
CONSTRAINT FK_ZAKAZ_USLUGI1 FOREIGN KEY (ID_USLUGI) REFERENCES USLUGI
(ID_USLUGI) ON DELETE CASCADE ON UPDATE CASCADE;TABLE ZAKAZ_USLUGI ADD
CONSTRAINT FK_ZAKAZ_USLUGI2 FOREIGN KEY (ID_ZAKAZ) REFERENCES ZAKAZ (ID_ZAKAZ)
ON DELETE CASCADE ON UPDATE CASCADE;
/******************************************************************************/
/*** Triggers ***/
/******************************************************************************/TERM
^ ;
/* Trigger: DOLJN_BI0 */TRIGGER
DOLJN_BI0 FOR DOLJNBEFORE INSERT POSITION 0
IF (NEW.id_doljn IS NULL)
THEN.id_doljn = GEN_ID(gen_doljn, 1) ;
^
/* Trigger: KLIENT_BI0 */TRIGGER
KLIENT_BI0 FOR KLIENTBEFORE INSERT POSITION 0
IF (NEW.id_klient IS NULL)
THEN.id_klient = GEN_ID(gen_klient, 1) ;
^
/* Trigger: MATERIAL_BI0 */TRIGGER
MATERIAL_BI0 FOR MATERIALBEFORE INSERT POSITION 0
IF (NEW.id_material IS NULL)
THEN.id_material= GEN_ID(gen_material, 1) ;
^
/* Trigger: POST_BI0 */TRIGGER
POST_BI0 FOR POSTBEFORE INSERT POSITION 0
IF (NEW.id_post IS NULL)
THEN.id_post = GEN_ID(gen_post, 1) ;
^
/* Trigger: SDELKI_BI0 */TRIGGER
SDELKI_BI0 FOR SDELKIBEFORE INSERT POSITION 0
IF (NEW.id_sdelki IS NULL)
THEN.id_sdelki = GEN_ID(gen_sdelki, 1) ;
^
/* Trigger: SOTR_BI0 */TRIGGER
SOTR_BI0 FOR SOTRBEFORE INSERT POSITION 0
IF (NEW.id_sotr IS NULL)
THEN.id_sotr = GEN_ID(gen_sotr, 1) ;
^
/* Trigger: TOVAR_BI0 */TRIGGER
TOVAR_BI0 FOR TOVARBEFORE INSERT POSITION 0
IF (NEW.id_tovar IS NULL)
THEN.id_tovar = GEN_ID(gen_tovar, 1) ;
^
/* Trigger: TOVAR_MATERIAL_BI0
*/TRIGGER TOVAR_MATERIAL_BI0 FOR TOVAR_MATERIALBEFORE INSERT POSITION 0
IF (NEW.id_tovar_material IS NULL)
THEN.id_tovar_material = GEN_ID(gen_tovar_material, 1) ;
^
/* Trigger: TRANSPORT_BI0 */TRIGGER
TRANSPORT_BI0 FOR TRANSPORTBEFORE INSERT POSITION 0
IF (NEW.id_transport IS NULL)
THEN.id_transport = GEN_ID(gen_transport, 1) ;
^
/* Trigger: USLUGI_BI0 */TRIGGER
USLUGI_BI0 FOR USLUGIBEFORE INSERT POSITION 0
IF (NEW.id_uslugi IS NULL)
THEN.id_uslugi = GEN_ID(gen_uslugi, 1) ;
^
/* Trigger: ZAKAZ_BI0 */TRIGGER
ZAKAZ_BI0 FOR ZAKAZBEFORE INSERT POSITION 0
IF (NEW.id_zakaz IS NULL)
THEN.id_zakaz = GEN_ID(gen_zakaz, 1) ;
^
/* Trigger: ZAKAZ_USLUGI_BI0
*/TRIGGER ZAKAZ_USLUGI_BI0 FOR ZAKAZ_USLUGIBEFORE INSERT POSITION 0
IF (NEW.id_zakaz_uslugi IS NULL)
THEN.id_zakaz_uslugi = GEN_ID(gen_zakaz_uslugi, 1) ;
end
^TERM ; ^
Приложение 2. Листинг клиентского Web-приложения
Index.php
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META
HTTP-EQUIV="Content-Type"
CONTENT="text/html;CHARSET=UTF8">
<TITLE>Сайт бетонно-растворного
узла</TITLE>
<link rel="stylesheet"
type="text/css" href="images/style.css">
<br />
</HEAD>
<BODY BACKGROUND="images/tile.gif"
BGCOLOR="#FFFFFF">
<div style="position:
absolute; top: 10; left: 10; z-index:10">
<font
color="green"><h4 align="left">Вы
вошли
на
сайт:
<script
type="text/JavaScript">=new Array("Января",
"Февраля",
"Марта",
"Апреля",
"Мая",
"Июня",
"Июля",
"Августа",
"Сентября",
"Октября",
"Ноября",
"Декабря");
dayName=new
Array("Воскресенье","Понедельник", "Вторник",
"Среда", "Четверг", "Пятница",
"Суббота");
now=new Date;.write(now.getDate()+'
'+monName[now.getMonth()]+',
'+now.getHours()+':'+now.getMinutes()+':'+now.getSeconds()+',
'+dayName[now.getDay()]);
</script>
</h4></font>
</div>
<?php"titles.php";
?>
<BR>
<SPACER
TYPE="HORIZONTAL" SIZE="52"> <FONT
SIZE="6"><a href="<?php echo
$_SERVER['PHP_SELF'];?>"><IMG
SRC="images/smallglobe.jpg" WIDTH="39"
HEIGHT="39" ALIGN="BOTTOM"
BORDER="0"></a> Сайт
Бетонно-Растворного
узла</FONT><BR>
<IMG
SRC="images/largebanner.gif" WIDTH="100%"
HEIGHT="7" ALIGN="BOTTOM" BORDER="0"><BR>
<BR>
<TABLE BORDER="0"
CELLPADDING="0" CELLSPACING="0" WIDTH="550">
<TR>
<TD
WIDTH="150"></TD>
<TD VALIGN="TOP"
WIDTH="100">
<P><a href="<?php
echo
$_SERVER['PHP_SELF']."?table=".$table_name[0]."&action=showall";?>"><IMG
SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54"
ALIGN="BOTTOM" BORDER="0"></a><BR>
<B><?php echo
$table_title[0];?></B>
</TD>
<TD VALIGN="TOP"
WIDTH="100">
<P><a href="<?php
echo
$_SERVER['PHP_SELF']."?table=".$table_name[1]."&action=showall";?>"><IMG
SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54"
ALIGN="BOTTOM" BORDER="0"></a><BR>
<B><?php echo
$table_title[1];?></B>
</TD>
<TD VALIGN="TOP"
WIDTH="100">
<P><a href="<?php
echo
$_SERVER['PHP_SELF']."?table=".$table_name[2]."&action=showall";?>"><IMG
SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54"
ALIGN="BOTTOM" BORDER="0"></a><BR>
<B><?php echo
$table_title[2];?></B>
</TD>
<TD VALIGN="TOP"
WIDTH="100">
<P><a href="<?php
echo
$_SERVER['PHP_SELF']."?table=".$table_name[3]."&action=showall";?>"><IMG
SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54"
ALIGN="BOTTOM" BORDER="0"></a><BR>
<B><?php echo
$table_title[3];?></B>
</TD>
<TD VALIGN="TOP"
WIDTH="100">
<P><a href="<?php
echo
$_SERVER['PHP_SELF']."?table=".$table_name[4]."&action=showall";?>"><IMG
SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54"
ALIGN="BOTTOM" BORDER="0"></a><BR>
<B><?php echo
$table_title[4];?></B>
</TD>
<TD VALIGN="TOP"
WIDTH="100">
<P><a href="<?php
echo
$_SERVER['PHP_SELF']."?table=".$table_name[5]."&action=showall";?>"><IMG
SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54"
ALIGN="BOTTOM" BORDER="0"></a><BR>
<B><?php echo
$table_title[5];?></B>
</TD>
<TD VALIGN="TOP"
WIDTH="100">
<P><a href="<?php
echo
$_SERVER['PHP_SELF']."?table=".$table_name[6]."&action=showall";?>"><IMG
SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54"
ALIGN="BOTTOM" BORDER="0"></a><BR>
<B><?php echo
$table_title[6];?></B>
</TD>
<TD VALIGN="TOP"
WIDTH="100">
<P><a href="<?php
echo
$_SERVER['PHP_SELF']."?table=".$table_name[7]."&action=showall";?>"><IMG
SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54"
ALIGN="BOTTOM" BORDER="0"></a><BR>
<B><?php echo
$table_title[7];?></B>
</TD>
<TD VALIGN="TOP"
WIDTH="100">
<P><a href="<?php
echo
$_SERVER['PHP_SELF']."?table=".$table_name[8]."&action=showall";?>"><IMG
SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54"
ALIGN="BOTTOM" BORDER="0"></a><BR>
<B><?php echo
$table_title[8];?></B>
</TD>
<TD VALIGN="TOP"
WIDTH="100">
<P><a href="<?php
echo
$_SERVER['PHP_SELF']."?table=".$table_name[9]."&action=showall";?>"><IMG
SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54"
ALIGN="BOTTOM" BORDER="0"></a><BR>
<B><?php echo
$table_title[9];?></B>
</TD>
<TD VALIGN="TOP"
WIDTH="100">
<P><a href="<?php
echo
$_SERVER['PHP_SELF']."?table=".$table_name[10]."&action=showall";?>"><IMG
SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54"
ALIGN="BOTTOM" BORDER="0"></a><BR>
<B><?php echo
$table_title[10];?></B>
</TD>
</TR>
</TABLE>
<TD WIDTH="18%"><IMG
SRC="images/hline.gif" WIDTH="100%" HEIGHT="4"
ALIGN="BOTTOM" BORDER="0">
<TABLE BORDER="0"
CELLPADDING="5" CELLSPACING="0" WIDTH="100%"
HEIGHT="30%">
<TR>
<TD WIDTH="15%"
HEIGHT="236" VALIGN="TOP">
<P><FONT
COLOR="#000000">
<B>Просмотр</B><BR>
<a href="<?php if (@
$_GET['table']) { echo $_SERVER['PHP_SELF']."?table=".@
$_GET['table']."&action=showall"; };?>"><IMG
SRC="images/smallglobe.jpg" WIDTH="39"
HEIGHT="39" ALIGN="BOTTOM"
BORDER="0"></a><BR>
<BR>
<BR>
<B>Добавление</B><BR>
<a href="<?php if (@ $_GET['table'])
{ echo $_SERVER['PHP_SELF']."?table=".@
$_GET['table']."&action=addform"; };?>"><IMG
SRC="images/smallglobe.jpg" WIDTH="39"
HEIGHT="39" ALIGN="BOTTOM" BORDER="0"></a><BR>
<BR>
<BR>
<B>Удаление<BR>
<a href="<?php if (@
$_GET['table']) { echo $_SERVER['PHP_SELF']."?table=".@
$_GET['table']."&action=deleteform"; };?>"><IMG
SRC="images/smallglobe.jpg" WIDTH="39"
HEIGHT="39" ALIGN="BOTTOM" BORDER="0"></a></B>
</FONT></P>
</TD>
<TD WIDTH="5%"
HEIGHT="236"> </TD>
<TD WIDTH="80%"
HEIGHT="236" VALIGN="TOP">
<?php"function.php";
?>
</TR>
</TABLE>
<BR>
<BR>
<SPACER
TYPE="HORIZONTAL" SIZE="154"><IMG
SRC="images/smallbanner.gif" WIDTH="100%"
HEIGHT="4" ALIGN="TOP" BORDER="0"><FONT
SIZE="6"><BR></FONT>
<h3>Создатель сайта: Лукин Александр
</h3>
</BODY>
</HTML>.php
<?php
$dbhost =
"D:/1410051.FDB";
$dbuser = "SYSDBA";
$dbpass =
"masterkey";dbconnect($dbhost,$dbuser,$dbpass) {
$db=ibase_connect("$dbhost","$dbuser","$dbpass","utf-8");
if (! $db) {"Не возможно соедениться с
БД";
exit;
}$db;
};
?>.php
<?php
$table_name = array
("klient","sdelki","sotr","doljn","zakaz","transport","zakaz_uslugi","uslugi","tovar","tovar_material","material","post");
$table_title = array
("Клиенты","Сделки","Сотрудники","Должности","Заказ","Транспорт","Заказ-услуги","Услуги","Товар-материал","Материалы","Поставщики");
$table_cols_count = array
(4,3,4,2,5,3,4,3,2,3,3,3);
$table0_columns = array
("id_klient","surname","name","phone");
$table0_titles = array ("Артикул
клиента","Фамилия","Имя","Телефон");
$table1_columns = array ("id_sdelki","id_zakaz","id_klient");
$table1_titles = array ("Артикул
сделки","Артикул заказа","Артикул клиента");
$table2_columns = array
("id_sotr","id_doljn","surname_s","name_s",);
$table2_titles = array ("Артикул
сотрудника","Артикул должности","Фамилия","Имя");
$table3_columns = array
("id_doljn","name_d");
$table3_titles = array ("Артикул
должности","Название");
$table4_columns = array
("id_zakaz","id_transport","id_sotr","data","summa");
$table4_titles = array ("Артикул
заказа","Артикул транспорта","Артикул
сотрудника","Дата","Общая сумма");
$table5_columns = array
("id_transport","model","opisanie");
$table5_titles = array ("Артикул
транспорта","Модель","Описание");
$table6_columns = array
("id_zakaz_uslugi","id_tovar","id_uslugi","id_zakaz");
$table6_titles = array ("Артикул
заказа-услуги","Артикул товара","Артикул
услуги","Артикул заказа");
$table7_columns = array
("id_uslugi","name_u","price");
$table7_titles = array ("Артикул
услуги","Название","Стоимость");
$table8_columns = array
("id_tovar","name_t");
$table8_titles = array ("Артикул
товара","Название");
$table9_columns = array
("id_tovar_material","id_tovar","id_material");
$table9_titles = array ("Артикул
товара-материала","Артикул товара","Артикул
материала");
$table10_columns = array
("id_material","id_post","name_m");
$table10_titles = array ("Артикул
материала","Артикул поставщика","Название");
$table11_columns = array
("id_post","name_f","predst");
$table11_titles = array ("Артикул
поставщика","Название фирмы","Представитель");
$tables_columns = array
($table0_columns, $table1_columns, $table2_columns, $table3_columns,
$table4_columns, $table5_columns, $table6_columns, $table7_columns,
$table8_columns, $table9_columns, $table10_columns, $table11_columns);
$tables_titles = array
($table0_titles, $table1_titles, $table2_titles, $table3_titles,
$table4_titles, $table5_titles, $table6_titles, $table7_titles, $table8_titles,
$table9_titles, $table10_titles, $table11_titles);
?>.php
<?phpif (@
$_GET['action']=='showall') {$connect = dbconnect($dbhost,$dbuser,$dbpass);echo
'<table width="100%" border="2"
bordercolor="#FFFAFA"><tr height="32"><td
colspan="'.($table_cols_count[$T]+3).'"
align="center"><b>'.$table_title[$T].'</b></td></tr><tr
height="32"><td
colspan="'.($table_cols_count[$T]+3).'" align="center"><form
action="index.php" method="GET">Поиск
по:<select
name="filter_column"><option disabled>Выберите
поле</option>';for($i=0;$i<$table_cols_count[$T];$i++)
{if (@ $_GET['filter_column']==$tables_columns[$T][$i])
{$selected="selected ";} else {$selected="";}echo
'<option
'.$selected.'value="'.$tables_columns[$T][$i].'">'.$tables_titles[$T][$i].'</option>';}echo
'</select>значение:<input
width="10" name="filter_value" value="'.@
$_GET['filter_value'].'"><input type="hidden"
name="table" value="'.$table_name[$T].'"><input
type="hidden" name="action"
value="showall"><input type="hidden"
name="orderby_column" value="'.(@
$_GET['orderby_column']!=""?@ $_GET['orderby_column']:$tables_columns[$T][0]).'"><input
type="hidden" name="orderby_value" value="'.(@
$_GET['orderby_value']!=""?@
$_GET['orderby_value']:"asc").'"><input
type="submit" value="Поиск"><a
href="index.php?table='.$table_name[$T].'&action=showall"><input
type="button" value="Сброс"></a></td></tr><tr
height="32">';if ((@ $_GET['filter_column']!="")
&& (@ $_GET['filter_value']!="")) {$filter="WHERE
".@ $_GET['filter_column']." LIKE '%".@
$_GET['filter_value']."%'";} else {$filter="";}if ((@
$_GET['orderby_column']!="") && (@
$_GET['orderby_value']!="")) {$orderby=@
$_GET['orderby_column']." ".@ $_GET['orderby_value'];} else
{$orderby=$tables_columns[$T][0]." asc";}$query = 'SELECT * FROM
'.$table_name[$T].' '.$filter.' ORDER BY '.$orderby.';';$result =
ibase_query($query);for($i=0;$i<$table_cols_count[$T];$i++) {if ((@
$_GET['filter_column']!="") && (@
$_GET['filter_value']!=""))
{$f_state="&filter_column=".@
$_GET['filter_column']."&filter_value=".@
$_GET['filter_value']."";} else {$f_state="";}$img1='<a
href="index.php?table='.$table_name[$T].'&action=showall&orderby_column='.$tables_columns[$T][$i].'&orderby_value=asc'.$f_state.'"><img
src="images/arrowup.gif"
border="0"></img></a>';$img2='<a
href="index.php?table='.$table_name[$T].'&action=showall&orderby_column='.$tables_columns[$T][$i].'&orderby_value=desc'.$f_state.'"><img
src="images/arrowdown.gif"
border="0"></img></a>';if (@
$_GET['orderby_column']==$tables_titles[$T][$i]) {if (@
$_GET['orderby_column']=="asc") {$img1="";} else
{$img2="";}}echo '<td align="center">'; echo
$tables_titles[$T][$i]; echo $img1.$img2.'</td>';}echo '<td colspan=3> </td></tr>';while
($row = ibase_fetch_row($result)) {echo '<tr height="32">';for
($i=0;$i<$table_cols_count[$T];$i++) {echo '<td
align="left">'; echo $row[$i]; echo'</td>';}echo '<td><a
href="index.php?table='.$table_name[$T].'&action=showone&'.$tables_columns[$T][0].'='.$row[0].'"><img
src="images/b_browse.png" alt="Просмотр"
border="0"></img></a></td><td><a
href="index.php?table='.$table_name[$T].'&action=editform&'.$tables_columns[$T][0].'='.$row[0].'"><img
src="images/b_edit.png" alt="Изменить"
border="0"></img></a></td><td><a
href="index.php?table='.$table_name[$T].'&action=delete&'.$tables_columns[$T][0].'='.$row[0].'"><img
src="images/b_drop.png" alt="Удалить"
border="0"></img></a></td>';echo
'</tr>';}echo '</table>';ibase_free_result($result);}f (@
$_GET['action']=='showone') {$connect =
dbconnect($dbhost,$dbuser,$dbpass);$internal_id = @
$_GET[$tables_columns[$T][0]];$query = 'SELECT * FROM '.$table_name[$T].' WHERE
'.$tables_columns[$T][0].'=\''.$internal_id.'\';';$result = ibase_query($query);echo
'<table width="70%" border="2"
align="center">';while ($row = ibase_fetch_row($result)) {for
($i=0;$i<$table_cols_count[$T];$i++) {echo '<tr
height="32"><td align="left">'; echo
$tables_titles[$T][$i]; echo'</td><td align="left">';
echo $row[$i]; echo'</td></tr>';}}echo '</table><p
align="center"><a
href="index.php?table='.$table_name[$T].'&action=editform&'.$tables_columns[$T][0].'='.$internal_id.'"><img
src="images/b_edit.png" border="0"></img>Изменить</a></p><p
align="center"><a href="index.php?table='.$table_name[$T].'&action=delete&'.$tables_columns[$T][0].'='.$internal_id.'"><img
src="images/b_drop.png" border="0"></img>Удалить</a></p>';@
ibase_free_result($result);} (@ $_GET['action']=='addform') {echo '<form
action="index.php" method="GET"><table
width="70%" border="2" align="center">';echo
'<input type="hidden" name="table"
value="'.$table_name[$T].'"><input type="hidden"
name="action" value="add">';for
($i=1;$i<$table_cols_count[$T];$i++) {echo '<tr
height="32"><td align="left">'; echo $tables_titles[$T][$i];
echo'</td><td align="left"><input
type="text" name="'.$tables_columns[$T][$i].'"
value=""</td></tr>';}echo '<tr
height="32"><td align="center"><a
href="index.php?table='.$table_name[$T].'&action=showall"><input
type="button" value="Отменить"/></a></td><td
align="center"><input type="submit" value="Сохранить"/></td></tr></table>';@ibase_free_result($result);}if
(@ $_GET['action']=='add') {$connect =
dbconnect($dbhost,$dbuser,$dbpass);$query_columns =
$tables_columns[$T][1];$query_values = '\''.@
$_GET[$tables_columns[$T][1]].'\'';for ($i=2;$i<$table_cols_count[$T];$i++)
{$query_columns .= ','.$tables_columns[$T][$i];$query_values .= ',\''.@
$_GET[$tables_columns[$T][$i]].'\'';}$query = 'INSERT INTO '.$table_name[$T].'
('.$query_columns.') VALUES ('.$query_values.');';$result =
ibase_query($query);if ($result)$result = "Запись
успешно
добавлена.";else$result
= "Запись
НЕ
добавлена.";echo
'<table width="100%" border="2"><tr
height="32"><td
align="center"><b>'.$table_title[$T].'</b></td></tr><tr
height="32"><td align="center">'.$result.'</td></tr></table>';@
ibase_free_result($result);}f (@ $_GET['action']=='editform') {$connect = dbconnect($dbhost,$dbuser,$dbpass);$internal_id
= @ $_GET[$tables_columns[$T][0]];$query = 'SELECT * FROM '.$table_name[$T].'
WHERE '.$tables_columns[$T][0].'=\''.$internal_id.'\';';$result =
ibase_query($query);echo '<form action="index.php" method="GET"><table
width="70%" border="2" align="center">';$row =
ibase_fetch_row($result);echo '<tr height="32"><td
align="left">'; echo $tables_titles[$T][0]; echo'</td><td
align="left">'.$row[0].'<input type="hidden"
name="'.$tables_columns[$T][0].'" value="'.$row[0].'"></td><input
type="hidden" name="table"
value="'.$table_name[$T].'"><input type="hidden"
name="action" value="edit"></tr>';for
($i=1;$i<$table_cols_count[$T];$i++) {echo '<tr
height="32"><td align="left">'; echo
$tables_titles[$T][$i]; echo'</td><td align="left"><input
type="text" name="'.$tables_columns[$T][$i].'"
value="'.$row[$i].'"</td></tr>';}echo '<tr
height="32"><td align="center"><a
href="index.php?table='.$table_name[$T].'&action=showall"><input
type="button" value="Отменить"/></a></td><td
align="center"><input type="submit" value="Сохранить"/></td></tr></table>';@
ibase_free_result($result);}if (@ $_GET['action']=='edit') {$connect =
dbconnect($dbhost,$dbuser,$dbpass);$query = 'UPDATE '.$table_name[$T].' SET ';
$query.= ' '.$tables_columns[$T][1].'=\''.@ $_GET[$tables_columns[$T][1]].'\'
';for ($i=2;$i<$table_cols_count[$T];$i++) {$query.=',
'.$tables_columns[$T][$i].'=\''.@ $_GET[$tables_columns[$T][$i]].'\'
';}$query.='WHERE '.$tables_columns[$T][0].'='.@
$_GET[$tables_columns[$T][0]].';';$result = ibase_query($query);if
($result)$result = "Запись успешно
изменена.";else$result
= "Запись
НЕ
изменена.";echo
'<table width="100%" border="2"><tr
height="32"><td
align="center"><b>'.$table_title[$T].'</b></td></tr><tr
height="32"><td align="center">'.$result.'</td></tr></table>';@
ibase_free_result($result);}if (@ $_GET['action']=='deleteform') {echo
'<form action="index.php" method="GET"><table
width="70%" border="2" align="center"><tr
height="32"><td align="left">'; echo
$tables_titles[$T][0]; echo'</td><td
align="left"><input type="input"
name="'.$tables_columns[$T][0].'"
value=""></td><input type="hidden"
name="table" value="'.$table_name[$T].'"><input
type="hidden" name="action"
value="delete"></tr><tr height="32"><td
align="center"><a href="index.php?table='.$table_name[$T].'&action=showall"><input
type="button" value="Отменить"/></a></td><td
align="center"><input type="submit" value="Удалить"/></td></tr></table>';@
ibase_free_result($result);}if (@ $_GET['action']=='delete') {$connect =
dbconnect($dbhost,$dbuser,$dbpass);$query = 'DELETE FROM '.$table_name[$T].'
WHERE '.$tables_columns[$T][0].'='.@ $_GET[$tables_columns[$T][0]].';';//$query
= 'EXECUTE PROCEDURE DEL_'.$table_name[$T].' ('.@
$_GET[$tables_columns[$T][0]].');';//echo $query;$result = ibase_query($query);if
($result) $result = "Запись
успешно
удалена.";else$result
= "Запись
НЕ
удалена.";echo
'<table width="100%" border="2"><tr
height="32"><td
align="center"><b>'.$table_title[$T].'</b></td></tr><tr
height="32"><td align="center">'.$result.'</td></tr></table>';@
ibase_free_result($result);}?>.php
<?php"config.php";(@
$_GET['table']==$table_name[0]) {
$T=0;"modules/universal_module.php";
} else if (@
$_GET['table']==$table_name[1]) {
$T=1;"modules/universal_module.php";
} else if (@
$_GET['table']==$table_name[2]) {
$T=2;"modules/universal_module.php";
} else if (@
$_GET['table']==$table_name[3]) {
$T=3;"modules/universal_module.php";
} else if (@
$_GET['table']==$table_name[4]) {
$T=4;"modules/universal_module.php";
} else if (@
$_GET['table']==$table_name[5]) {
$T=5;"modules/universal_module.php";
}else if (@
$_GET['table']==$table_name[6]) {
$T=6;"modules/universal_module.php";
}else if (@
$_GET['table']==$table_name[7]) {
$T=7;"modules/universal_module.php";
}else if (@
$_GET['table']==$table_name[8]) {
$T=8;"modules/universal_module.php";
}else if (@
$_GET['table']==$table_name[9]) {
$T=9;"modules/universal_module.php";
}else if (@
$_GET['table']==$table_name[10]) {
$T=10;"modules/universal_module.php";
}else if (@ $_GET['table']==$table_name[11])
{
$T=11;"modules/universal_module.php";
}{'<div align="center"
valign="center" width="300"><FONT
SIZE="6">Сайт Бетонно-растворного
узла.</FONT></div><br>
<img src="images/7.gif"
id="l1" style="top:300">';
}
?>