epb_view_models 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: