Browse Source

Update sales export fields

CLDC-3788-export-sales-logs
Kat 2 weeks ago
parent
commit
faa2b78984
  1. 169
      app/services/exports/sales_log_export_constants.rb
  2. 75
      app/services/exports/sales_log_export_service.rb
  3. 174
      spec/fixtures/exports/sales_log.xml
  4. 174
      spec/fixtures/exports/sales_log_2024.xml
  5. 4
      spec/services/exports/sales_log_export_service_spec.rb

169
app/services/exports/sales_log_export_constants.rb

@ -9,181 +9,130 @@ module Exports::SalesLogExportConstants
EXPORT_FIELDS = Set["id", EXPORT_FIELDS = Set["id",
"status", "status",
"saledate", "day",
"created_at", "month",
"updated_at", "year",
"owning_organisation_id", "duplicate_set_id",
"assigned_to_id", "createddate",
"uploaddate",
"owningorgid",
"owningorgname",
"maningorgid",
"maningorgname",
"username",
"usernameid",
"purchid", "purchid",
"type", "type",
"ownershipsch", "ownership",
"othtype", "collectionyear",
"jointmore", "jointmore",
"jointpur", "joint",
"beds", "beds",
"companybuy",
"ethnic", "ethnic",
"ethnic_group", "ethnicgroup1",
"buy1livein", "liveinbuyer1",
"buylivein",
"builtype", "builtype",
"proptype", "proptype",
"noint", "noint",
"buy2livein", "liveinbuyer2",
"privacynotice", "privacynotice",
"wheel", "wheel",
"hholdcount", "hholdcount",
"la", "la",
"la_known",
"income1", "income1",
"income1nk", "inc1nk",
"details_known_2",
"details_known_3",
"details_known_4",
"inc1mort", "inc1mort",
"income2", "income2",
"income2nk", "inc2nk",
"savingsnk", "savingsnk",
"savings", "savings",
"prevown", "prevown",
"updated_by_id", "amendedby",
"income1_value_check", "amendedbyid",
"mortgage", "mortgage",
"inc2mort", "inc2mort",
"mortgage_value_check",
"hb", "hb",
"savings_value_check",
"deposit_value_check",
"frombeds", "frombeds",
"staircase", "staircase",
"stairbought", "stairbought",
"stairowned", "stairowned",
"mrent", "mrent",
"exdate",
"exday",
"exmonth",
"exyear",
"resale", "resale",
"deposit", "deposit",
"cashdis", "cashdis",
"disabled", "disabled",
"lanomagr",
"wheel_value_check",
"soctenant",
"value", "value",
"equity", "equity",
"discount", "discount",
"grant", "grant",
"pregyrha",
"pregla",
"pregghb",
"pregother",
"ppostcode_full",
"is_previous_la_inferred",
"ppcodenk", "ppcodenk",
"ppostc1", "ppostc1",
"ppostc2", "ppostc2",
"prevloc", "prevloc",
"previous_la_known", "prevlocname",
"previouslaknown",
"hhregres", "hhregres",
"hhregresstill", "hhregresstill",
"proplen", "proplen",
"has_mscharge", "hasmscharge",
"mscharge", "mscharge",
"prevten", "prevten",
"mortgageused", "mortgageused",
"wchair", "wchair",
"income2_value_check",
"armedforcesspouse", "armedforcesspouse",
"hodate",
"hoday", "hoday",
"homonth", "homonth",
"hoyear", "hoyear",
"fromprop", "fromprop",
"socprevten", "socprevten",
"mortgagelender", "mortlen1",
"mortgagelenderother",
"mortlen",
"extrabor", "extrabor",
"hhmemb",
"totadult",
"totchild",
"hhtype", "hhtype",
"pcode1", "postcode",
"pcode2", "islainferred",
"pcodenk", "bulkuploadid",
"postcode_full",
"is_la_inferred",
"bulk_upload_id",
"retirement_value_check",
"hodate_check",
"extrabor_value_check",
"deposit_and_mortgage_value_check",
"shared_ownership_deposit_value_check",
"grant_value_check",
"value_value_check", "value_value_check",
"old_persons_shared_ownership_value_check",
"staircase_bought_value_check",
"monthly_charges_value_check",
"details_known_5",
"details_known_6",
"saledate_check",
"prevshared", "prevshared",
"staircasesale", "staircasesale",
"ethnic_group2", "ethnicgroup2",
"ethnicbuy2", "ethnic2",
"proplen_asked",
"old_id",
"buy2living", "buy2living",
"prevtenbuy2", "prevten2",
"pregblank",
"uprn", "uprn",
"uprn_known", "address1",
"uprn_confirmed", "address2",
"address_line1", "towncity",
"address_line2",
"town_or_city",
"county", "county",
"nationalbuy2", "laname",
"discounted_sale_value_check", "creationmethod",
"student_not_child_value_check", "nationalityall1",
"percentage_discount_value_check", "nationalityall2",
"combined_income_value_check", "mscharge_value_check",
"buyer_livein_value_check", "address1input",
"discarded_at", "postcodeinput",
"stairowned_value_check",
"creation_method",
"old_form_id",
"managing_organisation_id",
"duplicate_set_id",
"nationality_all",
"nationality_all_group",
"nationality_all_buyer2",
"nationality_all_buyer2_group",
"address_line1_input",
"postcode_full_input",
"address_search_value_check", "address_search_value_check",
"uprn_selection", "uprnselected",
"address_line1_as_entered", "bulkaddress1",
"address_line2_as_entered", "bulkaddress2",
"town_or_city_as_entered", "bulktowncity",
"county_as_entered", "bulkcounty",
"postcode_full_as_entered", "bulkpostcode",
"la_as_entered", "bulkla",
"partner_under_16_value_check", "createdby",
"multiple_partners_value_check", "createdbyid",
"created_by_id", "has_estate_fee",
"has_management_fee", "estate_fee",
"management_fee",
"firststair", "firststair",
"numstair", "numstair",
"mrentprestaircasing", "stairlastday",
"lasttransaction", "stairlastmonth",
"initialpurchase"] "stairlastyear",
"stairinitialyear",
"stairinitialmonth",
"stairinitialday"]
(1..6).each do |index| (1..6).each do |index|
EXPORT_FIELDS << "age#{index}" EXPORT_FIELDS << "age#{index}"
EXPORT_FIELDS << "age#{index}_known"
EXPORT_FIELDS << "ecstat#{index}" EXPORT_FIELDS << "ecstat#{index}"
EXPORT_FIELDS << "sex#{index}" EXPORT_FIELDS << "sex#{index}"
end end

75
app/services/exports/sales_log_export_service.rb

@ -41,7 +41,80 @@ module Exports
end end
def apply_cds_transformation(sales_log, _export_mode) def apply_cds_transformation(sales_log, _export_mode)
sales_log.attributes_before_type_cast attribute_hash = sales_log.attributes_before_type_cast
attribute_hash["day"] = sales_log.saledate&.day
attribute_hash["month"] = sales_log.saledate&.month
attribute_hash["year"] = sales_log.saledate&.year
attribute_hash["createddate"] = sales_log.created_at&.iso8601
attribute_hash["createdby"] = sales_log.created_by&.email
attribute_hash["createdbyid"] = sales_log.created_by_id
attribute_hash["username"] = sales_log.assigned_to&.email
attribute_hash["usernameid"] = sales_log.assigned_to_id
attribute_hash["uploaddate"] = sales_log.updated_at&.iso8601
attribute_hash["amendedby"] = sales_log.updated_by&.email
attribute_hash["amendedbyid"] = sales_log.updated_by_id
attribute_hash["owningorgid"] = sales_log.owning_organisation&.id
attribute_hash["owningorgname"] = sales_log.owning_organisation&.name
attribute_hash["maningorgid"] = sales_log.managing_organisation&.id
attribute_hash["maningorgname"] = sales_log.managing_organisation&.name
attribute_hash["creationmethod"] = sales_log.creation_method_before_type_cast
attribute_hash["bulkuploadid"] = sales_log.bulk_upload_id
attribute_hash["collectionyear"] = sales_log.form.start_date.year
attribute_hash["ownership"] = sales_log.ownershipsch
attribute_hash["joint"] = sales_log.jointpur
attribute_hash["ethnicgroup1"] = sales_log.ethnic_group
attribute_hash["ethnicgroup2"] = sales_log.ethnic_group2
attribute_hash["previouslaknown"] = sales_log.previous_la_known
attribute_hash["hasmscharge"] = sales_log.has_mscharge
attribute_hash["hoday"] = sales_log.hodate&.day
attribute_hash["homonth"] = sales_log.hodate&.month
attribute_hash["hoyear"] = sales_log.hodate&.year
attribute_hash["inc1nk"] = sales_log.income1nk
attribute_hash["inc2nk"] = sales_log.income2nk
attribute_hash["postcode"] = sales_log.postcode_full
attribute_hash["islainferred"] = sales_log.is_la_inferred
attribute_hash["mortlen1"] = sales_log.mortlen
attribute_hash["ethnic2"] = sales_log.ethnicbuy2
attribute_hash["prevten2"] = sales_log.prevtenbuy2
attribute_hash["address1"] = sales_log.address_line1
attribute_hash["address2"] = sales_log.address_line2
attribute_hash["towncity"] = sales_log.town_or_city
attribute_hash["laname"] = LocalAuthority.find_by(code: sales_log.la)&.name
attribute_hash["address1input"] = sales_log.address_line1_input
attribute_hash["postcodeinput"] = sales_log.postcode_full_input
attribute_hash["uprnselected"] = sales_log.uprn_selection
attribute_hash["bulkaddress1"] = sales_log.address_line1_as_entered
attribute_hash["bulkaddress2"] = sales_log.address_line2_as_entered
attribute_hash["bulktowncity"] = sales_log.town_or_city_as_entered
attribute_hash["bulkcounty"] = sales_log.county_as_entered
attribute_hash["bulkpostcode"] = sales_log.postcode_full_as_entered
attribute_hash["bulkla"] = sales_log.la_as_entered
attribute_hash["nationalityall1"] = sales_log.nationality_all
attribute_hash["nationalityall2"] = sales_log.nationality_all_buyer2
attribute_hash["prevlocname"] = LocalAuthority.find_by(code: sales_log.prevloc)&.name
attribute_hash["liveinbuyer1"] = sales_log.buy1livein
attribute_hash["liveinbuyer2"] = sales_log.buy2livein
attribute_hash["has_estate_fee"] = sales_log.has_management_fee
attribute_hash["estate_fee"] = sales_log.management_fee
attribute_hash["stairlastday"] = sales_log.lasttransaction&.day
attribute_hash["stairlastmonth"] = sales_log.lasttransaction&.month
attribute_hash["stairlastyear"] = sales_log.lasttransaction&.year
attribute_hash["stairinitialday"] = sales_log.initialpurchase&.day
attribute_hash["stairinitialmonth"] = sales_log.initialpurchase&.month
attribute_hash["stairinitialyear"] = sales_log.initialpurchase&.year
attribute_hash["mscharge_value_check"] = sales_log.monthly_charges_value_check
attribute_hash
end end
def is_omitted_field?(field_name, _sales_log) def is_omitted_field?(field_name, _sales_log)

