Browse Source

Update noint, xml examples and some mappings

pull/1331/head
Kat 3 years ago
parent
commit
ef4792407d
  1. 64
      app/services/imports/sales_logs_import_service.rb
  2. 24
      spec/fixtures/imports/sales_logs/00d2343e-d5fa-4c89-8400-ec3854b0f2b4.xml
  3. 10
      spec/fixtures/imports/sales_logs/0b4a68df-30cc-474a-93c0-a56ce8fdad3b.xml
  4. 6
      spec/fixtures/imports/sales_logs/0ead17cb-1668-442d-898c-0d52879ff592.xml
  5. 6
      spec/fixtures/imports/sales_logs/166fc004-392e-47a8-acb8-1c018734882b.xml
  6. 6
      spec/fixtures/imports/sales_logs/5ybz29dj-l33t-k1l0-hj86-n4k4ma77xkcd.xml
  7. 6
      spec/fixtures/imports/sales_logs/893ufj2s-lq77-42m4-rty6-ej09gh585uy1.xml

64
app/services/imports/sales_logs_import_service.rb

@ -56,7 +56,7 @@ module Imports
attributes["builtype"] = unsafe_string_as_integer(xml_doc, "Q13BuildingType")
attributes["proptype"] = unsafe_string_as_integer(xml_doc, "Q12PropertyType")
attributes["privacynotice"] = 1 if string_or_nil(xml_doc, "Qdp") == "Yes"
attributes["noint"] = safe_string_as_integer(xml_doc, "NOINT") || 2 if attributes["privacynotice"] == 1
attributes["noint"] = unsafe_string_as_integer(xml_doc, "PartAPurchaser")
attributes["buy2livein"] = unsafe_string_as_integer(xml_doc, "LiveInBuyer2")
attributes["wheel"] = unsafe_string_as_integer(xml_doc, "Q10Wheelchair")
attributes["hholdcount"] = safe_string_as_integer(xml_doc, "LiveInOther") || 0
@ -82,11 +82,11 @@ module Imports
attributes["exmonth"] = safe_string_as_integer(xml_doc, "EXMONTH")
attributes["exyear"] = safe_string_as_integer(xml_doc, "EXYEAR")
attributes["resale"] = unsafe_string_as_integer(xml_doc, "Q17Resale")
attributes["deposit"] = safe_string_as_decimal(xml_doc, "Q26CashDeposit")
attributes["deposit"] = deposit(xml_doc, attributes)
attributes["cashdis"] = safe_string_as_decimal(xml_doc, "Q27SocialHomeBuy")
attributes["disabled"] = unsafe_string_as_integer(xml_doc, "Disability")
attributes["lanomagr"] = unsafe_string_as_integer(xml_doc, "Q19Rehoused")
attributes["value"] = safe_string_as_decimal(xml_doc, "Q22PurchasePrice")
attributes["value"] = purchase_price(xml_doc, attributes)
attributes["equity"] = safe_string_as_decimal(xml_doc, "Q23Equity")
attributes["discount"] = safe_string_as_decimal(xml_doc, "Q33Discount")
attributes["grant"] = safe_string_as_decimal(xml_doc, "Q32Reductions")
@ -103,7 +103,7 @@ module Imports
attributes["hhregres"] = unsafe_string_as_integer(xml_doc, "ArmedF")
attributes["hhregresstill"] = still_serving(xml_doc)
attributes["proplen"] = safe_string_as_integer(xml_doc, "Q16aProplen2")
attributes["mscharge"] = safe_string_as_decimal(xml_doc, "Q29MonthlyCharges")
attributes["mscharge"] = monthly_charges(xml_doc, attributes)
attributes["mscharge_known"] = 1 if attributes["mscharge"].present?
attributes["prevten"] = unsafe_string_as_integer(xml_doc, "Q6PrevTenure")
attributes["mortgageused"] = unsafe_string_as_integer(xml_doc, "MORTGAGEUSED")
@ -118,7 +118,7 @@ module Imports
attributes["mortgagelender"] = mortgage_lender(xml_doc, attributes)
attributes["mortgagelenderother"] = nil # Q24AMORTGAGELENDEROTHER Q34AMORTGAGELENDEROTHER Q41AMORTGAGELENDEROTHER
attributes["mortlen"] = mortgage_length(xml_doc, attributes)
attributes["extrabor"] = unsafe_string_as_integer(xml_doc, "Q25Borrowing")
attributes["extrabor"] = borrowing(xml_doc, attributes)
attributes["totadult"] = safe_string_as_integer(xml_doc, "TOTADULT") # would get overridden
attributes["totchild"] = safe_string_as_integer(xml_doc, "TOTCHILD") # would get overridden
attributes["hhtype"] = unsafe_string_as_integer(xml_doc, "HHTYPE")
@ -154,6 +154,7 @@ module Imports
def save_sales_log(attributes, previous_status)
sales_log = SalesLog.new(attributes)
binding.pry
begin
sales_log.save!
sales_log
@ -233,14 +234,14 @@ module Imports
end
end
def mortgage_lender(xml_doc, attributes)
def mortgage_lender(xml_doc, attributes) #this comes through as a string, need to map to a corresponding integer
case attributes["ownershipsch"]
when 1
unsafe_string_as_integer(xml_doc, "Q24aMortgageLender")
string_or_nil(xml_doc, "Q24aMortgageLender")
when 2
unsafe_string_as_integer(xml_doc, "Q34aMortgageLender")
string_or_nil(xml_doc, "Q34a")
when 3
unsafe_string_as_integer(xml_doc, "Q41aMortgageLender")
string_or_nil(xml_doc, "Q41aMortgageLender")
end
end
@ -292,5 +293,50 @@ module Imports
1
end
end
def borrowing(xml_doc, attributes)
case attributes["ownershipsch"]
when 1
unsafe_string_as_integer(xml_doc, "Q25Borrowing")
when 2
unsafe_string_as_integer(xml_doc, "Q35Borrowing")
when 3
unsafe_string_as_integer(xml_doc, "Q42Borrowing")
end
end
def purchase_price(xml_doc, attributes)
case attributes["ownershipsch"]
when 1
safe_string_as_decimal(xml_doc, "Q22PurchasePrice")
when 2
safe_string_as_decimal(xml_doc, "Q31PurchasePrice")
when 3
safe_string_as_decimal(xml_doc, "Q40PurchasePrice")
end
end
def deposit(xml_doc, attributes)
case attributes["ownershipsch"]
when 1
safe_string_as_decimal(xml_doc, "Q26CashDeposit")
when 2
safe_string_as_decimal(xml_doc, "Q36CashDeposit")
when 3
safe_string_as_decimal(xml_doc, "Q43CashDeposit")
end
end
def monthly_charges(xml_doc, attributes)
safe_string_as_decimal(xml_doc, "Q29MonthlyCharges")
case attributes["ownershipsch"]
when 1
safe_string_as_decimal(xml_doc, "Q29MonthlyCharges")
when 2
safe_string_as_decimal(xml_doc, "Q37MonthlyCharges")
when 3
#what should this be?
end
end
end
end

