with('orientierung') ->where('projekte_id', $projekte_id) ->where('nicht_in_orientierung', 0) ->get(); $has_loggien = ProjektMethode::where('projekte_id', $projekte_id)->where('methode_id', 2)->count(); if ($has_loggien) { $header_row = ['Top Nummer', 'Geschoß', 'Typ', 'Nutzfläche', 'Loggia / Zusatzflächen', 'Gesamtnutzfläche']; } else { $header_row = ['Top Nummer', 'Geschoß', 'Typ', 'Nutzfläche']; } $projekt_merkmale = ProjektMerkmale::where('projekte_id', $projekte_id)->pluck('name', 'code'); $markmale_codes = []; foreach ($projekt_merkmale as $key => $value) { $markmale_codes[] = $key; $header_row[] = $value; } $header_row[] = 'Summe Merkmale'; $header_row[] = 'Wohnungsbewertung'; $html = Html::table_header_90($header_row); foreach ($objekte as $objekt) { $detail = DB::table('projekt_objekte_im_details') ->join('projekt_methodes', 'projekt_objekte_im_details.raumart', '=', 'projekt_methodes.raumart') ->select( 'projekt_methodes.faktor', 'projekt_objekte_im_details.geschoss', 'projekt_objekte_im_details.raumart', 'projekt_objekte_im_details.flaeche', 'projekt_objekte_im_details.nutzwert', ) ->where('projekt_methodes.methode_id', 1) ->where('projekt_methodes.projekte_id', $projekte_id) ->where('projekt_objekte_im_details.projekt_objekte_id', $objekt->id) ->get(); $flaeche = $detail->sum('flaeche'); $geschoss = $detail->first()->geschoss; $html .= ''; $html .= Html::td($objekt['top_nummer'], 'center bl br bb'); $html .= Html::td($geschoss, 'center br bb'); $html .= Html::td($objekt['type'], 'br bb'); // Nutzfläche $html .= Html::td(Format::dezimal($flaeche, 2).' m²', 'center br bb w30'); // Loggia if ($has_loggien) { $loggien = DB::table('projekt_objekte_im_details') ->join('projekt_methodes', 'projekt_objekte_im_details.raumart', '=', 'projekt_methodes.raumart') ->select('projekt_objekte_im_details.flaeche') ->where('projekt_methodes.methode_id', 2) ->where('projekt_methodes.projekte_id', $projekte_id) ->where('projekt_objekte_im_details.projekt_objekte_id', $objekt->id) ->get(); $flaeche_loggien = $loggien->sum('flaeche'); if ($flaeche_loggien) { $html .= Html::td(Format::dezimal($flaeche_loggien, 2).' m²', 'center br bb'); } else { $html .= Html::td('', 'br bb'); } $gesammt = $flaeche + $flaeche_loggien; $html .= Html::td(Format::dezimal($gesammt, 2).' m²', 'center br bb'); } $nutwert = 0; foreach ($markmale_codes as $code) { $nutwert += $objekt[$code]; $html .= Html::td(Format::dezimal($objekt[$code], 2), 'center 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 .= ''; return $html; } }