diff --git a/app/Actions/Generate/Tabellen/Nutzwertberechnung.php b/app/Actions/Generate/Tabellen/Nutzwertberechnung.php index 794a1ad..2379c0f 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 .= ''; @@ -124,17 +152,18 @@ 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'); $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 +190,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 +236,26 @@ 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'); + $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 .= ''; + } + } + + 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'); 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')