- •Содержание
- •6. Выводы и результаты 73
- •Введение
- •1. Анализ проблемы учета поставок железнодорожной компании "Патрего"
- •1.1 Исследование порядка производственной деятельности на предприятии
- •1.2 Составление маршрута
- •1.3 Определение модальности грузоперевозки
- •1.4 Процесс транспортировки
- •1.4.1 Получение заявки на грузоперевозку (документальное оформление)
- •1.4.2 Получение разрешения
- •1.4.3 Подготовка груза к перевозке
- •1.4.4 Таможенное оформление
- •1.5 Проблемы производственной деятельности железнодорожной компании “Патрего”
- •1.6 Формирование цели и задач проекта, определение стратегии достижения поставленной цели
- •2. Разработка концепции автоматизации
- •2.1 Разработка схемы движения информационных, материальных и финансовых потоков
- •2.2 Определение автоматизированных рабочих мест
- •2.3 Описание функций выявленных арм
- •Арм дежурного по станции
- •Арм дежурного по сортировочной горке
- •Арм товарного кассира
- •3. Анализ и выбор программного обеспечения
- •3.1 Требования к безопасности бд
- •3.2 Выбор системы управления баз данных
- •4. Разработка структуры информации
- •4.1 Разработка логической структуры данных
- •4.2 Разработка физической структуры данных
- •4.3 Структура таблиц
- •4.4 Разработка алгоритмов и текстов программ
- •4.5 Разработка контрольного примера
- •5. Разработка программного обеспечения асу компании «Патрего»
- •5.1 Анализ и выбор систем программирования
- •5.2 Разработка оконных форм для взаимодействия системы и пользователя
- •5.2.1 Оконный интерфейс для арм дежурного по станции
- •5.2.2 Оконный интерфейс для арм дежурного по сортировочной горке
- •5.2.3 Оконный интерфейс для арм товарного кассира
- •5.2.4 Оконный интерфейс для арм приемосдатчика грузов всех категорий
- •5.2.5 Оконный интерфейс для арм оператора пункта осмотра
- •5.2.6 Оконный интерфейс для арм специалиста по актово-претензионной работе
- •5.2.7 Оконный интерфейс для арм оператора стц
- •6. Выводы и результаты
- •Приложения Приложение а
- •Приложение б
- •Приложение в
- •Список использованных источников
4.4 Разработка алгоритмов и текстов программ
Создание таблицы “Поставщики”
CREATE TABLE `Suppliers` (
`SupplierId` INT(100) NOT NULL AUTO_INCREMENT ,
`SuplierName` VARCHAR(100) NOT NULL ,
`Office` VARCHAR(100) ,
`PostAddress` VARCHAR(100) NOT NULL ,
`PhoneNumber` VARCHAR(100) NOT NULL ,
PRIMARY KEY (`SupplierId`)
);
Создание таблицы “Продукция”
CREATE TABLE `TRPO`.`Product` (
`ProductId` INT(100) ,
`ProductName` VARCHAR(100) NOT NULL ,
`Volume` INT(100) ,
`Weight` INT(100) ,
`SupplierId` INT(100) ,
PRIMARY KEY (`ProductId`),
FOREIGN KEY (SupplierId) REFERENCES Suppliers(SupplierId)
);
Создание таблицы “Сотрудники”
CREATE TABLE `TRPO`.`Staff` (
`StaffId` INT(100) UNSIGNED NOT NULL ,
`FullName` VARCHAR(50) NOT NULL ,
`Post` VARCHAR(50) NOT NULL ,
`PhoneNumber` VARCHAR(50) NOT NULL ,
`Passport` VARCHAR(50) NOT NULL ,
PRIMARY KEY (`StaffId`)
);
Создание таблицы “Станции”
CREATE TABLE `TRPO`.`Stations` (
`StationId` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`StationName` VARCHAR(40) NOT NULL ,
`Address` VARCHAR(40) NOT NULL ,
PRIMARY KEY (`StationId`)
);
Создание таблицы “Вагоны”
CREATE TABLE `TRPO`.`Wagons` (
`WagonId` INT(10) ,
`LiftingCapacity` INT(10) ,
`StationId` INT UNSIGNED NOT NULL,
PRIMARY KEY (`WagonId`),
FOREIGN KEY (StationId) REFERENCES Stations(StationId)
);
Создание таблицы “Клиенты”
CREATE TABLE `TRPO`.`Clients` (
`ClientId` INT(100) UNSIGNED NOT NULL ,
`ClientName` VARCHAR(100) NOT NULL ,
`OKPO` INT(100) NOT NULL ,
`Office` VARCHAR(50) NOT NULL ,
`PostAddress` VARCHAR(100) NOT NULL ,
`PhoneNumber` VARCHAR(11) NOT NULL ,
`StationId` INT(100) UNSIGNED NOT NULL ,
PRIMARY KEY (`ClientId`)
);
Создание таблицы “Заказы”
CREATE TABLE `TRPO`.`Orders` (
`OrderId` INT(100) NOT NULL AUTO_INCREMENT,
`Date` DATETIME NOT NULL,
`Price` INT(100) NOT NULL,
`WagonId` INT(10) ,
`ArrivalStationId` INT UNSIGNED NOT NULL,
`DepartureStationId` INT UNSIGNED NOT NULL,
`StaffId` INT(100) UNSIGNED NOT NULL ,
`ClientId` INT(100) UNSIGNED NOT NULL ,
FOREIGN KEY (WagonId) REFERENCES Wagons(WagonId),
FOREIGN KEY (ArrivalStationId) REFERENCES Stations(StationId),
FOREIGN KEY (DepartureStationId) REFERENCES Stations(StationId),
FOREIGN KEY (StaffId) REFERENCES Staff(StaffId),
FOREIGN KEY (ClientId) REFERENCES Clients(ClientId),
PRIMARY KEY (`OrderId`)
);
Создание таблицы продукты/заказы
CREATE TABLE `TRPO`.`ProductsOrders` (
`OrderId` INT(100) NOT NULL ,
`ProductId` INT(100) NOT NULL ,
`Amount` INT(100) UNSIGNED NOT NULL,
FOREIGN KEY (OrderId) REFERENCES Orders(OrderId),
FOREIGN KEY (ProductId) REFERENCES Product(ProductId)
);
4.5 Разработка контрольного примера
Для проверки возможности представлять используемую в работе компании в области железнодорожных перевозок в спроектированной структуре данных, проведём разработку контрольного примера, который содержит информацию о всех станциях, клиентах, поставщиках, сотрудниках, товарах, вагонах и заказах.
В данной таблице заключена информация о двух ЖД станциях. Информация о названии станции и ее адрес.
Рисунок 4.5.1 – Таблица «ЖД станция»
INSERT INTO Stations (StationId, StationName, Address) VALUES ('1', 'Красносельская', 'Казань. пр-кт Красноармейский. 54')
INSERT INTO Stations (StationId, StationName, Address) VALUES ('2', 'Нижегородская', 'Москва. улица Пушкина. 11')
В данной таблице заключена информация о четырех клиентах АС. Информация о ФИО, адресе, ОКПО, адресе головного офиса, номере телефона и ЖД станции.
Рисунок 4.5.2 – Таблица «Клиенты»
INSERT INTO Clients (ClientId, ClientName, OKPO, Office, PostAddress, PhoneNumber, StationId) VALUES ('1', 'Савин В. А.', '54', 'Москва. пр-кт Защитников Москвы. 12', 'Москва. пр-кт Кутузовский. 32к1', '88005553535', '2')
INSERT INTO Clients (ClientId, ClientName, OKPO, Office, PostAddress, PhoneNumber, StationId) VALUES ('2', 'Долудар Р. С.', '124', 'Москва. улица Недорубова 37/5', 'Москва. улица Свободы 78к3', '89546123535', '1')
INSERT INTO Clients (ClientId, ClientName, OKPO, Office, PostAddress, PhoneNumber, StationId) VALUES ('3', 'Францев А. Р.', '38', 'Москва. улица Алексея Дикого. 41', 'Москва. улица Охотинская. 21', '89321148456', '2')
INSERT INTO Clients (ClientId, ClientName, OKPO, Office, PostAddress, PhoneNumber, StationId) VALUES ('4', 'Юсифов Э. С.', '147', 'Москва. пр-кт Потапенько. 23/4', 'Москва. пр-кт Потапенько. 23/4', '89751642524', '1')
В данной таблице заключена информация о трех сотрудниках компании "Патрего". Информация о ФИО, должности, номере телефона и паспортные данные.
Рисунок 4.5.3 – Таблица «Сотрудники»
INSERT INTO Staff (StaffId, FullName, Post, PhoneNumber, Passport) VALUES ('3', 'Торин Генадий Дуринович', 'Глава отдела логистики', '89631597543', '4571912346')
INSERT INTO Staff (StaffId, FullName, Post, PhoneNumber, Passport) VALUES ('2', 'Гавриков Денис Валерьянович', 'Младший инженер-машинист', '85874651212', '4931586421')
INSERT INTO Staff (StaffId, FullName, Post, PhoneNumber, Passport) VALUES ('1', 'Токмачев Вечислав Генадиевич', 'Главный инженер-машинист', '89312458674', '4589622223')
В данной таблице заполнена информация о поставщиках. Информация о имени поставщика, адресе, адресе офиса и номер поставщика.
Рисунок 4.5.4 – Таблица «Поставщики»
INSERT INTO Suppliers (SupplierId, SuplierName, Office, PostAddress, PhoneNumber) VALUES ('2', 'Росуголь пром', 'Москва. улица Сеччина. 87/7', 'Омск. улица Трали. 71/1', '+79031875646')
INSERT INTO Suppliers (SupplierId, SuplierName, Office, PostAddress, PhoneNumber) VALUES ('1', 'Lays. CO', 'St. Rithm. 41/7. USA. CA.', 'London. Maddison square. 108', '+38421567465')
В данной таблице заполнена информация о перевозимых товарах. Информация о названия товара, объеме, весе и номер поставщика.
Рисунок 4.5.5 – Таблица «Товар»
INSERT INTO Product (ProductId, ProductName, Volume, Weight, SupplierId) VALUES ('2', 'Уголь древесный', '100', '54', '2')
INSERT INTO Product (ProductId, ProductName, Volume, Weight, SupplierId) VALUES ('1', 'Чипсы. Lays с луком. 200г', '34', '3', '1')
В данной таблице заполнена информация об эксплуатируемых вагонах. Информация о грузоподъемности и коде станции.
Рисунок 4.5.6 – Таблица «Вагоны»
INSERT INTO Wagons (WagonId, LiftingCapacity, StationId) VALUES ('3', '120', '2')
INSERT INTO Wagons (WagonId, LiftingCapacity, StationId) VALUES ('2', '240', '1')
INSERT INTO Wagons (WagonId, LiftingCapacity, StationId) VALUES ('1', '520', '1')
В данной таблице заполнена информация об сделанных заказах. Информация о дате заказа, стоимости заказа, вагоне, станции отправления и прибытия, работнике и клиенте.
Рисунок 4.5.7 – Таблица «Заказ»
INSERT INTO Orders (OrderId, Date, Price, WagonId, ArrivalStationId, DepartureStationId, StaffId, ClientId)
VALUES ('1', '2018-10-08 18:01:55', '1800000', '3', '2', '1', '1', '1' )
INSERT INTO Orders (OrderId, Date, Price, WagonId, ArrivalStationId, DepartureStationId, StaffId, ClientId) VALUES ('2', '2021-12-03 09:57:38', '2600000', '2', '1', '2', '3', '4')
INSERT INTO Orders (OrderId, Date, Price, WagonId, ArrivalStationId, DepartureStationId, StaffId, ClientId) VALUES ('3', '2022-06-14 21:16:18', '3000000', '1', '2', '1', '2', '3')