24
spec/fixtures/imports/sales_logs/00d2343e-d5fa-4c89-8400-ec3854b0f2b4.xml vendored

@ -6,7 +6,7 @@
<meta:owner-institution-id>7c5bd5fb549c09a2c55d7cb90d7ba84927e64618</meta:owner-institution-id>
<meta:managing-institution-id>7c5bd5fb549c09a2c55d7cb90d7ba84927e64618</meta:managing-institution-id>
<meta:created-date>2023-02-21T12:09:45.809134Z</meta:created-date>
<meta:modified-date>2023-02-21T12:09:45.809134Z</meta:modified-date>
<meta:modified-date>2023-02-22T10:59:01.709949Z</meta:modified-date>
<meta:status>submitted-valid</meta:status>
<meta:reporting-year>2022</meta:reporting-year>
<meta:upload-method>Manual Entry</meta:upload-method>
@ -150,7 +150,7 @@
<IM2>0</IM2>
<IMT>0</IMT>
<MortMultiple>0</MortMultiple>
<Form>300201</Form>
<Form>300202</Form>
</Group>
<Group>
<minmaxP11/>
@ -198,35 +198,35 @@
<NOINT/>
</Group>
<Group>
<Q6PrevTenure/>
<Q6PrevTenure>3 Private tenant</Q6PrevTenure>
<Q7Postcode override-field="">B95 5HZ</Q7Postcode>
<Q7UnknownPostcode/>
<Q7PrevLocation>Stratford-on-Avon</Q7PrevLocation>
<Q7ONSLACode>E07000221</Q7ONSLACode>
<PREGYRHA/>
<PREGORHA/>
<PREGLA/>
<PREGLA>Yes</PREGLA>
<PREGHBA/>
<PREGOTHER/>
</Group>
<Group>
<ArmedF/>
<ArmedF>7 No</ArmedF>
<LeftArmedF/>
<ARMEDFORCESSPOUSE/>
<Disability/>
<Q10Wheelchair override-field=""/>
<Disability>2 No</Disability>
<Q10Wheelchair override-field="">2 No</Q10Wheelchair>
</Group>
<Group>
<P1IncKnown/>
<P1IncKnown>2 No</P1IncKnown>
<Q2Person1Income/>
<Q2Person1Mortgage/>
<P2IncKnown/>
<Q2Person2Income/>
<Q2Person2MortApplication/>
<Q2a/>
<Q2a>4 Don&#x2019;t know</Q2a>
<savingsKnown/>
<Q3Savings override-field=""/>
<Q4PrevOwnedProperty/>
<Q4PrevOwnedProperty>2 No</Q4PrevOwnedProperty>
</Group>
<Group>
<Q16aProplen2/>
@ -315,10 +315,10 @@
<TCHILD>0</TCHILD>
<Q8av>0</Q8av>
<Q8bv>0</Q8bv>
<Q8cv>0</Q8cv>
<Q8cv>1</Q8cv>
<Q8dv>0</Q8dv>
<Q8ev>0</Q8ev>
<Q8Validate>0</Q8Validate>
<Q8Validate>1</Q8Validate>
</Group>
<Group>
<PLOACODE/>

