<% content_for :head do %> <%= stylesheet_link_tag "index" , :media => "all"%> <%= stylesheet_link_tag "filters" , :media => "all"%> <%= stylesheet_link_tag "materialsTable" , :media => "all"%> <%= javascript_include_tag 'jquery.dataTables' %> <%= stylesheet_link_tag "DataTables", :media => "all" %> <%= javascript_include_tag "table2CSV"%> <%= javascript_include_tag "dataTables.numericComma"%> <% end %>
<% form_tag "/constr_works/report_works", :method => :get do -%> <%= label_tag 'Дата с:' %><%= calendar_field_tag 'date_from', Russian::strftime(@date_from), { :class => 'plaintext', :size=> 9 }, {} %> <%= label_tag 'Дата по:' %><%= calendar_field_tag 'date_to', Russian::strftime(@date_to), { :class => 'plaintext', :size=> 9 }, {} %>

<% for category in @categories do%> <% end %>
<%= check_box_tag "select_all_cats", '', false, :onChange => "$('.categories').attr('checked', $(this).prop('checked'))"%> Выбрать все категории
<%= check_box_tag 'categories[]', category.id, (if params[:categories] && (params[:categories].to_a.include? category.id.to_s) then true else false end), :class =>"categories" %><%= category.name %>

Только статистика:<%= check_box_tag 'only_static', value = true, checked = params[:only_static]%>
Учесть нестандартные работы:<%= check_box_tag 'other_works', value = true, checked = params[:other_works]%>
Только утверждённые:<%= check_box_tag 'only_with_status_2', value = true, checked = params[:only_with_status_2]%> <%= button_to "Фильтр" %> <% end %>
">

Детальный отчет по выполненным работам и потраченным материалам:

<% idn= 0 %> <% for work in @works do%> <% report = work.report -%> > <% end %> <% for r in @other_works do %> > <% end %> <% idn= 0 %> <% for mat in @materials do%> <% report = mat.report -%> > <% end %>
# Id Логин Дата завершения работ Наименование работы Единица измерения Количество Цена Стоимость
<%= idn += 1%> <%= link_to report.id, edit_constr_work_path(report), :target => 'blank' %> <%= report.name %> <%= report.date.to_date.rus %> <%= work.work_name %> <%= work.work.measure_name if work.work %> <%= work.count %> <%= work.work.price if work.work %> <%= work.count.to_f*work.work.price.to_f if work.work %>
<%= idn += 1%> <%= link_to r.id, edit_constr_work_path(r), :target => 'blank' %> <%= r.name %> <%= r.date.to_date.rus %> Нестандартная работа: <%= r.com_conflicts %> 1 <%= r.get_money_sum%> <%= r.get_money_sum%>
<%= idn += 1%> <%= link_to report.id, edit_constr_work_path(report), :target => 'blank' %> <%= report.name %> <%= report.date.to_date.rus %> <%= mat.material_name %> шт. <%= mat.count %> <%= mat.price %> <%= mat.price.to_f*mat.count.to_f %>

ИТОГО по выполненным работам:

<% ss = 0; all_s = 0; all_p=0; all_c = 0 -%> <% @works.group_by{|i| i.work_id}.each do |work, dws|%> <% end -%> <% if @other_works.size > 0 %> <% end -%> <% ss = 0; all_s = 0; all_p=0; all_c = 0 -%> <% @materials.group_by{|i| i.material_id}.each do |mat, dws|%> <% end -%>
# Наименование Ед. измерения Количество Цена Стоимость
<%= ss+=1%> <%= dws[0].work_name %> <%= dws[0].work.measure_name if dws[0].work %> <%= c=dws.map{|i| i.count.to_f}.sum.to_f %> <%= pc=(dws[0].work ? dws[0].work.price : 0).to_f %> <%= pc*c %><% all_s += pc*c; all_p+=pc; all_c += c%>
<%= ss+=1%> Нестандартная работа <%= @other_works.size %> <%= s=@other_works.map{|i| i.get_money_sum.to_f}.sum %><% all_c += 1; all_s += s; all_p += @other_works.size %>
<%= ss+=1%> <%= dws[0].material_name %> шт. <%= c=dws.map{|i| i.count.to_f}.sum.to_f %> <%= pc=dws[0].price.to_f %> <%= pc*c %><% all_s = all_s + pc*c; all_p = all_p + pc; all_c = all_c + c%>
Итого: <%= all_c %> <%= all_s %> <%= all_s %>