<%= stylesheet_link_tag "statsTable" , :media => "all"%>
<% form_tag "/private/stats", :method => :get do -%> Тип работ: <%= select_tag(:filter_category, options_for_select(Category.private.collect{ |c| [c.name, c.id]}.sort.insert(0, ['--- Все ---', ""]), params[:filter_category].to_i)) %> Месяц: <%= select_tag(:filter_month, options_for_select(Report.months, @date.month.to_i)) -%> Год: <%= select_tag(:filter_year, options_for_select((2010..Date.today.year).to_a, @date.year.to_i)) -%>

<%= render :partial => "employees" %>

<%= button_to "Фильтр" %> <% end %>
<% ss1 = 0; ss2 = 0; ss3 = 0; ss4 = 0; ss5 = 0; ss6 = 0; ss7 = 0; ss8 = 0; ss9 = 0; ss10 = 0; %> <% ec = 0 %> <% @d_employees.map{|i| i.empl_name}.uniq.each do |e| %> <% works = @d_employees.select{|i| i.empl_name == e}%> <% ec += 1 %> <% ss7 += s7%> <% ss8 += s8%> <% ss9 += s9%> <% ss10 += s10 %> <% end -%> <% if ec > 0 %> <% end %>
Сотрудник з/п, руб. Кол-во раб. дней Подключения / Переподключения Средняя стоимость подключения инсталлятора Сумма по базовым работам Каблирование Бесплатные работы Укладка короба по подъезду
<%= e %> <%= number_with_precision(works.map{|i| i.sum.to_f}.sum, :precision => 0) %> <%= works.map{|i| i.report.date.to_date}.uniq.count%> <%= number_with_precision(works.select{|i| i.report.category == 21}.count, 0) %> / <%= number_with_precision(works.select{|i| i.report.category == 22}.count, 0) %> <% podk_perepodk = works.select{|i| [21, 22].include? i.report.category}%><%= number_with_precision(podk_perepodk.count > 0 ? podk_perepodk.sum{|i| i.sum.to_f} / podk_perepodk.count : 0, 0)%> <%= s7 = works.map{|i| if i.report.categor && i.report.categor.price.to_f != 0 then (i.report.categor.price.to_f / i.report.done_employees.size) else 0 end }.sum.to_i %> <%= s8 = works.map{|i| i.report.done_works.select{|i| (i.work_id == 1 || i.work_id == 2) && i.pricelist == 0}.map{|i| ((i.work.rate.to_f * i.count.to_i) / i.report.done_employees.size)}}.sum.sum %> <%= s9 = works.map{|i| i.report.done_works.select{|i| i.work.free == true}.map{|i| ((i.work.rate.to_f * i.count.to_i) / i.report.done_employees.size)}}.sum.sum %> <%= s10 = works.map{|i| i.report.done_works.select{|i| (i.work_id == 196 && i.pricelist == 0)}.map{|i| ((i.work.rate.to_f * i.count.to_i) / i.report.done_employees.size)}}.sum.sum.to_i %>

Всего:

<%= @d_employees.sum{|i| i.sum.to_f}%> <%= @d_employees.select{|i| i.report.category == 21}.count%>/<%= @d_employees.select{|i| i.report.category == 22}.count%> <% podkl_per = @d_employees.select{|i| [21, 22].include? i.report.category}%><%=number_with_precision(podkl_per.size > 0 ? podkl_per.map{|i| i.report.sum.to_f}.sum / podkl_per.count : 0, 0) %> <%= ss7%> <%= ss8%> <%= ss9%> <%= ss10%>