epb_view_models 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/.buildspec.yml +13 -0
  4. data/.gitignore +5 -0
  5. data/.ruby-version +1 -0
  6. data/Gemfile.lock +22 -17
  7. data/lib/epb_view_models.rb +1 -1
  8. data/lib/helper/xml_enums_to_output.rb +23 -13
  9. data/lib/presenter/rd_sap/report.rb +196 -1
  10. data/lib/presenter/sap/report.rb +194 -0
  11. data/lib/view_model/rd_sap_schema_170/common_schema.rb +16 -0
  12. data/lib/view_model/rd_sap_schema_171/common_schema.rb +16 -0
  13. data/lib/view_model/rd_sap_schema_180/common_schema.rb +16 -0
  14. data/lib/view_model/rd_sap_schema_190/common_schema.rb +16 -0
  15. data/lib/view_model/rd_sap_schema_200/common_schema.rb +16 -0
  16. data/lib/view_model/rd_sap_schema_ni_173/common_schema.rb +16 -0
  17. data/lib/view_model/rd_sap_schema_ni_174/common_schema.rb +16 -0
  18. data/lib/view_model/rd_sap_schema_ni_180/common_schema.rb +16 -0
  19. data/lib/view_model/rd_sap_schema_ni_190/common_schema.rb +16 -0
  20. data/lib/view_model/rd_sap_schema_ni_200/common_schema.rb +16 -0
  21. data/lib/view_model/rd_sap_wrapper.rb +4 -0
  22. data/lib/view_model/sap_schema_102/common_schema.rb +28 -0
  23. data/lib/view_model/sap_schema_102/rdsap.rb +4 -0
  24. data/lib/view_model/sap_schema_110/common_schema.rb +1 -2
  25. data/lib/view_model/sap_schema_110/rdsap.rb +28 -0
  26. data/lib/view_model/sap_schema_110/sap.rb +28 -0
  27. data/lib/view_model/sap_schema_112/common_schema.rb +1 -2
  28. data/lib/view_model/sap_schema_112/rdsap.rb +28 -0
  29. data/lib/view_model/sap_schema_112/sap.rb +28 -0
  30. data/lib/view_model/sap_schema_120/rdsap.rb +28 -0
  31. data/lib/view_model/sap_schema_120/sap.rb +28 -0
  32. data/lib/view_model/sap_schema_130/rdsap.rb +28 -0
  33. data/lib/view_model/sap_schema_130/sap.rb +28 -0
  34. data/lib/view_model/sap_schema_140/rdsap.rb +28 -0
  35. data/lib/view_model/sap_schema_140/sap.rb +28 -0
  36. data/lib/view_model/sap_schema_141/rdsap.rb +28 -0
  37. data/lib/view_model/sap_schema_141/sap.rb +28 -0
  38. data/lib/view_model/sap_schema_142/rdsap.rb +28 -0
  39. data/lib/view_model/sap_schema_142/sap.rb +28 -0
  40. data/lib/view_model/sap_schema_150/rdsap.rb +28 -0
  41. data/lib/view_model/sap_schema_150/sap.rb +28 -0
  42. data/lib/view_model/sap_schema_160/rdsap.rb +28 -0
  43. data/lib/view_model/sap_schema_160/sap.rb +28 -0
  44. data/lib/view_model/sap_schema_161/rdsap.rb +28 -0
  45. data/lib/view_model/sap_schema_161/sap.rb +28 -0
  46. data/lib/view_model/sap_schema_162/rdsap.rb +28 -0
  47. data/lib/view_model/sap_schema_162/sap.rb +28 -0
  48. data/lib/view_model/sap_schema_163/rdsap.rb +28 -0
  49. data/lib/view_model/sap_schema_163/sap.rb +28 -0
  50. data/lib/view_model/sap_schema_170/common_schema.rb +28 -0
  51. data/lib/view_model/sap_schema_171/common_schema.rb +28 -0
  52. data/lib/view_model/sap_schema_1800/common_schema.rb +28 -0
  53. data/lib/view_model/sap_schema_ni_112/rdsap.rb +32 -4
  54. data/lib/view_model/sap_schema_ni_112/sap.rb +27 -0
  55. data/lib/view_model/sap_schema_ni_120/rdsap.rb +32 -0
  56. data/lib/view_model/sap_schema_ni_120/sap.rb +28 -0
  57. data/lib/view_model/sap_schema_ni_130/rdsap.rb +32 -0
  58. data/lib/view_model/sap_schema_ni_130/sap.rb +28 -0
  59. data/lib/view_model/sap_schema_ni_140/rdsap.rb +32 -0
  60. data/lib/view_model/sap_schema_ni_140/sap.rb +28 -0
  61. data/lib/view_model/sap_schema_ni_141/rdsap.rb +32 -0
  62. data/lib/view_model/sap_schema_ni_141/sap.rb +28 -0
  63. data/lib/view_model/sap_schema_ni_142/rdsap.rb +32 -0
  64. data/lib/view_model/sap_schema_ni_142/sap.rb +28 -0
  65. data/lib/view_model/sap_schema_ni_150/rdsap.rb +32 -0
  66. data/lib/view_model/sap_schema_ni_150/sap.rb +28 -0
  67. data/lib/view_model/sap_schema_ni_160/common_schema.rb +2 -2
  68. data/lib/view_model/sap_schema_ni_160/rdsap.rb +28 -0
  69. data/lib/view_model/sap_schema_ni_160/sap.rb +28 -0
  70. data/lib/view_model/sap_schema_ni_161/common_schema.rb +1 -1
  71. data/lib/view_model/sap_schema_ni_161/rdsap.rb +28 -0
  72. data/lib/view_model/sap_schema_ni_161/sap.rb +28 -0
  73. data/lib/view_model/sap_schema_ni_170/rdsap.rb +28 -0
  74. data/lib/view_model/sap_schema_ni_170/sap.rb +28 -0
  75. data/lib/view_model/sap_schema_ni_171/rdsap.rb +28 -0
  76. data/lib/view_model/sap_schema_ni_171/sap.rb +28 -0
  77. data/lib/view_model/sap_schema_ni_172/rdsap.rb +36 -0
  78. data/lib/view_model/sap_schema_ni_172/sap.rb +28 -0
  79. data/lib/view_model/sap_schema_ni_173/common_schema.rb +28 -0
  80. data/lib/view_model/sap_schema_ni_174/common_schema.rb +28 -0
  81. data/lib/view_model/sap_schema_ni_1800/common_schema.rb +28 -0
  82. data/lib/view_model/sap_wrapper.rb +4 -0
  83. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b71b827370438edcfacfdd4d8d44e8272526fde8cbd7e58bc77df2d60b5ef1a7
