diff --git a/app/Actions/Generate/Pdf.php b/app/Actions/Generate/Pdf.php index 9c06434..a830a2a 100644 --- a/app/Actions/Generate/Pdf.php +++ b/app/Actions/Generate/Pdf.php @@ -9,6 +9,7 @@ use App\Actions\Generate\Pdf\Platzhalter; use App\Actions\Generate\Pdf\Ueberschrift; use App\Actions\Generate\Tabellen\Allgemeinflaechen; use App\Actions\Generate\Tabellen\Paragraph6; +use App\Actions\Generate\Tabellen\ZuUndAbschlaege; use App\Actions\Generate\Utilities\Format; use App\Models\Auftraggeber; use App\Models\Gutachter; @@ -49,13 +50,13 @@ class Pdf $filepath = Storage::disk('public')->path("/download/$projekte_id/"); $filename = \ucfirst($type).' '.preg_replace("'[^0-9a-zA-Z]'", '', self::$projekt->interner_name).'.pdf'; - if ($type == 'nutzwerte') { - if ($mode == 'new') { - Projekte::where('id', $projekte_id)->update(['pdf_gutachten_name' => '', 'pdf_nutzwerte_status' => 1]); - } else { - return Response::download($file, $filename, $headers); - } - } + // if ($type == 'nutzwerte') { + // if ($mode == 'new') { + // Projekte::where('id', $projekte_id)->update(['pdf_nutzwerte_name' => '', 'pdf_nutzwerte_status' => 1]); + // } else { + // return Response::download($file, $filename, $headers); + // } + // } if (! File::isDirectory($filepath)) { File::makeDirectory($filepath, 0777, true, true); @@ -117,6 +118,9 @@ class Pdf case '4': $html .= Allgemeinflaechen::load($projekte_id); break; + case '5': + $html .= ZuUndAbschlaege::load($projekte_id); + break; case '8': $str = RichContentRenderer::make(self::$auftraggeber->referenz_formatting)->toHtml(); $html .= Format::fix_str($str); diff --git a/app/Actions/Generate/Tabellen/ZuUndAbschlaege.php b/app/Actions/Generate/Tabellen/ZuUndAbschlaege.php index 7cf67fb..74e9e67 100644 --- a/app/Actions/Generate/Tabellen/ZuUndAbschlaege.php +++ b/app/Actions/Generate/Tabellen/ZuUndAbschlaege.php @@ -7,6 +7,7 @@ use App\Actions\Generate\Utilities\Html; use App\Models\ProjektMerkmale; use App\Models\ProjektMethode; use App\Models\ProjektObjekte; +use App\Models\ProjektObjekteImDetail; class ZuUndAbschlaege { @@ -15,11 +16,9 @@ class ZuUndAbschlaege $objekte = ProjektObjekte::select() ->with('orientierung') - ->with('projektobjekteimdetail') ->where('projekte_id', $projekte_id) ->where('nicht_in_orientierung', 0) - ->get() - ->toArray(); + ->get(); $has_loggien = ProjektMethode::where('projekte_id', $projekte_id)->where('methode_id', 2)->count(); @@ -36,7 +35,7 @@ class ZuUndAbschlaege $markmale_codes[] = $key; $header_row[] = $value; } - $header_row[] = 'Summe ProjektMerkmale'; + $header_row[] = 'Summe Merkmale'; $header_row[] = 'Wohnungsbewertung'; $html = ''; @@ -44,15 +43,9 @@ class ZuUndAbschlaege foreach ($objekte as $objekt) { - // dd($objekt); - - $flaeche = 0; - foreach ($objekt['projektobjekteimdetail'] as $key => $value) { - $geschoss = $value['geschoss']; - $flaeche += $value['flaeche']; - } - - // dd($markmale_codes); + $detail = ProjektObjekteImDetail::where('projekt_objekte_id', $objekt->id)->get(); + $flaeche = $detail->sum('flaeche'); + $geschoss = $detail->first()->geschoss; $html .= ''; $html .= Html::td($objekt['top_nummer'], 'left bl br bb'); @@ -68,11 +61,13 @@ class ZuUndAbschlaege // // Gesammtnutzfläche = Nutzfläache + Loggia // $html .= Html::td(Format::numeric($gesnutzfl, 2), 'right br bb'); // dd($objekt); + $nutwert = 0; foreach ($markmale_codes as $code) { - $html .= Html::td($objekt[$code], 'center br bb'); + $nutwert += $objekt[$code]; + $html .= Html::td(Format::dezimal($objekt[$code], 2), 'center br bb'); } - $html .= Html::td(Format::dezimal($objekt['nutzwert'], 2), 'center br bb'); - $html .= Html::td(Format::dezimal(100 + $objekt['nutzwert'], 2), 'right br bb'); + $html .= Html::td(Format::dezimal($nutwert, 2), 'center br bb'); + $html .= Html::td(Format::dezimal(100 + $nutwert, 2), 'right br bb'); $html .= ''; } $html .= '
'; diff --git a/app/Actions/Generate/Utilities/Format.php b/app/Actions/Generate/Utilities/Format.php index 1fc26ef..cb3bdb0 100644 --- a/app/Actions/Generate/Utilities/Format.php +++ b/app/Actions/Generate/Utilities/Format.php @@ -15,16 +15,16 @@ class Format public static function index($value) { - if (is_numeric($value) && $value * 1 > 0) { + if (is_numeric($value) && $value * 1 != 0) { return number_format($value, 2, '.', '.'); } else { return ''; } } - public static function dezimal($value, $stellen = 2) + public static function dezimal($value, $stellen) { - if (is_numeric($value) && $value * 1 > 0) { + if (is_numeric($value) && $value != 0) { return number_format($value, $stellen, ',', '.'); } else { return ''; diff --git a/app/Models/Projekte.php b/app/Models/Projekte.php index 871718a..7aa5202 100644 --- a/app/Models/Projekte.php +++ b/app/Models/Projekte.php @@ -17,9 +17,9 @@ class Projekte extends Model 'beschreibung', 'erstellung', 'status', - 'pdf_gutachten_name', 'pdf_nutzwerte_name', - 'excel_nutzwerte_name', + 'pdf_nutzwerte_status', + 'evaluation_gutachten', 'bezahlt_am', ];