From bc35141a6d3115b7eacf69c0c6bdf29c329d6932 Mon Sep 17 00:00:00 2001 From: Stefanie Date: Fri, 2 Jul 2021 12:53:23 +0200 Subject: [PATCH 1/2] DEV-637 added LEG-single into database for PDF generation --- app/pdfs/invoice.rb | 2 + app/pdfs/invoice.slim | 59 ++++++++++++------- .../068_add_leg_single_to_billing_detail.rb | 11 ++++ .../resources/billing_detail_resource.rb | 3 +- .../schemas/constraints/billing_detail.rb | 2 + .../admin/billing_detail/update.rb | 1 + 6 files changed, 57 insertions(+), 21 deletions(-) create mode 100644 db/migrate/068_add_leg_single_to_billing_detail.rb 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..0642cb67c 100644 --- a/app/pdfs/invoice.slim +++ b/app/pdfs/invoice.slim @@ -144,7 +144,9 @@ 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}
+ + + h2.clear #{leg_single ? 'Direktstromlieferung' : 'Lokale Energiegruppe'} #{localpool.name}: Strom #{billing_type} #{billing_year}
Rechnungsnummer: #{billing.number} table.no-border tr @@ -161,7 +163,7 @@ 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}: + p vielen Dank, dass Sie aus der #{leg_single ? '' : 'Energiegruppe'} #{localpool.name} Strom #{tense}. Dies ist Ihre Stromrechnung #{billing_year}: div h2 Bezugsmenge - items.each do |item| @@ -262,7 +264,7 @@ html div.log - unless billing_ends_contract h2 Ihre Vertragskonditionen - p Die aktuellen Preise für Ihren Vertrag in der Energiegruppe #{localpool.name} betragen:
+ p Die aktuellen Preise für Ihren Vertrag in der #{leg_single ? '' : '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) @@ -284,11 +286,12 @@ html 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 + / chart goes here + - if leg_single == false + 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 +299,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 +340,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 +393,17 @@ html div.bc-chart-container.col-half div.bc-legend-container.col-half div.clear + div.col-2nd.is-pull-right.no-margin + p Entspricht bei nicht zertifiziertem PV Anlagen dem ETSO-E Energieträgermix + p Mit Zertifizierung 100% Sonstige erneuerbare Energien + div.clear + + / table.no-border.full-width + / tr + / td + / td - Entspricht bei nicht zertifiziertem PV Anlagen dem ETSO-E Energieträgermix + / / td - Mit Zertifizierung 100% Sonstige erneuerbare Energien + / div.clear h2 Umweltauswirkungen je Kilowattstunde div.narrow table.no-border.full-width diff --git a/db/migrate/068_add_leg_single_to_billing_detail.rb b/db/migrate/068_add_leg_single_to_billing_detail.rb new file mode 100644 index 000000000..321519c2f --- /dev/null +++ b/db/migrate/068_add_leg_single_to_billing_detail.rb @@ -0,0 +1,11 @@ +class AddLegSingleToBillingDetail < ActiveRecord::Migration + + def up + add_column :billing_details, :leg_single, :boolean + end + + def down + remove_column :billing_details, :leg_single + end + +end \ No newline at end of file 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/constraints/billing_detail.rb b/lib/buzzn/schemas/constraints/billing_detail.rb index 753d0f6db..3e021baea 100644 --- a/lib/buzzn/schemas/constraints/billing_detail.rb +++ b/lib/buzzn/schemas/constraints/billing_detail.rb @@ -2,8 +2,10 @@ Schemas::Constraints::BillingDetail = Schemas::Support.Form do required(:issues_vat).value(:bool?) + required(:leg_single).value(:bool?) required(:reduced_power_amount).value(:float?, gteq?: 0) required(:reduced_power_factor).value(:float?, gteq?: 0, lt?: 1) required(:automatic_abschlag_adjust).value(:bool?) required(:automatic_abschlag_threshold_cents).value(:float?, gteq?: 0) + optional(:leg_single).value(:bool?) 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 d5dea7da92026d3453adb0307de2f6b6e9cec190 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jul 2021 23:43:44 +0000 Subject: [PATCH 2/2] Bump addressable from 2.7.0 to 2.8.0 Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.7.0 to 2.8.0. - [Release notes](https://github.com/sporkmonger/addressable/releases) - [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md) - [Commits](https://github.com/sporkmonger/addressable/compare/addressable-2.7.0...addressable-2.8.0) --- updated-dependencies: - dependency-name: addressable dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9eaba84cf..851717a67 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -35,7 +35,7 @@ GEM minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - addressable (2.7.0) + addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) arel (6.0.4) ast (2.4.0) @@ -248,7 +248,7 @@ GEM pry-stack_explorer (0.4.9.3) binding_of_caller (>= 0.7) pry (>= 0.9.11) - public_suffix (4.0.3) + public_suffix (4.0.6) puma (4.3.8) nio4r (~> 2.0) rack (1.6.13)