Пример проекта 2
.pdfALTER TABLE "ship_daily_report" ADD FOREIGN KEY ("tripid")
REFERENCES "trip" ("id");
ALTER TABLE "permission" ADD FOREIGN KEY ("shipid") REFERENCES "ship" ("id");
ALTER TABLE "fishing_processing" ADD FOREIGN KEY ("trip")
REFERENCES "trip" ("id");
ALTER TABLE "fishing_processing" ADD FOREIGN KEY
("production_director") REFERENCES "employee" ("passport");
ALTER TABLE "fishing_operation" ADD FOREIGN KEY ("fishing_gear")
REFERENCES "fishing_gear" ("id");
ALTER TABLE "fishing_operation" ADD FOREIGN KEY ("fishing_object")
REFERENCES "fishing_object" ("id");
ALTER TABLE "fishing_processing" ADD FOREIGN KEY ("fishing_gear")
REFERENCES "fishing_gear" ("id");
ALTER TABLE "fishing_processing" ADD FOREIGN KEY ("fishing_object")
REFERENCES "fishing_object" ("id");
ALTER TABLE "ship_daily_report" ADD FOREIGN KEY ("permission")
REFERENCES "permission" ("id");
ALTER TABLE "ship_daily_report" ADD FOREIGN KEY ("district")
REFERENCES "district" ("id");
ALTER TABLE "employee" ADD FOREIGN KEY ("profession")
REFERENCES "profession" ("id");
ALTER TABLE "fishing_processing" ADD FOREIGN KEY ("district")
REFERENCES "district" ("id");
51
ALTER TABLE "fishing_object_district" ADD FOREIGN KEY ("obj_id")
REFERENCES "fishing_object" ("id");
ALTER TABLE "fishing_object_district" ADD FOREIGN KEY ("dist_id")
REFERENCES "district" ("id");
Код для создания контрольного примера: --профессии
insert into profession (id, profession) values
(1, 'капитан'), (2, 'второй помощник капитана'),
(3, 'старший помощник капитана'), (4, 'заведующий производством'),
(5, 'помощник капитана по радиоэлектронике');
--орудие лова
insert into fishing_gear (id, name) values
(1, 'трал разноглубинный Egersund 1200'), (2, 'трал разноглубинный Egersund 1440'), (3, 'трал разноглубинный Egersund 608'), (4, 'трал разноглубинный Gloria 2048'),
(5, 'трал разноглубинный Атлантика 1600');
--судна
insert into ship (id, name) values
(1, 'СРТМ Витус Беринг');
--район промысла
insert into district (id, name) values
(1, 'Охотское море'), (2, 'Северо-Курильская зона'), (3, 'Тихоокеанская');
--объект промысла
52
insert into fishing_object (id, name, district) values
(1, 'горбуша', 3), (2, 'кальмар', 2), (3, 'камбала', 3), (4, 'кета', 3), (5, 'минтай', 2), (6, 'палтус', 1), (7, 'сельдь', 1);
--разрешения
insert into permission (id, shipid, districtid) values
(120110301, 1, 1), (120110322, 1, 2), (120110313, 1, 1), (120110364, 1, 3), (120110325, 1, 2);
--работники
insert into employee (passport, profession, name) values
(598441418, 1, 'Мишин Григорий Валентинович'), (239311998, 1, 'Ефремов Яков Улебович'), (697826815, 2, 'Симонов Терентий Антонович'), (977391773, 2, 'Богданов Геннадий Сергеевич'), (535094816, 4, 'Соболев Валентин Макарович'), (260266975, 3, 'Шилов Ефрем Андреевич'), (154007943, 5, 'Князев Захар Богданович'), (202381633, 4, 'Кононов Витольд Егорович'), (580733530, 5, 'Соколов Давид Онисимович'), (563074310, 3, 'Задирако Родион Натанович');
--рейсы
insert into trip (id, permissionid, shipid, capitan) values
(210119, 120110301, 1, 598441418), (150519, 120110322, 1, 239311998),
53
(160120, 120110313, 1, 598441418), (070520, 120110364, 1, 239311998), (210121, 120110325, 1, 239311998);
--выгрузка
insert into discharging
(id, date_, trip, ship, capitan, carrier, arrival_point, fishing_object, weight) values
(1, 240419, 210119, 1, 598441418, 'Ола', 'ООО Дальрыбпром', 7, 73), (2, 180819, 150519, 1, 239311998, 'Корсаков', 'ООО Дальрифер', 5, 42),
(3, 140420, 160120, 1, 598441418, 'Кронштадский', 'ООО Данико', 6, 122), (4, 050920, 070520, 1, 239311998, 'Меркурий', 'ООО Данико', 4, 17),
(5, 210421, 210121, 1, 239311998, 'Комета', 'ООО Дальрыбфлотпродукт', 2,
85);
--операция добычи
insert into fishing_operation (id, date_, tripid, ship, capitan, latitude, longitude, fishing_object, fishing_gear, weight)
values
(1, 240119, 210119, 1, 598441418, 53.731456, 149.080212, 7, 1, 43), (2, 140219, 210119, 1, 598441418, 53.731456, 149.080212, 7, 1, 30), (3, 160619, 150519, 1, 239311998, 50.166688, 157.572642, 5, 2, 42), (4, 240120, 160120, 1, 598441418, 53.731356, 149.080222, 6, 3, 80), (5, 080220, 160120, 1, 598441418, 53.731356, 149.080222, 6, 3, 42), (6, 060620, 070520, 1, 239311998, 39.255959, 173.899857, 4, 5, 17), (7, 110221, 210121, 1, 239311998, 50.166699, 157.572655, 2, 2, 50), (8, 150321, 210121, 1, 239311998, 50.166699, 157.572655, 2, 2, 35);
--выпуск продукции
insert into fishing_processing (id, date_, trip, production_director, ship, district, latitude, longitude, fishing_object, fishing_gear, weight)
values
(1, 290119, 210119, 697826815, 1, 1, 53.731456, 149.080212, 7, 1, 43), (2, 170219, 210119, 697826815, 1, 1, 53.731456, 149.080212, 7, 1, 30), (3, 200620, 150519, 977391773, 1, 2, 50.166688, 157.572642, 5, 2, 42), (4, 290120, 160120, 563074310, 1, 1, 53.731356, 149.080222, 6, 3, 45), (5, 310120, 160120, 563074310, 1, 1, 53.731356, 149.080222, 6, 3, 35), (6, 150220, 160120, 563074310, 1, 1, 53.731356, 149.080222, 6, 3, 42),
54
(7, 110620, 070520, 260266975, 1, 3, 39.255959, 173.899857, 4, 5, 17), (8, 150221, 210121, 977391773, 1, 2, 50.166699, 157.572655, 2, 2, 50), (9, 200321, 210121, 977391773, 1, 2, 50.166699, 157.572655, 2, 2, 35);
--ссд
insert into ship_daily_report (id, date_, tripid, capitan, ship, permission, latitude, longitude, district)
values
(5, 240419, 210119, 598441418, 1, 120110301, 53.731456, 149.080212, 1), (1, 240119, 210119, 598441418, 1, 120110301, 53.731456, 149.080212, 1), (3, 140219, 210119, 598441418, 1, 120110301, 53.731456, 149.080212, 1), (2, 290119, 210119, 598441418, 1, 120110301, 53.731456, 149.080212, 1), (4, 170219, 210119, 598441418, 1, 120110301, 53.731456, 149.080212, 1), (8, 180819, 150519, 239311998, 1, 120110322, 50.166688, 157.572642, 2), (6, 160619, 150519, 239311998, 1, 120110322, 50.166688, 157.572642, 2), (7, 200620, 150519, 239311998, 1, 120110322, 50.166688, 157.572642, 2), (14, 140420, 160120, 598441418, 1, 120110313, 53.731356, 149.080222, 1), (9, 240120, 160120, 598441418, 1, 120110313, 53.731356, 149.080222, 1), (12, 080220, 160120, 598441418, 1, 120110313, 53.731356, 149.080222, 1), (10, 290120, 160120, 598441418, 1, 120110313, 53.731356, 149.080222, 1), (11, 310120, 160120, 598441418, 1, 120110313, 53.731356, 149.080222, 1), (13, 150220, 160120, 598441418, 1, 120110313, 53.731356, 149.080222, 1), (17, 050920, 070520, 239311998, 1, 120110364, 39.255959, 173.899857, 3), (15, 060620, 070520, 239311998, 1, 120110364, 39.255959, 173.899857, 3), (16, 110620, 070520, 239311998, 1, 120110364, 39.255959, 173.899857, 3), (22, 210421, 210121, 239311998, 1, 120110325, 50.166699, 157.572655, 2), (18, 110221, 210121, 239311998, 1, 120110325, 50.166699, 157.572655, 2), (20, 150321, 210121, 239311998, 1, 120110325, 50.166699, 157.572655, 2), (19, 150221, 210121, 239311998, 1, 120110325, 50.166699, 157.572655, 2), (21, 200321, 210121, 239311998, 1, 120110325, 50.166699, 157.572655, 2);
Код для создания View: create view workers_view as
select
name as ФИО, profession.profession as профессия, passport as паспорт
from employee
55
join profession on profession.id = employee.profession;
create view discharging_view as select
date_ as дата, trip as рейс,
ship.name as судно, employee.name as кпаитан, carrier as получатель,
arrival_point as пункт_назначения, fishing_object.name as продукция, weight as вес
from discharging
join ship on ship.id = discharging.ship
join employee on employee.passport = discharging.capitan
join fishing_object on fishing_object.id = discharging.fishing_object;
create view ship_daily_report_view as select
date_ as дата, employee.name as капитан, tripid as рейс,
permission as разрешение, ship.name as судно,
district.name as район_промысла, longitude as широта,
latitude as долгота from ship_daily_report
join employee on (employee.passport = ship_daily_report.capitan) join ship on (ship_daily_report.ship = ship.id)
join district on (ship_daily_report.district = district.id);
Были созданы АРМ:
АРМ 2-го помощника капитана обеспечивает: Заполнение промыслового журнала
select fishing_object, latitude, longitude, date_ from fishing_operation
Внесение в базу коносамента
select arrival_point, fishing_object from discharging
Формирование справки о наличии продукции на борту
56
select fishing_object.name, sum(weight) from |
fishing_processing |
join |
fishing_object on |
|
|
fishing_object.id = fishing_processing.fishing_object |
|
|
group by fishing_object.name, weight |
|
|
Контроль заполнения пункта Ш3 “Промысловые операции” |
|
|
select fishing_object, date_, longitude, |
latitude, weight |
from |
fishing_operation where capitan
Контроль заполнения пунктов Ш10, Ш11 “Перегруз мороженной рыбопродукции”
select arrival_point, carrier, fishing_object, weight from discharging
Проверка на заполнение пунктов в рейсовом отчете сводка всех данных , выгрузка, вылов, переработка
select * from discharging, fishing_operation, fishing_processing
АРМ заведующего производством Заполнение технологического журнала
сколько произвели, что, когда
select fishing_object, weight, date_ from fishing_processing
Контроль заполнения пункта Ш6 “Выпуск мороженой рыбопродукции” select fishing_object, date_, longitude, latitude from fishing_processing
Выдача справки о нахождении рыбопродукции на борту select fishing_object, weight from fishing_processing
Проверка на заполнение пунктов в рейсовом отчете
select * from fishing_operation, fishing_processing, discharging
АРМ помощника капитана по радиоэлектронике обеспечивает: Работа со словарями (подразделения, виды водных биоресурсов)
select * from fishing_object; insert into fishing_object values ();
Отправка ССД
select * from ship_daily_report
АРМ капитана обеспечивает:
Контроль правильности заполнения документов Заверение документов Формирование рейсовых отчётов
select * from discharging, ship_daily_report
АРМ генерального директора обеспечивает: чтение всей базы данных
select * from trip
57
select * from discharging select * from ship
select * from fishing_gear select * from fishing_object select * from fishing_operation select * from employee
select * from profession
select * from ship_daily_report select * from permission
select * from fishing_processing select * from district
select * from fishing_object_district
5.Выводы и результаты
При выполнении проектной работы по проектированию и разработке автоматизированной системы управления производственной деятельностью дальневосточного рыболовецкого предприятия были получены следующие результаты:
-проанализирован порядок производственной деятельности дальневосточного рыболовецкого предприятия. Выявлены слабые места в учете производственных процессов. Предложен вариант наиболее рационального решения по автоматизации управления производства;
-разработаны автоматизированные рабочие места (АРМ) и выделены их основные задачи;
-проанализировано и выбрано соответствующее программное обеспечение, СУБД. Построена логическая и физическая структура данных по автоматизации учета производственной деятельности дальневосточного рыболовецкого предприятия;
-на основании спроектированной системы производства рекомендованы к внедрению автоматизированные рабочие места и их задачи;
-представлен программный код построения таблиц и запросов;
Выводы:
- в результате проведенного предпроектного исследования установлено, что целесообразно создать распределенные автоматизированные системы с рядом АРМ не только для офисов ООО "Фрам", но и для удаленных
58
рыболовецких судов. Такая взаимосвязь целесообразна с применением современной сети интернет;
-в ходе создания системы выявлена необходимость создания АРМ капитана, генерального директора, помощника капитана по радиоэлектронике, заведующего производством, 2-го помощника капитан;
-целесообразно было выбрать СУБД PostgreSQL из-за её отказоустойчивости и бесплатного обслуживания, так как СУБД PostgreSQL является свободно распространяемой и полностью соответствует требованиям
ООО"Фрам".
59
Источники информации
1.Федеральный закон от 20.12.2004 №166-ФЗ "О рыболовстве и сохранении водных биологических ресурсов"
2.Кодекс торгового мореплавания Российской Федерации от 30.04.1999 №81-ФЗ
3.Приказ Министерства сельского хозяйства РФ от 23 мая 2019 г. №267 "Об утверждении правил рыболовства для Дальневосточного рыбохозяйственного бассейна"
4.Приказ Министерства сельского хозяйства Российской Федерации от 26.12.2019 №721 "Об утверждении Порядка передачи данных в отраслевую систему мониторинга водных биологических ресурсов"
5.ГОСТ 34.003-90. Автоматизированные системы. Термины и определения.
6.ГОСТ 34.201-89. Виды, комплектность и обозначение документов при создании автоматизированных систем.
7.ГОСТ 34.601-90. Автоматизированные системы. Стадии создания.
8.ГОСТ 34.602-89. Техническое задание на создание автоматизированной системы.
9.ГОСТ 34.603-92. Виды испытаний автоматизированных систем.
10.РД 50 - 34.698-90. Автоматизированные системы. Требования к содержанию документов.
11.РД 50-680-88. Автоматизированные системы. Основные положения
12.ГОСТ 19.001-77. Общие положения
13.ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения
14.ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические
15.ГОСТ 19.004-80. Термины и определения
16.ГОСТ 19.101-77. Виды программ и программных документов
17.ГОСТ 19.102-77. Стадии разработки
18.ГОСТ 19.103-77. Обозначение программ и программных документов
60