174
spec/fixtures/exports/sales_log.xml vendored

@ -3,66 +3,38 @@
<form> <form>
<id>{id}</id> <id>{id}</id>
<status>1</status> <status>1</status>
<saledate>2026-03-01 00:00:00 UTC</saledate>
<created_at>2026-03-01 00:00:00 UTC</created_at>
<updated_at>2026-03-01 00:00:00 UTC</updated_at>
<owning_organisation_id>{owning_org_id}</owning_organisation_id>
<assigned_to_id>{assigned_to_id}</assigned_to_id>
<purchid>123</purchid> <purchid>123</purchid>
<type>8</type> <type>8</type>
<ownershipsch>2</ownershipsch>
<othtype/>
<jointmore>1</jointmore> <jointmore>1</jointmore>
<jointpur>1</jointpur>
<beds>2</beds> <beds>2</beds>
<companybuy/>
<age1>27</age1> <age1>27</age1>
<age1_known>0</age1_known>
<sex1>F</sex1> <sex1>F</sex1>
<ethnic>17</ethnic> <ethnic>17</ethnic>
<ethnic_group>17</ethnic_group>
<buy1livein>1</buy1livein>
<buylivein/>
<builtype>1</builtype> <builtype>1</builtype>
<proptype>1</proptype> <proptype>1</proptype>
<age2>33</age2> <age2>33</age2>
<age2_known>0</age2_known>
<relat2>P</relat2> <relat2>P</relat2>
<sex2>X</sex2> <sex2>X</sex2>
<noint>2</noint> <noint>2</noint>
<buy2livein>1</buy2livein>
<ecstat2>1</ecstat2> <ecstat2>1</ecstat2>
<privacynotice>1</privacynotice> <privacynotice>1</privacynotice>
<ecstat1>1</ecstat1> <ecstat1>1</ecstat1>
<wheel>1</wheel> <wheel>1</wheel>
<hholdcount>4</hholdcount> <hholdcount>4</hholdcount>
<age3>14</age3> <age3>14</age3>
<age3_known>0</age3_known>
<la>E09000033</la> <la>E09000033</la>
<la_known>1</la_known>
<income1>10000</income1> <income1>10000</income1>
<income1nk>0</income1nk>
<details_known_2/>
<details_known_3>1</details_known_3>
<details_known_4>1</details_known_4>
<age4>18</age4> <age4>18</age4>
<age4_known>0</age4_known>
<age5>40</age5> <age5>40</age5>
<age5_known>0</age5_known>
<age6>40</age6> <age6>40</age6>
<age6_known>0</age6_known>
<inc1mort>1</inc1mort> <inc1mort>1</inc1mort>
<income2>10000</income2> <income2>10000</income2>
<income2nk>0</income2nk>
<savingsnk>1</savingsnk> <savingsnk>1</savingsnk>
<savings/> <savings/>
<prevown>1</prevown> <prevown>1</prevown>
<sex3>F</sex3> <sex3>F</sex3>
<updated_by_id/>
<income1_value_check/>
<mortgage>20000.0</mortgage> <mortgage>20000.0</mortgage>
<inc2mort>1</inc2mort> <inc2mort>1</inc2mort>
<mortgage_value_check/>
<ecstat3>9</ecstat3> <ecstat3>9</ecstat3>
<ecstat4>3</ecstat4> <ecstat4>3</ecstat4>
<ecstat5>2</ecstat5> <ecstat5>2</ecstat5>
@ -75,133 +47,107 @@
<sex4>X</sex4> <sex4>X</sex4>
<sex5>M</sex5> <sex5>M</sex5>
<sex6>X</sex6> <sex6>X</sex6>
<savings_value_check/>
<deposit_value_check/>
<frombeds/> <frombeds/>
<staircase/> <staircase/>
<stairbought/> <stairbought/>
<stairowned/> <stairowned/>
<mrent/> <mrent/>
<exdate/>
<exday/>
<exmonth/>
<exyear/>
<resale/> <resale/>
<deposit>80000.0</deposit> <deposit>80000.0</deposit>
<cashdis/> <cashdis/>
<disabled>1</disabled> <disabled>1</disabled>
<lanomagr/>
<wheel_value_check/>
<soctenant/>
<value>110000.0</value> <value>110000.0</value>
<equity/> <equity/>
<discount/> <discount/>
<grant>10000.0</grant> <grant>10000.0</grant>
<pregyrha>1</pregyrha>
<pregla>1</pregla>
<pregghb>1</pregghb>
<pregother>1</pregother>
<ppostcode_full>SW1A 1AA</ppostcode_full>
<is_previous_la_inferred>true</is_previous_la_inferred>
<ppcodenk>0</ppcodenk> <ppcodenk>0</ppcodenk>
<ppostc1>SW1A</ppostc1> <ppostc1>SW1A</ppostc1>
<ppostc2>1AA</ppostc2> <ppostc2>1AA</ppostc2>
<prevloc>E09000033</prevloc> <prevloc>E09000033</prevloc>
<previous_la_known>1</previous_la_known>
<hhregres>7</hhregres> <hhregres>7</hhregres>
<hhregresstill/> <hhregresstill/>
<proplen/> <proplen/>
<has_mscharge>1</has_mscharge>
<mscharge>100.0</mscharge> <mscharge>100.0</mscharge>
<prevten>1</prevten> <prevten>1</prevten>
<mortgageused>1</mortgageused> <mortgageused>1</mortgageused>
<wchair>1</wchair> <wchair>1</wchair>
<income2_value_check/>
<armedforcesspouse>5</armedforcesspouse> <armedforcesspouse>5</armedforcesspouse>
<hodate/>
<hoday/> <hoday/>
<homonth/> <homonth/>
<hoyear/> <hoyear/>
<fromprop/> <fromprop/>
<socprevten/> <socprevten/>
<mortgagelender>5</mortgagelender>
<mortgagelenderother/>
<mortlen>10</mortlen>
<extrabor>1</extrabor> <extrabor>1</extrabor>
<hhmemb>6</hhmemb>
<totadult>5</totadult>
<totchild>1</totchild>
<hhtype>6</hhtype> <hhtype>6</hhtype>
<pcode1>SW1A</pcode1>
<pcode2>1AA</pcode2>
<pcodenk>0</pcodenk>
<postcode_full>AA1 1AA</postcode_full>
<is_la_inferred>true</is_la_inferred>
<bulk_upload_id/>
<retirement_value_check/>
<hodate_check/>
<extrabor_value_check/>
<deposit_and_mortgage_value_check/>
<shared_ownership_deposit_value_check/>
<grant_value_check/>
<value_value_check/> <value_value_check/>
<old_persons_shared_ownership_value_check/>
<staircase_bought_value_check/>
<monthly_charges_value_check/>
<details_known_5>1</details_known_5>
<details_known_6>1</details_known_6>
<saledate_check/>
<prevshared>2</prevshared> <prevshared>2</prevshared>
<staircasesale/> <staircasesale/>
<ethnic_group2>17</ethnic_group2>
<ethnicbuy2/>
<proplen_asked/>
<old_id/>
<buy2living>3</buy2living> <buy2living>3</buy2living>
<prevtenbuy2/>
<pregblank/>
<uprn>1</uprn> <uprn>1</uprn>
<uprn_known>1</uprn_known>
<uprn_confirmed>1</uprn_confirmed>
<address_line1>1, Test Street</address_line1>
<address_line2/>
<town_or_city>Test Town</town_or_city>
<county/> <county/>
<nationalbuy2>13</nationalbuy2>
<discounted_sale_value_check/>
<student_not_child_value_check/>
<percentage_discount_value_check/>
<combined_income_value_check/>
<buyer_livein_value_check/>
<discarded_at/>
<stairowned_value_check/>
<creation_method>1</creation_method>
<old_form_id/>
<managing_organisation_id>{managing_org_id}</managing_organisation_id>
<duplicate_set_id/> <duplicate_set_id/>
<nationality_all>826</nationality_all>
<nationality_all_group>826</nationality_all_group>
<nationality_all_buyer2>826</nationality_all_buyer2>
<nationality_all_buyer2_group>826</nationality_all_buyer2_group>
<address_line1_input>Address line 1</address_line1_input>
<postcode_full_input>SW1A 1AA</postcode_full_input>
<address_search_value_check/> <address_search_value_check/>
<uprn_selection/>
<address_line1_as_entered/>
<address_line2_as_entered/>
<town_or_city_as_entered/>
<county_as_entered/>
<postcode_full_as_entered/>
<la_as_entered/>
<partner_under_16_value_check/>
<multiple_partners_value_check/>
<created_by_id>{created_by_id}</created_by_id>
<has_management_fee/>
<management_fee/>
<firststair/> <firststair/>
<numstair/> <numstair/>
<mrentprestaircasing/> <day>1</day>
<lasttransaction/> <month>3</month>
<initialpurchase/> <year>2026</year>
<createddate>2026-03-01T00:00:00+00:00</createddate>
<createdby>{created_by_email}</createdby>
<createdbyid>{created_by_id}</createdbyid>
<username>{assigned_to_email}</username>
<usernameid>{assigned_to_id}</usernameid>
<uploaddate>2026-03-01T00:00:00+00:00</uploaddate>
<amendedby/>
<amendedbyid/>
<owningorgid>{owning_org_id}</owningorgid>
<owningorgname>{owning_org_name}</owningorgname>
<maningorgid>{managing_org_id}</maningorgid>
<maningorgname>{managing_org_name}</maningorgname>
<creationmethod>1</creationmethod>
<bulkuploadid/>
<collectionyear>2025</collectionyear>
<ownership>2</ownership>
<joint>1</joint>
<ethnicgroup1>17</ethnicgroup1>
<ethnicgroup2>17</ethnicgroup2>
<previouslaknown>1</previouslaknown>
<hasmscharge>1</hasmscharge>
<inc1nk>0</inc1nk>
<inc2nk>0</inc2nk>
<postcode>AA1 1AA</postcode>
<islainferred>true</islainferred>
<mortlen1>10</mortlen1>
<ethnic2/>
<prevten2/>
<address1>1, Test Street</address1>
<address2/>
<towncity>Test Town</towncity>
<laname>Westminster</laname>
<address1input>Address line 1</address1input>
<postcodeinput>SW1A 1AA</postcodeinput>
<uprnselected/>
<bulkaddress1/>
<bulkaddress2/>
<bulktowncity/>
<bulkcounty/>
<bulkpostcode/>
<bulkla/>
<nationalityall1>826</nationalityall1>
<nationalityall2>826</nationalityall2>
<prevlocname>Westminster</prevlocname>
<liveinbuyer1>1</liveinbuyer1>
<liveinbuyer2>1</liveinbuyer2>
<has_estate_fee/>
<estate_fee/>
<stairlastday/>
<stairlastmonth/>
<stairlastyear/>
<stairinitialday/>
<stairinitialmonth/>
<stairinitialyear/>
<mscharge_value_check/>
<hasservicecharges>1</hasservicecharges><!-- #?? -->
<servicecharges>100.0</servicecharges><!-- #?? -->
</form> </form>
</forms> </forms>

