Submit social housing lettings and sales data (CORE)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
950 B

desc "Alter noint values for bulk uploaded sales logs where these have not been set in the service"
task correct_noint_value: :environment do
update_counts = {
in_progress: 0,
completed: 0,
pending: 0,
deleted: 0,
}
affected_uploads = BulkUpload.where(log_type: "sales", noint_fix_status: BulkUpload.noint_fix_statuses[:not_applied])
affected_uploads.each do |upload|
upload.logs.where(noint: 2).each do |log|
noint_at_upload = log.versions.length == 1 ? log.noint : log.versions.first.next.reify.noint
next unless noint_at_upload == 2
Rails.logger.info("Updating noint value on log #{log.id}, owning org #{log.owning_organisation_id}")
update_counts[log.status.to_sym] += 1
log.noint = 1
log.skip_update_status = true
log.save!
end
upload.update!(noint_fix_status: BulkUpload.noint_fix_statuses[:applied])
end
Rails.logger.info("Logs updated; #{update_counts}")
end