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

Рисунок B.2 ‒ Декомпозиция блока диаграммы

Рисунок B.3 ‒ Декомпозиция блока диаграммы

52

Рисунок B.4 ‒ Декомпозиция блока диаграммы

Рисунок B.5 ‒ Декомпозиция блока диаграммы

53

ПРИЛОЖЕНИЕ Г

Листинг программы Листинг Д.1 ‒ Справочники

<%= form_for(@avar) do |f| %> <% if @avar.errors.any? %> <div id="error_explanation">

<h2><%= pluralize(@avar.errors.count, "error") %> prohibited this avar from being saved:</h2>

<ul>

<% @avar.errors.full_messages.each do |message| %>

<li><%= message %></li> <% end %>

</ul>

</div> <% end %>

<div class="field">

<%= f.label :Вид_аварии %><br>

<%= f.collection_select(:vid_id, Vid.all, :id, :vid) %>

</div>

<div class="field">

<%= f.label :Сотрудник %><br>

<%= f.collection_select(:sotr_id, Sotr.all, :id, :fam) %>

</div>

<div class="field">

<%= f.label :Дата_аварии %><br> <%= f.datetime_select :datanah %> </div>

<div class="field">

<%= f.label :Дата_локализации_аварии

%><br>

<%= f.datetime_select :data_k %> </div>

<div class="field">

<%= f.label :Результат_ремонта %><br>

<%= f.collection_select(:result_id, Result.all, :id, :result) %>

</div>

<div class="field">

<%= f.label :Статус %><br> <%= f.check_box :status %>

</div>

<div class="field">

<%= f.label :Удаление %><br> <%= f.check_box :s_delete %> </div>

<div class="actions">

<%= f.submit "Добавить" %> </div>

<% end %>

<div class="mens8"> <div class="men8">

<h1>Редактирование Аварий</h1>

<%= render 'form' %>

<%= link_to 'Показать', @avar %> | <%= link_to 'Назад', avars_path %> </div>

</div>

<p id="notice"><%= notice %></p> <h1>Аварии</h1>

<%= link_to 'Новая авария', new_avar_path %>

<%= link_to 'Главная страница', controller: 'home_page' %>

<table class="table"> <thead>

<tr>

<th class="thdl">Вид аварии</th> <th class="thdl">Сотрудник</th> <th class="thdl">Дата аварии</th>

<th class="thdl">Дата локализации аварии</th>

<th class="thdl">Результат ремонта</th>

<th class="thdl">Статус</th> <th class="thdl">Удаление</th>

<th class="thdl" colspan="3"></th> </tr>

</thead>

<tbody>

<% @avars.each do |avar| %>

54

<% if avar.s_delete == false %> <tr>

<% else %>

<tr bgcolor="Red"> <% end %>

<td class="tddl"><%= avar.vid.vid %></td>

<td class="tddl"><%= avar.sotr.fam %></td>

<td class="tddl"><%= avar.datanah %></td>

<td class="tddl"><%= avar.data_k %></td>

<td class="tddl"><%= avar.result.result %></td>

<td class="tddl"><%= avar.status %></td>

<td class="tddl"><%= avar.s_delete %></td>

<td class="tddl"><%= link_to 'Показать', avar %></td>

<td class="tddl"><%= link_to 'Изменить', edit_avar_path(avar) %></td>

<% if session[:user_id] == 1 %>

<td class="tddl"><%= link_to 'Удалить', avar, method: :delete, data: { confirm: 'Вы уверены?' } %></td>

<% end %> </tr>

<% end %> </tbody> </table>

<div class="mens8"> <div class="men8"> <h1>Новая авария</h1> <%= render 'form' %>

<%= link_to 'Назад', avars_path %> </div>

</div>

<div class="mens9"> <div class="men9">

<p id="notice"><%= notice %></p> <p>

<strong>Вид аварии:</strong> <%= @avar.vid.vid %>

</p>

<p> <strong>Сотрудник:</strong> <%= @avar.sotr.fam %>

</p>

<p>

<strong>Дата аварии:</strong> <%= @avar.datanah %>

