92 lines
3.5 KiB
PHP
92 lines
3.5 KiB
PHP
<?php
|
|
|
|
namespace App\Actions\Generate\Nutzwerte;
|
|
|
|
use App\Models\Raumorientierung;
|
|
use App\Utilities\Format;
|
|
use App\Utilities\Html;
|
|
|
|
class Zusammenstellung
|
|
{
|
|
public static function load(int $projekts_id)
|
|
{
|
|
|
|
$html = '';
|
|
|
|
$res = Raumorientierung::select('nutzwert_summe')->where('projekts_id', $projekts_id);
|
|
$nutzwert_summe = $res->sum('nutzwert_summe');
|
|
|
|
$summe_prozent = [];
|
|
$summe_nutzwert = [];
|
|
|
|
$html .= '<table class="text-75 table-striped">';
|
|
$html .= '<thead><tr>';
|
|
$html .= Html::td('Top', 'head bl bt bb');
|
|
$html .= Html::td('Geschoß', 'head bt bb');
|
|
$html .= Html::td('Orientierung', 'head bt bb');
|
|
$html .= Html::td('Type', 'head bt bb');
|
|
$html .= Html::td('NW', 'head center bt bb');
|
|
$html .= Html::td('x2 *', 'head center bt bb');
|
|
$html .= Html::td('%', 'head center bt bb br');
|
|
$html .= '</tr></thead>';
|
|
|
|
$res = Zusammenstellung_Methode1::load($projekts_id);
|
|
|
|
foreach ($res as $row) {
|
|
$str = '';
|
|
$prozent = '';
|
|
if ($nutzwert_summe > 0) {
|
|
|
|
$str = $row['nutzwert_summe'] * 2 .' / '.$nutzwert_summe * 2 .' tel Anteil =';
|
|
|
|
$tmp = ($row['nutzwert_summe'] * 2) / ($nutzwert_summe * 2) * 100;
|
|
$prozent = Format::numeric($tmp, 3).'%';
|
|
}
|
|
$summe_prozent[] = $tmp;
|
|
$summe_nutzwert[] = $row['nutzwert_summe'];
|
|
|
|
$html .= '<tr>';
|
|
$html .= Html::td($row['top_nr'], 'bl bb br');
|
|
$html .= Html::td($row['geschoss'], 'bb br');
|
|
$html .= Html::td($row['orientierung'], 'center bb br');
|
|
$html .= Html::td($row['type'], 'bb br');
|
|
$html .= Html::td(round($row['nutzwert_summe']), 'center bb br');
|
|
$html .= Html::td($str, 'center bb br');
|
|
$html .= Html::td($prozent, 'center bb br');
|
|
$html .= '</tr>';
|
|
}
|
|
|
|
$_obj = Zusammenstellung_Methode5::load($projekts_id);
|
|
|
|
foreach ($_obj as $row) {
|
|
$row['nutzwert_summe2'] = $row['nutzwert_summe'] * 2 .' / '.$nutzwert_summe * 2 .' tel Anteil =';
|
|
$tmp = ($row['nutzwert_summe'] * 2) / ($nutzwert_summe * 2) * 100;
|
|
$row['prozent'] = Format::numeric($tmp, 3).'%';
|
|
|
|
$summe_prozent[] = $tmp;
|
|
$summe_nutzwert[] = $row['nutzwert_summe'];
|
|
|
|
$html .= '<tr>';
|
|
$html .= Html::td($row['top_nr'], 'bl bb br');
|
|
$html .= Html::td($row['geschoss'], 'bb br');
|
|
$html .= Html::td($row['orientierung'], 'center bb br');
|
|
$html .= Html::td($row['type'], 'bb br');
|
|
$html .= Html::td(round($row['nutzwert_summe']), 'center bb br');
|
|
$html .= Html::td($row['nutzwert_summe2'], 'center bb br');
|
|
$html .= Html::td($row['prozent'], 'center bb br');
|
|
$html .= '</tr>';
|
|
}
|
|
|
|
$html .= '<tr>';
|
|
$html .= Html::td('', 'head bl bb', 4);
|
|
$html .= Html::td(array_sum($summe_nutzwert), 'head center bb');
|
|
$html .= Html::td(array_sum($summe_nutzwert) * 2 .'/'.round($nutzwert_summe) * 2 .' tel Anteil =', 'head center bb');
|
|
$html .= Html::td(round(array_sum($summe_prozent)).'%', 'head center bb br');
|
|
$html .= '</tr>';
|
|
$html .= '</table>';
|
|
$html .= '<p class="text-small">* Die Anteile wurden verdoppelt, sodaß die Mindestanteile jederzeit durch zwei geteilt werden können.';
|
|
|
|
return $html;
|
|
}
|
|
}
|