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

class SotrudniksController < ApplicationController before_action :set_sotrudnik, only: [:show, :edit,

:update, :destroy]

def index

@sotrudniks = Sotrudnik.all end

def show end

def new

@sotrudnik = Sotrudnik.new end

def edit end

def create

@sotrudnik = Sotrudnik.new(sotrudnik_params)

respond_to do |format| if @sotrudnik.save

format.html { redirect_to @sotrudnik, notice: 'Сотрудник успешно добавлен.' }

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

else

format.html { render :new }

format.json { render json: @sotrudnik.errors, status: :unprocessable_entity }

end end

end

def update

respond_to do |format|

if @sotrudnik.update(sotrudnik_params)

format.html { redirect_to @sotrudnik, notice: 'Сотрудник успешно обновлен.' }

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

else

format.html { render :edit }

format.json { render json: @sotrudnik.errors, status: :unprocessable_entity }

end end

end

def destroy @sotrudnik.destroy respond_to do |format|

format.html { redirect_to sotrudniks_url, notice: 'Сотрудник успешно удален.' }

format.json { head :no_content } end

end private

def set_sotrudnik

@sotrudnik = Sotrudnik.find(params[:id]) end

def sotrudnik_params

params.require(:sotrudnik).permit(:s_fam, :s_name, :s_otch, :string, :s_dateBirth, :dolzhnost, :dataPriema, :brigada_id, :status, :s_delete)

end end

class UsersController < ApplicationController before_action :set_user, only: [:show, :edit, :update,

:destroy]

def index

@users = User.all end

def show end

def new

@user = User.new end

def edit end

def create

@user = User.new(user_params) respond_to do |format|

if @user.save

format.html { redirect_to @user, notice: 'User was successfully created.' }

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

else

format.html { render :new }

format.json { render json: @user.errors, status: :unprocessable_entity }

end end

end

def update

respond_to do |format|

if @user.update(user_params)

format.html { redirect_to @user, notice: 'User was successfully updated.' }

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

else

format.html { render :edit }

format.json { render json: @user.errors, status: :unprocessable_entity }

end end

end

def destroy @user.destroy respond_to do |format|

format.html { redirect_to users_url, notice: 'User was successfully destroyed.' }

format.json { head :no_content } end

end

private

def set_user

@user = User.find(params[:id])

52

end

def user_params

params.require(:user).permit(:name, :password, :password_confirmation)

end end

Class VidnarusheniaController < ApplicationController before_action :set_vidnarushenium, only: [:show, :edit,

:update, :destroy]

def index

@vidnarushenia = Vidnarushenium.all end

def show end

def new

@vidnarushenium = Vidnarushenium.new end

def edit end

def create

@vidnarushenium = Vidnarushenium.new(vidnarushenium_params)

respond_to do |format|

if @vidnarushenium.save

format.html { redirect_to @vidnarushenium, notice: 'Нарушение было успешно создано' }

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

else

format.html { render :new }

format.json { render json: @vidnarushenium.errors, status: :unprocessable_entity }

end end

end

def update

respond_to do |format| if

@vidnarushenium.update(vidnarushenium_params) format.html { redirect_to @vidnarushenium, notice:

'Нарушение было успешно изменено' }

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

else

format.html { render :edit }

format.json { render json: @vidnarushenium.errors, status: :unprocessable_entity }

end end

end

def destroy @vidnarushenium.destroy respond_to do |format|

format.html { redirect_to vidnarushenia_url, notice: 'Нарушение было успешно удалено' }

format.json { head :no_content } end

end

private

def set_vidnarushenium

@vidnarushenium = Vidnarushenium.find(params[:id])

end

def vidnarushenium_params params.require(:vidnarushenium).permit(:vid_narush,

:status, :s_delete) end

end

Листинг В.2 – Представления отчетов

<h1>Отчет об авариях</h1>

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

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

<% end %>

'home_page' %>

 

<br><br>

<h1>Отчет об авариях</h1>

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

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

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

'home_page' %><br><br>

%>

 

<%= date_select(:start, "written_on", discard_year:

<table border="1">

true) %>

<th>Бригада</th>

<br><br>

<th>Вид ремонта</th>

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

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

%>

<th>Дата</th>

<%= date_select(:finish, "written_on", discard_year:

 

true) %>