</p>

<p>

<strong>Дата локализации аварии:</strong>

<%= @avar.data_k %> </p>

<p>

<strong>Результат ремонта:</strong>

<%= @avar.result.result %> </p>

<p> <strong>Статус:</strong> <%= @avar.status %> </p>

<p> <strong>Удаление:</strong> <%= @avar.s_delete %> </p>

<%= link_to 'Изменить', edit_avar_path(@avar) %> |

<%= link_to 'Назад', avars_path %> </div>

</div>

class AvarsController < ApplicationController before_action :set_avar, only: [:show, :edit, :update, :destroy]

#GET /avars

#GET /avars.json def index

@avars = Avar.all end

#GET /avars/1

#GET /avars/1.json def show

end

#GET /avars/new def new

@avar = Avar.new end

55

#GET /avars/1/edit def edit

end

#POST /avars

#POST /avars.json def create

@avar = Avar.new(avar_params)

respond_to do |format| if @avar.save

format.html { redirect_to @avar, notice: 'Был успешно создан' }

format.json { render :show, status: :created, location: @avar }

else

format.html { render :new } format.json { render json: @avar.errors,

status: :unprocessable_entity } end

end end

#PATCH/PUT /avars/1

#PATCH/PUT /avars/1.json def update

respond_to do |format|

if @avar.update(avar_params)

format.html { redirect_to @avar, notice: 'Успешно обновлен' }

format.json { render :show, status: :ok, location: @avar }

else

format.html { render :edit } format.json { render json: @avar.errors,

status: :unprocessable_entity } end

end end

#DELETE /avars/1

#DELETE /avars/1.json def destroy @avar.destroy respond_to do |format|

format.html { redirect_to avars_url,

notice: 'Avar was successfully destroyed.' } format.json { head :no_content }

end end

private

#Use callbacks to share common setup or constraints between actions.

def set_avar

@avar = Avar.find(params[:id]) end

#Never trust parameters from the scary internet, only allow the white list through.

def avar_params params.require(:avar).permit(:vid_id,

:sotr_id, :datanah, :data_k, :result_id, :status, :s_delete)

end end

.table{

border-spacing: 0 10px; font-family: 'Open Sans', sans-serif; font-weight: bold;

}

.thdl {

padding: 10px 20px; background: rgb(7, 150, 175); color: rgb(250, 250, 250); border-right: 2px solid; font-size: 15px;

}

.thdl:first-child { text-align: left;

}

.thdl:last-child { border-right: none;

}

.tddl {

vertical-align: middle; padding: 10px; font-size: 14px; text-align: center;

border-top: 2px solid rgb(7, 150, 175); border-bottom: 2px solid rgb(7, 150, 175); border-right: 2px solid rgb(7, 150, 175);

}

56

.tddl:first-child {

border-left: 2px solid rgb(7, 150, 175);

}

.tddl:nth-child(2){ text-align: left;

}

