<% if params[HousePnsHelper::IncassoQuotaPersona].present? %> <% result = nil %> <% begin %> <% result = HousePn.registra_movimento(params, HousePnsHelper::IncassoQuotaPersona) %> <% rescue StandardError => e %>

<%= icon('exclamation-triangle', size: '2x') %> Errore durante la registrazione del movimento! <%= e %>

<% end %> <% if result.nil? %>

<%= icon('hand-paper', size: '2x') %> Movimento non registrato!

<% else %> <% incasso_competenza = params[:competenza].to_date %> <% incasso_data = (params[SrgPnsHelper::DataIncasso_ParamsKey].present? ? params[SrgPnsHelper::DataIncasso_ParamsKey].to_date : Date.today) %> <% incasso_member_id = params[HousePnsHelper::IncassoQuotaPersona] %> <% incasso_member = Person.find(incasso_member_id) %> <% incasso_importo = params[incasso_member_id.to_sym] %>

<%= icon('check', size: '2x') %> <% if result.is_a?(Array) %> Registrati incassi di <%= incasso_importo ||= 'Totale' %> per <%= incasso_member.full_person_name %> nella competenza di <%= daterange_name(incasso_competenza) %> in data <%= incasso_data.to_dmy %> <% else %> Registrato incasso di <%= incasso_importo ||= 'Totale' %> per <%= incasso_member.full_person_name %> nella competenza di <%= daterange_name(incasso_competenza) %>, in data <%= incasso_data.to_dmy %> <% end %>

<% end %> <% params.delete(HousePnsHelper::IncassoQuotaPersona) %> <% end %> <% house = House.find(@house.id) %> <% mese_competenza_versato = @filterdate %> <% crb_subtotals = [ { name: "Totale paniere", house_account_vieworder_range_start: 0, house_account_vieworder_range_end: 14, member_total: 0.0, house_total: 0.0, printed: false }, { name: "Totale mese", house_account_vieworder_range_start: 0, house_account_vieworder_range_end: 19, member_total: 0.0, house_total: 0.0, printed: false } ] %> <% house_crb_ids_to_be_skipped = HouseQec.get_house_crb_ids_to_be_skipped %> <% membri = Person.where(house_id: house.id, attivo: true, economia_separata: false).ordered_in_nucleo %> <% house_qec = HouseQec.search({filterhouse_id: house.id, filterdate: @filterdate}).first %> <% house_qec_previous = HouseQec.search({filterhouse_id: house.id, filterdate: daterange_previousmonth(@filterdate)}).first %> <%# house_qec_next = HouseQec.search({filterhouse_id: house.id, filterdate: daterange_nextmonth(@filterdate)}).first %> <% if house_qec.blank? %>
ATTENZIONE: non è stata calcolata l'emissione per la competenza di <%= daterange_name(@filterdate) %>.
<% else %> <% @ui_per_incasso = !@ui_printmode %> <% if @ui_per_incasso %> <% if house_qec.exist_next? %>

Attenzione: non è possibile registrare incassi perché è stata calcolata l'emissione.

