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 .= '';
+
+ $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 .= '| '.$_objekte['topNr'].' | ';
+ $html .= ''.$value['geschoss'].' | ';
+ $html .= ''.$_objekte['orientierung'].' | ';
+ $html .= ''.$zubehoer.' | ';
+ $html .= ''.$value['raum'].' | ';
+ $html .= ''.Helper::number_format_de($value['qm'], 2).' | ';
+ $html .= 'x | ';
+ $html .= ''.Helper::number_format_de($value['factor'], 3).' | ';
+ $html .= '= | ';
+
+ $tmp = $value['qm'] * $value['factor'];
+
+ $html .= ''.Helper::number_format_de($tmp, 3).' | ';
+
+ if (9 == $value['tt_raumart_id']) {
+ $html .= ''.round($value['NWungerundet']).' | ';
+ } else {
+ $html .= ''.$value['NW'].' | ';
+ }
+ $html .= '
';
+ }
+
+ $html .= '';
+ $html .= '
';
+ }
+ }
+ 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 .= '';
+
+ // 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 .= '| '.$_objekte['topNr'].' | ';
+ $html .= ''.$_raum['geschoss'].' | ';
+ $html .= ''.$_objekte['orientierung'].' | ';
+ $html .= ''.$_objekte['typ'].' | ';
+ $html .= ''.$_raum['raum'].' | ';
+ $html .= ''.Helper::number_format_de($_raum['qm'], 2).' | ';
+ $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 .= ''.Helper::number_format_de($_objekte['qmM1'], 2).' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= 'x | ';
+ $html .= ''.Helper::number_format_de($_objekte['factor'], 3).' | ';
+ $html .= '= | ';
+ $html .= ''.Helper::number_format_de($nw, 3).' | ';
+ $html .= ''.round($nw).' | ';
+ $html .= '
';
+
+ $factorSumme = 0;
+ // $zunutzwert = 0;
+ foreach ($_raume_m2 as $key => $_raum) {
+ $html .= '';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ''.$_raum['raum'].' | ';
+ $html .= ''.Helper::number_format_de($_raum['qm'], 2).' | ';
+ $html .= 'x | ';
+ $html .= ''.Helper::number_format_de($_raum['factor'], 3).' | ';
+
+ if (2 == $_raum['tt_raumart_id']) {
+ // Methode 2 (2)
+ $html .= 'x | ';
+ $html .= ''.Helper::number_format_de($_objekte['factor'], 3).' | ';
+ $html .= '= | ';
+ $factorSumme = $_raum['qm'] * $_raum['factor'] * $_objekte['factor'];
+ $nw += $factorSumme;
+ $html .= ''.Helper::number_format_de($factorSumme, 3).' | ';
+ } else {
+ // Methode 2b (8) )
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= '= | ';
+ $factorSumme = $_raum['qm'] * $_raum['factor'];
+ $nw += $factorSumme;
+ $html .= ''.Helper::number_format_de($factorSumme, 3).' | ';
+ }
+ $html .= ' | ';
+ $html .= '
';
+ }
+ $ungerundet = $nw;
+
+ $NutzwertSummeGerundet = round($ungerundet);
+
+ // if ($zunutzwert) {
+ // $zunutzwert = $zunutzwert + $_objekte['qmM1'];
+ $html .= '';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ // $html .= 'Gesamtnutzfläche | ';
+ // $html .= ''.Helper::number_format_de($zunutzwert, 2).' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ''.Helper::number_format_de($ungerundet, 3).' | ';
+ $html .= ''.$NutzwertSummeGerundet.' | ';
+ $html .= '
';
+ } else {
+ // UNGERUNDETE CALCULATION
+ $ungerundet = $_objekte['qmM1'] * $_objekte['factor'];
+ $NutzwertSummeGerundet = round($ungerundet);
+
+ $html .= '';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ''.Helper::number_format_de($_objekte['qmM1'], 2).' | ';
+ $html .= 'x | ';
+ $html .= ''.Helper::number_format_de($_objekte['factor'], 3).' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= '= | ';
+ $html .= ''.Helper::number_format_de($ungerundet, 3).' | ';
+ $html .= ''.$NutzwertSummeGerundet.' | ';
+ $html .= '
';
+ }
+
+ /********************************************************
+ METHODE 3 + 3b
+ (wie Methode 3 aber ohne Wohnungsfactor)
+ ********************************************************/
+ foreach ($_raume_m3 as $key => $_raum) {
+ $html .= '';
+ $html .= ' | ';
+ $html .= ''.$_raum['geschoss'].' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= ''.$_raum['raum'].' | ';
+ $html .= ''.Helper::number_format_de($_raum['qm'], 2).' | ';
+
+
+ if (3 == $_raum['tt_raumart_id']) { //Methode 3
+
+ $html .= 'x | ';
+ $html .= ''.Helper::number_format_de($_objekte['factor'], 3).' | ';
+ $html .= 'x | ';
+ $html .= ''.Helper::number_format_de($_raum['factor'], 3).' | ';
+ $html .= '= | ';
+
+ // $nw = $_raum['qm'] * $_raum['factor'] * $_objekte['factor'];
+ $nw = $_raum['qm'] * $_raum['factor'] * $_objekte['factor'];
+ $html .= ''.Helper::number_format_de($nw, 3).' | ';
+ $nw_gerundet = round($nw) < 1 ? 1 : round($nw);
+ } else { //Methode 3b
+
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= 'x | ';
+ $html .= ''.Helper::number_format_de($_raum['factor'], 3).' | ';
+ $html .= '= | ';
+
+ $nw = $_raum['qm'] * $_raum['factor'];
+ // $nw = $_raum['qm'] * $_raum['factor'];
+ $html .= ''.Helper::number_format_de($nw, 3).' | ';
+ $nw_gerundet = round($nw) < 1 ? 1 : round($nw);
+ }
+ $html .= ''.round($nw_gerundet).' | ';
+ $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 .= ''.$_raum['geschoss'].' | ';
+ $html .= ' | ';
+ if($_raum['tt_raumart_id'] == 4){
+ $html .= 'Zubehör | ';
+ }
+ else{
+ // exception type methode 7 and 4 anhängen, ist kein Zubehör
+ $html .= '* | ';
+ }
+
+ $html .= ''.$_raum['raum'].' | ';
+ $html .= ''.Helper::number_format_de($_raum['qm'], 2).' | ';
+ $html .= ' | ';
+ $html .= ' | ';
+ $html .= 'x | ';
+ $html .= ''.Helper::number_format_de($_raum['factor'], 3).' | ';
+ $html .= '= | ';
+ $html .= ''.Helper::number_format_de($nw, 3).' | ';
+ $html .= ''.round($nw_gerundet).' | ';
+ $html .= '
';
+ }
+
+ // Nutzwert gerundet
+ $html .= '';
+
+ $html .= '
';
+
+ DbFunction::secureUpdate('tx_gutachten_raume_basis', ['GNO' => $NutzwertSummeGerundet], ['id' => $_objekte['id']]);
+ }
+
+ return $html;
+ }
+}