% reference_year = (@filter_params[:filteryear] || Date.today.year).to_i %>
<% organization = OrganizationsHelper::AssociazioneATENA %>
<% soci = Membership.all.where(organization_id: organization.id).registered_on_year(reference_year).ordered_by_person_anagrafica %>
<% soci_ids = soci.pluck(:person_id) %>
<% quanti = 0 %>
<% soci_senza_tessera = [] %>
<%= "PROSPETTO #{reference_year} Quote soci ATENĂ€ ASS" %>
Soci che hanno versato contribuzioni per l'anno <%= reference_year %>:
<% soci_con_emissioni = SrgQec.joins("LEFT JOIN people on srg_qecs.person_id = people.id").select(:person_id).where('YEAR(competenza) = ?', reference_year).order('people.nome', 'people.cognome').group(:person_id).having('SUM(atenaq) > 0') %>
<%# soci_con_emissioni = SrgQec.joins("LEFT JOIN memberships on srg_qecs.person_id = memberships.person_id").joins("LEFT JOIN people on srg_qecs.person_id = people.id").select(:person_id).where('YEAR(competenza) = ?', reference_year).where('memberships.organization_id = ?',OrganizationsHelper::AssociazioneATENA.id).order('people.nome', 'people.cognome').group(:person_id, 'memberships.tessera').having('SUM(milq) > 0') %>
<%# memberships = Membership.registered_on_year(reference_year, OrganizationsHelper::AssociazioneMIL.id) %>
<%# memberships = Membership.all.where(organization_id: OrganizationsHelper::AssociazioneMIL.id).still_active_at(Date.today.year).ordered_by_tessera %>
<% dates = (1..12).map{|month| DateTime.new(reference_year, month, 1) } %>
<% months = I18n.t("date.month_names").drop(1) %>
<% totals = Hash[(1..12).map{ |month| [DateTime.new(reference_year, month, 1), 0] } ] %>
<% big_total = 0.0 %>
socio |
<% months.each do |month| %>
<%= month %> |
<% end %>
TOTALE annuale socio |
<% if soci_con_emissioni %>
<% soci_con_emissioni.each do |socio_con_emissioni| %>
<% person = Person.find(socio_con_emissioni.person_id) %>
<% soci_ids.delete(person.id) %>
<% membership = Membership.where(organization_id: organization.id, person_id: person.id).registered_on_year(reference_year).first %>
<% quanti += 1 %>
<% if membership.present? %>
<%= "#{person.anagrafe_person_name}, tessera #{membership.tessera}" %> |
<% else %>
<%= "#{person.anagrafe_person_name}" %> |
<% soci_senza_tessera << person %>
<% end %>
<% member_total = 0.0 %>
<% dates.each do |date| %>
<% emesso = SrgQec.where(competenza: date, person_id: person.id).select(:atenaq).take %>
<% if emesso.present? %>
<% mensile = emesso.atenaq %>
<% else %>
<% mensile = 0.0 %>
<% end %>
<% totals[date] += mensile %>
<% member_total += mensile %>
<%= money_format_zero(mensile) %> |
<% end %>
<%= money_format_zero(member_total) %> |
<% big_total += member_total %>
<% end %>
<% end %>
Totale <%= quanti %> soci: |
<% dates.each do |date| %>
<%= money_format_zero(totals[date]) %> |
<% end %>
<%= money_format_zero(big_total) %> |
Soci che hanno versato contribuzioni ma risultano non iscritti per l'anno <%= reference_year %>:
<% if soci_senza_tessera.length > 0 %>
<% soci_senza_tessera.each do |person| %>
<%= person.anagrafe_person_name %>
<% end %>
<% else %>
nessuno
<% end %>
Soci che non hanno versato contribuzioni ma risultano iscritti per l'anno <%= reference_year %>:
<% if soci_ids.size > 0 %>
<% soci_ids.each do |socio_id| %>
<% person = Person.find(socio_id) %>
<%= person.anagrafe_person_name %>
<% end %>
<% else %>
nessuno
<% end %>