|
|
|
@ -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) |
|
|
|
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? |
|
|
|
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) |
|
|
|
CSV.generate(headers: true) do |csv| |
|
|
|
end |
|
|
|
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"] |
|
|
|
|
|
|
|
|
|
|
|
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? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
private |
|
|
|
logs_with_missing_town_or_city.each do |log| |
|
|
|
|
|
|
|
csv << ["Missing town or city", |
|
|
|
def generate_missing_lettings_addresses_csv(logs) |
|
|
|
log.id, |
|
|
|
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, |
|
|
|
|
|
|
|
log.startdate&.to_date, |
|
|
|
log.startdate&.to_date, |
|
|
|
log.tenancycode, |
|
|
|
log.tenancycode, |
|
|
|
log.propcode, |
|
|
|
log.propcode, |
|
|
|
@ -44,12 +48,32 @@ module Csv |
|
|
|
end |
|
|
|
end |
|
|
|
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.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| |
|
|
|
logs_with_missing_town_or_city.each do |log| |
|
|
|
csv << [log.id, |
|
|
|
csv << ["Missing town or city", |
|
|
|
|
|
|
|
log.id, |
|
|
|
log.saledate&.to_date, |
|
|
|
log.saledate&.to_date, |
|
|
|
log.purchid, |
|
|
|
log.purchid, |
|
|
|
log.created_by&.email, |
|
|
|
log.created_by&.email, |
|
|
|
|