RIASSUNTO DA INCASSARE DAI SERVIZI
Aggiornato al <%= Date.today.to_dmy %>






<% services = SrgService.filtered_by_attivo.ordered_by_name %> <% houses = House.filtered_by_attivo.ordered_by_name %> <% if !@fp_nilHouse %> <% houses = houses.where(id: @fp_valueHouse.id) %> <% end %> <% services.each do |service| %> <% end %> <% services_total = services.map {|s| [s.id, 0]}.to_h %> <% currentperiod = daterange_current() %> <% list_of_months = [] %> <% 0.downto(-24) do |m| %> <% value = currentperiod.next_month(m) %> <% list_of_months << value %> <% end %> <% big_total = {} %> <% houses.each do |house| %> <%# srg_salvadanaios = SrgSalvadanaio.where(house_id: house.id).select('competenza, srg_service_id, sum(importo) as importo, sum(incasso) as incasso, sum(prelievo) as prelievo' ).group(:competenza, :srg_service_id).order('competenza DESC') %> <% counter = 0 %> <% house_totals = {} %> <% list_of_months.each do |this_month| %> <% services_data = {} %> <% importi_per_servizio = SrgSalvadanaio.get_importi(competenza: this_month, house_id: house.id).group(:srg_service_id).sum(:importo) %> <% if importi_per_servizio.length <= 0 %> <% next %> <% end %> <% incassi_per_servizio = (SrgSalvadanaio.get_movimenti_incassi(competenza: this_month, house_id: house.id, tipo_movimento: SrgSalvadanaiosHelper::TipoMovimento_Entrate)).group(:srg_service_id).sum(:importo) %> <% conta_servizi_da_incassare = 0 %> <% importi_per_servizio.each do |service_id, importo| %> <% conta_servizi_da_incassare += ((incassi_per_servizio[service_id] || 0) - importo).is_zero? ? 0 : 1 %> <% end %> <% if conta_servizi_da_incassare == 0 %> <% next %> <% end %> <% importi_per_servizio.each do |service_id, importo| %> <% services_data[service_id] = { importo: importo, incassato: (incassi_per_servizio[service_id] || 0) } %> <% item = house_totals[service_id] %> <% house_totals[service_id] = { importo: (item ? item[:importo] : 0) + services_data[service_id][:importo], incassato: (item ? item[:incassato] : 0) + services_data[service_id][:incassato] } %> <% item = big_total[service_id] %> <% big_total[service_id] = { importo: (item ? item[:importo] : 0) + services_data[service_id][:importo], incassato: (item ? item[:incassato] : 0) + services_data[service_id][:incassato] } %> <% end %> <% counter += 1 %> <% if counter == 1 %> <% end %> <% row_total = 0 %> <% services.each do |service| %> <% info = services_data[service.id] %> <% row_total += info[:importo] unless info.nil? %> <% end %> <% row_total = 0 %> <% services.each do |service| %> <% info = services_data[service.id] %> <% row_total += info[:incassato] unless info.nil? %> <% end %> <% row_total = 0 %> <% services.each do |service| %> <% info = services_data[service.id] %> <% row_total += (info[:importo] - info[:incassato]) unless info.nil? %> <% end %> <% end %> <% if counter > 1 %> <% row_total = 0 %> <% services.each do |service| %> <% info = house_totals[service.id] %> <% row_total += info[:importo] unless info.nil? %> <% end %> <% row_total = 0 %> <% services.each do |service| %> <% info = house_totals[service.id] %> <% row_total += info[:incassato] unless info.nil? %> <% end %> <% row_total = 0 %> <% services.each do |service| %> <% info = house_totals[service.id] %> <% row_total += (info[:importo] - info[:incassato]) unless info.nil? %> <% end %> <% end %> <% end %> <% services.each do |service| %> <% end %> <% services_total = services.map {|s| [s.id, 0]}.to_h %> <%# row_total = 0 %> <%# services.each do |service| %> <%# info = big_total[service.id] %> <%# row_total += info[:importo] unless info.nil? %> <%# end %> <%# row_total = 0 %> <%# services.each do |service| %> <%# info = big_total[service.id] %> <%# row_total += info[:incassato] unless info.nil? %> <%# end %> <% row_total = 0 %> <% services.each do |service| %> <% info = big_total[service.id] %> <% importo = !info.nil? ? info[:importo] : 0 %> <% incassato = !info.nil? ? info[:incassato] : 0 %> <% daincassare = importo - incassato %> <%# importo = SrgSalvadanaio.get_importo(srg_service_id: service.id) %> <%# incassi = SrgSalvadanaio.get_cassa_incassi(srg_service_id: service.id, tipo_movimento: SrgSalvadanaiosHelper::TipoMovimento_Entrate) %> <%# daincassare = importo - incassi %> <% row_total += daincassare %> <% end %>
<%= service.cassa %>
Totali
<%= house.descrizione %>
<%= daterange_name(this_month) %> Importo<%= info.nil? ? nil : money_format_zero(info[:importo]) %><%= money_format_zero(row_total) %>
Incassato<%= info.nil? ? nil : money_format_zero(info[:incassato]) %><%= money_format_zero(row_total) %>
Da incassare<%= info.nil? ? nil : money_format_zero(info[:importo] - info[:incassato]) %><%= money_format_zero(row_total) %>
totali: Importo<%= info.nil? ? nil : money_format_zero(info[:importo]) %><%= money_format_zero(row_total) %>
Incassato<%= info.nil? ? nil : money_format_zero(info[:incassato]) %><%= money_format_zero(row_total) %>
Da incassare<%= info.nil? ? nil : money_format_zero(info[:importo] - info[:incassato]) %><%= money_format_zero(row_total) %>
 
 
 
 
 
 
 
<%= service.cassa %>
Totali
TOTALI: Da incassare<%= money_format_zero(daincassare) %><%= money_format_zero(row_total) %>