From 88c7f649010367ad65feb33540fe0f0ae2904908 Mon Sep 17 00:00:00 2001 From: mpeltriaux Date: Tue, 19 Oct 2021 13:34:33 +0200 Subject: [PATCH] #26 Annual conservation report * finishes compensation analysis report --- .../templates/analysis/reports/detail.html | 2 +- .../reports/includes/compensation/amount.html | 55 +++++++ .../{ => compensation}/card_compensation.html | 2 +- .../reports/includes/intervention/amount.html | 20 +-- .../includes/intervention/compensated_by.html | 10 +- .../reports/includes/intervention/laws.html | 4 +- analysis/utils/report.py | 140 ++++++++++++++++++ locale/de/LC_MESSAGES/django.mo | Bin 25882 -> 26230 bytes locale/de/LC_MESSAGES/django.po | 76 +++++++--- 9 files changed, 266 insertions(+), 43 deletions(-) create mode 100644 analysis/templates/analysis/reports/includes/compensation/amount.html rename analysis/templates/analysis/reports/includes/{ => compensation}/card_compensation.html (90%) diff --git a/analysis/templates/analysis/reports/detail.html b/analysis/templates/analysis/reports/detail.html index 219ad46d..f90acdaf 100644 --- a/analysis/templates/analysis/reports/detail.html +++ b/analysis/templates/analysis/reports/detail.html @@ -10,7 +10,7 @@
{% include 'analysis/reports/includes/intervention/card_intervention.html' %} - {% include 'analysis/reports/includes/card_compensation.html' %} + {% include 'analysis/reports/includes/compensation/card_compensation.html' %} {% include 'analysis/reports/includes/card_eco_account.html' %} {% include 'analysis/reports/includes/card_old_interventions.html' %}
diff --git a/analysis/templates/analysis/reports/includes/compensation/amount.html b/analysis/templates/analysis/reports/includes/compensation/amount.html new file mode 100644 index 00000000..27b79f65 --- /dev/null +++ b/analysis/templates/analysis/reports/includes/compensation/amount.html @@ -0,0 +1,55 @@ +{% load i18n fontawesome_5 ksp_filters %} + +

{% trans 'Amount' %}