10
spec/fixtures/imports/sales_logs/0b4a68df-30cc-474a-93c0-a56ce8fdad3b.xml vendored

@ -6,7 +6,7 @@
<meta:owner-institution-id>7c5bd5fb549c09z2c55d9cb90d7ba84927e64618</meta:owner-institution-id>
<meta:managing-institution-id>7c5bd5fb549c09z2c55d9cb90d7ba84927e64618</meta:managing-institution-id>
<meta:created-date>2023-02-21T11:54:51.786722Z</meta:created-date>
<meta:modified-date>2023-02-21T11:54:51.786722Z</meta:modified-date>
<meta:modified-date>2023-02-22T10:59:45.88188Z</meta:modified-date>
<meta:status>submitted-valid</meta:status>
<meta:reporting-year>2022</meta:reporting-year>
<meta:upload-method>Manual Entry</meta:upload-method>
@ -150,7 +150,7 @@
<IM2>0</IM2>
<IMT>0</IMT>
<MortMultiple>1</MortMultiple>
<Form>300200</Form>
<Form>300203</Form>
</Group>
<Group>
<minmaxP11/>
@ -195,7 +195,7 @@
<PPOSTC2>9EX</PPOSTC2>
<PCODE1>SW1A</PCODE1>
<PCODE2>1AA</PCODE2>
<NOINT/>
<NOINT>1</NOINT>
</Group>
<Group>
<Q6PrevTenure/>
@ -275,8 +275,8 @@
<Q43CashDeposit override-field=""/>
</Group>
<Group>
<HHMEMB>1</HHMEMB>
<TOTADULT>1</TOTADULT>
<HHMEMB>0</HHMEMB>
<TOTADULT>0</TOTADULT>
<TOTCHILD>0</TOTCHILD>
</Group>
<Group>

6
spec/fixtures/imports/sales_logs/0ead17cb-1668-442d-898c-0d52879ff592.xml vendored

@ -6,7 +6,7 @@
<meta:owner-institution-id>7c5bd5fb549c09a2c55d7cb90d7ba84927e64618</meta:owner-institution-id>
<meta:managing-institution-id>7c5bd5fb549c09a2c55d7cb90d7ba84927e64618</meta:managing-institution-id>
<meta:created-date>2023-02-21T11:48:28.255968Z</meta:created-date>
<meta:modified-date>2023-02-21T11:49:27.630543Z</meta:modified-date>
<meta:modified-date>2023-02-22T11:00:06.575832Z</meta:modified-date>
<meta:status>submitted-valid</meta:status>
<meta:reporting-year>2022</meta:reporting-year>
<meta:upload-method>Manual Entry</meta:upload-method>
@ -150,7 +150,7 @@
<IM2>0</IM2>
<IMT>235000</IMT>
<MortMultiple>0</MortMultiple>
<Form>300199</Form>
<Form>300204</Form>
</Group>
<Group>
<minmaxP11/>
@ -226,7 +226,7 @@
<Q2a>4 Don&#x2019;t know</Q2a>
<savingsKnown>1 Yes</savingsKnown>
<Q3Savings override-field="true">89000</Q3Savings>
<Q4PrevOwnedProperty/>
<Q4PrevOwnedProperty>1 Yes</Q4PrevOwnedProperty>
</Group>
<Group>
<Q16aProplen2/>

6
spec/fixtures/imports/sales_logs/166fc004-392e-47a8-acb8-1c018734882b.xml vendored

