Browse Source

Add service charge fields and conditionally show service charge or mscharge in 2025 CSV

pull/3021/head
Manny Dinssa 1 month ago
parent
commit
74c26e11c4
  1. 24
      app/models/sales_log.rb
  2. 21
      app/services/csv/sales_log_csv_service.rb
  3. 2
      spec/fixtures/files/sales_logs_csv_export_codes_25.csv
  4. 2
      spec/fixtures/files/sales_logs_csv_export_labels_25.csv
  5. 4
      spec/fixtures/files/sales_logs_csv_export_non_support_labels_25.csv

24
app/models/sales_log.rb

@ -542,4 +542,28 @@ class SalesLog < Log
def log_type
"sales_log"
end
def has_servicecharge
has_mscharge if shared_ownership_scheme?
end
def has_servicecharge_label
form.get_question(:has_mscharge, self)&.label_from_value(has_mscharge) if shared_ownership_scheme?
end
def servicecharge
mscharge if shared_ownership_scheme?
end
def has_mscharge_value
has_mscharge if discounted_ownership_sale? || !form.start_year_2025_or_later?
end
def has_mscharge_label
form.get_question(:has_mscharge, self)&.label_from_value(has_mscharge) if discounted_ownership_sale? || !form.start_year_2025_or_later?
end
def mscharge_value
mscharge if discounted_ownership_sale? || !form.start_year_2025_or_later?
end
end

21
app/services/csv/sales_log_csv_service.rb

@ -92,13 +92,21 @@ module Csv
labels: %i[initialpurchase year],
codes: %i[initialpurchase year],
},
hasservicecharges: { # WILL REPLACE WITH NEW FIELD
labels: %i[has_mscharge], # returns as the number not label
codes: %i[has_mscharge],
has_servicecharges: { # WILL REPLACE WITH NEW FIELD
labels: %i[has_servicecharge_label], # returns as the number not label
codes: %i[has_servicecharge],
},
servicecharges: { # WILL REPLACE WITH NEW FIELD
labels: %i[mscharge],
codes: %i[mscharge],
labels: %i[servicecharge],
codes: %i[servicecharge],
},
has_mscharge: {
labels: %i[has_mscharge_label],
codes: %i[has_mscharge_value],
},
mscharge: {
labels: %i[mscharge_value],
codes: %i[mscharge_value],
},
}.freeze
@ -194,6 +202,7 @@ module Csv
"updated_by_id" => "AMENDEDBYID",
"has_management_fee" => "HASESTATEFEE",
"management_fee" => "ESTATEFEE",
"has_servicecharges" => "HASSERVICECHARGES",
}.freeze
UPRN_CONFIRMED_LABELS = {
@ -229,7 +238,7 @@ module Csv
"updated_by_id" => %w[updated_by updated_by_id],
"bulk_upload_id" => %w[bulk_upload_id collection_start_year],
"prevten" => %w[hhtype prevten],
"mrent" => %w[mrent hasservicecharges servicecharges has_management_fee management_fee],
"mrent" => %w[mrent has_servicecharges servicecharges has_management_fee management_fee],
"lasttransaction" => %w[stairlastday stairlastmonth stairlastyear],
"initialpurchase" => %w[stairinitialday stairinitialmonth stairinitialyear],
"mrentprestaircasing" => %w[mrentprestaircasing grant discount extrabor has_mscharge mscharge mscharge_value_check],

2
spec/fixtures/files/sales_logs_csv_export_codes_25.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/sales_logs_csv_export_labels_25.csv vendored

File diff suppressed because one or more lines are too long

4
spec/fixtures/files/sales_logs_csv_export_non_support_labels_25.csv vendored

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save