Курсовые работы / ПРИС К_8
.pdfИз рисунка 3.2 видно, что модули отчетов, модули справочников и модуль авторизации при своей работе отправляю запросы в базу данных, а база данных модулям обратно отдает результаты запроса.
3.4 Реализация программных модулей
В данном web-приложении реализовано три отчета:
-Востребованные заказчиками газоанализаторы.
-Отчет о занятости сотрудников
-Поиск заказа по дате оформления.
Рассмотрим один из них, а именно «Отчет о занятости сотрудников».
Данный отчет выводит количество газоанализаторов, которыми занимается определенный сотрудник, и соответственно, ФИО сотрудника.
Вид отчета представлен на рисунке 3.3
Рисунок 3.3 – Вид отчета «Отчет о занятости сотрудников»
32
Алгоритм работы этого отчета представлен на рисунке 3.4.
Начало
Ввод ФИО Ссотрудника
Обработка запроса
База данных
Да
Получение результатов запроса
Вывод результата на экран
Вывод результата в Excel
Ввести другое |
Нет |
|
|
ФИО |
|
Конец
Рисунок 3.4 – Алгоритм работы отчета
33
Для реализации данного отчета в файле представления
/app/views/zan/index.html.erb прописывается следующий код:
<h1>Отчет о занятости сотрудников</h1>
<%= link_to 'Главная страница', controller: 'home_page' %>
<%= link_to 'Скачать Excel', 'http://localhost:3000/ zan /index.xls', data: { confirm: "Скачать файл?" } %> <br><br>
<% if session[:user_id] %>
<%= button_to 'Выйти', logout_path, method: :delete %> <% end %>
<br>
<%= form_tag("search", method: "get") do %>
<%= label_tag(:q, "Поиск по ФИО:") %>
<%= text_field_tag(:q) %> <%= submit_tag("Искать") %> <% end %>
<table border="1"> <th>Код</th>
<th>ФИО сотрудника</th> <th>Количество газоанализаторов</th>
<%= Sotr.find_each do |sotr| %> <tr>
<td><%= sotr.id %></td> <td><%= sotr.s_fam %></td>
<td><%= pazgazoanalizator.where(sotr_id: sotr.id).count
%></td>
</tr> <% end %>
Для реализации данного отчета в файле представления /app/views/zan/
index.xls.erb прописывается следующий код:
<?xml version="1.0" encoding="UTF-8"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
<Worksheet ss:Name="Sheet1"> <Table>
<Row>
<Cell><Data ss:Type="String">Код</Data></Cell> <Cell><Data ss:Type="String">ФИО сотрудника</Data></Cell> <Cell><Data ss:Type="String">Количество
газоанализаторов</Data></Cell>
34
</Row>
<%= Sotr.find_each do |sotr| %> <Row>
<Cell><Data ss:Type="Number"><%= sotr.id %></Data></Cell> <Cell><Data ss:Type="String"><%= sotr.s_fam %></Data></Cell> <Cell><Data ss:Type="Number"><%= pazgazoanalizator.where(sotr_id:
sotr.id).count %></Data></Cell> </Row>
<% end %> </Table> </Worksheet> </Workbook>
Для реализации данного отчета в файле представления /app/views/zan/
search.html.erb прописывается следующий код:
<h1>Отчет о занятости сотрудников</h1>
<%= link_to 'Главная страница', controller: 'home_page' %><br><br>
<%= form_tag("search", method: "get") do %>
<%= label_tag(:q, "Поиск по ФИО:") %>
<%= text_field_tag(:q) %>
<%= submit_tag("Искать") %><%= link_to 'Сбросить', controller:
'uvl_hobby' %> <% end %>
<%= link_to 'Скачать Excel', 'http://localhost:3000/ zan /index.xls', data: { confirm: "Скачать файл?" } %>
<table border="1">
<th>Код</th>
<th>ФИО сотрудника</th> <th>Количество газоанализаторов</th>
<%= Sotr.where("s_fam = ?", params[:q]).find_each do |sotr| %> <tr>
<td><%= sotr.id %></td> <td><%= sotr.s_fam %></td>
<td><%= pazgazoanalizator.where(sotr_id: sotr.id).count
%></td>
</tr> <% end %>
3.5 Инструкция пользователя по установке программного продукта и работе с ним
Для разработки приложений на RubyonRails можно выделить список необходимого ПО:
35
1. Интерпретатор Ruby;
2.Фреймворк Ruby on Rails;
3.База данных PostgreSQL;
4. Клиент для работы с БД pgAdmin3;
5.Текстовый редактор SublimeText 2 или 3 версия.
Для установки Ruby on Rails, необходимо сначала скачать пакет
RubyStack, который включает в себя следующие элементы: Ruby, Rails, RVM, MySQL, SQLite, NGINX, Apache, Memcache and Varnish, Git and Subersion, Sphinx, PHP and phpMyAdmin. Для скачивания данного пакета можно воспользоваться ссылкой https://bitnami.com/redirect/to/90515/bitnami-rubystack- 2.0.0-39-windows-installer.exe.
Фреймворк Ruby on Rails поддерживает структуру MVC приложений.
Концепция MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента:
-Модель (англ. Model). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать.
-Представление, вид (англ. View). Отвечает за отображение информации
(визуализацию). Часто в качестве представления выступает форма (окно) с
графическими элементами.
-Контроллер (англ. Controller). Обеспечивает связь между пользователем
исистемой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.
Более подробной про MVC будет описано ниже (кроме этого рекомендуем обратиться к литературе).
Следует отметить, что Ruby on Rails сам создаст необходимую для работы структуру приложения (как бы исходный «шаблон»). В дальнейшем,
создавая необходимые элементы своего приложения мы этот «шаблон» будем
наполнять и развивать.
36
Перед началом работы, необходимо на диске C:\ создать папку, туда будет устанавливаться проект.
Необходимо в консоли включить сервер с помощью команды “rails s” и
зайти в браузер по адресу: localhost:3000.
При входе по указанному адресу откроется окно авторизации, в которое требуется ввести имя пользователя и пароль (рисунок 3.4).
Рисунок 3.5 – Скриншот окна авторизации
В случае успешного ввода имени пользователя и пароля откроется стартовая страница. Стартовая страница представлена на рисунке 3.6.
Рисунок 3.6 – Скриншот стартовой страницы
37
На стартовой странице расположено три группы: справочники, отчеты и пользователи. В группу справочники занесены ссылки на страницы,
содержащие таблицы-справочники.
Справочники представлены на рисунках 3.7 - 3.11
Рисунок 3.7 – Скриншот справочника «Газоанализаторы»
38
Рисунок 3.8 – Скриншот справочника «Сотрудники»
Рисунок 3.9 – Скриншот справочника «Заказчики»
39
Рисунок 3.10 – Скриншот справочника «Заказы»
Рисунок 3.11 – Скриншот справочника «Разработанные газоализаторы»
40
В группу отчеты занесены ссылки на страницы, содержащие отчеты.
Работа отчетов представлена на рисунках 3.12 - 3.14.
Рисунок 3.12 – Скриншот отчета «Отчет о заказах газоанализаторов»
41