<%= Avarii.find_by_sql(["select avariis.brigada_id,

<br><br>

avariis.vidremonta, avariis.result, avariis.data from

 

53

avariis where date_part('month', avariis.data) >= ? and date_part('day', avariis.data) >= ? and date_part('month', avariis.data) <= ? and date_part('day', avariis.data) <= ?", @month_s, @day_s, @month_f, @day_f]).each do |avarii| %>

<tr>

<td><%= avarii.brigada_id %></td> <td><%= avarii.vidremonta %></td> <td><%= avarii.result %></td> <td><%= avarii.data %></td>

</tr>

<% end %>

<h1>Отчет о лучшем сотруднике</h1>

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

<br><br>

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

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

%>

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

<br><br>

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

<%= date_select(:finish, "written_on", discard_year: true) %>

<br><br>

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

<h1>Отчет о лучшем сотруднике</h1>

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

<table border="1"> <th>Номер бригады</th> <p>Вы ввели:</p>

Начальная дата:

<%= @month_s%> месяц <%= @day_s%> день <br>

Конечная дата:

<%= @month_f%> месяц <%= @day_f%> день <br>

<%= Avarii.select("avariis.id,avariis.brigada_id").where( "date_part('month', avariis.data) >= ? and date_part('day', avariis.data) >= ? and date_part('month', avariis.data) <= ? and date_part('day', avariis.data) <= ?", @month_s, @day_s, @month_f, @day_f).find_each do |avarii|%>

<tr>

<td><%= avarii.brigada_id %></td> </tr>

<% end %>

<h1>Отчет о сдаче экзамена</h1>

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

<br><br>

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

%>

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

<br><br>

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

<%= date_select(:finish, "written_on", discard_year: true) %>

<br><br>

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

<h1>Отчет о сдаче экзамена</h1>

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

<table border="1"> <th>Код сотрудника</th>

<th>Дата сдачи экзамена</th> <p>Вы ввели:</p>

Начальная дата:

<%= @month_s%> месяц <%= @day_s%> день <br>

Конечная дата:

<%= @month_f%> месяц

<%= @day_f%> день <br>

<%= Examan.find_by_sql(["select examen.sotrudnik_id, examen.data from examen where date_part('month', examen.data) >= ? and date_part('day', examen.data) >= ? and date_part('month', examen.data) <= ? and date_part('day', examen.data) <= ?", @month_s, @day_s, @month_f, @day_f]).each do |examan| %> <tr>

<td><%= examan.sotrudnik_id %></td> <td><%= examan.data %></td>

</tr>

<% end %>

<h1>Итоговый отчет</h1>

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

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

<br><br>

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

54

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

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

<br><br>

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

<%= date_select(:finish, "written_on", discard_year: true) %>

<br><br>

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

<?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/REChtml40">

<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>

</Row>

<%= Grafic.find_by_sql(["select grafics.sotrudnik_id, grafics.data, grafics.otrabotannoevrema from grafics where date_part('month', grafics.data) >= ? and

date_part('day', grafics.data) >= ? and date_part('month', grafics.data) <= ? and date_part('day', grafics.data) <= ?", 1, 1, 12, 31]).each do |grafic| %>

<Row>

<Cell><Data ss:Type="Number"><%= grafic.sotrudnik_id %></Data></Cell> <Cell><Data ss:Type="String"><%= grafic.data %></Data></Cell>

<Cell><Data ss:Type="String"><%= grafic.otrabotannoevrema %></Data></Cell> </Row>

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

<h1>Итоговый отчет</h1>

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

<table border="1"> <th>Код сотрудника</th> <th>Дата</th>

<th>Отработанное время</th>

<%= Grafic.find_by_sql(["select grafics.sotrudnik_id, grafics.data, grafics.otrabotannoevrema from grafics where date_part('month', grafics.data) >= ? and date_part('day', grafics.data) >= ? and date_part('month', grafics.data) <= ? and date_part('day', grafics.data) <= ?", @month_s, @day_s, @month_f, @day_f]).each do |grafic| %> <tr>

<td><%= grafic.sotrudnik_id %></td> <td><%= grafic.data %></td>

<td><%= grafic.otrabotannoevrema %></td> </tr>

<% end %>

55

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