Скачиваний:
8
Добавлен:
17.06.2023
Размер:
2.68 Mб
Скачать

Из рисунка 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

Соседние файлы в папке Курсовые работы