<% @ui_per_incasso = false %> <% end %> <% end %> <%# non sono riuscito a formulare una query evoluta, con join(house_crbs).having(count > 0) %> <%# User.select('users.*').joins(:payments).group('users.id').having('count(payments.id) > 4') https://github.com/rails/rails/issues/1515 %> <% house_crb_groups = [] %> <% house_qec_groups = HouseQecValue.where(house_qec_id: house_qec.id).group(:house_crb_id).count %> <% house_qec_groups.each do |group, count| %> <% if count > 0 %> <% house_crb_id = group %> <% if !(house_crb_ids_to_be_skipped.include? house_crb_id) %> <% house_crb = HouseCrb.find(house_crb_id) %> <% house_account = HouseAccount.find(house_crb.house_account_id) %> <% totale_crb = HouseQecValue.all.where(house_qec_id: house_qec.id, house_crb_id: house_crb.id).sum(:importo) %> <% house_crb_groups << { the_house_account: house_account, the_house_crb: house_crb, count: count, totale_crb: totale_crb} %> <% end %> <% end %> <% end %> <% house_crbs_grouped = house_crb_groups.group_by{|h| (h[:the_house_account]).id} # raggruppa per Conto %> <% house_crbs_grouped = house_crbs_grouped.sort_by{|g| [ (g[1][0][:the_house_account]).view_order, (g[1][0][:the_house_account]).descrizione ] } # ordina i Conti %> <% house_crbs_grouped = house_crbs_grouped.map{|g| [ g[0], g[1].sort_by{|v| v[:the_house_crb].descrizione} ] } # ordina i CRB dentro i Conti %> <%= form_tag(@target_path, method: :get, remote: true) do %> <%= hidden_field_tag :competenza, @filterdate %> <%= hidden_field_tag :filterhouse_id, house.id %> <%= hidden_field_tag :ui_printmode, @ui_printmode %> <%= hidden_field_tag :ui_compactview, @ui_compactview %> <%= hidden_field_tag :target_path, @target_path %> <% crb_subtotals.each_with_index do |crb_subtotal, index| %> <% crb_subtotals[index][:printed] = false %> <% end %> <% house_crbs_grouped.each do |house_account_id, values| %> <% value = values[0] %> <% crb_subtotals.each_with_index do |crb_subtotal, index| %> <% if (crb_subtotal[:house_account_vieworder_range_end] < value[:the_house_account].view_order) and (crb_subtotals[index][:printed] == false) %> <% crb_subtotals[index][:printed] = true %> <% end %> <% end %> <% if @ui_per_incasso %> <% end %> <% if !@ui_compactview %> <% house_crbs_grouped.each do |house_account_id, values| %> <% house_qec_share = HouseQecShare.where(house_id: house.id, house_account_id: house_account_id).take %> <% if house_qec_share.present? %> <% else %> <% end %> <% end %> <% end %> <% if @ui_per_incasso %> <% end %> <% if !@ui_compactview %> <% house_crbs_grouped.each do |house_account_id, values| %> <% values.each do |value| %> <% end %> <% end %> <% end %> <% if @ui_per_incasso %> <% end %> <% if !@ui_compactview %> <% house_crbs_grouped.each do |house_account_id, values| %> <% values.each do |value| %> <% end %> <% end %> <% end %> <% if @ui_per_incasso %> <% end %> <% house_month_quota = 0.0 %> <% house_month_due = 0.0 %> <% house_month_versato = 0.0 %> <% house_previous_qec_total = 0.0 %> <% membri.each do |membro| %> <% member_month_total = 0.0 %> <% member_month_due = 0.0 %> <% crb_subtotals.each_with_index do |crb_subtotal, index| %> <% crb_subtotals[index][:member_total] = 0.0 %> <% crb_subtotals[index][:printed] = false %> <% end %> <% house_crbs_grouped.each do |house_account_id, values| %> <% values.each do |value| %> <% valuerecord = HouseQecValue.where(house_qec_id: house_qec.id, house_crb_id: value[:the_house_crb].id, person_id: membro.id).take %> <% importo_crb = valuerecord.present? ? valuerecord.importo : 0.0 %> <% member_month_total += importo_crb %> <% crb_subtotals.each_with_index do |crb_subtotal, index| %> <% if value[:the_house_account].view_order.between?(crb_subtotal[:house_account_vieworder_range_start], crb_subtotal[:house_account_vieworder_range_end]) %> <% crb_subtotals[index][:member_total] += importo_crb %> <% crb_subtotals[index][:house_total] += importo_crb %> <% end %> <% if (value[:the_house_account].view_order > crb_subtotal[:house_account_vieworder_range_end]) and (crb_subtotals[index][:printed] == false) %> <% crb_subtotals[index][:printed] = true %> <% end %> <% end %> <% if !@ui_compactview %> <% end %> <% end %> <% end %> <% house_month_quota += member_month_total %> <% member_month_due = member_month_total %> <% if house_qec_previous.present? %> <% member_previous_qec = HouseQec.get_person_previous_nonrecurse(house_qec_previous.id, membro.id) %> <% else %> <% member_previous_qec = 0.0 %> <% end %> <% house_previous_qec_total += member_previous_qec %> <% member_month_due += member_previous_qec %> <% member_versato = HouseQec.get_person_versato_total(house.id,mese_competenza_versato,membro.id) %> <% house_month_versato += member_versato %> <% member_month_due -= member_versato %> <% house_month_due += member_month_due %> <% if @ui_per_incasso %> <% end %> <% end %> <% crb_subtotals.each_with_index do |crb_subtotal, index| %> <% crb_subtotals[index][:printed] = false %> <% end %> <% house_crbs_grouped.each do |house_account_id, values| %> <% values.each do |value| %> <% crb_subtotals.each_with_index do |crb_subtotal, index| %> <% if (crb_subtotal[:house_account_vieworder_range_end] < value[:the_house_account].view_order) and (crb_subtotals[index][:printed] == false) %> <% crb_subtotals[index][:printed] = true %> <% end %> <% end %> <% if !@ui_compactview %> <% end %> <% end %> <% end %> <% if @ui_per_incasso %> <% if house_month_due > 0 %> <% else %> <% end %> <% end %> <% crb_subtotals.each_with_index do |crb_subtotal, index| %> <% crb_subtotals[index][:printed] = false %> <% end %> <% if !@ui_compactview %> <% house_crbs_grouped.each do |house_account_id, values| %> <% values.each do |value| %> <% crb_subtotals.each_with_index do |crb_subtotal, index| %> <% if (value[:the_house_account].view_order > crb_subtotal[:house_account_vieworder_range_end]) and (crb_subtotals[index][:printed] == false) %> <% crb_subtotals[index][:printed] = true %> <% end %> <% end %> <% if !@ui_compactview %> <% tooltip = "Visualizza i corrispondenti movimenti del CRB" %> <% if !(value[:the_house_crb].is_system) %> <% button_params = {filterhouse_id: house.id, filterdate: @filterdate, filterhousecrb_id: value[:the_house_crb].id} %> <%#= view_table_cell_tooltip tooltip, (iconbutton_to(house_adacs_path, icon('receipt'), 'btn-info btn-xs', nil, button_params) + iconbutton_to(house_pns_path, icon('calculator'), 'btn-info btn-xs', nil, button_params) ) %> <%= view_table_cell_tooltip tooltip, (iconbutton_to(house_adacs_path, icon('receipt'), 'btn-info btn-xs', nil, button_params) ) %> <% else %> <% link_info = HouseCrb.get_link_by_crbid(house, mese_competenza_versato, value[:the_house_crb]) %> <% if link_info[:button_path].present? %> <%= view_table_cell_tooltip tooltip, (iconbutton_to(link_info[:button_path], icon('receipt'), 'btn-info btn-xs', nil, link_info[:summary_filter]) ) %> <% else %> <%= view_table_cell(nil) %> <% end %> <% end %> <% end %> <% end %> <% end %> <% if @ui_per_incasso %> <% end %> <% crb_subtotals.each_with_index do |crb_subtotal, index| %> <% crb_subtotals[index][:printed] = false %> <% end %> <% house_crbs_grouped.each do |house_account_id, values| %> <% values.each do |value| %> <% crb_subtotals.each_with_index do |crb_subtotal, index| %> <% if (value[:the_house_account].view_order > crb_subtotal[:house_account_vieworder_range_end]) and (crb_subtotals[index][:printed] == false) %> <% crb_subtotals[index][:printed] = true %> <% end %> <% end %> <% if !@ui_compactview %> <% tooltip = "Visualizza i corrispondenti movimenti del CRB" %> <% if !(value[:the_house_crb].is_system) %> <%= view_table_cell(nil) %> <% else %> <% link_info = HouseCrb.get_link_by_crbid(house, mese_competenza_versato, value[:the_house_crb]) %> <% if link_info[:formula_label].present? %> <%= view_table_cell("" + link_info[:formula_label].gsub(" ", "
") + "
") %> <% else %> <%= view_table_cell(nil) %> <% end %> <% end %> <% end %> <% end %> <% end %> <% if @ui_per_incasso %> <% end %> <% end %>
<%= @ui_compactview ? nil : HouseAccount.label %><%= crb_subtotal[:name] %> <% end %> <% end %> <% if !@ui_compactview %> <%= link_to(HouseAccount.find(house_account_id).descrizione, house_account_path(house_account_id)) %>
<%= @ui_compactview ? nil : "(#{HouseQecShare.label})" %><%= iconlink_to(house_qec_share_path(house_qec_share.id),icon('divide'), nil) %>
<%= @ui_compactview ? nil : HouseCrb.label %><%= link_to(value[:the_house_crb].descrizione.gsub("/","
/").html_safe, house_crb_path(value[:the_house_crb].id)) %>
QUOTA di
<%= daterange_name(@filterdate) %>
Saldo di
<%= daterange_name(daterange_previousmonth(@filterdate)) %>
Versato in
<%= daterange_name(mese_competenza_versato) %>
SALDO di
<%= daterange_name(@filterdate) %>
<%= @ui_compactview ? nil : "(#{HouseCrb.human_attribute_name(:is_system)})" %><%= value[:the_house_crb].is_system ? HouseCrb.human_attribute_name(:is_system)[0,1] : '' %> <% data_incasso = Date.today %> <%= date_input_tag(SrgPnsHelper::DataIncasso_ParamsKey, data_incasso, false,"startDate:'#{Date.today.to_dmy}'" ) %> data incasso
<%= link_to(membro.dh_person_name, person_path(membro.id)) %><%= money_format_zero crb_subtotal[:member_total] %><%= money_format_zero importo_crb %><%= money_format_zero member_month_total %> <%= money_format_zero member_previous_qec %><%= money_format_zero member_versato %><%= money_color_pagamento_zero member_month_due %> <% fund_code = membro.id %> <% if (member_month_due.is_zero?) or (member_month_due < 0) %> <%= number_field_tag(fund_code, money_format(0.0), step: :any, style: 'text-align: right;' ) + iconbutton_submit(icon('euro-sign'), 'btn-success btn-xs', "Incassa", HousePnsHelper::IncassoQuotaPersona, fund_code) %> <% else %> <%= number_field_tag(fund_code, money_format(member_month_due), step: :any, style: 'text-align: right;' ) + iconbutton_submit(icon('euro-sign'), 'btn-success btn-xs', "Incassa", HousePnsHelper::IncassoQuotaPersona, fund_code) %> <% end %> <%= link_to(membro.dh_person_name, person_path(membro.id)) %>
TOTALI:<%= money_format_zero crb_subtotal[:house_total] %><%= money_format_zero value[:totale_crb] %><%= money_format_zero house_month_quota %> <%= money_format_zero house_previous_qec_total %> <%= money_format_zero house_month_versato %> <%= money_color_pagamento house_month_due %><%= money_format_zero house_month_due %>
movimenti: 
legenda CRB automatici rispetto alle emissioni federali: 
<% end %> <% end %>