+ + {% blocktrans %} + Checked = Has been checked by the registration office according to LKompVzVo + {% endblocktrans %} +
+ {% blocktrans %} + Recorded = Has been checked and published by the conservation office + {% endblocktrans %} +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{% trans 'Area of responsibility' %}{% fa5_icon 'star' %} {% trans 'Checked' %}{% fa5_icon 'bookmark' %} {% trans 'Recorded' %}{% trans 'Number single areas' %}{% trans 'Total' %}
{% trans 'Conservation office by law' %}{{report.compensation_report.queryset_registration_office_unb_checked.count|default_if_zero:"-"}}{{report.compensation_report.queryset_registration_office_unb_recorded.count|default_if_zero:"-"}}{{report.compensation_report.num_single_surfaces_total_unb|default_if_zero:"-"}}{{report.compensation_report.queryset_registration_office_unb.count|default_if_zero:"-"}}
{% trans 'Land-use planning' %}{{report.compensation_report.queryset_registration_office_tbp_checked.count|default_if_zero:"-"}}{{report.compensation_report.queryset_registration_office_tbp_recorded.count|default_if_zero:"-"}}{{report.compensation_report.num_single_surfaces_total_tbp|default_if_zero:"-"}}{{report.compensation_report.queryset_registration_office_tbp.count|default_if_zero:"-"}}
{% trans 'Other registration office' %}{{report.compensation_report.queryset_registration_office_other_checked.count|default_if_zero:"-"}}{{report.compensation_report.queryset_registration_office_other_recorded.count|default_if_zero:"-"}}{{report.compensation_report.num_single_surfaces_total_other|default_if_zero:"-"}}{{report.compensation_report.queryset_registration_office_other.count|default_if_zero:"-"}}
{% trans 'Total' %}{{report.compensation_report.queryset_checked.count|default_if_zero:"-"}}{{report.compensation_report.queryset_recorded.count|default_if_zero:"-"}}{{report.compensation_report.num_single_surfaces_total|default_if_zero:"-"}}{{report.compensation_report.queryset.count|default_if_zero:"-"}}
+
\ No newline at end of file diff --git a/analysis/templates/analysis/reports/includes/card_compensation.html b/analysis/templates/analysis/reports/includes/compensation/card_compensation.html similarity index 90% rename from analysis/templates/analysis/reports/includes/card_compensation.html rename to analysis/templates/analysis/reports/includes/compensation/card_compensation.html index 24d0eabf..8fe2eec4 100644 --- a/analysis/templates/analysis/reports/includes/card_compensation.html +++ b/analysis/templates/analysis/reports/includes/compensation/card_compensation.html @@ -15,7 +15,7 @@
- {% include 'form/table/generic_table_form_body.html' %} + {% include 'analysis/reports/includes/compensation/amount.html' %}
diff --git a/analysis/templates/analysis/reports/includes/intervention/amount.html b/analysis/templates/analysis/reports/includes/intervention/amount.html index 8ecbe018..e2b94a31 100644 --- a/analysis/templates/analysis/reports/includes/intervention/amount.html +++ b/analysis/templates/analysis/reports/includes/intervention/amount.html @@ -13,18 +13,18 @@
- - - - - + + + + + - - - - - + + + + +
{% trans 'Total' %}{% fa5_icon 'star' %} {% trans 'Checked' %}{% fa5_icon 'bookmark' %} {% trans 'Recorded' %}
{% fa5_icon 'star' %} {% trans 'Checked' %}{% fa5_icon 'bookmark' %} {% trans 'Recorded' %}{% trans 'Total' %}
{{report.intervention_report.queryset.count|default_if_zero:"-"}}{{report.intervention_report.queryset_checked.count|default_if_zero:"-"}}{{report.intervention_report.queryset_recorded.count|default_if_zero:"-"}}
{{report.intervention_report.queryset_checked.count|default_if_zero:"-"}}{{report.intervention_report.queryset_recorded.count|default_if_zero:"-"}}{{report.intervention_report.queryset.count|default_if_zero:"-"}}
\ No newline at end of file diff --git a/analysis/templates/analysis/reports/includes/intervention/compensated_by.html b/analysis/templates/analysis/reports/includes/intervention/compensated_by.html index 8608f113..c6be40cc 100644 --- a/analysis/templates/analysis/reports/includes/intervention/compensated_by.html +++ b/analysis/templates/analysis/reports/includes/intervention/compensated_by.html @@ -5,29 +5,29 @@ {% trans 'Compensation type' %} + {% fa5_icon 'star' %} {% trans 'Checked' %} + {% fa5_icon 'bookmark' %} {% trans 'Recorded' %} {% trans 'Total' %} - {% trans 'Checked' %} - {% trans 'Recorded' %} {% trans 'Compensation' %} - {{report.intervention_report.compensation_sum|default_if_zero:"-"}} {{report.intervention_report.compensation_sum_checked|default_if_zero:"-"}} {{report.intervention_report.compensation_sum_recorded|default_if_zero:"-"}} + {{report.intervention_report.compensation_sum|default_if_zero:"-"}} {% trans 'Payment' %} - {{report.intervention_report.payment_sum|default_if_zero:"-"}} {{report.intervention_report.payment_sum_checked|default_if_zero:"-"}} {{report.intervention_report.payment_sum_recorded|default_if_zero:"-"}} + {{report.intervention_report.payment_sum|default_if_zero:"-"}} {% trans 'Deductions' %} - {{report.intervention_report.deduction_sum|default_if_zero:"-"}} {{report.intervention_report.deduction_sum_checked|default_if_zero:"-"}} {{report.intervention_report.deduction_sum_recorded|default_if_zero:"-"}} + {{report.intervention_report.deduction_sum|default_if_zero:"-"}} diff --git a/analysis/templates/analysis/reports/includes/intervention/laws.html b/analysis/templates/analysis/reports/includes/intervention/laws.html index 8e04341c..e310197f 100644 --- a/analysis/templates/analysis/reports/includes/intervention/laws.html +++ b/analysis/templates/analysis/reports/includes/intervention/laws.html @@ -14,10 +14,10 @@ {% trans 'Law' %} - {% trans 'Checked' %} + {% fa5_icon 'star' %} {% trans 'Checked' %} - {% trans 'Recorded' %} + {% fa5_icon 'bookmark' %} {% trans 'Recorded' %} {% trans 'Total' %} diff --git a/analysis/utils/report.py b/analysis/utils/report.py index fbc88520..ce5d895a 100644 --- a/analysis/utils/report.py +++ b/analysis/utils/report.py @@ -5,12 +5,14 @@ Contact: michel.peltriaux@sgdnord.rlp.de Created on: 18.10.21 """ +from django.contrib.gis.db.models.functions import NumGeometries from django.db.models import Count, Sum, Q from codelist.models import KonovaCode from codelist.settings import CODELIST_LAW_ID from compensation.models import Compensation, Payment, EcoAccountDeduction from intervention.models import Intervention +from konova.models import Geometry class TimespanReport: @@ -122,6 +124,144 @@ class TimespanReport: self.deduction_sum_checked = deductions.filter(intervention__checked__isnull=False).count() self.deduction_sum_recorded = deductions.filter(intervention__recorded__isnull=False).count() + class CompensationReport: + queryset = Compensation.objects.none() + queryset_checked = Compensation.objects.none() + queryset_recorded = Compensation.objects.none() + + queryset_registration_office_unb = Compensation.objects.none() + queryset_registration_office_unb_checked = Compensation.objects.none() + queryset_registration_office_unb_recorded = Compensation.objects.none() + num_single_surfaces_total_unb = -1 + + queryset_registration_office_tbp = Compensation.objects.none() + queryset_registration_office_tbp_checked = Compensation.objects.none() + queryset_registration_office_tbp_recorded = Compensation.objects.none() + num_single_surfaces_total_tbp = -1 + + queryset_registration_office_other = Compensation.objects.none() + queryset_registration_office_other_checked = Compensation.objects.none() + queryset_registration_office_other_recorded = Compensation.objects.none() + num_single_surfaces_total_other = -1 + + num_single_surfaces_total = -1 + num_single_surfaces_recorded = -1 + + # Code list id for 'Träger der Bauleitplanung' parent + id_tbp = 1943695 + # Code list id for 'untere Naturschutzbehörde' + id_unb = 1943087 + # Code list id for 'obere Naturschutzbehörde' + id_onb = 1943084 + + def __init__(self, id: str): + self.queryset = Compensation.objects.filter( + intervention__responsible__conservation_office__id=id, + deleted=None, + ) + self.queryset_checked = self.queryset.filter( + intervention__checked__isnull=False + ) + self.queryset_recorded = self.queryset.filter( + intervention__recorded__isnull=False + ) + self._create_report() + + def _create_report(self): + """ Creates all report information + + Returns: + + """ + self._evaluate_compensation_responsibility() + self._evaluate_surfaces() + + def _evaluate_surfaces(self): + """ Evaluates the surfaces of compensation Multipolygon fields + + Returns: + + """ + # Evaluate all surfaces + ids = self.queryset.values_list("geometry_id") + self.num_single_surfaces_total = self._count_geometry_surfaces(ids) + + # Evaluate surfaces where the conservation office is the registration office as well + ids = self.queryset_registration_office_unb.values_list("geometry_id") + self.num_single_surfaces_total_unb = self._count_geometry_surfaces(ids) + + # Evaluates surfaces where the registration office is a Träger Bauleitplanung + ids = self.queryset_registration_office_tbp.values_list("geometry_id") + self.num_single_surfaces_total_tbp = self._count_geometry_surfaces(ids) + + # Evaluates surfaces where any other registration office is responsible + ids = self.queryset_registration_office_other.values_list("geometry_id") + self.num_single_surfaces_total_other = self._count_geometry_surfaces(ids) + + def _count_geometry_surfaces(self, ids: list): + """ Wraps counting of geometry surfaces from a given list of ids + + Args: + ids (list): List of geometry ids + + Returns: + + """ + # Now select all geometries matching the ids + # Then perform a ST_NumGeometries variant over all geometries + # Then sum up all of the calculated surface numbers + return Geometry.objects.filter( + id__in=ids + ).annotate( + num=NumGeometries("geom") + ).aggregate( + num_geoms=Sum("num") + )["num_geoms"] or 0 + + def _evaluate_compensation_responsibility(self): + """ Evaluates compensations based on different responsibility areas + + unb -> Untere Naturschutzbehörde + Holds entries where conservation_office and registration_office basically are the same + tbp -> Träger Bauleitplanung + Holds entries where registration_office is a Träger der Bauleitplanung + other -> Other registration offices + Holds all other entries + + Returns: + + """ + self.queryset_registration_office_unb = self.queryset.filter( + intervention__responsible__registration_office__parent__id=self.id_unb + ) + self.queryset_registration_office_unb_recorded = self.queryset_registration_office_unb.filter( + intervention__recorded__isnull=False, + ) + self.queryset_registration_office_unb_checked = self.queryset_registration_office_unb.filter( + intervention__checked__isnull=False, + ) + + self.queryset_registration_office_tbp = self.queryset.filter( + intervention__responsible__registration_office__parent__id=self.id_tbp + ) + self.queryset_registration_office_tbp_recorded = self.queryset_registration_office_tbp.filter( + intervention__recorded__isnull=False, + ) + self.queryset_registration_office_tbp_checked = self.queryset_registration_office_tbp.filter( + intervention__checked__isnull=False, + ) + + self.queryset_registration_office_other = self.queryset.exclude( + Q(id__in=self.queryset_registration_office_tbp) | Q(id__in=self.queryset_registration_office_unb) + ) + self.queryset_registration_office_other_recorded = self.queryset_registration_office_other.filter( + intervention__recorded__isnull=False, + ) + self.queryset_registration_office_other_checked = self.queryset_registration_office_other.filter( + intervention__checked__isnull=False, + ) + def __init__(self, office_id: str): self.office_id = office_id self.intervention_report = self.InterventionReport(self.office_id) + self.compensation_report = self.CompensationReport(self.office_id) diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo index 9b21d9f7b429469e5694404e04790d94dbaa2e39..1523b7ae2d3e587da16b406cbee6b727124a13cb 100644 GIT binary patch delta 8499 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 Hx8eT)@!q$6 delta 8166 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 uTkB\n" "Language-Team: LANGUAGE \n" @@ -37,13 +37,6 @@ msgstr "" msgid "Report" msgstr "Bericht" -#: analysis/templates/analysis/reports/includes/card_compensation.html:11 -#: compensation/tables.py:62 -#: intervention/templates/intervention/detail/includes/compensations.html:8 -#: intervention/templates/intervention/report/report.html:49 -msgid "Compensations" -msgstr "Kompensationen" - #: analysis/templates/analysis/reports/includes/card_eco_account.html:11 msgid "Eco-Accounts" msgstr "Ökokonten" @@ -56,6 +49,7 @@ msgstr "Altfälle" msgid "Before" msgstr "Vor" +#: analysis/templates/analysis/reports/includes/compensation/amount.html:3 #: analysis/templates/analysis/reports/includes/intervention/amount.html:3 #: compensation/forms/modalForms.py:351 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:34 @@ -63,6 +57,7 @@ msgstr "Vor" msgid "Amount" msgstr "Menge" +#: analysis/templates/analysis/reports/includes/compensation/amount.html:5 #: analysis/templates/analysis/reports/includes/intervention/amount.html:5 msgid "" "\n" @@ -74,6 +69,7 @@ msgstr "" " Geprüft = Wurde von der zuständigen Zulassungsbehörde überprüft\n" " " +#: analysis/templates/analysis/reports/includes/compensation/amount.html:9 #: analysis/templates/analysis/reports/includes/intervention/amount.html:9 msgid "" "\n" @@ -81,9 +77,53 @@ msgid "" " " msgstr "" "\n" -" Verzeichnet = Wurde von der Eintragungsstelle überprüft und veröffentlicht\n" +" Verzeichnet = Wurde von der Eintragungsstelle überprüft und " +"veröffentlicht\n" " " +#: analysis/templates/analysis/reports/includes/compensation/amount.html:17 +msgid "Area of responsibility" +msgstr "Zuständigkeitsbereich" + +#: analysis/templates/analysis/reports/includes/compensation/amount.html:18 +#: analysis/templates/analysis/reports/includes/compensation/card_compensation.html:11 +#: compensation/tables.py:62 +#: intervention/templates/intervention/detail/includes/compensations.html:8 +#: intervention/templates/intervention/report/report.html:49 +msgid "Compensations" +msgstr "Kompensationen" + +#: analysis/templates/analysis/reports/includes/compensation/amount.html:19 +#: analysis/templates/analysis/reports/includes/intervention/amount.html:19 +#: analysis/templates/analysis/reports/includes/intervention/compensated_by.html:10 +#: analysis/templates/analysis/reports/includes/intervention/laws.html:20 +#: compensation/tables.py:41 compensation/tables.py:181 +#: compensation/templates/compensation/detail/compensation/view.html:57 +#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:31 +#: compensation/templates/compensation/detail/eco_account/view.html:44 +#: ema/tables.py:38 ema/templates/ema/detail/view.html:28 +#: intervention/tables.py:39 +#: intervention/templates/intervention/detail/view.html:82 user/models.py:49 +msgid "Recorded" +msgstr "Verzeichnet" + +#: analysis/templates/analysis/reports/includes/compensation/amount.html:20 +msgid "Number single areas" +msgstr "Einzelflächen" + +#: analysis/templates/analysis/reports/includes/compensation/amount.html:25 +msgid "Conservation office by law" +msgstr "Naturschutzbehörde (§17 Abs.3 BNatSchG)" + +#: analysis/templates/analysis/reports/includes/compensation/amount.html:31 +msgid "Other registration office" +msgstr "Andere Zulassungsbehörden" + +#: analysis/templates/analysis/reports/includes/compensation/amount.html:37 +msgid "Land-use planning" +msgstr "Träger Bauleitplanung" + +#: analysis/templates/analysis/reports/includes/compensation/amount.html:43 #: analysis/templates/analysis/reports/includes/intervention/amount.html:17 #: analysis/templates/analysis/reports/includes/intervention/compensated_by.html:8 #: analysis/templates/analysis/reports/includes/intervention/laws.html:23 @@ -103,19 +143,6 @@ msgstr "Insgesamt" msgid "Checked" msgstr "Geprüft" -#: analysis/templates/analysis/reports/includes/intervention/amount.html:19 -#: analysis/templates/analysis/reports/includes/intervention/compensated_by.html:10 -#: analysis/templates/analysis/reports/includes/intervention/laws.html:20 -#: compensation/tables.py:41 compensation/tables.py:181 -#: compensation/templates/compensation/detail/compensation/view.html:57 -#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:31 -#: compensation/templates/compensation/detail/eco_account/view.html:44 -#: ema/tables.py:38 ema/templates/ema/detail/view.html:28 -#: intervention/tables.py:39 -#: intervention/templates/intervention/detail/view.html:82 user/models.py:49 -msgid "Recorded" -msgstr "Verzeichnet" - #: analysis/templates/analysis/reports/includes/intervention/card_intervention.html:10 #: intervention/tables.py:66 msgid "Interventions" @@ -158,8 +185,9 @@ msgid "" " " msgstr "" "\n" -" Beachten Sie: Ein Eingriff kann mehreren Gesetzen zugeordnet worden sein. Diese Tabelle zählt daher nicht die Eingriffe selbst " -", sondern wie oft ein Gesetz Anwendung fand.\n" +" Beachten Sie: Ein Eingriff kann mehreren Gesetzen zugeordnet worden " +"sein. Diese Tabelle zählt daher nicht die Eingriffe selbst , sondern wie oft " +"ein Gesetz Anwendung fand.\n" " " #: analysis/templates/analysis/reports/includes/intervention/laws.html:14