174
spec/fixtures/exports/sales_log_2024.xml vendored

@ -3,66 +3,38 @@
<form> <form>
<id>{id}</id> <id>{id}</id>
<status>2</status> <status>2</status>
<saledate>2024-04-02 23:00:00 UTC</saledate>
<created_at>2024-04-02 23:00:00 UTC</created_at>
<updated_at>2024-04-02 23:00:00 UTC</updated_at>
<owning_organisation_id>{owning_org_id}</owning_organisation_id>
<assigned_to_id>{assigned_to_id}</assigned_to_id>
<purchid>123</purchid> <purchid>123</purchid>
<type>8</type> <type>8</type>
<ownershipsch>2</ownershipsch>
<othtype/>
<jointmore>1</jointmore> <jointmore>1</jointmore>
<jointpur>1</jointpur>
<beds>2</beds> <beds>2</beds>
<companybuy/>
<age1>27</age1> <age1>27</age1>
<age1_known>0</age1_known>
<sex1>F</sex1> <sex1>F</sex1>
<ethnic>17</ethnic> <ethnic>17</ethnic>
<ethnic_group>17</ethnic_group>
<buy1livein>1</buy1livein>
<buylivein/>
<builtype>1</builtype> <builtype>1</builtype>
<proptype>1</proptype> <proptype>1</proptype>
<age2>33</age2> <age2>33</age2>
<age2_known>0</age2_known>
<relat2>P</relat2> <relat2>P</relat2>
<sex2>X</sex2> <sex2>X</sex2>
<noint>2</noint> <noint>2</noint>
<buy2livein>1</buy2livein>
<ecstat2>1</ecstat2> <ecstat2>1</ecstat2>
<privacynotice>1</privacynotice> <privacynotice>1</privacynotice>
<ecstat1>1</ecstat1> <ecstat1>1</ecstat1>
<wheel>1</wheel> <wheel>1</wheel>
<hholdcount>4</hholdcount> <hholdcount>4</hholdcount>
<age3>14</age3> <age3>14</age3>
<age3_known>0</age3_known>
<la>E09000033</la> <la>E09000033</la>
<la_known>1</la_known>
<income1>10000</income1> <income1>10000</income1>
<income1nk>0</income1nk>
<details_known_2/>
<details_known_3>1</details_known_3>
<details_known_4>1</details_known_4>
<age4>18</age4> <age4>18</age4>
<age4_known>0</age4_known>
<age5>40</age5> <age5>40</age5>
<age5_known>0</age5_known>
<age6>40</age6> <age6>40</age6>
<age6_known>0</age6_known>
<inc1mort>1</inc1mort> <inc1mort>1</inc1mort>
<income2>10000</income2> <income2>10000</income2>
<income2nk>0</income2nk>
<savingsnk>1</savingsnk> <savingsnk>1</savingsnk>
<savings/> <savings/>
<prevown>1</prevown> <prevown>1</prevown>
<sex3>F</sex3> <sex3>F</sex3>
<updated_by_id/>
<income1_value_check/>
<mortgage>20000.0</mortgage> <mortgage>20000.0</mortgage>
<inc2mort>1</inc2mort> <inc2mort>1</inc2mort>
<mortgage_value_check/>
<ecstat3>9</ecstat3> <ecstat3>9</ecstat3>
<ecstat4>3</ecstat4> <ecstat4>3</ecstat4>
<ecstat5>2</ecstat5> <ecstat5>2</ecstat5>
@ -75,133 +47,107 @@
<sex4>X</sex4> <sex4>X</sex4>
<sex5>M</sex5> <sex5>M</sex5>
<sex6>X</sex6> <sex6>X</sex6>
<savings_value_check/>
<deposit_value_check/>
<frombeds/> <frombeds/>
<staircase/> <staircase/>
<stairbought/> <stairbought/>
<stairowned/> <stairowned/>
<mrent/> <mrent/>
<exdate/>
<exday/>
<exmonth/>
<exyear/>
<resale/> <resale/>
<deposit>80000.0</deposit> <deposit>80000.0</deposit>
<cashdis/> <cashdis/>
<disabled>1</disabled> <disabled>1</disabled>
<lanomagr/>
<wheel_value_check/>
<soctenant/>
<value>110000.0</value> <value>110000.0</value>
<equity/> <equity/>
<discount/> <discount/>
<grant>10000.0</grant> <grant>10000.0</grant>
<pregyrha>1</pregyrha>
<pregla>1</pregla>
<pregghb>1</pregghb>
<pregother>1</pregother>
<ppostcode_full>SW1A 1AA</ppostcode_full>
<is_previous_la_inferred>true</is_previous_la_inferred>
<ppcodenk>0</ppcodenk> <ppcodenk>0</ppcodenk>
<ppostc1>SW1A</ppostc1> <ppostc1>SW1A</ppostc1>
<ppostc2>1AA</ppostc2> <ppostc2>1AA</ppostc2>
<prevloc>E09000033</prevloc> <prevloc>E09000033</prevloc>
<previous_la_known>1</previous_la_known>
<hhregres>7</hhregres> <hhregres>7</hhregres>
<hhregresstill/> <hhregresstill/>
<proplen>10</proplen> <proplen>10</proplen>
<has_mscharge>1</has_mscharge>
<mscharge>100.0</mscharge> <mscharge>100.0</mscharge>
<prevten>1</prevten> <prevten>1</prevten>
<mortgageused>1</mortgageused> <mortgageused>1</mortgageused>
<wchair>1</wchair> <wchair>1</wchair>
<income2_value_check/>
<armedforcesspouse>5</armedforcesspouse> <armedforcesspouse>5</armedforcesspouse>
<hodate/>
<hoday/> <hoday/>
<homonth/> <homonth/>
<hoyear/> <hoyear/>
<fromprop/> <fromprop/>
<socprevten/> <socprevten/>
<mortgagelender>5</mortgagelender>
<mortgagelenderother/>
<mortlen>10</mortlen>
<extrabor>1</extrabor> <extrabor>1</extrabor>
<hhmemb>6</hhmemb>
<totadult>5</totadult>
<totchild>1</totchild>
<hhtype>6</hhtype> <hhtype>6</hhtype>
<pcode1>SW1A</pcode1>
<pcode2>1AA</pcode2>
<pcodenk>0</pcodenk>
<postcode_full>AA1 1AA</postcode_full>
<is_la_inferred>true</is_la_inferred>
<bulk_upload_id/>
<retirement_value_check/>
<hodate_check/>
<extrabor_value_check/>
<deposit_and_mortgage_value_check/>
<shared_ownership_deposit_value_check/>
<grant_value_check/>
<value_value_check/> <value_value_check/>
<old_persons_shared_ownership_value_check/>
<staircase_bought_value_check/>
<monthly_charges_value_check/>
<details_known_5>1</details_known_5>
<details_known_6>1</details_known_6>
<saledate_check/>
<prevshared>2</prevshared> <prevshared>2</prevshared>
<staircasesale/> <staircasesale/>
<ethnic_group2>17</ethnic_group2>
<ethnicbuy2/>
<proplen_asked>1</proplen_asked>
<old_id/>
<buy2living>3</buy2living> <buy2living>3</buy2living>
<prevtenbuy2/>
<pregblank/>
<uprn>1</uprn> <uprn>1</uprn>
<uprn_known>1</uprn_known>
<uprn_confirmed>1</uprn_confirmed>
<address_line1>1, Test Street</address_line1>
<address_line2/>
<town_or_city>Test Town</town_or_city>
<county/> <county/>
<nationalbuy2>13</nationalbuy2>
<discounted_sale_value_check/>
<student_not_child_value_check/>
<percentage_discount_value_check/>
<combined_income_value_check/>
<buyer_livein_value_check/>
<discarded_at/>
<stairowned_value_check/>
<creation_method>1</creation_method>
<old_form_id/>
<managing_organisation_id>{managing_org_id}</managing_organisation_id>
<duplicate_set_id/> <duplicate_set_id/>
<nationality_all>826</nationality_all>
<nationality_all_group>826</nationality_all_group>
<nationality_all_buyer2>826</nationality_all_buyer2>
<nationality_all_buyer2_group>826</nationality_all_buyer2_group>
<address_line1_input>Address line 1</address_line1_input>
<postcode_full_input>SW1A 1AA</postcode_full_input>
<address_search_value_check/> <address_search_value_check/>
<uprn_selection/>
<address_line1_as_entered/>
<address_line2_as_entered/>
<town_or_city_as_entered/>
<county_as_entered/>
<postcode_full_as_entered/>
<la_as_entered/>
<partner_under_16_value_check/>
<multiple_partners_value_check/>
<created_by_id>{created_by_id}</created_by_id>
<has_management_fee/>
<management_fee/>
<firststair/> <firststair/>
<numstair/> <numstair/>
<mrentprestaircasing/> <day>3</day>
<lasttransaction/> <month>4</month>
<initialpurchase/> <year>2024</year>
<createddate>2024-04-03T00:00:00+01:00</createddate>
<createdby>{created_by_email}</createdby>
<createdbyid>{created_by_id}</createdbyid>
<username>{assigned_to_email}</username>
<usernameid>{assigned_to_id}</usernameid>
<uploaddate>2024-04-03T00:00:00+01:00</uploaddate>
<amendedby/>
<amendedbyid/>
<owningorgid>{owning_org_id}</owningorgid>
<owningorgname>{owning_org_name}</owningorgname>
<maningorgid>{managing_org_id}</maningorgid>
<maningorgname>{managing_org_name}</maningorgname>
<creationmethod>1</creationmethod>
<bulkuploadid/>
<collectionyear>2024</collectionyear>
<ownership>2</ownership>
<joint>1</joint>
<ethnicgroup1>17</ethnicgroup1>
<ethnicgroup2>17</ethnicgroup2>
<previouslaknown>1</previouslaknown>
<hasmscharge>1</hasmscharge>
<inc1nk>0</inc1nk>
<inc2nk>0</inc2nk>
<postcode>AA1 1AA</postcode>
<islainferred>true</islainferred>
<mortlen1>10</mortlen1>
<ethnic2/>
<prevten2/>
<address1>1, Test Street</address1>
<address2/>
<towncity>Test Town</towncity>
<laname>Westminster</laname>
<address1input>Address line 1</address1input>
<postcodeinput>SW1A 1AA</postcodeinput>
<uprnselected/>
<bulkaddress1/>
<bulkaddress2/>
<bulktowncity/>
<bulkcounty/>
<bulkpostcode/>
<bulkla/>
<nationalityall1>826</nationalityall1>
<nationalityall2>826</nationalityall2>
<prevlocname>Westminster</prevlocname>
<liveinbuyer1>1</liveinbuyer1>
<liveinbuyer2>1</liveinbuyer2>
<has_estate_fee/>
<estate_fee/>
<stairlastday/>
<stairlastmonth/>
<stairlastyear/>
<stairinitialday/>
<stairinitialmonth/>
<stairinitialyear/>
<mscharge_value_check/>
<hasservicecharges>1</hasservicecharges><!-- #?? -->
<servicecharges>100.0</servicecharges><!-- #?? -->
</form> </form>
</forms> </forms>