.mens8{

background-color: rgb(255, 255, 255); border-radius: 20px;

height: 480px; width:480px; position:absolute; top:43%; left:47%;

margin:-200px 0 0 -200px; background-image: -webkit-linear-

gradient(-200deg,#0874b3,#00d7fc);

}

.men8{ margin-left: 55px;

margin-top: 50px; font-family: Roboto,sans-serif;

}

.mens9{

background-color: rgb(255, 255, 255); border-radius: 20px;

height: 370px; width:480px; position:absolute; top:49%; left:47%;

margin:-200px 0 0 -200px; background-image: -webkit-linear-gradient(-

200deg,#0874b3,#00d7fc);

}

.men9{ margin-left: 55px; margin-top: 50px;

font-family: Roboto,sans-serif;

}

Листинг Г.2 ‒ Отчеты

<h1>Отчет поиск локализованных аварий по дате</h1>

<%= link_to 'Главная страница', controller: 'home_page' %> <br><br>

<%= form_tag("search", method: "get") do %>

<%= label_tag(:start, "Введите начальную дату:") %>

<%= date_select(:start, "written_on") %> <br><br>

<%= label_tag(:finish, "Введите конечную дату:") %> <%= date_select(:finish, "written_on") %>

<br><br>

<%= submit_tag("Искать") %> <% end %>

</div>

<h1>Отчет поиск локализованных аварий по дате</h1>

<%= link_to 'Главная страница', controller: 'home_page' %> | <%= link_to 'Назад', controller: 'search_dateava' %> <br><br>

<table border="1"> <th>Код</th>

<th>Дата аварии</th>

57

<th>Дата аварии</th>

<th>Дата локализации аварии</th> <th>Результат ремонта</th>

<%= Avar.includes(:vid).joins("avars INNER JOIN results ON avars.result_id = results.id")

.where("date_part('year', avars.data_k) >= ? and date_part('month', avars.data_k) >= ? and date_part('day', avars.data_k)

>= ? and date_part('year', avars.data_k) <= ? and date_part('month', avars.data_k) <= ? and date_part('day', avars.data_k)

<= ? and results.result = 'Локализована в срок' ",@year_s, @month_s, @day_s, @year_f, @month_f, @day_f).find_each do |avar|%>

<tr>

<td><%= avar.id %></td> <td><%= avar.vid.vid %></td> <td><%= avar.datanah %></td> <td><%= avar.data_k %></td>

<td><%= avar.result.result %></td> </tr>

<% end %>

<div class="men13">

<h1>Отчет работы сотрудников по дате</h1>

<%= link_to 'Главная страница', controller: 'home_page' %> <br><br>

<%= form_tag("search", method: "get") do %>

<%= label_tag(:start, "Введите начальную дату:") %>

<%= date_select(:start, "written_on") %> <br><br>

<%= label_tag(:finish, "Введите конечную дату:") %> <%= date_select(:finish, "written_on") %>

<br><br>

<%= submit_tag("Искать") %> <% end %>

</div>

<?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> <Cell><Data ss:Type="String">Отчество</Data></Cell> <Cell><Data ss:Type="String">Результат</Data></Cell> </Row>

58

<%= Avar.includes(:vid).joins("avars INNER JOIN results ON avars.result_id = results.id")

.find_each do |avar|%> <Row>

<Cell><Data ss:Type="Number"><%= avar.id %></Data></Cell> <Cell><Data ss:Type="String"><%= avar.sotr.fam %></Data></Cell> <Cell><Data ss:Type="String"><%= avar.sotr.name %></Data></Cell> <Cell><Data ss:Type="String"><%= avar.sotr.otch %></Data></Cell> <Cell><Data ss:Type="String"><%= avar.result.result %></Data></Cell> </Row>

<% end %> </Table> </Worksheet> </Workbook>

<h1>Отчет работы сотрудников по дате</h1>

<%= link_to 'Главная страница', controller: 'home_page' %> | <%= link_to 'Назад', controller: 'search_itgoth' %>

<%=link_to 'Скачать Excel', 'http://localhost:3000/search_itgoth/index.xls', data: { confirm: "Скачать файл?" } %>

<br><br>

<table border="1"> <th>Код</th> <th>Фамилия</th> <th>Имя</th> <th>Отчество</th>

<th>Дата аварии</th> <th>Дата устранения</th>

<th>Результат</th>

<%= Avar.includes(:vid).joins("avars INNER JOIN results ON avars.result_id = results.id")

.where("date_part('year', avars.data_k) >= ? and date_part('month', avars.data_k) >= ? and date_part('day', avars.data_k)

>= ? and date_part('year', avars.data_k) <= ? and date_part('month', avars.data_k) <= ? and date_part('day', avars.data_k)

<= ? ",@year_s, @month_s, @day_s, @year_f, @month_f, @day_f).find_each do |avar|%> <tr>

<td><%= avar.id %></td> <td><%= avar.sotr.fam %></td> <td><%= avar.sotr.name %></td> <td><%= avar.sotr.otch %></td> <td><%= avar.datanah %></td> <td><%= avar.data_k %></td>

<td><%= avar.result.result %></td> </tr>

<% end %>

59

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