From cb5d4887f37514e0d79755ba6b1edd118f3dc138 Mon Sep 17 00:00:00 2001 From: salam Date: Mon, 3 Aug 2026 12:00:25 +0200 Subject: [PATCH 1/4] wip --- .../Generate/Tabellen/Nutzwertberechnung.php | 80 +++++++++++++------ composer.lock | 10 +-- 2 files changed, 59 insertions(+), 31 deletions(-) diff --git a/app/Actions/Generate/Tabellen/Nutzwertberechnung.php b/app/Actions/Generate/Tabellen/Nutzwertberechnung.php index 794a1ad..f90f94e 100644 --- a/app/Actions/Generate/Tabellen/Nutzwertberechnung.php +++ b/app/Actions/Generate/Tabellen/Nutzwertberechnung.php @@ -38,12 +38,12 @@ class Nutzwertberechnung $html .= ''; $summe_nutzwert = 0; + $faktor = 1; /** * Normale Wohnnutzflächen */ if (isset($methoden[1])) { $flaeche = 0; - $faktor = 0; foreach ($methoden[1] as $komponente) { $html .= ''; @@ -53,7 +53,7 @@ class Nutzwertberechnung $html .= Html::td($komponente['orientierung'], 'bl'); $html .= Html::td($komponente['type'], 'bl'); $html .= Html::td($komponente['raumart'], 'bl'); - $html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.') . ' m²', 'right bl nowrap'); + $html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m²', 'right bl nowrap'); $html .= Html::td('', 'bl br', 7); $flaeche += $komponente['flaeche']; $html .= ''; @@ -62,14 +62,13 @@ class Nutzwertberechnung $faktor = (100 + $komponente['objekt_nutzwert']) / 100; } - $html .= ''; $html .= Html::td('', 'bl bg-user-set'); $html .= Html::td('', 'bl'); $html .= Html::td('', 'bl'); $html .= Html::td('', 'bl'); $html .= Html::td('', 'bl'); - $html .= Html::td(number_format($flaeche, 2, ',', '.') . ' m²', 'right bl nowrap'); + $html .= Html::td(number_format($flaeche, 2, ',', '.').' m²', 'right bl nowrap'); $html .= Html::td('x', 'center bl'); $html .= Html::td(number_format($faktor, 3, ',', '.'), 'center bl'); $html .= Html::td('', 'bl'); @@ -82,27 +81,56 @@ class Nutzwertberechnung } /** + * METHODE 2b * Wintergarten, Loggien, unter Stiegen */ - if (isset($methoden[2])) { - foreach ($methoden[2] as $komponente) { - $html .= ''; - $html .= Html::td('', 'bl bg-user-set'); - $html .= Html::td($komponente['geschoss'], 'bl'); - $html .= Html::td('', 'bl'); - $html .= Html::td('', 'bl'); - $html .= Html::td($komponente['raumart'], 'bl'); - $html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.') . ' m²', 'right bl'); - $html .= Html::td('', 'bl'); - $html .= Html::td('', 'bl'); - $html .= Html::td('x', 'center bl'); - $html .= Html::td(number_format($komponente['faktor'], 3), 'center bl'); - $html .= Html::td('=', 'center bl'); - $nutzwert = $komponente['flaeche'] * $komponente['faktor']; - $summe_nutzwert += $nutzwert; - $html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl'); - $html .= Html::td('', 'center bl br'); - $html .= ''; + if (isset($methoden[2]) || isset($methoden[8])) { + if (isset($methoden[2])) { + foreach ($methoden[2] as $komponente) { + $html .= ''; + $html .= Html::td('', 'bl bg-user-set'); + $html .= Html::td($komponente['geschoss'], 'bl'); + $html .= Html::td('', 'bl'); + $html .= Html::td('', 'bl'); + $html .= Html::td($komponente['raumart'], 'bl'); + $html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m²', 'right bl'); + $html .= Html::td('x', 'center bl'); + $html .= Html::td(number_format($faktor, 3, ',', '.'), 'center bl'); + $html .= Html::td('x', 'center bl'); + $html .= Html::td(number_format($komponente['faktor'], 3), 'center bl'); + $html .= Html::td('=', 'center bl'); + $nutzwert = $komponente['flaeche'] * $komponente['faktor'] * $faktor; + $summe_nutzwert += $nutzwert; + $html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl'); + $html .= Html::td('', 'center bl br'); + $html .= ''; + } + } + + /** + * METHODE 2 + * Loggien + */ + if (isset($methoden[8])) { + foreach ($methoden[8] as $komponente) { + $html .= ''; + $html .= Html::td('', 'bl bg-user-set'); + $html .= Html::td($komponente['geschoss'], 'bl'); + $html .= Html::td('', 'bl'); + $html .= Html::td('', 'bl'); + $html .= Html::td($komponente['raumart'], 'bl'); + $html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m²', 'right bl'); + $html .= Html::td('', 'bl'); + $html .= Html::td('', 'bl'); + $html .= Html::td('x', 'center bl'); + $html .= Html::td(number_format($komponente['faktor'], 3), 'center bl'); + $html .= Html::td('=', 'center bl'); + $nutzwert = $komponente['flaeche'] * $komponente['faktor']; + $summe_nutzwert += $nutzwert; + $html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl'); + $html .= Html::td('', 'center bl br'); + $html .= ''; + } } $html .= ''; @@ -134,7 +162,7 @@ class Nutzwertberechnung $html .= Html::td('', 'bl'); $html .= Html::td('', 'bl'); $html .= Html::td($komponente['raumart'], 'bl'); - $html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.') . ' m²', 'right bl'); + $html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m²', 'right bl'); $html .= Html::td('', 'bl'); $html .= Html::td('', 'bl'); $html .= Html::td('x', 'center bl'); @@ -161,7 +189,7 @@ class Nutzwertberechnung $html .= Html::td('', 'bl'); $html .= Html::td('Zubehör', 'bl'); $html .= Html::td($komponente['raumart'], 'bl'); - $html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.') . ' m²', 'right bl'); + $html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m²', 'right bl'); $html .= Html::td('', 'bl'); $html .= Html::td('', 'bl'); $html .= Html::td('x', 'center bl'); @@ -207,7 +235,7 @@ class Nutzwertberechnung $html .= Html::td($komponente['top_nummer'], 'bl bg-user-set'); $html .= Html::td($komponente['geschoss'], 'bl'); $html .= Html::td($komponente['raumart'], 'bl'); - $html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.') . ' m²', 'right bl'); + $html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m²', 'right bl'); $html .= Html::td('x', 'center bl'); $html .= Html::td(number_format($komponente['faktor'], 3), 'center bl'); $html .= Html::td('=', 'center bl'); diff --git a/composer.lock b/composer.lock index ee66a0e..6e0d8f5 100644 --- a/composer.lock +++ b/composer.lock @@ -2098,16 +2098,16 @@ }, { "name": "giggsey/libphonenumber-for-php-lite", - "version": "9.0.35", + "version": "9.0.36", "source": { "type": "git", "url": "https://github.com/giggsey/libphonenumber-for-php-lite.git", - "reference": "2fcb98690acb17febf87c9f8f1ab846390e7574f" + "reference": "f21237b7df458b326cd5b1bac44d64cc7b1dcb2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/2fcb98690acb17febf87c9f8f1ab846390e7574f", - "reference": "2fcb98690acb17febf87c9f8f1ab846390e7574f", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/f21237b7df458b326cd5b1bac44d64cc7b1dcb2f", + "reference": "f21237b7df458b326cd5b1bac44d64cc7b1dcb2f", "shasum": "" }, "require": { @@ -2172,7 +2172,7 @@ "issues": "https://github.com/giggsey/libphonenumber-for-php-lite/issues", "source": "https://github.com/giggsey/libphonenumber-for-php-lite" }, - "time": "2026-07-17T13:11:35+00:00" + "time": "2026-08-03T07:53:53+00:00" }, { "name": "graham-campbell/result-type", From c2d160ab3dedfa63b68a378518219b35b8202ded Mon Sep 17 00:00:00 2001 From: salam Date: Mon, 3 Aug 2026 12:24:35 +0200 Subject: [PATCH 2/4] methode 3 --- app/Actions/Generate/Tabellen/Nutzwertberechnung.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/Actions/Generate/Tabellen/Nutzwertberechnung.php b/app/Actions/Generate/Tabellen/Nutzwertberechnung.php index f90f94e..059b0c0 100644 --- a/app/Actions/Generate/Tabellen/Nutzwertberechnung.php +++ b/app/Actions/Generate/Tabellen/Nutzwertberechnung.php @@ -152,10 +152,11 @@ class Nutzwertberechnung $summe_nutzwert = round($summe_nutzwert); /** + * METHODE 3b (die Methode 3 ist nicht in Verwendung) * Terasse, Balkon */ - if (isset($methoden[3])) { - foreach ($methoden[3] as $komponente) { + if (isset($methoden[7])) { + foreach ($methoden[7] as $komponente) { $html .= ''; $html .= Html::td('', 'bl bg-user-set'); $html .= Html::td($komponente['geschoss'], 'bl'); From fcee30082ee7ab96e6e5dec1624a96764ffc28fe Mon Sep 17 00:00:00 2001 From: salam Date: Mon, 3 Aug 2026 12:36:49 +0200 Subject: [PATCH 3/4] wip --- .../Generate/Tabellen/Nutzwertberechnung.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/Actions/Generate/Tabellen/Nutzwertberechnung.php b/app/Actions/Generate/Tabellen/Nutzwertberechnung.php index 059b0c0..2379c0f 100644 --- a/app/Actions/Generate/Tabellen/Nutzwertberechnung.php +++ b/app/Actions/Generate/Tabellen/Nutzwertberechnung.php @@ -249,6 +249,25 @@ class Nutzwertberechnung } } + if (isset($methoden[9])) { + foreach ($methoden[9] as $komponente) { + $html .= ''; + $html .= Html::td($komponente['top_nummer'], 'bl bg-user-set'); + $html .= Html::td($komponente['geschoss'], 'bl'); + $html .= Html::td($komponente['raumart'], 'bl'); + $html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m²', 'right bl'); + $html .= Html::td('x', 'center bl'); + $html .= Html::td(number_format($komponente['faktor'], 3), 'center bl'); + $html .= Html::td('=', 'center bl'); + $flaeche = $komponente['flaeche'] * $komponente['faktor']; + $html .= Html::td(number_format($flaeche, 3, ',', '.'), 'right bl'); + $tmp = round($flaeche) < 1 ? 1 : round($flaeche); + $html .= Html::td($tmp, 'center bl br'); + $nutzwert += $tmp; + $html .= ''; + } + } + $html .= Html::table_footer($nutzwert, 8); $html .= ''; PdfGenerator::$zusammenstellung[$komponente['id']] = $nutzwert; From 523f4352f037f7b5557773ac3bc2cd60627c1824 Mon Sep 17 00:00:00 2001 From: salam Date: Mon, 3 Aug 2026 12:38:51 +0200 Subject: [PATCH 4/4] wip --- .../RelationManagers/ProjektObjekteImDetailRelationManager.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteImDetailRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteImDetailRelationManager.php index db147c2..dc2ed7b 100644 --- a/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteImDetailRelationManager.php +++ b/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteImDetailRelationManager.php @@ -111,6 +111,7 @@ class ProjektObjekteImDetailRelationManager extends RelationManager ->filters([ SelectFilter::make('top_nummer') ->label('Top Nummer') + ->searchable() ->relationship('top_nummer', 'top_nummer', fn (Builder $query) => $query->where('projekte_id', $this->getOwnerRecord()->id)) ->preload(), SelectFilter::make('geschoss')