4
spec/services/exports/sales_log_export_service_spec.rb

@ -17,9 +17,13 @@ RSpec.describe Exports::SalesLogExportService do
def replace_entity_ids(sales_log, export_template) def replace_entity_ids(sales_log, export_template)
export_template.sub!(/\{owning_org_id\}/, sales_log["owning_organisation_id"].to_s) export_template.sub!(/\{owning_org_id\}/, sales_log["owning_organisation_id"].to_s)
export_template.sub!(/\{owning_org_name\}/, sales_log.owning_organisation.name.to_s)
export_template.sub!(/\{managing_org_id\}/, sales_log["managing_organisation_id"].to_s) export_template.sub!(/\{managing_org_id\}/, sales_log["managing_organisation_id"].to_s)
export_template.sub!(/\{managing_org_name\}/, sales_log.managing_organisation.name.to_s)
export_template.sub!(/\{assigned_to_id\}/, sales_log["assigned_to_id"].to_s) export_template.sub!(/\{assigned_to_id\}/, sales_log["assigned_to_id"].to_s)
export_template.sub!(/\{assigned_to_email\}/, sales_log.assigned_to&.email.to_s)
export_template.sub!(/\{created_by_id\}/, sales_log["created_by_id"].to_s) export_template.sub!(/\{created_by_id\}/, sales_log["created_by_id"].to_s)
export_template.sub!(/\{created_by_email\}/, sales_log.created_by&.email.to_s)
export_template.sub!(/\{id\}/, sales_log["id"].to_s) export_template.sub!(/\{id\}/, sales_log["id"].to_s)
end end

Loading…
Cancel
Save