4
- data.tar.gz: 374238b4324acea447bcce054ed895960b3c9c684e8efc0e229a418077eb64c2
3
+ metadata.gz: 80efe4147a186423dd6099c2c495e7f694580511670d9ee054257ddce5e887b8
4
+ data.tar.gz: 51c6e4233b76f4a3959e73b9e8a2b01dd8d2ede3a363c1e292df66b2ee8c18eb
5
5
  SHA512:
6
- metadata.gz: e34f118818e142c9d9a9e38628f8f56eb9e02373a41571b632e842674370e84ed36d7bc3fff85e6687af6c06dd61579056050a2f1d34bbb793f21fc125d869ee
7
- data.tar.gz: 2b023ad18d63ea973dba32b6849307045372101debda793711a27bca16ebd7bef2459e9c426c1e7e544bdb9835663d07f1905015caca35b90b4ffea3e46953e4
6
+ metadata.gz: 88e7eb835ea70699291c21118ef0cab44da3e4423dff5032f1d9804b1d55f1014b90afc01ace5ba5bb4681bee1fd0e94e49c3b7095edef5eed2bc2940029a5e2
7
+ data.tar.gz: a1accb23c50fab70d6404edf6f01e2ee8fb544b276b825f949df758471dd270b8887f90ff4e10fd9593373a2d0e14e0da4e719bb832e4be4550c877520db610c
data/.DS_Store ADDED
Binary file
data/.buildspec.yml ADDED
@@ -0,0 +1,13 @@
1
+ version: 0.2
2
+
3
+ phases:
4
+ install:
5
+ runtime-versions:
6
+ ruby: 2.7
7
+ pre_build:
8
+ commands:
9
+ - gem install bundler:2.2.21
10
+ - make install
11
+ build:
12
+ commands:
13
+ - make test
data/.gitignore CHANGED
@@ -6,9 +6,14 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ .DS_Store
10
+ dump.rdb
9
11
 
