id)->first(); /** * Gutachter */ $res = Gutachter::where('konto_id', auth()->user()->konto_id)->where('id', $pro->gutachter_id)->first(); if (! $res->digitale_signatur_stempel) { Notification::make() ->title('Gutacher') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Es fehlt der Stempel für die Digitale Signatur.') ->send(); return false; } /** * ProjektAllgemeinflaechen */ $res = ProjektAllgemeinflaechen::where('projekte_id', $record->id)->get(); if (! $res->count()) { Notification::make() ->title('Tabelle Allgemeinflächen') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Die Tabelle der Allgemeinflächen ist leer.') ->send(); return false; } foreach ($res as $value) { if (! $value->geschoss) { Notification::make() ->title('Tabelle Allgemeinflächen') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Für die Allgemeinfläche '.$value->raumart.' fehlt die Angabe des Geschoßes.') ->send(); return false; } if (! $value->raumart) { Notification::make() ->title('Tabelle Allgemeinflächen') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Für eine Allgemeinfläche im Geschoss '.$value->geschoss.' fehlt die Angabe der Raumart.') ->send(); return false; } if ($value->flaeche == 0) { Notification::make() ->title('Tabelle Allgemeinflächen') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Für die Allgemeinfläche '.$value->raumart.' fehlt die Angabe der Fläche.') ->send(); return false; } } /** * ProjektObjekte + nicht_in_orientierung */ $res = ProjektObjekte::where('projekte_id', $record->id)->get(); if (! $res->count()) { Notification::make() ->title('Tabelle Objekte') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Die Tabelle Objekte ist leer.') ->send(); return false; } $res = ProjektObjekte::where('projekte_id', $record->id)->where('nicht_in_orientierung', false)->get(); foreach ($res as $value) { if (! $value->orientierung_id && ! $value->nicht_in_orientierung) { Notification::make() ->title('Tabelle Objekte') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Bei der Top Nummer '.$value->top_nummer.' fehlt die Orientierung.') ->send(); return false; } if (! $value->orientierung_id && ! $value->type) { Notification::make() ->title('Tabelle Objekte') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Bei der Top Nummer '.$value->top_nummer.' fehlt der Type.') ->send(); return false; } } /** * ProjektObjekte & ProjektObjekteImDetail */ $res = ProjektObjekte::with('ProjektObjekteImDetail')->where('projekte_id', $record->id)->get(); if (! $res->count()) { Notification::make() ->title('Tabelle Objekte im Detail') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Die Tabelle Objekte im Detail ist leer.') ->send(); return false; } foreach ($res as $value) { $raeume = $value->ProjektObjekteImDetail->toArray(); $raeume = $raeume[0] ?? []; if (! count($raeume)) { Notification::make() ->title('Tabelle Objekte') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Der Top Nummer '.$value->top_nummer.' sind keine Räume zugeordnet.') ->send(); return false; } if (! $value->top_nummer) { Notification::make() ->title('Tabelle Objekte') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Für den Raum mit der ID '.$value->id.' fehlt die Angabe der Top Nummer.') ->send(); return false; } if (! $raeume['geschoss']) { Notification::make() ->title('Tabelle Objekte im Detail') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Beim Objekt Top Nummer '.$value->top_nummer.' fehlt die Angabe des Geschoßes.') ->send(); return false; } if (! $raeume['raumart']) { Notification::make() ->title('Tabelle Objekte im Detail') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Beim Objekt Top Nummer '.$value->top_nummer.' fehlt die Angabe der Raumart.') ->send(); return false; } if (! $raeume['flaeche']) { Notification::make() ->title('Tabelle Objekte im Detail') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Für die Raumart '.$value->raumart.' mit der Top Nummer '.$value->top_nummer.' im Geschoss '.$value->geschoss.' fehlt die Angabe der Fläche.') ->send(); return false; } } /** * Projekt Methode */ $res = ProjektMethode::where('projekte_id', $record->id)->get(); if (! $res->count()) { Notification::make() ->title('Tabelle Räume Methoden') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Die Tabelle Raum Methode ist leer.') ->send(); return false; } foreach ($res as $value) { if (! $value->methode_id) { Notification::make() ->title('Tabelle Räume Methoden') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Für den Raum '.$value->raumart.' fehlt die Methode.') ->send(); return false; } // KANN 0 SEIN // if ($value->faktor == 0) { // Notification::make() // ->title('Tabelle Räume Methoden') // ->info() // ->icon('heroicon-o-exclamation-triangle') // ->duration(10000) // ->body('Für den Raum '.$value->raumart.' fehlt die Angabe des Faktors.') // ->send(); // return false; // } } /** * ProjektInhaltsverzeichnis */ $res = ProjektInhaltsverzeichnis::where('projekte_id', $record->id)->get(); if (! $res->count()) { Notification::make() ->title('Tabelle Inhaltsverzeichnis') ->info() ->icon('heroicon-o-exclamation-triangle') ->body('Inhaltsverzeichnis fehlt!') ->duration(10000) ->send(); return false; } /** * ProjektPlatzhalter */ $res = ProjektPlatzhalter::where('projekte_id', $record->id)->whereNull('platzhaltertext')->orWhere('platzhaltertext', '=', '')->get(); if ($res->count()) { Notification::make() ->title('Tabelle Platzhalter') ->info() ->icon('heroicon-o-exclamation-triangle') ->duration(10000) ->body('Bitte füllen Sie die fehlenden Platzhalter aus. Sollten die fehlenden Platzhalter nicht mehr gebraucht werden löschen Sie diese aus dem Text und generieren sie die Platzhalter Tabelle neu.') ->send(); return false; } Notification::make() ->title('Evaluierung') ->success() ->duration(10000) ->body('Die Evaluierung des Projektes war erfolgreich.') ->send(); Projekte::where('id', $record->id)->update(['evaluation_gutachten' => 1]); } }