@ -6,7 +6,7 @@
<meta:owner-institution-id>7c5bd5fb549c09a2c55d7cb90d7ba84927e64618</meta:owner-institution-id>
<meta:managing-institution-id>7c5bd5fb549c09a2c55d7cb90d7ba84927e64618</meta:managing-institution-id>
<meta:created-date>2023-02-21T11:48:28.255968Z</meta:created-date>
<meta:modified-date>2023-02-21T11:49:27.630543Z</meta:modified-date>
<meta:modified-date>2023-02-22T11:00:06.575832Z</meta:modified-date>
<meta:status>submitted-valid</meta:status>
<meta:reporting-year>2022</meta:reporting-year>
<meta:upload-method>Manual Entry</meta:upload-method>
@ -150,7 +150,7 @@
<IM2>0</IM2>
<IMT>235000</IMT>
<MortMultiple>0</MortMultiple>
<Form>300199</Form>
<Form>300204</Form>
</Group>
<Group>
<minmaxP11/>
@ -226,7 +226,7 @@
<Q2a>4 Don&#x2019;t know</Q2a>
<savingsKnown>1 Yes</savingsKnown>
<Q3Savings override-field="true">89000</Q3Savings>
<Q4PrevOwnedProperty/>
<Q4PrevOwnedProperty>1 Yes</Q4PrevOwnedProperty>
</Group>
<Group>
<Q16aProplen2/>

6
spec/fixtures/imports/sales_logs/5ybz29dj-l33t-k1l0-hj86-n4k4ma77xkcd.xml vendored

@ -6,7 +6,7 @@
<meta:owner-institution-id>7c5bd5fb549c09a2c55d7cb90d7ba84927e64618</meta:owner-institution-id>
<meta:managing-institution-id>7c5bd5fb549c09a2c55d7cb90d7ba84927e64618</meta:managing-institution-id>
<meta:created-date>2023-02-21T11:48:28.255968Z</meta:created-date>
<meta:modified-date>2023-02-21T11:49:27.630543Z</meta:modified-date>
<meta:modified-date>2023-02-22T11:00:06.575832Z</meta:modified-date>
<meta:status>submitted-valid</meta:status>
<meta:reporting-year>2022</meta:reporting-year>
<meta:upload-method>Manual Entry</meta:upload-method>
@ -150,7 +150,7 @@
<IM2>0</IM2>
<IMT>235000</IMT>
<MortMultiple>0</MortMultiple>
<Form>300199</Form>
<Form>300204</Form>
</Group>
<Group>
<minmaxP11/>
@ -226,7 +226,7 @@
<Q2a>4 Don&#x2019;t know</Q2a>
<savingsKnown>1 Yes</savingsKnown>
<Q3Savings override-field="true">89000</Q3Savings>
<Q4PrevOwnedProperty/>
<Q4PrevOwnedProperty>1 Yes</Q4PrevOwnedProperty>
</Group>
<Group>
<Q16aProplen2/>

6
spec/fixtures/imports/sales_logs/893ufj2s-lq77-42m4-rty6-ej09gh585uy1.xml vendored

@ -6,7 +6,7 @@
<meta:owner-institution-id>7c5bd5fb549c09a2c55d7cb90d7ba84927e64618</meta:owner-institution-id>
<meta:managing-institution-id>7c5bd5fb549c09a2c55d7cb90d7ba84927e64618</meta:managing-institution-id>
<meta:created-date>2023-02-21T11:48:28.255968Z</meta:created-date>
<meta:modified-date>2023-02-21T11:49:27.630543Z</meta:modified-date>
<meta:modified-date>2023-02-22T11:00:06.575832Z</meta:modified-date>
<meta:status>submitted-valid</meta:status>
<meta:reporting-year>2022</meta:reporting-year>
<meta:upload-method>Manual Entry</meta:upload-method>
@ -150,7 +150,7 @@
<IM2>0</IM2>
<IMT>235000</IMT>
<MortMultiple>0</MortMultiple>
<Form>300199</Form>
<Form>300204</Form>
</Group>
<Group>
<minmaxP11/>
@ -226,7 +226,7 @@
<Q2a>4 Don&#x2019;t know</Q2a>
<savingsKnown>1 Yes</savingsKnown>
<Q3Savings override-field="true">89000</Q3Savings>
<Q4PrevOwnedProperty/>
<Q4PrevOwnedProperty>1 Yes</Q4PrevOwnedProperty>
</Group>
<Group>
<Q16aProplen2/>

Loading…
Cancel
Save