|
|
|
namespace :core do
|
|
|
|
desc "Export data XMLs for import into Central Data System (CDS)"
|
|
|
|
task :data_export, %i[format full_update] => :environment do |_task, args|
|
|
|
|
format = args[:format]
|
|
|
|
full_update = args[:full_update].present? && args[:full_update] == "true"
|
|
|
|
|
|
|
|
storage_service = Storage::S3Service.new(Configuration::PaasConfigurationService.new, ENV["EXPORT_PAAS_INSTANCE"])
|
|
|
|
export_service = Exports::LettingsLogExportService.new(storage_service)
|
|
|
|
|
|
|
|
if format.present? && format == "CSV"
|
|
|
|
export_service.export_csv_lettings_logs
|
|
|
|
else
|
|
|
|
export_service.export_xml_lettings_logs(full_update:)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
namespace :illness_type_0 do
|
|
|
|
desc "Export log data where illness_type_0 == 1"
|
|
|
|
task export: :environment do |_task|
|
|
|
|
logs = LettingsLog.where(illness_type_0: 1, status: "completed").includes(created_by: :organisation)
|
|
|
|
puts "log_id,created_by_id,organisation_id,organisation_name,startdate"
|
|
|
|
|
|
|
|
logs.each do |log|
|
|
|
|
puts [
|
|
|
|
log.id,
|
|
|
|
log.created_by_id,
|
|
|
|
log.created_by.organisation.id,
|
|
|
|
log.created_by.organisation.name,
|
|
|
|
log.startdate&.strftime("%d/%m/%Y"),
|
|
|
|
].join(",")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|