wip Nutzwerte pdf

This commit is contained in:
salam committed 2025-10-23 12:07:56 +02:00
1 parent 4ad27d8c19
commit 2296b708eb
31 files changed
+528 -1656

No files matched your search

+97 -65
View File
@@ -2,6 +2,8 @@
namespace App\Actions\Generate;
use App\Actions\Generate\Gutachten\Platzhalter;
use App\Actions\Generate\Gutachten\Ueberschrift;
use App\Actions\Generate\Nutzwerte\Allgemeinflaechens;
use App\Actions\Generate\Nutzwerte\BerechnungM1M4;
use App\Actions\Generate\Nutzwerte\BerechnungM5;
@@ -11,8 +13,9 @@ use App\Actions\Generate\Nutzwerte\ZuUndAbschlaege;
use App\Actions\ProcessData\ProcessRaumorientierung;
use App\Models\Auftraggeber;
use App\Models\Gutachter;
use App\Models\Inhaltsverzeichnis;
use App\Models\Projekt;
use App\Models\Projekte;
use App\Models\ProjektInhaltsverzeichnis;
use App\Models\ProjektPlatzhalter;
use Mpdf\HTMLParserMode;
use Mpdf\Mpdf;
@@ -24,15 +27,17 @@ class MakeNutzwerte
public static $auftraggeber;
public static function generate($filepath, $projekts_id)
public static function generate($filepath, $projekte_id)
{
ProcessRaumorientierung::berechnen($projekts_id);
BerechnungNutzwerte::berechnen($projekts_id);
// ProcessRaumorientierung::berechnen($projekte_id);
// BerechnungNutzwerte::berechnen($projekte_id);
// PDF START
self::$projekt = Projekt::where('id', $projekts_id)->get()->first();
self::$gutachter = Gutachter::where('id', self::$projekt->gutachters_id)->get()->first();
self::$auftraggeber = Auftraggeber::where('id', self::$projekt->auftraggebers_id)->get()->first();
self::$projekt = Projekte::where('id', $projekte_id)->first();
self::$gutachter = Gutachter::where('id', self::$projekt->gutachter_id)->first();
self::$auftraggeber = Auftraggeber::where('id', self::$projekt->auftraggeber_id)->first();
ob_start();
@@ -51,74 +56,101 @@ class MakeNutzwerte
);
$stylesheet = file_get_contents(__DIR__.'/../../../resources/css/pdf-download.css');
$mpdf->WriteHTML($stylesheet, HTMLParserMode::HEADER_CSS);
$mpdf->SetTitle('Nutzwertgutachen '.self::$projekt->name);
$mpdf->SetCreator('www.nutzwertgutachen.at');
$mpdf->SetAuthor(self::$gutachter->adressenblock);
$mpdf->SetTitle('Nutzwerte '.self::$projekt->offizieller_name);
$mpdf->SetCreator('nutzwerte.at');
$mpdf->SetAuthor(self::$gutachter->title.' '.self::$gutachter->gender.' '.self::$gutachter->name);
$inhalte = Inhaltsverzeichnis::where('projekts_id', $projekts_id)->where('is_active', 1)->orderBy('pos')->get();
if (count($inhalte) == 0) {
exit;
}
foreach ($inhalte as $inhalt) {
$inhaltesverzeichnis = ProjektInhaltsverzeichnis::where('projekte_id', $projekte_id)->where('part', 2)->orderBy('sort')->get();
switch ($inhalt['kennung']) {
$platzhalter = ProjektPlatzhalter::where('projekte_id', $projekte_id)->pluck('platzhaltertext', 'platzhalter')->toArray();
case 'tabelle_zu_abschlaege':
// Zu und Abschläge
if ($inhalt['neue_seite']) {
$mpdf->AddPage('', '', $inhalt->seite);
$mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
}
$html = '<div class="header">'.$inhalt['index'].' - '.$inhalt['titel'].'</div>';
$html .= '<table class="table-striped text-75">';
$html .= ZuUndAbschlaege::load($projekts_id);
$html .= '</table>';
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
break;
foreach ($inhaltesverzeichnis as $inhalt) {
case 'nutzwertberechnung':
if ($inhalt['neue_seite']) {
$mpdf->AddPage();
$mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
}
if ($inhalt->neue_seite) {
$mpdf->AddPage();
}
$html = '<div class="header">'.$inhalt['index'].' - '.$inhalt['titel'].'</div>';
$html .= BerechnungM1M4::load($projekts_id);
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
$html = Ueberschrift::create($inhalt);
$html = BerechnungM5::load($projekts_id);
if ($html) {
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
}
break;
if ($inhalt->textblock) {
$html .= Platzhalter::replace($platzhalter, $inhalt->textblock);
}
case 'zusammenstellung':
if ($inhalt['neue_seite']) {
$mpdf->AddPage();
$mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
}
$html = '<div class="header">'.$inhalt['index'].' - '.$inhalt['titel'].'</div>';
$html .= Zusammenstellung::load($projekts_id);
$html .= '<br><br><br><br><br><br><br>';
$html .= '<table class="inhalt"><tr>';
$html .= '<td>'.self::$projekt->erstellung.'</td>';
$html .= '<td class="right">'.self::$gutachter->kennung.'</td>';
$html .= '</tr></table>';
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
break;
case 'allgemeinflaechen':
if ($inhalt['neue_seite']) {
$mpdf->AddPage();
$mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
}
$html = '<div class="header">'.$inhalt['index'].' - '.$inhalt['titel'].'</div>';
$html .= Allgemeinflaechens::load($projekts_id);
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
switch ($inhalt->tabellen_id) {
case '5':
$html .= ZuUndAbschlaege::load($projekte_id);
break;
}
}
if ($inhalt->seitenzahl_anzeige == 1) {
$mpdf->SetHTMLFooter('<div class="center">Seite {PAGENO}<br><br></div>');
}
if ($html) {
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
}
// foreach ($inhalte as $inhalt) {
// switch ($inhalt['kennung']) {
// case 'tabelle_zu_abschlaege':
// // Zu und Abschläge
// if ($inhalt['neue_seite']) {
// $mpdf->AddPage('', '', $inhalt->seite);
// $mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
// }
// $html = '<div class="header">'.$inhalt['index'].' - '.$inhalt['titel'].'</div>';
// $html .= '<table class="table-striped text-75">';
// $html .= ZuUndAbschlaege::load($projekte_id);
// $html .= '</table>';
// $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
// break;
// case 'nutzwertberechnung':
// if ($inhalt['neue_seite']) {
// $mpdf->AddPage();
// $mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
// }
// $html = '<div class="header">'.$inhalt['index'].' - '.$inhalt['titel'].'</div>';
// $html .= BerechnungM1M4::load($projekte_id);
// $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
// $html = BerechnungM5::load($projekte_id);
// if ($html) {
// $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
// }
// break;
// case 'zusammenstellung':
// if ($inhalt['neue_seite']) {
// $mpdf->AddPage();
// $mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
// }
// $html = '<div class="header">'.$inhalt['index'].' - '.$inhalt['titel'].'</div>';
// $html .= Zusammenstellung::load($projekte_id);
// $html .= '<br><br><br><br><br><br><br>';
// $html .= '<table class="inhalt"><tr>';
// $html .= '<td>'.self::$projekt->erstellung.'</td>';
// $html .= '<td class="right">'.self::$gutachter->kennung.'</td>';
// $html .= '</tr></table>';
// $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
// break;
// case 'allgemeinflaechen':
// if ($inhalt['neue_seite']) {
// $mpdf->AddPage();
// $mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
// }
// $html = '<div class="header">'.$inhalt['index'].' - '.$inhalt['titel'].'</div>';
// $html .= Allgemeinflaechens::load($projekte_id);
// $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
// break;
// }
// }
ob_clean();
$mpdf->Output($filepath, 'F');