From a26cbce01c178bc698cf7e4a2cafc192d6f72d4a Mon Sep 17 00:00:00 2001 From: Stefanie Date: Thu, 15 Jul 2021 14:38:08 +0200 Subject: [PATCH 1/3] DEV-637 added leg_single migration --- db/migrate/068_add_leg_single_to_billing_details.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 db/migrate/068_add_leg_single_to_billing_details.rb diff --git a/db/migrate/068_add_leg_single_to_billing_details.rb b/db/migrate/068_add_leg_single_to_billing_details.rb new file mode 100644 index 000000000..195a3eba8 --- /dev/null +++ b/db/migrate/068_add_leg_single_to_billing_details.rb @@ -0,0 +1,11 @@ +class AddLegSingleToBillingDetails < ActiveRecord::Migration + + def up + add_column :billing_details, :leg_single, :boolean, :default => false + end + + def down + remove_column :billing_details, :leg_single + end + +end From 52aa383bd799e48a5f78fb482998bdf4e86055e4 Mon Sep 17 00:00:00 2001 From: Stefanie Date: Thu, 15 Jul 2021 15:25:31 +0200 Subject: [PATCH 2/3] DEV-637 added leg_single to transaction schema, model, resources --- app/models/billing_detail.rb | 1 + lib/buzzn/resources/billing_detail_resource.rb | 3 ++- lib/buzzn/schemas/transactions/admin/billing_detail/update.rb | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/models/billing_detail.rb b/app/models/billing_detail.rb index 3982984c2..a9dbd0081 100644 --- a/app/models/billing_detail.rb +++ b/app/models/billing_detail.rb @@ -5,6 +5,7 @@ class BillingDetail < ActiveRecord::Base def self.defaults { issues_vat: false, + leg_single: false, reduced_power_amount: 0, reduced_power_factor: 0, automatic_abschlag_adjust: false, diff --git a/lib/buzzn/resources/billing_detail_resource.rb b/lib/buzzn/resources/billing_detail_resource.rb index 8dc6c47f9..eca3cca92 100644 --- a/lib/buzzn/resources/billing_detail_resource.rb +++ b/lib/buzzn/resources/billing_detail_resource.rb @@ -6,6 +6,7 @@ class BillingDetailResource < Buzzn::Resource::Entity :reduced_power_factor, :automatic_abschlag_adjust, :automatic_abschlag_threshold_cents, - :issues_vat + :issues_vat, + :leg_single end diff --git a/lib/buzzn/schemas/transactions/admin/billing_detail/update.rb b/lib/buzzn/schemas/transactions/admin/billing_detail/update.rb index 048ec48a3..534ddc36d 100644 --- a/lib/buzzn/schemas/transactions/admin/billing_detail/update.rb +++ b/lib/buzzn/schemas/transactions/admin/billing_detail/update.rb @@ -7,4 +7,5 @@ optional(:automatic_abschlag_adjust).filled(:bool?) optional(:automatic_abschlag_threshold_cents).filled(:float?).value(gteq?: 0) optional(:issues_vat).filled(:bool?) + optional(:leg_single).filled(:bool?) end From f552745b0d115620e5c8f5a58b4f22ec1570373c Mon Sep 17 00:00:00 2001 From: Stefanie Date: Mon, 9 Aug 2021 15:03:32 +0200 Subject: [PATCH 3/3] DEV-637 added leg_single to invoice documents --- app/pdfs/invoice.rb | 2 ++ app/pdfs/invoice.slim | 79 ++++++++++++++++++++++++++++--------------- 2 files changed, 53 insertions(+), 28 deletions(-) diff --git a/app/pdfs/invoice.rb b/app/pdfs/invoice.rb index a437e1d10..d5339deb0 100644 --- a/app/pdfs/invoice.rb +++ b/app/pdfs/invoice.rb @@ -19,6 +19,7 @@ def build_struct sales_tax_number: processing_contract.sales_tax_number, tax_number: processing_contract.tax_number, issues_vat: contract.localpool.billing_detail.issues_vat, + leg_single: contract.localpool.billing_detail.leg_single == nil ? false : contract.localpool.billing_detail.leg_single, contractor: build_contractor, powertaker: build_powertaker, no_contact: contact(powertaker).nil?, @@ -214,6 +215,7 @@ def calculate_taxes(amount_brutto, vat) def build_billing issues_vat = contract.localpool.billing_detail.issues_vat + leg_single = contract.localpool.billing_detail.leg_single == nil ? false : contract.localpool.billing_detail.leg_single vat = Vat.current.amount { date: @billing.last_date, diff --git a/app/pdfs/invoice.slim b/app/pdfs/invoice.slim index 2e4767fa9..85690f352 100644 --- a/app/pdfs/invoice.slim +++ b/app/pdfs/invoice.slim @@ -144,8 +144,13 @@ html p i #{powertaker.email} p.is-pull-right #{contractor.city}, den #{Date.today.strftime("%d.%m.%Y")} - h2.clear Lokale Energiegruppe #{localpool.name}: Strom #{billing_type} #{billing_year}
- Rechnungsnummer: #{billing.number} + + - if leg_single + h2.clear Direktstromlieferung LEG Single: Strom #{billing_type} #{billing_year}
+ Rechnungsnummer: #{billing.number} + - else + h2.clear Lokale Energiegruppe #{localpool.name}: Strom #{billing_type} #{billing_year}
+ Rechnungsnummer: #{billing.number} table.no-border tr td.no-border.no-padding Vertragsnummer: @@ -161,7 +166,10 @@ html td.no-border.no-padding.pl #{billing_year} p #{powertaker.addressing}, - p vielen Dank, dass Sie aus der Energiegruppe #{localpool.name} Strom #{tense}. Dies ist Ihre Stromrechnung #{billing_year}: + - if leg_single + p vielen Dank, dass Sie LEG Single Strom #{tense}. Dies ist Ihre Stromrechnung #{billing_year}: + - else + p vielen Dank, dass Sie aus der Energiegruppe #{localpool.name} Strom #{tense}. Dies ist Ihre Stromrechnung #{billing_year}: div h2 Bezugsmenge - items.each do |item| @@ -262,9 +270,12 @@ html div.log - unless billing_ends_contract h2 Ihre Vertragskonditionen - p Die aktuellen Preise für Ihren Vertrag in der Energiegruppe #{localpool.name} betragen:
- Grundpreis, (Grundpreis netto): #{current_tariff.baseprice_euros_per_month_brutto} €/Monat, (#{current_tariff.baseprice_euros_per_month_netto} €/Monat)
- Arbeitspreis, (Arbeitspreis netto): #{current_tariff.energyprice_cents_per_kwh_brutto} Cent/kWh, (#{current_tariff.energyprice_cents_per_kwh_netto} Cent/kWh) + - if leg_single + p Die aktuellen Preise für Ihren Vertrag LEG Single betragen:
+ - else + p Die aktuellen Preise für Ihren Vertrag in der Energiegruppe #{localpool.name} betragen:
+ Grundpreis, (Grundpreis netto): #{current_tariff.baseprice_euros_per_month_brutto} €/Monat, (#{current_tariff.baseprice_euros_per_month_netto} €/Monat)
+ Arbeitspreis, (Arbeitspreis netto): #{current_tariff.energyprice_cents_per_kwh_brutto} Cent/kWh, (#{current_tariff.energyprice_cents_per_kwh_netto} Cent/kWh) p == abschlag.satz @@ -279,16 +290,17 @@ html br br br - h2 Verbrauchsvergleich - - if contractor.name == 'Isarwatt eG' - p Der Gesetzgeber verpflichtet uns, darzustellen, wie hoch Ihr Jahresbezug im Vergleich zu einem Referenzwert ist. - - else - p Der Gesetzgeber verpflichtet uns, darzustellen, wie hoch Ihr Jahresbezug im Vergleich zu einem Referenzwert ist. Dieser Vergleich, den Sie der Grafik entnehmen können, hinkt natürlich, da er die äußeren Gegebenheiten eines Haushaltes, zum Beispiel elektrische Warmwasserbereitung, nicht berücksichtigt. - / chart goes here - div#chart-one.bc-chart.horizontal.is-small - div.bc-chart-container - p.is-small Quelle: Statistisches Bundesamt
- Sofern kein volles Jahr Strom bezogen wurde, wird die Strommenge auf ein ganzes Jahr hochgerechnet + - if leg_single == false + h2 Verbrauchsvergleich + - if contractor.name == 'Isarwatt eG' + p Der Gesetzgeber verpflichtet uns, darzustellen, wie hoch Ihr Jahresbezug im Vergleich zu einem Referenzwert ist. + - else + p Der Gesetzgeber verpflichtet uns, darzustellen, wie hoch Ihr Jahresbezug im Vergleich zu einem Referenzwert ist. Dieser Vergleich, den Sie der Grafik entnehmen können, hinkt natürlich, da er die äußeren Gegebenheiten eines Haushaltes, zum Beispiel elektrische Warmwasserbereitung, nicht berücksichtigt. + / chart goes here + div#chart-one.bc-chart.horizontal.is-small + div.bc-chart-container + p.is-small Quelle: Statistisches Bundesamt
+ Sofern kein volles Jahr Strom bezogen wurde, wird die Strommenge auf ein ganzes Jahr hochgerechnet div.wrapper ////// Energy Report (start) ///// div.log @@ -296,18 +308,22 @@ html p Nachfolgend einige Fakten und Kennzahlen zu Ihrer Energiegruppe #{localpool.name} für das Jahr #{billing_year}: table.no-border.energy-report tr - td.sand - p - | Autarkiegrad (wieviel des insgesamt verbrauchten Stroms wurde vor Ort produziert?) - p.is-larger #{energy_report.self_sufficiency_report} % + - if leg_single == false + td.sand + p + | Autarkiegrad (wieviel des insgesamt verbrauchten Stroms wurde vor Ort produziert?) + p.is-larger #{energy_report.self_sufficiency_report} % + - else + td td.mint p | Lokalität (wie groß ist die Entfernung zwischen Stromerzeugungsanlage[n] und Verbrauchsstellen?) p.is-larger O km - td.custard - p - | Nutzungsgrad (wieviel des lokal produzierten Stroms wurde vor Ort verbraucht?) - p.is-larger #{energy_report.utilization_report} % + - if leg_single == false + td.custard + p + | Nutzungsgrad (wieviel des lokal produzierten Stroms wurde vor Ort verbraucht?) + p.is-larger #{energy_report.utilization_report} % tr td.sky p @@ -333,10 +349,11 @@ html - else p.is-medium #{energy_report.tech} tr - td.cornflower - p - | Reststrom (von welchem Lieferant stammt der Reststrom über das öffentliche Netz?) - p.is-larger #{energy_report.electricity_supplier=='Buzzn GmbH' ? 'BUZZN GmbH' : energy_report.electricity_supplier} + - if leg_single == false + td.cornflower + p + | Reststrom (von welchem Lieferant stammt der Reststrom über das öffentliche Netz?) + p.is-larger #{energy_report.electricity_supplier=='Buzzn GmbH' ? 'BUZZN GmbH' : energy_report.electricity_supplier} td.glass / p / | Autarkiegrad (wieviel des insgesamt verbrauchten Stroms wurde vor Ort produziert?) @@ -385,6 +402,12 @@ html div.bc-chart-container.col-half div.bc-legend-container.col-half div.clear + div.col-2nd.is-pull-right.no-margin + - if leg_single + p Entspricht bei nicht zertifizierten PV Anlagen dem ENTSO-E Energieträgermix + p Mit Zertifizierung 100% Sonstige erneuerbare Energien + div.clear + h2 Umweltauswirkungen je Kilowattstunde div.narrow table.no-border.full-width