10
12
  # rspec failure tracking
11
13
  .rspec_status
12
14
 
13
15
  # Jetbrains
14
16
  .idea
17
+
18
+ # Avoid committing gem file when releasing
19
+ *.gem
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.3
data/Gemfile.lock CHANGED
@@ -1,5 +1,9 @@
1
1
  GEM
2
2
  specs:
3
+
4
+ GEM
5
+ remote: https://rubygems.org/
6
+ specs:
3
7
  activesupport (6.1.4)
4
8
  concurrent-ruby (~> 1.0, >= 1.0.2)
5
9
  i18n (>= 1.6, < 2)
@@ -11,15 +15,26 @@ GEM
11
15
  diff-lcs (1.4.4)
12
16
  i18n (1.8.10)
13
17
  concurrent-ruby (~> 1.0)
18
+ mini_portile2 (2.5.3)
14
19
  minitest (5.14.4)
20
+ nokogiri (1.11.7)
21
+ mini_portile2 (~> 2.5.0)
22
+ racc (~> 1.4)
23
+ nokogiri (1.11.7-x86_64-darwin)
24
+ racc (~> 1.4)
15
25
  parallel (1.20.1)
16
26
  parser (3.0.2.0)
17
27
  ast (~> 2.4.1)
18
28
  racc (1.5.2)
19
29
  rack (2.2.3)
20
30
  rainbow (3.0.0)
31
+ rake (13.0.6)
21
32
  regexp_parser (2.1.1)
22
33
  rexml (3.2.5)
34
+ rspec (3.10.0)
35
+ rspec-core (~> 3.10.0)
36
+ rspec-expectations (~> 3.10.0)
37
+ rspec-mocks (~> 3.10.0)
23
38
  rspec-core (3.10.1)
24
39
  rspec-support (~> 3.10.0)
25
40
  rspec-expectations (3.10.1)
@@ -40,6 +55,12 @@ GEM
40
55
  unicode-display_width (>= 1.4.0, < 3.0)
41
56
  rubocop-ast (1.6.0)
42
57
  parser (>= 3.0.1.1)
58
+ rubocop-govuk (4.0.0)
59
+ rubocop (~> 1.15.0)
60
+ rubocop-ast (~> 1.6.0)
61
+ rubocop-rails (~> 2.10.0)
62
+ rubocop-rake (= 0.5.1)
63
+ rubocop-rspec (~> 2.3.0)
43
64
  rubocop-rails (2.10.1)
44
65
  activesupport (>= 4.2.0)
45
66
  rack (>= 1.1)
@@ -53,26 +74,10 @@ GEM
53
74
  tzinfo (2.0.4)
54
75
  concurrent-ruby (~> 1.0)
55
76
  unicode-display_width (2.0.0)
56
-
57
- GEM
58
- remote: https://rubygems.org/
59
- specs:
60
- nokogiri (1.11.7-x86_64-darwin)
61
- racc (~> 1.4)
62
- rake (13.0.6)
63
- rspec (3.10.0)
64
- rspec-core (~> 3.10.0)
65
- rspec-expectations (~> 3.10.0)
66
- rspec-mocks (~> 3.10.0)
67
- rubocop-govuk (4.0.0)
68
- rubocop (~> 1.15.0)
69
- rubocop-ast (~> 1.6.0)
70
- rubocop-rails (~> 2.10.0)
71
- rubocop-rake (= 0.5.1)
72
- rubocop-rspec (~> 2.3.0)
73
77
  zeitwerk (2.4.2)
74
78
 
75
79
  PLATFORMS
80
+ ruby
76
81
  x86_64-darwin-20
77
82
 
78
83
  DEPENDENCIES
@@ -5,7 +5,7 @@ loader = Zeitwerk::Loader.for_gem
5
5
  loader.setup
6
6
 
7
7
  module EpbViewModels
8
- VERSION = "1.0.2"
8
+ VERSION = "1.0.3"
9
9
  end
10
10
 
11
11
  # Monkey patching to avoid using ActiveRecord::Type::Boolean.new.cast
@@ -236,12 +236,13 @@ module Helper
236
236
  RATINGS[value]
237
237
  end
238
238
 
239
- def self.energy_tariff(value, report_type = "2")
240
- case report_type.to_s
241
- when "3"
239
+ def self.energy_tariff(value, report_type)
240
+ if is_sap(report_type)
242
241
  SAP_ENERGY_TARIFF[value] || value
243
- when "2"
242
+ elsif is_rdsap(report_type)
244
243
  RDSAP_ENERGY_TARIFF[value] || value
244
+ else
245
+ value
245
246
  end
246
247
  end
247
248
 
@@ -266,14 +267,14 @@ module Helper
266
267
  end
267
268
 
268
269
  def self.transaction_type(value, report_type = "2")
269
- if report_type.to_s == "2" && value.to_i >= 12
270
+ if is_rdsap(report_type) && value.to_i >= 12
270
271
  TRANSACTION_TYPE["#{value}RdSAP"]
271
272
  else
272
273
  TRANSACTION_TYPE[value] || value
273
274
  end
274
275
  end
275
276
 
276
- def self.construction_age_band_lookup(value, schema_type, report_type = 0)
277
+ def self.construction_age_band_lookup(value, schema_type, report_type)
277
278
  types_of_sap_pre17 = %w[
278
279
  SAP-Schema-16.3
279
280
  SAP-Schema-16.2
@@ -344,7 +345,7 @@ module Helper
344
345
  RdSAP-Schema-NI-17.3
345
346
  ]
346
347
 
347
- if value == "K" && schema_type == "SAP-Schema-12.0" && report_type == 2
348
+ if value == "K" && schema_type == "SAP-Schema-12.0" && is_rdsap(report_type)
348
349
  return CONSTRUCTION_AGE_BAND["K-12.0"]
349
350
  end
350
351
 
@@ -353,15 +354,14 @@ module Helper
353
354
  end
354
355
 
355
356
  if value == "NR" &&
356
- !schemes_that_use_not_recorded.include?(schema_type) ||
357
- report_type == 3
357
+ (!schemes_that_use_not_recorded.include?(schema_type) || is_sap(report_type))
358
358
  return value
359
359
  end
360
360
 
361
361
  return value if value == "L" && !schemes_that_use_l.include?(schema_type)
362
362
 
363
- if value == "0" && !schemes_that_use_0.include?(schema_type) ||
364
- report_type == 3
363
+ if value == "0" &&
364
+ (!schemes_that_use_0.include?(schema_type) || is_sap(report_type))
365
365
  return value
366
366
  end
367
367
 
@@ -376,14 +376,14 @@ module Helper
376
376
  HEAT_LOSS_CORRIDOR[value] || value
377
377
  end
378
378
 
379
- def self.mechanical_ventilation(value, schema_type, report_type = 0)
379
+ def self.mechanical_ventilation(value, schema_type, report_type)
380
380
  types_of_sap_pre12 = %w[
381
381
  SAP-Schema-11.2
382
382
  SAP-Schema-11.0
383
383
  SAP-Schema-10.2
384
384
  ].freeze
385
385
 
386
- if types_of_sap_pre12.include?(schema_type) && report_type == 2
386
+ if types_of_sap_pre12.include?(schema_type) && is_rdsap(report_type)
387
387
  return MECHANICAL_VENTILATION["#{value}-pre12.0"]
