|
|
|
|
@ -9,25 +9,29 @@ module Csv
|
|
|
|
|
logs_with_missing_town_or_city = @organisation.managed_lettings_logs.imported.filter_by_year(2023).where(needstype: 1, town_or_city: nil, uprn_known: [0, nil]).where.not(old_form_id: nil).where.not(address_line1: nil) |
|
|
|
|
return if logs_with_missing_addresses.empty? && logs_with_missing_town_or_city.empty? |
|
|
|
|
|
|
|
|
|
generate_missing_lettings_addresses_csv(logs_with_missing_addresses + logs_with_missing_town_or_city) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def create_missing_sales_addresses_csv |
|
|
|
|
logs_with_missing_addresses = @organisation.sales_logs.imported.filter_by_year(2023).where(address_line1: nil, town_or_city: nil, uprn_known: [0, nil]).where.not(old_form_id: nil) |
|
|
|
|
logs_with_missing_town_or_city = @organisation.sales_logs.imported.filter_by_year(2023).where(town_or_city: nil, uprn_known: [0, nil]).where.not(old_form_id: nil).where.not(address_line1: nil) |
|
|
|
|
return if logs_with_missing_addresses.empty? && logs_with_missing_town_or_city.empty? |
|
|
|
|
CSV.generate(headers: true) do |csv| |
|
|
|
|
csv << ["Issue type", "Lettings log ID", "Tenancy start date", "Tenant code", "Property code", "Log owner", "Owning organisation name", "Managing organisation name", "Address line 1", "Address line 2", "Town or City", "County", "Postcode", "Local authority"] |
|
|
|
|
|
|
|
|
|
generate_missing_sales_addresses_csv(logs_with_missing_addresses + logs_with_missing_town_or_city) |
|
|
|
|
logs_with_missing_addresses.each do |log| |
|
|
|
|
csv << ["Full address required", |
|
|
|
|
log.id, |
|
|
|
|
log.startdate&.to_date, |
|
|
|
|
log.tenancycode, |
|
|
|
|
log.propcode, |
|
|
|
|
log.created_by&.email, |
|
|
|
|
log.owning_organisation&.name, |
|
|
|
|
log.managing_organisation&.name, |
|
|
|
|
log.address_line1, |
|
|
|
|
log.address_line2, |
|
|
|
|
log.town_or_city, |
|
|
|
|
log.county, |
|
|
|
|
log.postcode_full, |
|
|
|
|
log.la] |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
private |
|
|
|
|
|
|
|
|
|
def generate_missing_lettings_addresses_csv(logs) |
|
|
|
|
CSV.generate(headers: true) do |csv| |
|
|
|
|
csv << ["Lettings log ID", "Tenancy start date", "Tenant code", "Property code", "Log owner", "Owning organisation name", "Managing organisation name", "Address line 1", "Address line 2", "Town or City", "County", "Postcode", "Local authority"] |
|
|
|
|
|
|
|
|
|
logs.each do |log| |
|
|
|
|
csv << [log.id, |
|
|
|
|
logs_with_missing_town_or_city.each do |log| |
|
|
|
|
csv << ["Missing town or city", |
|
|
|
|
log.id, |
|
|
|
|
log.startdate&.to_date, |
|
|
|
|
log.tenancycode, |
|
|
|
|
log.propcode, |
|
|
|
|
@ -44,12 +48,32 @@ module Csv
|
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def generate_missing_sales_addresses_csv(logs) |
|
|
|
|
def create_missing_sales_addresses_csv |
|
|
|
|
logs_with_missing_addresses = @organisation.sales_logs.imported.filter_by_year(2023).where(address_line1: nil, town_or_city: nil, uprn_known: [0, nil]).where.not(old_form_id: nil) |
|
|
|
|
logs_with_missing_town_or_city = @organisation.sales_logs.imported.filter_by_year(2023).where(town_or_city: nil, uprn_known: [0, nil]).where.not(old_form_id: nil).where.not(address_line1: nil) |
|
|
|
|
return if logs_with_missing_addresses.empty? && logs_with_missing_town_or_city.empty? |
|
|
|
|
|
|
|
|
|
CSV.generate(headers: true) do |csv| |
|
|
|
|
csv << ["Sales log ID", "Sale completion date", "Purchaser code", "Log owner", "Owning organisation name", "Address line 1", "Address line 2", "Town or City", "County", "Postcode", "Local authority"] |
|
|
|
|
csv << ["Issue type", "Sales log ID", "Sale completion date", "Purchaser code", "Log owner", "Owning organisation name", "Address line 1", "Address line 2", "Town or City", "County", "Postcode", "Local authority"] |
|
|
|
|
|
|
|
|
|
logs_with_missing_addresses.each do |log| |
|
|
|
|
csv << ["Full address required", |
|
|
|
|
log.id, |
|
|
|
|
log.saledate&.to_date, |
|
|
|
|
log.purchid, |
|
|
|
|
log.created_by&.email, |
|
|
|
|
log.owning_organisation&.name, |
|
|
|
|
log.address_line1, |
|
|
|
|
log.address_line2, |
|
|
|
|
log.town_or_city, |
|
|
|
|
log.county, |
|
|
|
|
log.postcode_full, |
|
|
|
|
log.la] |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
logs.each do |log| |
|
|
|
|
csv << [log.id, |
|
|
|
|
logs_with_missing_town_or_city.each do |log| |
|
|
|
|
csv << ["Missing town or city", |
|
|
|
|
log.id, |
|
|
|
|
log.saledate&.to_date, |
|
|
|
|
log.purchid, |
|
|
|
|
log.created_by&.email, |
|
|
|
|
|