66 lines
2.5 KiB
PHP
66 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace App\Actions\Generate\Nutzwerte;
|
|
|
|
use App\Models\Raumalles;
|
|
use App\Models\Raumorientierung;
|
|
|
|
class Zusammenstellung_Methode5
|
|
{
|
|
public static function load($projekts_id)
|
|
{
|
|
// 5
|
|
// Stellplätze berechnet nur mit Absolutem Faktor multipliziert,
|
|
// wird aber nicht in Orientierung aufgeführt und im PDF als eigenes Objekt ausgegeben.
|
|
|
|
// 6
|
|
// Zubehör zu Objekt der Methode 5
|
|
// (z.b ein Kellerabteil, das zu einem Stellplatz gehört, aber räumlich getrennt ist)
|
|
// Wird wie bei Methode 4 im PDF einzeln aufgelistet und
|
|
// nur mit Absolutem Faktor multipliziert, dann gerundet und der Nutzwert als ganze Zahl angeführt.
|
|
// Vor dem Objekt steht "Zubehör"
|
|
|
|
// 9
|
|
// Zubehör zu Objekt der Methode 5
|
|
// (ist direkt verbunden mit dem Objekt, zB. das Kellerabteil hinter dem Stellplatz,
|
|
// oder eine eigene Zufahrt nur zu einem Stellplatz).
|
|
// Wird mit Absolutem Faktor multipliziert und ungerundet zum Objekt der Methode 5 dazugezählt,
|
|
// dann erst die Summe des NW gerundet
|
|
|
|
$res = Raumalles::select('raumorientierung_id', 'geschoss')->where('projekts_id', $projekts_id)->whereIn('methodes_id', [5, 9])->groupBy('raumorientierung_id', 'geschoss')->get();
|
|
$geschoss = [];
|
|
$raumorientierung_ids = [];
|
|
foreach ($res as $value) {
|
|
$geschoss[$value->raumorientierung_id][] = $value->geschoss;
|
|
$raumorientierung_ids[] = $value->raumorientierung_id;
|
|
}
|
|
|
|
$res = Raumalles::select('raumorientierung_id', 'raum')->where('projekts_id', $projekts_id)->whereIn('methodes_id', [5, 9])->get();
|
|
$type = [];
|
|
foreach ($res as $value) {
|
|
$type[$value->raumorientierung_id] = $value->raum;
|
|
}
|
|
|
|
$res = Raumorientierung::where('projekts_id', $projekts_id)->whereIn('id', $raumorientierung_ids)->orderBy('top_nr')->get();
|
|
$return = [];
|
|
foreach ($res as $value) {
|
|
$tmp = [];
|
|
$tmp['id'] = $value->id;
|
|
$tmp['top_nr'] = $value->top_nr;
|
|
$tmp['type'] = '';
|
|
if (isset($type[$value->id])) {
|
|
$tmp['type'] = $type[$value->id];
|
|
}
|
|
$tmp['nutzwert_summe'] = $value->nutzwert_summe;
|
|
$tmp['orientierung'] = '';
|
|
$tmp['geschoss'] = '';
|
|
if (isset($geschoss[$value['id']])) {
|
|
$tmp['geschoss'] = implode(',', $geschoss[$value->id]);
|
|
}
|
|
$return[] = $tmp;
|
|
}
|
|
|
|
return $return;
|
|
}
|
|
}
|