Files
nutzwerte_fi4/app/Actions/Generate/Nutzwerte/ZuUndAbschlaege.php
T
2025-10-28 13:40:01 +01:00

73 lines
2.5 KiB
PHP

<?php
namespace App\Actions\Generate\Nutzwerte;
use App\Actions\Generate\Utilities\Format;
use App\Actions\Generate\Utilities\Html;
use App\Models\Merkmale;
use App\Models\ProjektObjekte;
class ZuUndAbschlaege
{
public static function load(int $projekte_id)
{
$objekte = ProjektObjekte::select()
->with('orientierung')
->with('projektobjekteimdetail')
->where('projekte_id', $projekte_id)
->where('nicht_in_orientierung', 0)
->get();
$header_row = ['Top Nummer', 'Geschoß', 'Typ', 'Nutzfläche', 'Loggia / sonst. Zusatzflächen', 'Gesamtnutzfläche'];
$merkmale = Merkmale::where('projekte_id', $projekte_id)->pluck('name', 'code');
$markmale_codes = [];
foreach ($merkmale as $key => $value) {
$markmale_codes[] = $key;
$header_row[] = $value;
}
$header_row[] = 'Summe Merkmale';
$header_row[] = 'Wohnungsbewertung';
$html = '<table class="table-striped">';
$html .= Html::table_header_90($header_row);
foreach ($objekte as $objekt) {
// dd($objekt);
$flaeche = 0;
foreach ($objekt->projektobjekteimdetail as $key => $value) {
$geschoss = $value['geschoss'];
$flaeche += $value['flaeche'];
}
$html .= '<tr>';
$html .= Html::td($objekt->top_nummer, 'left bl br bb');
$html .= Html::td($geschoss, 'center br bb');
$html .= Html::td($objekt->type, 'wp20 br bb');
// Nutzfläache
$html .= Html::td(Format::dezimal($flaeche, 2), 'right br bb');
// Loggia
// $loggia = Raumalles::loggia($id);
// $gesnutzfl = $loggia + $objekt->qm_m1;
// $loggia = $loggia != 0 ? $loggia : '';
// $html .= Html::td($loggia, 'right br bb');
// // Gesammtnutzfläche = Nutzfläache + Loggia
// $html .= Html::td(Format::numeric($gesnutzfl, 2), 'right br bb');
// foreach ($markmale_codes as $code) {
// $tmp = (float) $objekt[$code] != 0 ? $objekt[$code] : '';
// $html .= Html::td(Format::numeric($tmp, 2), 'right br bb');
// }
// $html .= Html::td(Format::numeric($objekt->summe_az, 2), 'right br bb');
// $html .= Html::td(Format::numeric($objekt->bewertung, 2), 'right br bb');
$html .= '</tr>';
}
$html .= '</table>';
return $html;
}
}