388
388
  end
389
389
 
@@ -393,5 +393,15 @@ module Helper
393
393
  def self.cepc_transaction_type(value)
394
394
  CEPC_TRANSACTION_TYPE[value] || value
395
395
  end
396
+
397
+ def self.is_rdsap(report_type)
398
+ report_type == "2"
399
+ end
400
+
401
+ def self.is_sap(report_type)
402
+ report_type == "3"
403
+ end
404
+
405
+ private_class_method :is_rdsap, :is_sap
396
406
  end
397
407
  end
@@ -12,8 +12,198 @@ module Presenter
12
12
  .merge(report_from_additional_data)
13
13
  end
14
14
 
15
+ def to_hash_ni
16
+ report_from_ni_assessment_xml
17
+ end
18
+
15
19
  private
16
20
 
21
+ def report_from_ni_assessment_xml
22
+ {
23
+ address1: @view_model.address_line1,
24
+ address2: @view_model.address_line2,
25
+ address3: @view_model.address_line3,
26
+ built_form:
27
+ Helper::XmlEnumsToOutput.xml_value_to_string(@view_model.built_form),
28
+ co2_emiss_curr_per_floor_area:
29
+ @view_model.co2_emissions_current_per_floor_area,
30
+ co2_emissions_current: @view_model.current_carbon_emission,
31
+ co2_emissions_potential: @view_model.potential_carbon_emission,
32
+ construction_age_band:
33
+ Helper::XmlEnumsToOutput.construction_age_band_lookup(
34
+ @view_model.property_age_band,
35
+ @schema_type,
36
+ @view_model.report_type,
37
+ ),
38
+ current_energy_efficiency: @view_model.current_energy_rating.to_s.chomp,
39
+ current_energy_rating:
40
+ Helper::EnergyBandCalculator.domestic(
41
+ @view_model.current_energy_rating,
42
+ ),
43
+ cylinder_insul_thickness: @view_model.cylinder_insul_thickness,
44
+ cylinder_insulation_type: @view_model.cylinder_insulation_type,
45
+ cylinder_size: @view_model.cylinder_size,
46
+ has_cylinder_thermostat: @view_model.has_cylinder_thermostat == "Y" ? "true" : "false",
47
+ energy_consumption_current: @view_model.primary_energy_use,
48
+ energy_consumption_potential: @view_model.energy_consumption_potential,
49
+ energy_tariff:
50
+ Helper::XmlEnumsToOutput.energy_tariff(
51
+ @view_model.meter_type,
52
+ @view_model.report_type,
53
+ ),
54
+ environment_impact_current: @view_model.environmental_impact_current,
55
+ environment_impact_potential:
56
+ @view_model.environmental_impact_potential,
57
+ extension_count: @view_model.extensions_count,
58
+ fixed_lighting_outlets_count: @view_model.fixed_lighting_outlets_count,
59
+ flat_top_storey: @view_model.top_storey,
60
+ flat_storey_count: @view_model.storey_count,
61
+ floor_description: @view_model.all_floor_descriptions.first,
62
+ floor_energy_eff:
63
+ Helper::XmlEnumsToOutput.energy_rating_string(
64
+ @view_model.all_floor_energy_efficiency_rating.first,
65
+ ),
66
+ floor_env_eff:
67
+ Helper::XmlEnumsToOutput.energy_rating_string(
68
+ @view_model.all_floor_env_energy_efficiency_rating.first,
69
+ ),
70
+ floor_height: @view_model.floor_height.first,
71
+ floor_level: @view_model.floor_level,
72
+ glazed_area:
73
+ Helper::XmlEnumsToOutput.glazed_area_rdsap(@view_model.glazed_area),
74
+ glazed_type:
75
+ Helper::XmlEnumsToOutput.glazed_type_rdsap(
76
+ @view_model.multi_glazing_type,
77
+ ),
78
+ heat_loss_corridor:
79
+ Helper::XmlEnumsToOutput.heat_loss_corridor(
80
+ @view_model.heat_loss_corridor,
81
+ ),
82
+ heating_cost_current: @view_model.heating_cost_current,
83
+ heating_cost_potential: @view_model.heating_cost_potential,
84
+ hot_water_cost_current: @view_model.hot_water_cost_current,
85
+ hot_water_cost_potential: @view_model.hot_water_cost_potential,
86
+ hot_water_energy_eff:
87
+ Helper::XmlEnumsToOutput.energy_rating_string(
88
+ @view_model.hot_water_energy_efficiency_rating,
89
+ ),
90
+ hot_water_env_eff:
91
+ Helper::XmlEnumsToOutput.energy_rating_string(
92
+ @view_model.hot_water_environmental_efficiency_rating,
93
+ ),
94
+ hotwater_description: @view_model.hot_water_description,
95
+ inspection_date: @view_model.date_of_assessment,
96
+ lighting_cost_current: @view_model.lighting_cost_current,
97
+ lighting_cost_potential: @view_model.lighting_cost_potential,
98
+ lighting_description: @view_model.lighting_description,
99
+ lighting_energy_eff:
100
+ Helper::XmlEnumsToOutput.energy_rating_string(
101
+ @view_model.lighting_energy_efficiency_rating,
102
+ ),
103
+ lighting_env_eff:
104
+ Helper::XmlEnumsToOutput.energy_rating_string(
105
+ @view_model.lighting_environmental_efficiency_rating,
106
+ ),
107
+ low_energy_lighting: @view_model.low_energy_lighting,
108
+ low_energy_fixed_lighting_outlets_count:
109
+ @view_model.low_energy_fixed_lighting_outlets_count,
110
+ main_fuel:
111
+ Helper::XmlEnumsToOutput.main_fuel_rdsap(@view_model.main_fuel_type),
112
+ mainheat_description:
113
+ @view_model.all_main_heating_descriptions.join(", "),
114
+ mainheat_energy_eff:
115
+ Helper::XmlEnumsToOutput.energy_rating_string(
116
+ @view_model.all_main_heating_energy_efficiency.first,
117
+ ),
118
+ mainheat_env_eff:
119
+ Helper::XmlEnumsToOutput.energy_rating_string(
120
+ @view_model.all_main_heating_environmental_efficiency.first,
121
+ ),
122
+ mainheatc_energy_eff:
123
+ Helper::XmlEnumsToOutput.energy_rating_string(
124
+ @view_model.all_main_heating_controls_energy_efficiency.first,
125
+ ),
126
+ mainheatc_env_eff:
127
+ Helper::XmlEnumsToOutput.energy_rating_string(
128
+ @view_model.all_main_heating_controls_environmental_efficiency.first,
129
+ ),
130
+ mainheatcont_description:
131
+ @view_model.all_main_heating_controls_descriptions.first,
132
+ mains_gas_flag: @view_model.mains_gas,
133
+ mechanical_ventilation:
134
+ Helper::XmlEnumsToOutput.mechanical_ventilation(
135
+ @view_model.mechanical_ventilation,
136
+ @schema_type,
137
+ @report_type,
138
+ ),
139
+ mech_vent_sys_index_number: nil,
140
+ mechanical_vent_data_source: nil,
141
+ multi_glaze_proportion: @view_model.multiple_glazed_proportion,
142
+ number_habitable_rooms: @view_model.habitable_room_count,
143
+ number_heated_rooms: @view_model.heated_room_count,
144
+ number_open_fireplaces: @view_model.open_fireplaces_count,
145
+ photo_supply: @view_model.photovoltaic_roof_area_percent,
146
+ posttown: @view_model.town,
147
+ postcode: @view_model.postcode,
148
+ potential_energy_efficiency:
149
+ @view_model.potential_energy_rating.to_s.chomp,
150
+ potential_energy_rating:
151
+ Helper::EnergyBandCalculator.domestic(
152
+ @view_model.potential_energy_rating,
153
+ ),
154
+ property_type:
155
+ Helper::XmlEnumsToOutput.property_type(@view_model.property_type),
156
+ report_type: @view_model.report_type,
157
+ roof_description: @view_model.all_roof_descriptions.first,
158
+ roof_energy_eff:
159
+ Helper::XmlEnumsToOutput.energy_rating_string(
160
+ @view_model.all_roof_energy_efficiency_rating.first,
161
+ ),
162
+ roof_env_eff:
163
+ Helper::XmlEnumsToOutput.energy_rating_string(
164
+ @view_model.all_roof_env_energy_efficiency_rating.first,
165
+ ),
166
+ secondheat_description: @view_model.secondary_heating_description,
167
+ sheating_energy_eff:
168
+ Helper::XmlEnumsToOutput.energy_rating_string(
169
+ @view_model.secondary_heating_energy_efficiency_rating,
170
+ ),
171
+ sheating_env_eff:
172
+ Helper::XmlEnumsToOutput.energy_rating_string(
173
+ @view_model.secondary_heating_environmental_efficiency_rating,
174
+ ),
175
+ solar_water_heating_flag: @view_model.solar_water_heating_flag,
176
+ tenure: Helper::XmlEnumsToOutput.tenure(@view_model.tenure),
177
+ thermal_store: nil,
178
+ total_floor_area: @view_model.total_floor_area,
179
+ transaction_type:
180
+ Helper::XmlEnumsToOutput.transaction_type(
181
+ @view_model.transaction_type,
182
+ ),
183
+ unheated_corridor_length: @view_model.unheated_corridor_length,
184
+ walls_description: @view_model.all_wall_descriptions.first,
185
+ walls_energy_eff:
186
+ Helper::XmlEnumsToOutput.energy_rating_string(
187
+ @view_model.all_wall_energy_efficiency_rating.first,
188
+ ),
189
+ walls_env_eff:
190
+ Helper::XmlEnumsToOutput.energy_rating_string(
191
+ @view_model.all_wall_env_energy_efficiency_rating.first,
192
+ ),
193
+ wind_turbine_count: @view_model.wind_turbine_count,
194
+ windows_description: @view_model.window_description,
195
+ windows_energy_eff:
196
+ Helper::XmlEnumsToOutput.energy_rating_string(
197
+ @view_model.window_energy_efficiency_rating,
198
+ ),
199
+ windows_env_eff:
200
+ Helper::XmlEnumsToOutput.energy_rating_string(
201
+ @view_model.window_environmental_efficiency_rating,
202
+ ),
203
+
204
+ }
205
+ end
206
+
17
207
  def report_from_assessment_xml
