59 lines
1.9 KiB
PHP
59 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Actions\Generate\Tabellen;
|
|
|
|
use App\Models\ProjektObjekte;
|
|
use App\Models\ProjektObjekteImDetail;
|
|
|
|
class LadeProjekt
|
|
{
|
|
public static $methoden = [];
|
|
|
|
public static function project(int $projekte_id, int $nicht_in_orientierung)
|
|
{
|
|
$objekte = ProjektObjekte::with('orientierung')
|
|
->where('projekte_id', $projekte_id)
|
|
->where('nicht_in_orientierung', $nicht_in_orientierung)
|
|
->orderBy('top_nummer')
|
|
->get();
|
|
|
|
// dd($objekte);
|
|
|
|
$tmp = [];
|
|
foreach ($objekte as $objekt) {
|
|
$orientierung = $objekt->orientierung->name ?? '';
|
|
$type = $objekt->type;
|
|
|
|
$elemente = ProjektObjekteImDetail::with('methode')->where('projekt_objekte_id', $objekt->id)->get();
|
|
|
|
// if ($objekt->id == 1782) {
|
|
// dd($elemente);
|
|
// }
|
|
|
|
foreach ($elemente as $key => $element) {
|
|
|
|
$methode_id = $element->methode->methode_id;
|
|
$methode_name = $element->methode->raumart;
|
|
$methode_faktor = $element->methode->faktor;
|
|
$methode_aufstellung_id = $element->methode->aufstellung_id;
|
|
$geschoss = $element->geschoss ?? '';
|
|
|
|
$t = [];
|
|
$t['id'] = $objekt->id;
|
|
$t['type'] = $type;
|
|
$t['geschoss'] = $geschoss;
|
|
$t['orientierung'] = $orientierung;
|
|
$t['raumart'] = $methode_name;
|
|
$t['flaeche'] = $element->flaeche;
|
|
$t['nutzwert'] = $element->nutzwert;
|
|
$t['top_nummer'] = ! $key ? $objekt->top_nummer : '';
|
|
$t['objekt_nutzwert'] = $objekt->nutzwert;
|
|
$t['faktor'] = $methode_faktor;
|
|
$t['aufstellung_id'] = $methode_aufstellung_id;
|
|
$tmp[$objekt->top_nummer][$methode_id][] = $t;
|
|
}
|
|
}
|
|
return $tmp;
|
|
}
|
|
}
|