first 11 point from list made

This commit is contained in:
salam committed 2025-11-27 12:41:26 +01:00
1 parent 3ed7d7adff
commit 096c8cf091
17 files changed
+299 -186

No files matched your search

+2 -2
View File
@@ -11,7 +11,7 @@ class Deckblatt
public static function load($inhalt, $textblock, $textblock2)
{
// GUTACHTER
$html = '<div id="deckblatt" style="background-color: '.PdfGenerator::$projekt->deckblatt_bg.';">';
$html = '<div id="deckblatt">';
$html .= '<div id="deckblatt-gutachter">';
if (PdfGenerator::$gutachter->logo && PdfGenerator::$gutachter->logo_anzeigen) {
$html .= '<div id="deckblatt-logo-gutachter" style="height: '.PdfGenerator::$gutachter->logo_height.'mm; background-position: center '.PdfGenerator::$gutachter->logo_align.'; background-image: url(\''.public_path().'/storage/'.PdfGenerator::$gutachter->logo.'\');"></div>';
@@ -29,7 +29,7 @@ class Deckblatt
$html .= '</div>';
$html .= '<div id="deckblatt-festsetzung">';
$html .= '<p>'.trim($textblock2).'</p>';
$html .= '<h4>'.trim($textblock2).'</h4>';
$html .= '</div>';
// AUFTRAGGEBER
+1
View File
@@ -19,6 +19,7 @@ class Inhalt
$html .= '<tr>';
$html .= Html::td(Format::index($inhalt->ordnungszahl), 'center');
$html .= Html::td($inhalt->name);
$html .= Html::td('Seite');
$html .= Html::td(Format::seite($inhalt->seite));
$html .= '</tr>';
}
+8 -1
View File
@@ -76,6 +76,13 @@ class PdfGenerator
);
$stylesheet = file_get_contents(__DIR__.'/../../../resources/css/pdf-download.css');
$bgcolors = [];
$bgcolors["'###BG_DECKBLATT###'"] = self::$projekt->deckblatt_bg;
$bgcolors["'###BG_HEADER###'"] = self::$projekt->schmuckfarbe_header;
$bgcolors["'###FARBE_RAHMEN###'"] = self::$projekt->farbe_borders;
$stylesheet = Platzhalter::replace($bgcolors, $stylesheet);
$mpdf->WriteHTML($stylesheet, HTMLParserMode::HEADER_CSS);
$mpdf->SetTitle($filename);
$mpdf->SetCreator('nutzwerte.at');
@@ -128,7 +135,7 @@ class PdfGenerator
$html .= Nutzwertberechnung::load($projekte_id);
break;
case '7':
$html .= Zusammenstellung::load($projekte_id);
// $html .= Zusammenstellung::load($projekte_id);
break;
case '8':
// AUFTRAGGEBER
@@ -18,7 +18,17 @@ class Nutzwertberechnung
$html = '';
foreach ($objekte as $methoden) {
$html .= Html::table_header(['Top Nummer', 'Geschoß', 'Orientierung', 'Typ', '', 'Fläche', '', 'Faktor', '', '', 'Nutzwert'], 'page-break-inside:avoid');
$html .= '<table autosize="1" style="page-break-inside:avoid;">';
$html .= '<thead><tr>';
$html .= '<th class="bl bt bg-user-set">Top Nr.</th>';
$html .= '<th class="bl bt bg-user-set">Geschoß</th>';
$html .= '<th class="bl bt bg-user-set">Orientierung</th>';
$html .= '<th class="bl bt bg-user-set">Typ</th>';
$html .= '<th class="bl bt bg-user-set">Raumart</th>';
$html .= '<th class="bl bt bg-user-set">Fläche</th>';
$html .= '<th class="bl bt bg-user-set" colspan="6"></th>';
$html .= '<th class="bl bt br bg-user-set">Nutzwert</th>';
$html .= '</tr></thead>';
$summe_nutzwert = 0;
/**
@@ -28,13 +38,13 @@ class Nutzwertberechnung
$flaeche = 0;
foreach ($methoden[1] as $komponente) {
$html .= '<tr>';
$html .= Html::td($komponente['top_nummer'], 'bl bb');
$html .= Html::td($komponente['geschoss'], 'bl bb');
$html .= Html::td($komponente['orientierung'], 'bl bb');
$html .= Html::td($komponente['type'], 'bl bb');
$html .= Html::td($komponente['raumart'], 'bl bb');
$html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m&sup2;', 'right bl bb');
$html .= Html::td('', 'bl bb br', 5);
$html .= Html::td($komponente['top_nummer'], 'bg-user-set');
$html .= Html::td($komponente['geschoss'], 'bl');
$html .= Html::td($komponente['orientierung'], 'bl');
$html .= Html::td($komponente['type'], 'bl');
$html .= Html::td($komponente['raumart'], 'bl');
$html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m&sup2;', 'right bl nowrap');
$html .= Html::td('', 'bl br', 7);
$flaeche += $komponente['flaeche'];
$html .= '</tr>';
}
@@ -42,14 +52,20 @@ class Nutzwertberechnung
$faktor = (100 + $komponente['objekt_nutzwert']) / 100;
$html .= '<tr>';
$html .= Html::td('', 'bl bb', 5);
$html .= Html::td(number_format($flaeche, 2, ',', '.').' m&sup2;', 'right bl bb');
$html .= Html::td('x', 'center bl bb');
$html .= Html::td(number_format($faktor, 3, ',', '.'), 'center bl bb');
$html .= Html::td('=', 'center bl bb');
$html .= Html::td(number_format($flaeche * $faktor, 3, ',', '.'), 'right bl bb');
$html .= Html::td('', 'bl bg-user-set');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td(number_format($flaeche, 2, ',', '.').' m&sup2;', 'right bl nowrap');
$html .= Html::td('x', 'center bl');
$html .= Html::td(number_format($faktor, 3, ',', '.'), 'center bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('=', 'center bl');
$html .= Html::td(number_format($flaeche * $faktor, 3, ',', '.'), 'right bl');
$summe_nutzwert = $flaeche * $faktor;
$html .= Html::td(round($summe_nutzwert), 'center bl bb br');
$html .= Html::td(round($summe_nutzwert), 'center bl br');
$html .= '</tr>';
}
@@ -59,26 +75,38 @@ class Nutzwertberechnung
if (isset($methoden[2])) {
foreach ($methoden[2] as $komponente) {
$html .= '<tr>';
$html .= Html::td('', 'bl bb');
$html .= Html::td($komponente['geschoss'], 'bl bb');
$html .= Html::td('', 'bl bb');
$html .= Html::td('', 'bl bb');
$html .= Html::td($komponente['raumart'], 'bl bb');
$html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m&sup2;', 'right bl bb');
$html .= Html::td('x', 'center bl bb');
$html .= Html::td(number_format($komponente['faktor'], 3), 'center bl bb');
$html .= Html::td('=', 'center bl bb');
$html .= Html::td('', 'bl bg-user-set');
$html .= Html::td($komponente['geschoss'], 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td($komponente['raumart'], 'bl');
$html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m&sup2;', 'right bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('x', 'center bl');
$html .= Html::td(number_format($komponente['faktor'], 3), 'center bl');
$html .= Html::td('=', 'center bl');
$nutzwert = $komponente['flaeche'] * $komponente['faktor'];
$summe_nutzwert += $nutzwert;
$html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl bb');
$html .= Html::td('', 'center bl bb br');
$html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl');
$html .= Html::td('', 'center bl br');
$html .= '</tr>';
}
$html .= '<tr>';
$html .= Html::td('', 'bl bb', 9);
$html .= Html::td(number_format($summe_nutzwert, 3, ',', '.'), 'right bl bb');
$html .= Html::td(round($summe_nutzwert), 'center bl bb');
$html .= Html::td('', 'bl bg-user-set');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td(number_format($summe_nutzwert, 3, ',', '.'), 'right bl');
$html .= Html::td(round($summe_nutzwert), 'center bl br');
$html .= '</tr>';
}
$summe_nutzwert = round($summe_nutzwert);
@@ -89,19 +117,21 @@ class Nutzwertberechnung
if (isset($methoden[3])) {
foreach ($methoden[3] as $komponente) {
$html .= '<tr>';
$html .= Html::td('', 'bl bb');
$html .= Html::td($komponente['geschoss'], 'bl bb');
$html .= Html::td('', 'bl bb');
$html .= Html::td('', 'bl bb');
$html .= Html::td($komponente['raumart'], 'bl bb');
$html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m&sup2;', 'right bl bb');
$html .= Html::td('x', 'center bl bb');
$html .= Html::td(number_format($komponente['faktor'], 3), 'center bl bb');
$html .= Html::td('=', 'center bl bb');
$html .= Html::td('', 'bl bg-user-set');
$html .= Html::td($komponente['geschoss'], 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td($komponente['raumart'], 'bl');
$html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m&sup2;', 'right bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('x', 'center bl');
$html .= Html::td(number_format($komponente['faktor'], 3), 'center bl');
$html .= Html::td('=', 'center bl');
$nutzwert = $komponente['flaeche'] * $komponente['faktor'];
$html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl bb');
$html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl');
$nutzwert = round($nutzwert) < 1 ? 1 : round($nutzwert);
$html .= Html::td($nutzwert, 'center bl bb br');
$html .= Html::td($nutzwert, 'center bl br');
$html .= '</tr>';
$summe_nutzwert += $nutzwert;
@@ -114,19 +144,21 @@ class Nutzwertberechnung
if (isset($methoden[4])) {
foreach ($methoden[4] as $komponente) {
$html .= '<tr>';
$html .= Html::td('', 'bl bb');
$html .= Html::td($komponente['geschoss'], 'bl bb');
$html .= Html::td('', 'bl bb');
$html .= Html::td('Zubehör', 'bl bb');
$html .= Html::td($komponente['raumart'], 'bl bb');
$html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m&sup2;', 'right bl bb');
$html .= Html::td('x', 'center bl bb');
$html .= Html::td(number_format($komponente['faktor'], 3), 'center bl bb');
$html .= Html::td('=', 'center bl bb');
$html .= Html::td('', 'bl bg-user-set');
$html .= Html::td($komponente['geschoss'], 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('Zubehör', 'bl');
$html .= Html::td($komponente['raumart'], 'bl');
$html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m&sup2;', 'right bl');
$html .= Html::td('', 'bl');
$html .= Html::td('', 'bl');
$html .= Html::td('x', 'center bl');
$html .= Html::td(number_format($komponente['faktor'], 3), 'center bl');
$html .= Html::td('=', 'center bl');
$nutzwert = $komponente['flaeche'] * $komponente['faktor'];
$html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl bb');
$html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl');
$nutzwert = round($nutzwert) < 1 ? 1 : round($nutzwert);
$html .= Html::td($nutzwert, 'center bl bb br');
$html .= Html::td($nutzwert, 'center bl br');
$html .= '</tr>';
$summe_nutzwert += $nutzwert;
@@ -145,24 +177,32 @@ class Nutzwertberechnung
/**
* Stellplätze
*/
$html .= Html::table_header(['Top Nummer', 'Geschoß', '', 'Fläche', '', 'Faktor', '', '', 'Nutzwert'], 'page-break-inside:avoid');
$html .= '<table autosize="1" style="page-break-inside:avoid;">';
$html .= '<thead><tr>';
$html .= '<th class="bl bt bg-user-set">Top Nr.</th>';
$html .= '<th class="bl bt bg-user-set">Geschoß</th>';
$html .= '<th class="bl bt bg-user-set">Raumart</th>';
$html .= '<th class="bl bt bg-user-set">Fläche</th>';
$html .= '<th class="bl bt bg-user-set" colspan="4"></th>';
$html .= '<th class="bl bt br bg-user-set">Nutzwert</th>';
$html .= '</tr></thead>';
$nutzwert = 0;
if (isset($methoden[5])) {
foreach ($methoden[5] as $komponente) {
$html .= '<tr>';
$html .= Html::td($komponente['top_nummer'], 'bl bb');
$html .= Html::td($komponente['geschoss'], 'bl bb');
$html .= Html::td($komponente['raumart'], 'bl bb');
$html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m&sup2;', 'right bl bb');
$html .= Html::td('x', 'center bl bb');
$html .= Html::td(number_format($komponente['faktor'], 3), 'center bl bb');
$html .= Html::td('=', 'center bl bb');
$html .= Html::td($komponente['top_nummer'], 'bl bg-user-set');
$html .= Html::td($komponente['geschoss'], 'bl');
$html .= Html::td($komponente['raumart'], 'bl');
$html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m&sup2;', 'right bl');
$html .= Html::td('x', 'center bl');
$html .= Html::td(number_format($komponente['faktor'], 3), 'center bl');
$html .= Html::td('=', 'center bl');
$nutzwert = $komponente['flaeche'] * $komponente['faktor'];
$html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl bb');
$html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl');
$nutzwert = round($nutzwert) < 1 ? 1 : round($nutzwert);
$html .= Html::td($nutzwert, 'center bl bb br');
$html .= Html::td($nutzwert, 'center bl br');
$html .= '</tr>';
}
}
+1 -1
View File
@@ -23,7 +23,7 @@ class Paragraph6
$element = $value?->projektobjekteimdetail->first();
$html .= '<tr>';
$html .= Html::td($value->top_nummer, 'center br bb');
$html .= Html::td($value->top_nummer, 'center bl br bb');
$html .= Html::td($element->geschoss, 'center br bb');
$html .= Html::td($value->orientierung?->name, 'center br bb');
$html .= Html::td($value->type, 'center br bb');
+7 -7
View File
@@ -10,18 +10,18 @@ class Html
$html = '<table autosize="1" class="table-striped" '.$style.'>';
$html .= '<thead><tr>';
foreach ($header_row as $value) {
$html .= '<th class="bl bt br bb center bg-sky">'.$value.'</th>';
$html .= '<th class="bl bt br bb center bg-user-set">'.$value.'</th>';
}
$html .= '</tr></thead>';
return $html;
}
public static function table_footer($nutzwert_summe, $colspan = 10)
public static function table_footer($nutzwert_summe, $colspan = 12)
{
$html = '<tfooter><tr>';
$html .= '<th colspan="'.$colspan.'" class="bl bt bb right bg-sky">Nutzwert gerundet</th>';
$html .= '<th class="bl bt br bb center bg-sky">'.$nutzwert_summe.'</th>';
$html .= '<th colspan="'.$colspan.'" class="bl bb right bg-user-set">Nutzwert gerundet</th>';
$html .= '<th class="bt br bb center bg-user-set">'.$nutzwert_summe.'</th>';
$html .= '</tr></tfooter>';
return $html;
@@ -33,7 +33,7 @@ class Html
$html .= '<thead><tr text-rotate="90">';
$mm = 190 / \count($header_row);
foreach ($header_row as $value) {
$html .= '<th class="bl bt br bb center bg-sky" style="vertical-align: bottom; width: '.$mm.'mm;">'.$value.'</th>';
$html .= '<th class="bl bt br bb bg-user-set normal" style="vertical-align: bottom; width: '.$mm.'mm;">&nbsp;'.$value.'&nbsp;</th>';
}
$html .= '</tr></thead>';
@@ -45,11 +45,11 @@ class Html
$html = '<table class="table-striped"><thead><tr>';
foreach ($header_row as $value) {
$html .= '<th class="bl bt br bb bg-sky">'.$value.'</th>';
$html .= '<th class="bl bt br bb bg-user-set">'.$value.'</th>';
}
$html .= '<th style="background:white"></th>';
foreach ($header_row as $value) {
$html .= '<th class="bl bt br bb bg-sky">'.$value.'</th>';
$html .= '<th class="bl bt br bb bg-user-set">'.$value.'</th>';
}
$html .= '</thead></tr>';
@@ -31,6 +31,7 @@ class ProjekteForm
->contained(false)
->tabs([
Tab::make('Benennung')
->icon('phosphor-article-medium')
->schema([
TextInput::make('offizieller_name')
->label('Offizieller Name')
@@ -60,6 +61,10 @@ class ProjekteForm
'Als Platzhalter "###INTERNER_NAME###"',
])
->required(),
])->columns(2),
Tab::make('Ort & Datum')
->icon('phosphor-calendar-check')
->schema([
TextInput::make('ort')->required()->suffix('am')
->belowContent([
'Als Platzhalter "###ORT###"',
@@ -70,9 +75,9 @@ class ProjekteForm
->belowContent([
'Als Platzhalter "###DATUM###"',
]),
ColorPicker::make('deckblatt_bg')->label('Deckblatt Hintegrund Farbe'),
])->columns(2),
Tab::make('Zuordnung')
Tab::make('Gutachter & Auftraggeber')
->icon('phosphor-identification-card')
->schema([
Select::make('gutachter_id')->relationship(name: 'gutachter', titleAttribute: 'company')->required(),
Select::make('auftraggeber_id')
@@ -82,9 +87,11 @@ class ProjekteForm
->required(),
Radio::make('status')->options(ProjektStatus::class)->required(),
]),
Tab::make('Beschreibung')
Tab::make('Notizen')
->icon('phosphor-notebook')
->schema([
RichEditor::make('beschreibung')
->label('Notizen')
->extraInputAttributes(['style' => 'min-height: 20rem; max-height: 50vh; overflow-y: auto;'])
->toolbarButtons([
['bold', 'italic', 'underline', 'strike', 'subscript', 'superscript', 'link', 'textColor', 'clearFormatting'],
@@ -102,6 +109,17 @@ class ProjekteForm
])
->columnSpan(2),
]),
Tab::make('Farben')
->icon('phosphor-palette')
->schema([
ColorPicker::make('deckblatt_bg')->label('Deckblatt')
->belowContent('Farbe des Hintergrundes am Deckblatt.'),
ColorPicker::make('schmuckfarbe_header')->label('Überschriften')
->belowContent('Farbe des Hintergrundes bei Überschriften.'),
ColorPicker::make('farbe_borders')->label('Rahmen')
->belowContent('Farbe von Rahmen und Rändern bei Tabellen und Boxen.'),
])->columns(3)
->columnSpanFull(),
]),
])->columnSpanFull(),
+2
View File
@@ -18,6 +18,8 @@ class Projekte extends Model
'erstellung',
'status',
'deckblatt_bg',
'schmuckfarbe_header',
'farbe_borders',
'evaluation_gutachten',
'bezahlt_am',
];