This commit is contained in:
salam committed 2025-10-21 07:24:54 +02:00
1 parent 551ad2369e
commit 9881d8c37b
23 files changed
+662 -236

No files matched your search

+24 -28
View File
@@ -9,8 +9,7 @@ use App\Actions\Generate\Gutachten\Paragraph6Tabelle;
use App\Actions\Generate\Gutachten\Platzhalter;
use App\Actions\Generate\Gutachten\Standardtext;
use App\Actions\Generate\Gutachten\Tabelle;
use App\Actions\Generate\Utilities\Format;
use App\Actions\Generate\Utilities\Html;
use App\Actions\Generate\Gutachten\Ueberschrift;
use App\Models\Auftraggeber;
use App\Models\Gutachter;
use App\Models\Inhaltsverzeichnis;
@@ -22,6 +21,8 @@ use Mpdf\Mpdf;
class MakeGutachten
{
public static $inhaltesverzeichnis;
public static $projekt;
public static $gutachter;
@@ -33,6 +34,8 @@ class MakeGutachten
public static function generate($filepath, $projekte_id)
{
self::$inhaltesverzeichnis = ProjektInhaltsverzeichnis::where('projekte_id', $projekte_id)->orderBy('sort')->get();
self::$projekt = Projekte::where('id', $projekte_id)->first();
self::$gutachter = Gutachter::where('id', self::$projekt->gutachter_id)->first();
@@ -63,35 +66,28 @@ class MakeGutachten
$mpdf->SetCreator('nutzwerte.at');
$mpdf->SetAuthor(self::$gutachter->title.' '.self::$gutachter->gender.' '.self::$gutachter->name);
$inhalte = ProjektInhaltsverzeichnis::where('projekte_id', $projekte_id)->orderBy('sort')->get();
foreach (self::$inhaltesverzeichnis as $inhalt) {
foreach ($inhalte as $inhalt) {
/**
* DECKBLATT
*/
if ($inhalt->name == 'DECKBLATT') {
$textblock = Platzhalter::replace($inhalt->textblock);
$html = Deckblatt::create($textblock);
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
}
/**
* INHALTSVERZEICHNIS
*/
if ($inhalt->name == 'INHALTSVERZEICHNIS') {
if ($inhalt->neue_seite) {
$mpdf->AddPage();
$html = '<div class="header">INHALTSVERZEICHNIS</div>';
$html .= '<table class="inhalt">';
foreach ($inhalte as $data) {
$html .= '<tr>';
$html .= Html::td(Format::numeric($data->ordnungszahl, 2));
$html .= Html::td($data->name);
$html .= Html::td(Format::numeric($data->seite, 0));
$html .= '</tr>';
}
$html .= '</table>';
$mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
}
$textblock = $inhalt->textblock ? Platzhalter::replace($inhalt->textblock) : '';
if ($inhalt->name == 'DECKBLATT') {
$html = Deckblatt::create($textblock);
} elseif ($inhalt->name == 'INHALTSVERZEICHNIS') {
$html = Inhalt::create();
} else {
$html = Ueberschrift::create($inhalt);
$html .= $textblock;
}
if ($inhalt->seitenzahl_anzeige == 1) {
$mpdf->SetHTMLFooter('<div class="center">Seite {PAGENO}<br><br></div>');
}
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
}
// $inhalte = Inhaltsverzeichnis::where('projekte_id', $projekte_id)->where('is_active', 1)->orderBy('pos')->get();