18
208
  {
19
209
  assessment_id: Helper::RrnHelper.hash_rrn(@view_model.assessment_id),
@@ -28,6 +218,7 @@ module Presenter
28
218
  Helper::XmlEnumsToOutput.construction_age_band_lookup(
29
219
  @view_model.main_dwelling_construction_age_band_or_year,
30
220
  @schema_type,
221
+ @view_model.report_type,
31
222
  ),
32
223
  current_energy_rating:
33
224
  Helper::EnergyBandCalculator.domestic(
@@ -154,13 +345,17 @@ module Presenter
154
345
  @view_model.all_wall_env_energy_efficiency_rating.first,
155
346
  ),
156
347
  energy_tariff:
157
- Helper::XmlEnumsToOutput.energy_tariff(@view_model.meter_type),
348
+ Helper::XmlEnumsToOutput.energy_tariff(
349
+ @view_model.meter_type,
350
+ @view_model.report_type,
351
+ ),
158
352
  floor_level: @view_model.floor_level,
159
353
  solar_water_heating_flag: @view_model.solar_water_heating_flag,
160
354
  mechanical_ventilation:
161
355
  Helper::XmlEnumsToOutput.mechanical_ventilation(
162
356
  @view_model.mechanical_ventilation,
163
357
  @schema_type,
358
+ @view_model.report_type,
164
359
  ),
165
360
  floor_height: @view_model.floor_height.first,
166
361
  main_fuel: