75 lines
2.8 KiB
PHP
75 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace App\Actions\Generate\Nutzwerte;
|
|
|
|
use App\Models\Merkmale;
|
|
use App\Models\OrientierungZuAbschlaege;
|
|
use App\Models\Raumalles;
|
|
use App\Models\Raumorientierung;
|
|
use App\Utilities\Format;
|
|
use App\Utilities\Html;
|
|
|
|
class ZuUndAbschlaege
|
|
{
|
|
public static function load(int $projekte_id)
|
|
{
|
|
|
|
$orientierungen = OrientierungZuAbschlaege::select()
|
|
->with('orientierung')
|
|
->where('projekte_id', $projekte_id)
|
|
->where('nicht_in_orientierung', 0)
|
|
->get();
|
|
|
|
foreach ($orientierungen as $orientierung) {
|
|
dd($orientierung);
|
|
}
|
|
|
|
// $total = Invoice::where('status', 'Completed')->sum('amount');
|
|
|
|
$header_row = ['Top', 'Geschoß', 'Typ', 'Nutzfläche', 'Loggia / sonst. Zusatzflächen', 'Gesamtnutzfläche'];
|
|
$merkmale = Merkmale::merkmale($projekte_id);
|
|
$markmale_col = [];
|
|
foreach ($merkmale as $value) {
|
|
$markmale_col[] = $value['col'];
|
|
$header_row[] = $value['name'];
|
|
}
|
|
$header_row[] = 'Summe Merkmale';
|
|
$header_row[] = 'Wohnungsbewertung';
|
|
$html = Html::table_header_90($header_row);
|
|
|
|
$res = Raumalles::select('raumorientierung_id', 'geschoss')->where('projekte_id', $projekte_id)->where('methodes_id', 1)->get();
|
|
$geschoss = [];
|
|
foreach ($res as $value) {
|
|
$id = $value->raumorientierung_id;
|
|
$geschoss[$id] = $value['geschoss'];
|
|
}
|
|
|
|
$res = Raumorientierung::select()->where('projekte_id', $projekte_id)->where('nicht_in_orientierung', 0)->whereNotNull('top_nr')->orderBy('top_nr')->get();
|
|
foreach ($res as $value) {
|
|
$id = $value->id;
|
|
$html .= '<tr>';
|
|
$html .= Html::td($value->top_nr, 'left bl br bb');
|
|
$html .= Html::td($geschoss[$value['id']], 'center br bb');
|
|
$html .= Html::td($value->type, 'wp20 br bb');
|
|
// Nutzfläache
|
|
$html .= Html::td(Format::numeric($value->qm_m1, 2), 'right br bb');
|
|
// Loggia
|
|
$loggia = Raumalles::loggia($id);
|
|
$gesnutzfl = $loggia + $value->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_col as $col) {
|
|
$tmp = (float) $value[$col] != 0 ? $value[$col] : '';
|
|
$html .= Html::td(Format::numeric($tmp, 2), 'right br bb');
|
|
}
|
|
$html .= Html::td(Format::numeric($value->summe_az, 2), 'right br bb');
|
|
$html .= Html::td(Format::numeric($value->bewertung, 2), 'right br bb');
|
|
$html .= '</tr>';
|
|
}
|
|
|
|
return $html;
|
|
}
|
|
}
|