Browse Source

CLDC-4204: Update log to csv for 2026

pull/3223/head
samyou-softwire 3 weeks ago
parent
commit
c158ae80ea
  1. 76
      app/helpers/bulk_upload/sales_log_to_csv.rb
  2. 2
      spec/services/bulk_upload/sales/validator_spec.rb

76
app/helpers/bulk_upload/sales_log_to_csv.rb

@ -533,7 +533,6 @@ class BulkUpload::SalesLogToCsv
end end
def to_2026_row def to_2026_row
# TODO: CLDC-4162: Implement when 2026 template is available
[ [
log.saledate&.day, log.saledate&.day,
log.saledate&.month, log.saledate&.month,
@ -552,53 +551,66 @@ class BulkUpload::SalesLogToCsv
log.privacynotice, log.privacynotice,
log.uprn, log.uprn,
log.address_line1&.tr(",", " "), # 20 log.address_line1&.tr(",", " "),
log.address_line2&.tr(",", " "), log.address_line2&.tr(",", " "),
log.town_or_city&.tr(",", " "), log.town_or_city&.tr(",", " "),
log.county&.tr(",", " "), log.county&.tr(",", " "), # 20
((log.postcode_full || "").split(" ") || [""]).first, ((log.postcode_full || "").split(" ") || [""]).first,
((log.postcode_full || "").split(" ") || [""]).last, ((log.postcode_full || "").split(" ") || [""]).last,
log.la, log.la,
log.proptype, log.proptype,
log.buildheightclass,
log.beds, log.beds,
log.builtype, log.builtype,
log.wchair, log.wchair,
log.age1, log.age1,
log.sexrab1, log.sexrab1, # 30
log.ethnic, # 30 log.gender_same_as_sex1,
log.gender_description1,
log.ethnic,
log.nationality_all_group, log.nationality_all_group,
log.ecstat1, log.ecstat1,
log.buy1livein, log.buy1livein,
{ "P" => 1, "X" => 2, "R" => 3 }[log.relat2], { "P" => 1, "X" => 2, "R" => 3 }[log.relat2],
log.age2, log.age2,
log.sexrab2, log.sexrab2,
log.gender_same_as_sex2, # 40
log.gender_description2,
log.ethnic_group2, log.ethnic_group2,
log.nationality_all_buyer2_group, log.nationality_all_buyer2_group,
log.ecstat2, log.ecstat2,
log.buy2livein, # 40 log.buy2livein,
log.hholdcount, log.hholdcount,
{ "P" => 1, "X" => 2, "R" => 3 }[log.relat3], { "P" => 1, "X" => 2, "R" => 3 }[log.relat3],
log.age3, log.age3,
log.sexrab3, log.sexrab3,
log.gender_same_as_sex3, # 50
log.gender_description3,
log.ecstat3, log.ecstat3,
{ "P" => 1, "X" => 2, "R" => 3 }[log.relat4], { "P" => 1, "X" => 2, "R" => 3 }[log.relat4],
log.age4, log.age4,
log.sexrab4, log.sexrab4,
log.gender_same_as_sex4,
log.gender_description4,
log.ecstat4, log.ecstat4,
{ "P" => 1, "X" => 2, "R" => 3 }[log.relat5], # 50 { "P" => 1, "X" => 2, "R" => 3 }[log.relat5],
log.age5, log.age5, # 60
log.sexrab5, log.sexrab5,
log.gender_same_as_sex5,
log.gender_description5,
log.ecstat5, log.ecstat5,
{ "P" => 1, "X" => 2, "R" => 3 }[log.relat6], { "P" => 1, "X" => 2, "R" => 3 }[log.relat6],
log.age6, log.age6,
log.sexrab6, log.sexrab6,
log.ecstat6, log.gender_same_as_sex6,
log.gender_description6,
log.ecstat6, # 70
log.prevten, log.prevten,
log.ppcodenk, log.ppcodenk,
((log.ppostcode_full || "").split(" ") || [""]).first, # 60 ((log.ppostcode_full || "").split(" ") || [""]).first,
((log.ppostcode_full || "").split(" ") || [""]).last, ((log.ppostcode_full || "").split(" ") || [""]).last,
log.prevloc, log.prevloc,
log.buy2living, log.buy2living,
@ -606,32 +618,32 @@ class BulkUpload::SalesLogToCsv
log.hhregres, log.hhregres,
log.hhregresstill, log.hhregresstill,
log.armedforcesspouse, log.armedforcesspouse, # 80
log.disabled, log.disabled,
log.wheel, log.wheel,
log.income1, # 70 log.income1,
log.inc1mort, log.inc1mort,
log.income2, log.income2,
log.inc2mort, log.inc2mort,
log.hb, log.hb,
log.savings.present? || "R", log.savings.present? || "R",
log.prevown, log.prevown,
log.prevshared, log.prevshared, # 90
log.resale, log.resale,
log.proplen, log.proplen,
log.hodate&.day, # 80 log.hodate&.day,
log.hodate&.month, log.hodate&.month,
log.hodate&.strftime("%y"), log.hodate&.strftime("%y"),
log.frombeds, log.frombeds,
log.fromprop, log.fromprop,
log.socprevten, log.socprevten,
log.value, log.value,
log.equity, log.equity, # 100
log.mortgageused, log.mortgageused,
log.mortgage, log.mortgage,
log.mortlen, # 90 log.mortlen,
log.deposit, log.deposit,
log.cashdis, log.cashdis,
log.mrent, log.mrent,
@ -639,48 +651,34 @@ class BulkUpload::SalesLogToCsv
log.management_fee, log.management_fee,
log.stairbought, log.stairbought,
log.stairowned, log.stairowned, # 110
log.staircasesale, log.staircasesale,
log.firststair, log.firststair,
log.initialpurchase&.day, # 100 log.initialpurchase&.day,
log.initialpurchase&.month, log.initialpurchase&.month,
log.initialpurchase&.strftime("%y"), log.initialpurchase&.strftime("%y"),
log.numstair, log.numstair,
log.lasttransaction&.day, log.lasttransaction&.day,
log.lasttransaction&.month, log.lasttransaction&.month,
log.lasttransaction&.strftime("%y"), log.lasttransaction&.strftime("%y"),
log.value, log.value, # 120
log.equity, log.equity,
log.mortgageused, log.mortgageused,
log.mrentprestaircasing, # 110 log.mrentprestaircasing,
log.mrent, log.mrent,
log.hasservicechargeschanged,
log.newservicecharges,
log.proplen, log.proplen,
log.value, log.value,
log.grant, log.grant,
log.discount, log.discount, # 130
log.mortgageused, log.mortgageused,
log.mortgage, log.mortgage,
log.mortlen, log.mortlen,
log.extrabor, log.extrabor,
log.deposit, # 120 log.deposit,
log.mscharge, # 136
log.mscharge,
log.buildheightclass,
log.gender_same_as_sex1,
log.gender_description1,
log.gender_same_as_sex2,
log.gender_description2,
log.gender_same_as_sex3,
log.gender_description3,
log.gender_same_as_sex4,
log.gender_description4, # 130
log.gender_same_as_sex5,
log.gender_description5,
log.gender_same_as_sex6,
log.gender_description6,
log.hasservicechargeschanged,
log.newservicecharges, # 136
] ]
end end

2
spec/services/bulk_upload/sales/validator_spec.rb

@ -127,7 +127,7 @@ RSpec.describe BulkUpload::Sales::Validator do
before do before do
log.owning_organisation = nil log.owning_organisation = nil
log.saledate = date log.saledate = date
file.write(log_to_csv.default_field_numbers_row) file.write(log_to_csv.default_field_numbers_row_for_year(year))
file.write(log_to_csv.to_csv_row) file.write(log_to_csv.to_csv_row)
file.rewind file.rewind
end end

Loading…
Cancel
Save