diff --git a/app/Filament/Resources/Projektes/Pages/EditProjekte.php b/app/Filament/Resources/Projektes/Pages/EditProjekte.php index b99a63b..522f977 100644 --- a/app/Filament/Resources/Projektes/Pages/EditProjekte.php +++ b/app/Filament/Resources/Projektes/Pages/EditProjekte.php @@ -111,7 +111,7 @@ class EditProjekte extends EditRecord ->openUrlInNewTab(), ])->label('Pdf') ->icon('phosphor-download') - ->color('info') + ->color('gray') ->button(), /** @@ -132,7 +132,7 @@ class EditProjekte extends EditRecord ->openUrlInNewTab(), ])->label('Excel') ->icon('phosphor-download') - ->color('info') + ->color('gray') ->button(), /** @@ -153,9 +153,9 @@ class EditProjekte extends EditRecord }), Action::make('reparieren') ->color('success') - ->label('Daten reparieren') + ->label('Daten reparieren ..') ->modalIcon('phosphor-arrow-fat-line-right-fill') - ->modalDescription( self::reparierenText()) + ->modalDescription(self::reparierenText()) // ->hidden(fn ($record): bool => ! $record->cloned_from_id) ->action(fn ($record) => Reparieren::run($record)) ->icon('phosphor-arrow-fat-line-right-fill'), diff --git a/app/Filament/Resources/Projektes/RelationManagers/ProjektAllgemeinflaechensRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/ProjektAllgemeinflaechensRelationManager.php index dee6869..9664bbe 100644 --- a/app/Filament/Resources/Projektes/RelationManagers/ProjektAllgemeinflaechensRelationManager.php +++ b/app/Filament/Resources/Projektes/RelationManagers/ProjektAllgemeinflaechensRelationManager.php @@ -83,11 +83,27 @@ class ProjektAllgemeinflaechensRelationManager extends RelationManager ->searchable(), ]) ->headerActions([ + CreateAction::make() + ->hidden(fn (): bool => $this->ownerRecord->bezahlt_am ? false : true) + ->color('gray') + ->icon('phosphor-file-plus') + ->createAnother(false), + Action::make('leeren') + ->action(function () { + ProjektAllgemeinflaechen::where('projekte_id', $this->ownerRecord->id)->delete(); + }) + ->icon('phosphor-trash') + ->color('danger') + ->requiresConfirmation() + ->successNotification( + Notification::make() + ->success() + ->title('Allgemeinflächen gelöscht'), + ), Action::make('import-text') ->icon('phosphor-upload') ->hidden(fn (): bool => $this->ownerRecord->bezahlt_am ? false : true) ->modalIcon('phosphor-file-csv') - ->color('info') ->label('Hochladen') ->modalHeading('Allgemeinflächen hochladen') ->modalDescription(new HtmlString('Objekte werden immer hinzugefügt!
Spalten Separator:
Strichpunkt ";" oder Pfeife "|"
Immer vier Spalten verwenden, erste Spalte wird ignoriert.

Beispiel:
Allgemein | EG | Eingang | 15,35
Allgemein | EG | Eingang/ Stiegenhaus | 27,16')) @@ -102,22 +118,6 @@ class ProjektAllgemeinflaechensRelationManager extends RelationManager ->action(function (array $data): void { ImportAllgemeinDirect::run($data, $this->ownerRecord->id); }), - Action::make('leeren') - ->action(function () { - ProjektAllgemeinflaechen::where('projekte_id', $this->ownerRecord->id)->delete(); - }) - ->icon('phosphor-trash') - ->color('danger') - ->requiresConfirmation() - ->successNotification( - Notification::make() - ->success() - ->title('Allgemeinflächen gelöscht'), - ), - CreateAction::make() - ->hidden(fn (): bool => $this->ownerRecord->bezahlt_am ? false : true) - ->icon('phosphor-file-plus') - ->createAnother(false), ]) ->recordActions([ EditAction::make()->iconButton() diff --git a/app/Filament/Resources/Projektes/RelationManagers/ProjektMethodesRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/ProjektMethodesRelationManager.php index 7983135..de165e0 100644 --- a/app/Filament/Resources/Projektes/RelationManagers/ProjektMethodesRelationManager.php +++ b/app/Filament/Resources/Projektes/RelationManagers/ProjektMethodesRelationManager.php @@ -46,7 +46,43 @@ class ProjektMethodesRelationManager extends RelationManager ->components([ Select::make('methode_id') ->label('Methoden') - ->options(Methode::where('id', '<=', 6)->orderBy('order')->pluck('name', 'id')) + ->options(function () { + $res = Methode::query()->orderBy('order')->get(); + $opt = []; + // + // + // + // + // + foreach ($res as $val) { + $opt[$val->id] = ''.$val->name.' '.$val->description.''; + // switch ($val->id) { + // case 1: + // $opt[$val->id] = ''.$val->name.' '.$val->description.''; + // break; + // case 2: + // case 8: + // $opt[$val->id] = ''.$val->name.' '.$val->description.''; + // break; + // case 3: + // case 7: + // $opt[$val->id] = ''.$val->name.' '.$val->description.''; + // break; + // case 4: + // $opt[$val->id] = ''.$val->name.' '.$val->description.''; + // break; + + // default: + // // code... + // break; + // } + } + + return $opt; + }) + ->allowHtml() + ->native(false) + // ->options(Methode::where('id', '<=', 6)->orderBy('order')->pluck('name', 'id')) ->rules(['required']) ->afterStateUpdated(function (Component $livewire) { $livewire->dispatch('refreshMethods'); @@ -129,7 +165,7 @@ class ProjektMethodesRelationManager extends RelationManager ->filtersFormColumns(4) ->headerActions([ Action::make('Wohnnutzfläche') - ->color('info') + ->color('gray') ->tooltip('Setzt alle leeren Felder auf "Normale Wohnnutzfläche"') ->icon('phosphor-arrow-bend-right-down') ->action(function (): void { @@ -143,7 +179,7 @@ class ProjektMethodesRelationManager extends RelationManager ->send(); }), Action::make('methoden') - ->color('info') + ->color('gray') ->tooltip('Informationen zu den Methoden') ->icon('phosphor-question') ->modalCancelAction(fn (Action $action) => $action->label('Schließen')) diff --git a/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteImDetailRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteImDetailRelationManager.php index 0d66b13..db147c2 100644 --- a/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteImDetailRelationManager.php +++ b/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteImDetailRelationManager.php @@ -132,7 +132,7 @@ class ProjektObjekteImDetailRelationManager extends RelationManager ->icon('phosphor-upload') ->modalIcon('phosphor-file-csv') ->hidden(fn (): bool => $this->ownerRecord->bezahlt_am ? false : true) - ->color('info') + ->color('gray') ->label('Hochladen') ->modalHeading('Objekte im Detail hochladen') ->modalDescription(new HtmlString('Daten fixiert auf: Top, Geschoss und Raumart.
Bestehen diese wird die Reihe aktualisiert.
Ansonnsten wird ein neue Reihe hinzugefügt!

Separator:
Strichpunkt ";" oder Pfeife "|"
Text ist Vierspaltig.

Beispiel:
"APG 01";"UG ";"Stellplatz+ ";"14,25"
"APG 02";"UG ";"Stellplatz";"12,94"')) @@ -147,12 +147,10 @@ class ProjektObjekteImDetailRelationManager extends RelationManager ->action(function (array $data): void { ImportObjekteDirect::run($data, $this->ownerRecord->id); }), - CreateAction::make() - ->hidden(fn (): bool => $this->ownerRecord->bezahlt_am ? false : true) - ->icon('phosphor-file-plus') - ->createAnother(false), Action::make('nutzwerte') + ->color('gray') ->label('Nutzwerte') + ->tooltip('Eine Vorschau wird berechnet und angezeigt') ->icon('phosphor-calculator') ->hidden(fn (): bool => $this->ownerRecord->bezahlt_am ? false : true) ->action(function () { @@ -170,6 +168,10 @@ class ProjektObjekteImDetailRelationManager extends RelationManager })->after(function (Component $livewire) { $livewire->dispatch('refreshProjektObjekteImDetail'); }), + CreateAction::make() + ->hidden(fn (): bool => $this->ownerRecord->bezahlt_am ? false : true) + ->icon('phosphor-file-plus') + ->createAnother(false), ]) ->recordActions([ EditAction::make()->iconButton() diff --git a/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteRelationManager.php index cbbcb0f..571460f 100644 --- a/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteRelationManager.php +++ b/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteRelationManager.php @@ -291,13 +291,9 @@ class ProjektObjekteRelationManager extends RelationManager }), ]) ->headerActions([ - CreateAction::make() - ->modalHeading('Objekt erstellen') - ->hidden(fn (): bool => $this->ownerRecord->bezahlt_am ? false : true) - ->modalDescription('Die dazugehörigen Räume werde in "Objekte im Detail" erstellt.') - ->icon('phosphor-file-plus') - ->createAnother(false), Action::make('projekt_merkmale') + ->label('Projekt Merkmale') + ->color('gray') ->icon('phosphor-pen') ->hidden(fn (): bool => $this->ownerRecord->bezahlt_am ? false : true) ->modalCancelAction(fn (Action $action) => $action->label('Schließen')) @@ -309,6 +305,12 @@ class ProjektObjekteRelationManager extends RelationManager ->after(function (Component $livewire) { $livewire->dispatch('refreshOrientierung'); }), + CreateAction::make() + ->modalHeading('Objekt erstellen') + ->hidden(fn (): bool => $this->ownerRecord->bezahlt_am ? false : true) + ->modalDescription('Die dazugehörigen Räume werde in "Objekte im Detail" erstellt.') + ->icon('phosphor-file-plus') + ->createAnother(false), ]) ->toolbarActions([ BulkActionGroup::make([ diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 9d5960a..bcd6de3 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -41,12 +41,11 @@ class AppServiceProvider extends ServiceProvider FilamentColor::register([ 'danger' => Color::Red, - 'gray' => Color::Zinc, + 'gray' => Color::Slate, 'primary' => Color::Blue, 'success' => Color::Green, 'warning' => Color::Amber, - 'info' => Color::Zinc, - 'secondary' => Color::Cyan, + 'info' => Color::Sky, ]); FilamentView::registerRenderHook( diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index e05bf39..9944cbf 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -37,6 +37,7 @@ class AdminPanelProvider extends PanelProvider public function panel(Panel $panel): Panel { return $panel + ->spa() ->id('admin') ->path('app') ->login() diff --git a/storage/version_1/NutzwertBerechnungM5.php b/storage/version_1/NutzwertBerechnungM5.php new file mode 100644 index 0000000..c4bf3d4 --- /dev/null +++ b/storage/version_1/NutzwertBerechnungM5.php @@ -0,0 +1,123 @@ + 'sortierung']); + $map = []; + foreach ($res as $field => $value) { + $map[$value['id']] = $value['orientierung']; + } + + // $basis_stellplaetze = DbFunction::select('tx_gutachten_raume_all', 'tt_raume_basis_id', ['pid' => $projektid, 'raum' => ['Stellplatz+', 'Stellplatz']]); + $_objekte_all = DbFunction::select('tx_gutachten_raume_basis', '*', ['pid' => DbFunction::$projektid, 'noDispInOrientierung' => 1, 'ORDER' => 'topNr']); + foreach ($_objekte_all as $key => $value) { + $_objekte_all[$key]['orientierung'] = $map[$value['tt_orientierung_id']]; + } + + foreach ($_objekte_all as $key => $value) { + $_objekte_all[$key]['id'] = (int) $value['id']; + $_objekte_all[$key]['pid'] = (int) $value['pid']; + $_objekte_all[$key]['uid'] = (int) $value['uid']; + $_objekte_all[$key]['GNO'] = (int) $value['GNO']; + $_objekte_all[$key]['tt_orientierung_id'] = (int) $value['tt_orientierung_id']; + $_objekte_all[$key]['noDispInOrientierung'] = (int) $value['noDispInOrientierung']; + } + // print_r($_objekte_all); + // exit; + $html = ''; + foreach ($_objekte_all as $key => $_objekte) { + $tt_raume_basis_id = $_objekte['id']; + + // Notizen + // if ($value['notizen']!="") { + // $str = "|".$v['notizen']; + // $pdf->nwbTabelle($str, "13|13|120", 7); + // } + + //if methode 5+ Zubehöhr in liste schreiben + + $_raume = DbFunction::select('tx_gutachten_raume_all', '*', + [ + 'AND' => [ + 'tt_raume_basis_id' => $tt_raume_basis_id, + 'tt_raumart_id' => [5, 6, 9] + ], + 'ORDER' => ['tt_raumart_id' => 'ASC'] + ]); + + // if(86917 == $tt_raume_basis_id){ + // print_r($_objekte); + // print_r($_raume); + // exit; + // } + + if (\count($_raume) > 0) { + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + + $zubehoer = 6 == $_raume[0]['tt_raumart_id'] ? 'Zubehör' : $_objekte['typ']; + + // Methode 5 + foreach ($_raume as $key => $value) { + if ($key > 0) { + $_objekte['topNr'] = ''; + $value['geschoss'] = ''; + $_objekte['orientierung'] = ''; + $_objekte['typ'] = ''; + } + + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + + $tmp = $value['qm'] * $value['factor']; + + $html .= ''; + + if (9 == $value['tt_raumart_id']) { + $html .= ''; + } else { + $html .= ''; + } + $html .= ''; + } + + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= '
Top Nr.GeschoßOrientierungTypqmNW
'.$_objekte['topNr'].''.$value['geschoss'].''.$_objekte['orientierung'].''.$zubehoer.''.$value['raum'].''.Helper::number_format_de($value['qm'], 2).'x'.Helper::number_format_de($value['factor'], 3).'='.Helper::number_format_de($tmp, 3).''.round($value['NWungerundet']).''.$value['NW'].'
Nutzwert gerundet'.$_objekte['GNO'].'
'; + } + } + return $html; + } +} diff --git a/storage/version_1/NutzwertberechnungM1M4.php b/storage/version_1/NutzwertberechnungM1M4.php new file mode 100644 index 0000000..c13a2fd --- /dev/null +++ b/storage/version_1/NutzwertberechnungM1M4.php @@ -0,0 +1,333 @@ +]tx_gutachten_orientierung']['tx_gutachten_raume_basis.tt_orientierung_id'] = 'id'; + + $fields = []; + $fields[] = 'tx_gutachten_raume_basis.id'; + $fields[] = 'tx_gutachten_raume_basis.uid'; + $fields[] = 'tx_gutachten_raume_basis.topNr'; + $fields[] = 'tx_gutachten_raume_basis.typ'; + $fields[] = 'tx_gutachten_raume_basis.factor'; + $fields[] = 'tx_gutachten_raume_basis.GNO'; + $fields[] = 'tx_gutachten_raume_basis.qmM1'; + $fields[] = 'tx_gutachten_raume_basis.qmM1uM2bis'; + $fields[] = 'tx_gutachten_raume_basis.qmM1uM2'; + $fields[] = 'tx_gutachten_raume_basis.NWM1uM2'; + $fields[] = 'tx_gutachten_raume_basis.summe_az'; + $fields[] = 'tx_gutachten_raume_basis.bewertung'; + $fields[] = 'tx_gutachten_orientierung.orientierung'; + foreach (range('a', 'u') as $key => $feld) { + $fields[] = 'tx_gutachten_raume_basis.'.$feld; + } + $where = []; + $where['AND']['tx_gutachten_raume_basis.noDispInOrientierung'] = 0; + $where['AND']['tx_gutachten_raume_basis.pid'] = DbFunction::$projektid; + $where['ORDER']['tx_gutachten_raume_basis.topNr'] = 'ASC'; + // $where['LIMIT'] = 2; + $_raeume_alle = DbFunction::selectJoin( + 'tx_gutachten_raume_basis', + $join, + $fields, + $where + ); + + // $part1 = []; + // $part2 = []; + // foreach ($_raeume_alle as $key => $_raum) { + // if ('' != $_raum['typ']) { + // $part1[] = $_raum; + // } else { + // $part2[] = $_raum; + // } + // } + // + // $topNr = array_column($part1, 'topNr'); + // array_multisort($topNr, SORT_ASC, $part1); + // + // $topNr = array_column($part2, 'topNr'); + // array_multisort($topNr, SORT_ASC, $part2); + // + // $_raeume_alle = array_merge($part1, $part2); + + $html = ''; + foreach ($_raeume_alle as $key => $_objekte) { + $tt_raume_basis_id = $_objekte['id']; + + $_raume_m1 = Select::raume_all(DbFunction::$projektid, $tt_raume_basis_id, [1]); + $_raume_m2 = Select::raume_all(DbFunction::$projektid, $tt_raume_basis_id, [2, 8]); + $_raume_m3 = Select::raume_all(DbFunction::$projektid, $tt_raume_basis_id, [3, 7], $exception); + + $pagebrake = \count($_raume_m1) + \count($_raume_m2) + \count($_raume_m3); + + // Header + if ($pagebrake > 45) { + $html .= ''; + } else { + $html .= '
'; + } + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + + // if($tt_raume_basis_id == 86321){ + // print_r($_objekte); + // exit; + // } + + // METHODE 1 + foreach ($_raume_m1 as $key => $_raum) { + if ($key > 0) { + $_objekte['topNr'] = ''; + $_raum['geschoss'] = ''; + $_objekte['orientierung'] = ''; + $_objekte['typ'] = ''; + } else { + $_raum['geschoss'] = PdfNutzflaeche::$_objekte_geschosse[$tt_raume_basis_id]; + } + + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + } + $NutzwertSummeGerundet = 0; + + // METHODE 2 + 2b + if (\count($_raume_m2) > 0) { + // Methode 2 summen + + // if($_objekte['id'] == 84964){ + // print_r($_objekte); + // print_r($_raume_m2); + // exit; + // } + + + $nw = $_objekte['qmM1'] * $_objekte['factor']; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + + $factorSumme = 0; + // $zunutzwert = 0; + foreach ($_raume_m2 as $key => $_raum) { + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + + if (2 == $_raum['tt_raumart_id']) { + // Methode 2 (2) + $html .= ''; + $html .= ''; + $html .= ''; + $factorSumme = $_raum['qm'] * $_raum['factor'] * $_objekte['factor']; + $nw += $factorSumme; + $html .= ''; + } else { + // Methode 2b (8) ) + $html .= ''; + $html .= ''; + $html .= ''; + $factorSumme = $_raum['qm'] * $_raum['factor']; + $nw += $factorSumme; + $html .= ''; + } + $html .= ''; + $html .= ''; + } + $ungerundet = $nw; + + $NutzwertSummeGerundet = round($ungerundet); + + // if ($zunutzwert) { + // $zunutzwert = $zunutzwert + $_objekte['qmM1']; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + // $html .= ''; + // $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + } else { + // UNGERUNDETE CALCULATION + $ungerundet = $_objekte['qmM1'] * $_objekte['factor']; + $NutzwertSummeGerundet = round($ungerundet); + + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + } + + /******************************************************** + METHODE 3 + 3b + (wie Methode 3 aber ohne Wohnungsfactor) + ********************************************************/ + foreach ($_raume_m3 as $key => $_raum) { + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + + + if (3 == $_raum['tt_raumart_id']) { //Methode 3 + + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + + // $nw = $_raum['qm'] * $_raum['factor'] * $_objekte['factor']; + $nw = $_raum['qm'] * $_raum['factor'] * $_objekte['factor']; + $html .= ''; + $nw_gerundet = round($nw) < 1 ? 1 : round($nw); + } else { //Methode 3b + + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + + $nw = $_raum['qm'] * $_raum['factor']; + // $nw = $_raum['qm'] * $_raum['factor']; + $html .= ''; + $nw_gerundet = round($nw) < 1 ? 1 : round($nw); + } + $html .= ''; + $html .= ''; + + $NutzwertSummeGerundet += $nw_gerundet; + + // $html .= Helper::table_row(explode('|', $str)); + } + + // METHODE 4 + $_raume = Select::raume_all(DbFunction::$projektid, $tt_raume_basis_id, 4, 0, $exception); + + // if($tt_raume_basis_id == 82909){ + // print_r($_raume); + // exit; + // } + + foreach ($_raume as $key => $_raum) { + $nw = $_raum['qm'] * $_raum['factor']; + $nw_gerundet = round($nw) < 1 ? 1 : round($nw); + $NutzwertSummeGerundet += $nw_gerundet; + + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + if($_raum['tt_raumart_id'] == 4){ + $html .= ''; + } + else{ + // exception type methode 7 and 4 anhängen, ist kein Zubehör + $html .= ''; + } + + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + } + + // Nutzwert gerundet + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + + $html .= '
Top Nr.GeschoßOrientierungTypqmNW
'.$_objekte['topNr'].''.$_raum['geschoss'].''.$_objekte['orientierung'].''.$_objekte['typ'].''.$_raum['raum'].''.Helper::number_format_de($_raum['qm'], 2).'
'.Helper::number_format_de($_objekte['qmM1'], 2).'x'.Helper::number_format_de($_objekte['factor'], 3).'='.Helper::number_format_de($nw, 3).''.round($nw).'
'.$_raum['raum'].''.Helper::number_format_de($_raum['qm'], 2).'x'.Helper::number_format_de($_raum['factor'], 3).'x'.Helper::number_format_de($_objekte['factor'], 3).'='.Helper::number_format_de($factorSumme, 3).'='.Helper::number_format_de($factorSumme, 3).'
Gesamtnutzfläche'.Helper::number_format_de($zunutzwert, 2).''.Helper::number_format_de($ungerundet, 3).''.$NutzwertSummeGerundet.'
'.Helper::number_format_de($_objekte['qmM1'], 2).'x'.Helper::number_format_de($_objekte['factor'], 3).'='.Helper::number_format_de($ungerundet, 3).''.$NutzwertSummeGerundet.'
'.$_raum['geschoss'].''.$_raum['raum'].''.Helper::number_format_de($_raum['qm'], 2).'x'.Helper::number_format_de($_objekte['factor'], 3).'x'.Helper::number_format_de($_raum['factor'], 3).'='.Helper::number_format_de($nw, 3).'x'.Helper::number_format_de($_raum['factor'], 3).'='.Helper::number_format_de($nw, 3).''.round($nw_gerundet).'
'.$_raum['geschoss'].'Zubehör*'.$_raum['raum'].''.Helper::number_format_de($_raum['qm'], 2).'x'.Helper::number_format_de($_raum['factor'], 3).'='.Helper::number_format_de($nw, 3).''.round($nw_gerundet).'
Nutzwert gerundet'.$NutzwertSummeGerundet.'
'; + + DbFunction::secureUpdate('tx_gutachten_raume_basis', ['GNO' => $NutzwertSummeGerundet], ['id' => $_objekte['id']]); + } + + return $html; + } +}