pdf wip
This commit is contained in:
1 parent
a20893d527
commit
4b79874100
31 files changed
+548
-1534
No files matched your search
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Actions\Create;
|
||||
|
||||
use App\Actions\Generate\Utilities\Filter;
|
||||
use App\Models\Projekte;
|
||||
use App\Models\ProjektInhaltsverzeichnis;
|
||||
use App\Models\ProjektPlatzhalter;
|
||||
@@ -19,6 +20,7 @@ class CreatePlatzhalter
|
||||
}
|
||||
|
||||
$_platzhalter = array_unique($_platzhalter);
|
||||
$_platzhalter = Filter::array_remove($_platzhalter, ['###INTERNER_NAME###', '###ORT###', '###DATUM###']);
|
||||
|
||||
ProjektPlatzhalter::where('projekte_id', $record->id)->update(['controll' => true]);
|
||||
|
||||
|
||||
@@ -1,262 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Actions\Generate\Nutzwerte;
|
||||
|
||||
use App\Models\Orientierung;
|
||||
use App\Models\Raumalles;
|
||||
use App\Models\Raumorientierung;
|
||||
use App\Utilities\Format;
|
||||
use App\Utilities\Html;
|
||||
|
||||
class BerechnungM1M4
|
||||
{
|
||||
public static function load(int $projekts_id)
|
||||
{
|
||||
|
||||
$orientierung = Orientierung::map();
|
||||
$orientierung[1] = '';
|
||||
|
||||
$html = '';
|
||||
|
||||
$res = Raumorientierung::where('projekts_id', $projekts_id)
|
||||
->where('nicht_in_orientierung', 0)
|
||||
->orderBy('top_nr')
|
||||
->get();
|
||||
|
||||
foreach ($res as $key => $_objekte) {
|
||||
$raumorientierung_id = $_objekte->id;
|
||||
|
||||
$_raume_m1 = Raumalles::where('projekts_id', $projekts_id)->where('raumorientierung_id', $raumorientierung_id)->where('methodes_id', 1)->orderBy('raum')->get();
|
||||
$_raume_m2 = Raumalles::where('projekts_id', $projekts_id)->where('raumorientierung_id', $raumorientierung_id)->whereIn('methodes_id', [2, 8])->get();
|
||||
$_raume_m3 = Raumalles::where('projekts_id', $projekts_id)->where('raumorientierung_id', $raumorientierung_id)->whereIn('methodes_id', [3, 7])->get();
|
||||
|
||||
$pagebrake = \count($_raume_m1) + \count($_raume_m2) + \count($_raume_m3);
|
||||
if ($pagebrake > 45) {
|
||||
$html .= '<table class="text-75">';
|
||||
} else {
|
||||
$html .= '<table class="text-75" style="page-break-inside:avoid;">';
|
||||
}
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td('Top Nr.', 'head center bl bt w10p');
|
||||
$html .= Html::td('Geschoß', 'head bt bb');
|
||||
$html .= Html::td('Orientierung', 'head bt bb');
|
||||
$html .= Html::td('Type', 'head bt bb');
|
||||
$html .= Html::td('Raum', 'head bt bb');
|
||||
$html .= Html::td('qm', 'head right bt bb');
|
||||
$html .= Html::td('', 'head bt bb');
|
||||
$html .= Html::td('Faktor', 'head bt bb');
|
||||
$html .= Html::td('', 'head bt bb');
|
||||
$html .= Html::td('Faktor', 'head bt bb');
|
||||
$html .= Html::td('', 'head bt bb');
|
||||
$html .= Html::td('Nw', 'head bt bb');
|
||||
$html .= Html::td('Nw', 'head bt bb br');
|
||||
$html .= '</tr>';
|
||||
|
||||
/********************************************************
|
||||
METHODE 1
|
||||
********************************************************/
|
||||
foreach ($_raume_m1 as $key => $_raum) {
|
||||
if ($key > 0) {
|
||||
$_objekte['top_nr'] = '';
|
||||
$_raum['geschoss'] = '';
|
||||
$_objekte['orientierung'] = '';
|
||||
$_objekte['type'] = '';
|
||||
} else {
|
||||
$oid = $_objekte['orientierungs_id'];
|
||||
$_objekte['orientierung'] = $orientierung[$oid];
|
||||
}
|
||||
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td($_objekte['top_nr'], 'head center bl br');
|
||||
$html .= Html::td($_raum['geschoss'], 'br');
|
||||
$html .= Html::td($_objekte['orientierung'], 'br');
|
||||
$html .= Html::td($_objekte['type'], 'br');
|
||||
$html .= Html::td($_raum['raum'], 'br');
|
||||
$html .= Html::td(Format::numeric($_raum->qm, 2), 'right br');
|
||||
$html .= Html::td('', 'br', 7);
|
||||
$html .= '</tr>';
|
||||
}
|
||||
|
||||
$nutzwert_summe = 0;
|
||||
|
||||
/********************************************************
|
||||
METHODE 2 + 2b
|
||||
********************************************************/
|
||||
if (\count($_raume_m2) > 0) {
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td('', 'head bl br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td(Format::numeric($_objekte->qm_m1, 2), 'right bt br bb');
|
||||
$html .= Html::td('', 'bt br bb');
|
||||
$html .= Html::td('', 'bt br bb');
|
||||
$html .= Html::td('x', 'center bt br bb');
|
||||
$html .= Html::td(Format::numeric($_objekte->factor, 3), 'right bt br bb');
|
||||
$html .= Html::td('=', 'center bt br bb');
|
||||
|
||||
$nutzwert = $_objekte->qm_m1 * $_objekte->factor;
|
||||
$html .= Html::td(Format::numeric($nutzwert, 3), 'right bt br bb');
|
||||
$html .= Html::td(round($nutzwert), 'right center bt br bb');
|
||||
$html .= '</tr>';
|
||||
|
||||
$factor_summe = 0;
|
||||
// $zunutzwert = 0;
|
||||
foreach ($_raume_m2 as $key => $_raum) {
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td('', 'head bl br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td($_raum->raum, 'br');
|
||||
$html .= Html::td(Format::numeric($_raum->qm, 2), 'right br bb');
|
||||
$html .= Html::td('x', 'center br bb');
|
||||
$html .= Html::td(Format::numeric($_raum->factor, 3), 'right br bb');
|
||||
|
||||
if ($_raum['tt_raumart_id'] == 2) {
|
||||
// Methode 2 (2)
|
||||
$html .= Html::td('x', 'center br bb');
|
||||
$html .= Html::td(Format::numeric($_objekte->factor, 3), 'right br bb');
|
||||
$html .= Html::td('=', 'center br bb');
|
||||
$factor_summe += $_raum->qm * $_raum->factor * $_objekte->factor;
|
||||
$html .= Html::td(Format::numeric($factor_summe, 3), 'right br bb');
|
||||
} else {
|
||||
// Methode 2b (8) )
|
||||
$html .= Html::td('', 'br bb');
|
||||
$html .= Html::td('', 'br bb');
|
||||
$html .= Html::td('=', 'center br bb');
|
||||
$factor_summe += $_raum->qm * $_raum->factor;
|
||||
$html .= Html::td(Format::numeric($factor_summe, 3), 'right br bb');
|
||||
}
|
||||
$html .= Html::td('', 'br bb');
|
||||
$html .= '</tr>';
|
||||
}
|
||||
$ungerundet = $nutzwert + $factor_summe;
|
||||
|
||||
$nutzwert_summe = round($ungerundet);
|
||||
|
||||
// if ($zunutzwert) {
|
||||
// $zunutzwert = $zunutzwert + $_objekte->qm_m1;
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td('', 'head bl br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
// $html .= '<td>Gesamtnutzfläche</td>';
|
||||
// $html .= '<td class="right">'.Format::numeric($zunutzwert, 2).'</td>';
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('', 'br bb');
|
||||
$html .= Html::td('', 'br bb');
|
||||
$html .= Html::td('', 'br bb');
|
||||
$html .= Html::td('', 'br bb');
|
||||
$html .= Html::td('', 'br bb');
|
||||
$html .= Html::td('', 'br bb');
|
||||
$html .= Html::td(Format::numeric($ungerundet, 3), 'right br bb');
|
||||
$html .= Html::td($nutzwert_summe, 'right br bb');
|
||||
$html .= '</tr>';
|
||||
} else {
|
||||
|
||||
$ungerundet = $_objekte->qm_m1 * $_objekte->factor;
|
||||
$nutzwert_summe = round($ungerundet);
|
||||
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td('', 'head bl br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td(Format::numeric($_objekte->qm_m1, 2), 'right bt br bb');
|
||||
$html .= Html::td('x', 'center bt br');
|
||||
$html .= Html::td(Format::numeric($_objekte->factor, 3), 'right bt br');
|
||||
$html .= Html::td('', 'bt br');
|
||||
$html .= Html::td('', 'bt br');
|
||||
$html .= Html::td('=', 'center bt br');
|
||||
$html .= Html::td(Format::numeric($ungerundet, 3), 'right bt br');
|
||||
$html .= Html::td($nutzwert_summe, 'right bt br');
|
||||
$html .= '</tr>';
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
METHODE 3 + 3b (3b wie Methode 3 aber ohne Wohnungsfactor)
|
||||
********************************************************/
|
||||
if (\count($_raume_m3) > 0) {
|
||||
foreach ($_raume_m3 as $key => $_raum) {
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td('', 'head bl br');
|
||||
$html .= Html::td($_raum->geschoss, 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td($_raum->raum, 'br');
|
||||
$html .= Html::td(Format::numeric($_raum->qm, 2), 'right br');
|
||||
|
||||
// Methode 3
|
||||
if ($_raum->methodes_id == 3) {
|
||||
$html .= Html::td('x', 'center bt br');
|
||||
$html .= Html::td(Format::numeric($_objekte->factor, 3), 'right bt br');
|
||||
$html .= Html::td('x', 'center bt br');
|
||||
$html .= Html::td(Format::numeric($_raum->factor, 3), 'right bt br');
|
||||
$html .= Html::td('=', 'center bt br');
|
||||
$nutzwert = $_raum->qm * $_raum->factor * $_objekte->factor;
|
||||
$html .= Html::td(Format::numeric($nutzwert, 3), 'right bt br');
|
||||
} else {
|
||||
$html .= Html::td('', 'bt br');
|
||||
$html .= Html::td('', 'bt br');
|
||||
$html .= Html::td('x', 'center bt br');
|
||||
$html .= Html::td(Format::numeric($_raum->factor, 3), 'right bt br');
|
||||
$html .= Html::td('=', 'center bt br');
|
||||
$nutzwert = $_raum->qm * $_raum->factor;
|
||||
$html .= Html::td(Format::numeric($nutzwert, 3), 'right bt br');
|
||||
}
|
||||
$nutzwert = round($nutzwert) < 1 ? 1 : round($nutzwert);
|
||||
$html .= Html::td($nutzwert, 'right bt br');
|
||||
$html .= '</tr>';
|
||||
$nutzwert_summe += $nutzwert;
|
||||
}
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
METHODE 4
|
||||
********************************************************/
|
||||
$_raume_m4 = Raumalles::where('projekts_id', $projekts_id)->where('raumorientierung_id', $raumorientierung_id)->where('methodes_id', 4)->get();
|
||||
if (\count($_raume_m4) > 0) {
|
||||
|
||||
foreach ($_raume_m4 as $key => $_raum) {
|
||||
$ungerunded = $_raum->qm * $_raum->factor;
|
||||
$nutzwert = round($nutzwert) < 1 ? 1 : round($nutzwert);
|
||||
$nutzwert_summe += $nutzwert;
|
||||
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td('', 'head bl bl br');
|
||||
$html .= Html::td($_raum->geschoss, 'br');
|
||||
$html .= Html::td('', 'br');
|
||||
$html .= Html::td('Zubehör', 'br');
|
||||
$html .= Html::td($_raum->raum, 'br');
|
||||
$html .= Html::td(Format::numeric($_raum->qm, 2), 'right br');
|
||||
$html .= Html::td('', 'bt br');
|
||||
$html .= Html::td('', 'bt br');
|
||||
$html .= Html::td('x', 'center bt br');
|
||||
$html .= Html::td(Format::numeric($_raum->factor, 3), 'right bt br');
|
||||
$html .= Html::td('=', 'center bt br');
|
||||
$html .= Html::td(Format::numeric($ungerunded, 3), 'right bt br');
|
||||
$html .= Html::td($nutzwert, 'right bt br');
|
||||
$html .= '</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
// Fuß Zeile
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td('', 'head bl bb');
|
||||
$html .= Html::td('Nutzwert gerundet', 'head right bt bb', 11);
|
||||
$html .= Html::td($nutzwert_summe, 'head right bt br bb');
|
||||
$html .= '</tr>';
|
||||
|
||||
// dd($raumorientierung_id, $nutzwert_summe);
|
||||
Raumorientierung::where('id', $raumorientierung_id)->update(['nutzwert_summe' => $nutzwert_summe]);
|
||||
|
||||
$html .= '</table>';
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
@@ -1,91 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Actions\Generate\Nutzwerte;
|
||||
|
||||
use App\Models\Raumalles;
|
||||
use App\Models\Raumorientierung;
|
||||
use App\Utilities\Format;
|
||||
use App\Utilities\Html;
|
||||
|
||||
class BerechnungM5
|
||||
{
|
||||
public static function load(int $projekts_id)
|
||||
{
|
||||
|
||||
$html = '';
|
||||
|
||||
$result = Raumorientierung::where('projekts_id', $projekts_id)
|
||||
->where('nicht_in_orientierung', 1)
|
||||
->orderBy('top_nr')
|
||||
->get();
|
||||
|
||||
if ($result->isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($result as $key => $_objekte) {
|
||||
$raumorientierung_id = $_objekte->id;
|
||||
|
||||
$_raume_m5 = Raumalles::where('projekts_id', $projekts_id)->where('raumorientierung_id', $raumorientierung_id)->whereIn('methodes_id', [5, 6, 9])->get();
|
||||
|
||||
$summe_nutzwert = 0;
|
||||
|
||||
if (\count($_raume_m5) > 0) {
|
||||
$html .= '<table class="text-75" style="page-break-inside:avoid;">';
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td('Top', 'head bl bt w10p');
|
||||
$html .= Html::td('Geschoß', 'head bt bb');
|
||||
$html .= Html::td('Type', 'head bt bb');
|
||||
$html .= Html::td('qm', 'head center bt bb');
|
||||
$html .= Html::td('', 'head bt bb');
|
||||
$html .= Html::td('Faktor', 'head center bt bb');
|
||||
$html .= Html::td('', 'head bt bb');
|
||||
$html .= Html::td('', 'head bt bb');
|
||||
$html .= Html::td('Nw', 'center head bt bb br');
|
||||
$html .= '</tr>';
|
||||
|
||||
// Methode 5
|
||||
foreach ($_raume_m5 as $key => $_raum) {
|
||||
|
||||
if ($key > 0) {
|
||||
$_objekte->top_nr = '';
|
||||
$_raum->geschoss = '';
|
||||
$_objekte->typ = '';
|
||||
}
|
||||
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td($_objekte->top_nr, 'head center bl br');
|
||||
$html .= Html::td($_raum->geschoss, 'br');
|
||||
$html .= Html::td($_raum->raum, 'br');
|
||||
$html .= Html::td(Format::numeric($_raum->qm, 2), 'center br');
|
||||
$html .= Html::td('x', 'center br');
|
||||
$html .= Html::td(Format::numeric($_raum->factor, 3), 'center br');
|
||||
$html .= Html::td('=', 'center br');
|
||||
|
||||
$nutzwert = $_raum->qm * $_raum->factor;
|
||||
$html .= Html::td(Format::numeric($nutzwert, 3), 'center br');
|
||||
|
||||
if ($_raum->methodes_id != 9) {
|
||||
$html .= Html::td($nutzwert, 'center br');
|
||||
} else {
|
||||
$html .= Html::td('', 'br');
|
||||
}
|
||||
$html .= '</tr>';
|
||||
|
||||
$summe_nutzwert += $nutzwert;
|
||||
}
|
||||
|
||||
$summe_nutzwert = $summe_nutzwert < 1 ? 1 : round($summe_nutzwert);
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td('', 'head bl bb');
|
||||
$html .= Html::td('Nutzwert gerundet', 'head right bt bb', 7);
|
||||
$html .= Html::td($summe_nutzwert, 'head right grau bt br bb');
|
||||
$html .= '</tr>';
|
||||
|
||||
$html .= '</table>';
|
||||
}
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
@@ -1,141 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Actions\Generate\Nutzwerte;
|
||||
|
||||
use App\Models\Raumalles;
|
||||
use App\Models\Raumorientierung;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class BerechnungNutzwerte
|
||||
{
|
||||
public static function berechnen($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
|
||||
|
||||
// METHODEN 5, 6 ,9
|
||||
// METHODEN 4
|
||||
// METHODE 3 & 3b
|
||||
|
||||
$_raumorientierung = Raumorientierung::where('projekts_id', $projekts_id)
|
||||
// ->where('nicht_in_orientierung', 0)
|
||||
->get();
|
||||
|
||||
foreach ($_raumorientierung as $raumorientierung) {
|
||||
|
||||
$_raumalles = Raumalles::where('raumorientierung_id', $raumorientierung->id)
|
||||
->where('projekts_id', $projekts_id)
|
||||
->whereIn('methodes_id', [3, 4, 5, 6, 7, 9])
|
||||
->get();
|
||||
|
||||
foreach ($_raumalles as $raumalle) {
|
||||
|
||||
$nutzwert_ungerundet = $raumalle->qm * $raumalle->factor;
|
||||
|
||||
switch ($raumalle->methodes_id) {
|
||||
case '9':
|
||||
Raumalles::where('id', $raumalle->id)
|
||||
->where('methodes_id', 9)
|
||||
->update(['nutzwert_ungerundet' => $nutzwert_ungerundet]);
|
||||
break;
|
||||
case '3':
|
||||
$nutzwert_gerundet = round($raumalle->qm * $raumalle->factor * $raumorientierung->factor);
|
||||
Raumalles::where('id', $raumalle->id)
|
||||
->where('methodes_id', 3)
|
||||
->update(['nutzwert_gerundet' => $nutzwert_ungerundet]);
|
||||
break;
|
||||
default:
|
||||
$nutzwert_gerundet = round($raumalle->qm * $raumalle->factor);
|
||||
Raumalles::where('id', $raumalle->id)
|
||||
->where('methodes_id', $raumalle->methodes_id)
|
||||
->update(['nutzwert_gerundet' => $nutzwert_gerundet]);
|
||||
break;
|
||||
}
|
||||
|
||||
Raumorientierung::where('id', $raumorientierung->id)
|
||||
->where('nutzwert_summe', 0)
|
||||
->update(['nutzwert_summe' => 1]);
|
||||
|
||||
$t1 = Raumalles::select('nutzwert_gerundet')
|
||||
->where('raumorientierung_id', $raumorientierung->id)
|
||||
->whereIn('methodes_id', [5, 6])
|
||||
->get()
|
||||
->sum('nutzwert_gerundet');
|
||||
$t2 = Raumalles::select('nutzwert_ungerundet')
|
||||
->where('raumorientierung_id', $raumorientierung->id)
|
||||
->where('methodes_id', 9)
|
||||
->get()
|
||||
->sum('nutzwert_ungerundet');
|
||||
$nutzwert_summe = round($t1 + $t2);
|
||||
|
||||
Raumorientierung::where('id', $raumorientierung->id)
|
||||
->update(['nutzwert_summe' => $nutzwert_summe]);
|
||||
}
|
||||
}
|
||||
|
||||
// METHODEN 1, 2, 2b , 3, 3b, 4
|
||||
$_raumorientierung = Raumorientierung::where('projekts_id', $projekts_id)
|
||||
->where('nicht_in_orientierung', 0)
|
||||
->get();
|
||||
|
||||
foreach ($_raumorientierung as $raumorientierung) {
|
||||
|
||||
// METHODE 1
|
||||
$qm_m1 = Raumalles::select('qm')
|
||||
->where('projekts_id', $projekts_id)
|
||||
->where('raumorientierung_id', $raumorientierung->id)
|
||||
->where('methodes_id', 1)
|
||||
->get()
|
||||
->sum('qm');
|
||||
|
||||
if ($qm_m1) {
|
||||
Raumorientierung::where('id', $raumorientierung->id)
|
||||
->where('projekts_id', $projekts_id)
|
||||
->update(['qm_m1' => $qm_m1]);
|
||||
}
|
||||
|
||||
// METHODE 1 & METHODE 2
|
||||
$nw_m2 = Raumalles::select(DB::raw('sum(qm * factor) as total'))
|
||||
->where('projekts_id', $projekts_id)
|
||||
->where('raumorientierung_id', $raumorientierung->id)
|
||||
->where('methodes_id', 2)
|
||||
->get()
|
||||
->sum('total');
|
||||
|
||||
$nw_m8 = Raumalles::select(DB::raw('sum(qm * factor) as total'))
|
||||
->where('projekts_id', $projekts_id)
|
||||
->where('raumorientierung_id', $raumorientierung->id)
|
||||
->where('methodes_id', 8)
|
||||
->get()
|
||||
->sum('total');
|
||||
|
||||
$nw_m1_m2 = round((($qm_m1 + $nw_m2) * $raumorientierung->factor) + $nw_m8);
|
||||
|
||||
$nw_m3_m4 = Raumalles::select('nutzwert_gerundet')
|
||||
->where('projekts_id', $projekts_id)
|
||||
->where('raumorientierung_id', $raumorientierung->id)
|
||||
->whereIn('methodes_id', [3, 4, 7])
|
||||
->get()
|
||||
->sum('nutzwert_gerundet');
|
||||
|
||||
$nutzwert_summe = $nw_m1_m2 + $nw_m3_m4;
|
||||
Raumorientierung::where('id', $raumorientierung->id)
|
||||
->update(['nutzwert_summe' => $nutzwert_summe]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Actions\Generate\Nutzwerte;
|
||||
|
||||
use App\Models\Orientierung;
|
||||
use App\Models\Raumalles;
|
||||
use App\Models\Raumorientierung;
|
||||
|
||||
class Zusammenstellung_Methode1
|
||||
{
|
||||
public static function load($projekts_id)
|
||||
{
|
||||
$res = Raumalles::select('raumorientierung_id', 'geschoss')->where('projekts_id', $projekts_id)->where('methodes_id', '1')->groupBy('raumorientierung_id', 'geschoss')->get();
|
||||
$geschoss = [];
|
||||
$raumorientierung_ids = [];
|
||||
foreach ($res as $value) {
|
||||
$geschoss[$value->raumorientierung_id][] = $value->geschoss;
|
||||
$raumorientierung_ids[] = $value->raumorientierung_id;
|
||||
}
|
||||
|
||||
$orientierung = Orientierung::map();
|
||||
$orientierung[1] = '';
|
||||
|
||||
$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'] = $value->type;
|
||||
$tmp['nutzwert_summe'] = $value->nutzwert_summe;
|
||||
$tmp['orientierung'] = $orientierung[$value->orientierungs_id];
|
||||
$tmp['geschoss'] = '';
|
||||
if (isset($geschoss[$value['id']])) {
|
||||
$tmp['geschoss'] = implode(',', $geschoss[$value->id]);
|
||||
}
|
||||
$return[] = $tmp;
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
@@ -32,6 +32,8 @@ class Pdf
|
||||
|
||||
public static $auftraggeber;
|
||||
|
||||
public static $zusammenstellung = [];
|
||||
|
||||
public static function make($projekte_id, $type, $mode)
|
||||
{
|
||||
|
||||
@@ -138,9 +140,9 @@ class Pdf
|
||||
case '9':
|
||||
$html .= Deckblatt::load($inhalt, $textblock, $textblock2);
|
||||
break;
|
||||
// case '11':
|
||||
// $html .= DigitaleSignatur::load($projekte_id);
|
||||
// break;
|
||||
case '10':
|
||||
$html .= DigitaleSignatur::load($projekte_id);
|
||||
break;
|
||||
}
|
||||
|
||||
if ($inhalt->textblock2 and $inhalt->inhaltselement_id != 9) {
|
||||
|
||||
@@ -2,21 +2,28 @@
|
||||
|
||||
namespace App\Actions\Generate\Tabellen;
|
||||
|
||||
use App\Actions\Generate\Tabellen\Nutzwerte\Projekt;
|
||||
use App\Actions\Generate\Pdf;
|
||||
use App\Actions\Generate\Utilities\Html;
|
||||
use App\Models\ProjektMethode;
|
||||
use App\Models\ProjektObjekte;
|
||||
use App\Models\ProjektObjekteImDetail;
|
||||
|
||||
class Nutzwertberechnung
|
||||
{
|
||||
public static $methoden = [];
|
||||
|
||||
public static $projekte_id = 0;
|
||||
|
||||
public static function load($projekte_id)
|
||||
{
|
||||
$objekte = Projekt::load($projekte_id);
|
||||
self::$projekte_id = $projekte_id;
|
||||
|
||||
// dd($objekte);
|
||||
$objekte = self::laod_project(false);
|
||||
|
||||
$html = '';
|
||||
foreach ($objekte as $methoden) {
|
||||
|
||||
$html .= Html::table_header(['Top Nr.', 'Geschoß', 'Orientierung', 'Typ', '', 'Fläche', '', 'Faktor', '', '', 'Nutzwert']);
|
||||
$html .= Html::table_header(['Top Nummer', 'Geschoß', 'Orientierung', 'Typ', '', 'Fläche', '', 'Faktor', '', '', 'Nutzwert'], 'page-break-inside:avoid');
|
||||
|
||||
$summe_nutzwert = 0;
|
||||
/**
|
||||
@@ -26,7 +33,7 @@ class Nutzwertberechnung
|
||||
$flaeche = 0;
|
||||
foreach ($methoden[1] as $komponente) {
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td($komponente['top_nummer'], 'bl bb');
|
||||
$html .= Html::td($komponente['top_nummer'], 'bold bl bb');
|
||||
$html .= Html::td($komponente['geschoss'], 'bl bb');
|
||||
$html .= Html::td($komponente['orientierung'], 'bl bb');
|
||||
$html .= Html::td($komponente['type'], 'bl bb');
|
||||
@@ -46,8 +53,8 @@ class Nutzwertberechnung
|
||||
$html .= Html::td(number_format($faktor, 3, ',', '.'), 'center bl bb');
|
||||
$html .= Html::td('=', 'center bl bb');
|
||||
$html .= Html::td(number_format($flaeche * $faktor, 3, ',', '.'), 'right bl bb');
|
||||
$summe_nutzwert = round($flaeche * $faktor);
|
||||
$html .= Html::td($summe_nutzwert, 'center bl bb br');
|
||||
$summe_nutzwert = $flaeche * $faktor;
|
||||
$html .= Html::td(round($summe_nutzwert), 'center bl bb br');
|
||||
$html .= '</tr>';
|
||||
}
|
||||
|
||||
@@ -68,12 +75,19 @@ class Nutzwertberechnung
|
||||
$html .= Html::td('=', 'center bl bb');
|
||||
$nutzwert = $komponente['flaeche'] * $komponente['faktor'];
|
||||
$html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl bb');
|
||||
$nutzwert = round($nutzwert);
|
||||
$html .= Html::td($nutzwert, 'center bl bb br');
|
||||
$summe_nutzwert += $nutzwert;
|
||||
$html .= Html::td('', 'center bl bb br');
|
||||
$html .= '</tr>';
|
||||
}
|
||||
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td('', 'bl bb', 9);
|
||||
$html .= Html::td(number_format($summe_nutzwert + $nutzwert, 3, ',', '.'), 'right bl bb');
|
||||
$html .= Html::td(round($summe_nutzwert + $nutzwert), 'center bl bb');
|
||||
$html .= '</tr>';
|
||||
|
||||
$summe_nutzwert += $nutzwert;
|
||||
}
|
||||
$summe_nutzwert = round($summe_nutzwert);
|
||||
|
||||
/**
|
||||
* Terasse, Balkon
|
||||
@@ -92,10 +106,11 @@ class Nutzwertberechnung
|
||||
$html .= Html::td('=', 'center bl bb');
|
||||
$nutzwert = $komponente['flaeche'] * $komponente['faktor'];
|
||||
$html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl bb');
|
||||
$nutzwert = round($nutzwert);
|
||||
$nutzwert = round($nutzwert) < 1 ? 1 : round($nutzwert);
|
||||
$html .= Html::td($nutzwert, 'center bl bb br');
|
||||
$summe_nutzwert += $nutzwert;
|
||||
$html .= '</tr>';
|
||||
|
||||
$summe_nutzwert += $nutzwert;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,18 +131,113 @@ class Nutzwertberechnung
|
||||
$html .= Html::td('=', 'center bl bb');
|
||||
$nutzwert = $komponente['flaeche'] * $komponente['faktor'];
|
||||
$html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl bb');
|
||||
$nutzwert = round($nutzwert);
|
||||
$nutzwert = round($nutzwert) < 1 ? 1 : round($nutzwert);
|
||||
$html .= Html::td($nutzwert, 'center bl bb br');
|
||||
$summe_nutzwert += $nutzwert;
|
||||
$html .= '</tr>';
|
||||
|
||||
$summe_nutzwert += $nutzwert;
|
||||
}
|
||||
}
|
||||
|
||||
$html .= Html::table_footer($summe_nutzwert);
|
||||
$html .= '</table>';
|
||||
|
||||
Pdf::$zusammenstellung[$komponente['id']] = $summe_nutzwert;
|
||||
}
|
||||
|
||||
$objekte = self::laod_project(true);
|
||||
|
||||
foreach ($objekte as $methoden) {
|
||||
/**
|
||||
* Stellplätze
|
||||
*/
|
||||
$html .= Html::table_header(['Top Nummer', 'Geschoß', '', 'Fläche', '', 'Faktor', '', '', 'Nutzwert'], 'page-break-inside:avoid');
|
||||
|
||||
$nutzwert = 0;
|
||||
|
||||
if (isset($methoden[5])) {
|
||||
foreach ($methoden[5] as $komponente) {
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td($komponente['top_nummer'], 'bl bb');
|
||||
$html .= Html::td($komponente['geschoss'], 'bl bb');
|
||||
$html .= Html::td($komponente['raumart'], 'bl bb');
|
||||
$html .= Html::td(number_format($komponente['flaeche'], 2, ',', '.').' m²', 'right bl bb');
|
||||
$html .= Html::td('x', 'center bl bb');
|
||||
$html .= Html::td(number_format($komponente['faktor'], 3), 'center bl bb');
|
||||
$html .= Html::td('=', 'center bl bb');
|
||||
$nutzwert = $komponente['flaeche'] * $komponente['faktor'];
|
||||
$html .= Html::td(number_format($nutzwert, 3, ',', '.'), 'right bl bb');
|
||||
$nutzwert = round($nutzwert) < 1 ? 1 : round($nutzwert);
|
||||
$html .= Html::td($nutzwert, 'center bl bb br');
|
||||
$html .= '</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
$html .= Html::table_footer($nutzwert, 8);
|
||||
$html .= '</table>';
|
||||
Pdf::$zusammenstellung[$komponente['id']] = $nutzwert;
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
public static function laod_project($nicht_in_orientierung)
|
||||
{
|
||||
$objekte = ProjektObjekte::with('orientierung')
|
||||
->where('projekte_id', self::$projekte_id)
|
||||
->where('nicht_in_orientierung', $nicht_in_orientierung)
|
||||
->orderBy('top_nummer')
|
||||
->get();
|
||||
|
||||
$tmp = [];
|
||||
foreach ($objekte as $objekt) {
|
||||
$elemente = ProjektObjekteImDetail::where('projekt_objekte_id', $objekt->id)->get();
|
||||
|
||||
foreach ($elemente as $key => $element) {
|
||||
|
||||
$methode = self::laod_methode($element['raumart']);
|
||||
$methode_id = $methode['methode_id'];
|
||||
$methode_faktor = $methode['faktor'];
|
||||
|
||||
$orientierung = $objekt['orientierung']['name'] ?? '';
|
||||
if ($key > 0 && $methode_id == 1) {
|
||||
$orientierung = '';
|
||||
}
|
||||
|
||||
$geschoss = $element['geschoss'] ?? '';
|
||||
if ($key > 0 && $methode_id <= 1) {
|
||||
$geschoss = '';
|
||||
}
|
||||
|
||||
$t = [];
|
||||
$t['id'] = $objekt->id;
|
||||
$t['type'] = ! $key ? $objekt->type : '';
|
||||
$t['geschoss'] = $geschoss;
|
||||
$t['orientierung'] = $orientierung;
|
||||
$t['raumart'] = $element['raumart'];
|
||||
$t['flaeche'] = $element['flaeche'];
|
||||
$t['nutzwert'] = $element['nutzwert'];
|
||||
$t['top_nummer'] = ! $key ? $objekt->top_nummer : '';
|
||||
$t['objekt_nutzwert'] = $objekt->nutzwert;
|
||||
$t['faktor'] = $methode_faktor;
|
||||
$tmp[$objekt->top_nummer][$methode_id][] = $t;
|
||||
}
|
||||
}
|
||||
|
||||
return $tmp;
|
||||
}
|
||||
|
||||
public static function laod_methode($raumart)
|
||||
{
|
||||
if (! count(self::$methoden)) {
|
||||
self::$methoden = ProjektMethode::where('projekte_id', self::$projekte_id)->get();
|
||||
}
|
||||
|
||||
foreach (self::$methoden as $methode) {
|
||||
if ($methode->raumart == $raumart) {
|
||||
return $methode;
|
||||
}
|
||||
}
|
||||
dd('Model ProjektMethode "raumart" '.$raumart.' missing'.__FILE__);
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Actions\Generate\Tabellen\Nutzwerte;
|
||||
|
||||
use App\Models\ProjektMethode;
|
||||
use App\Models\ProjektObjekte;
|
||||
use App\Models\ProjektObjekteImDetail;
|
||||
|
||||
class Projekt
|
||||
{
|
||||
public static function load($projekte_id)
|
||||
{
|
||||
$methoden = ProjektMethode::where('projekte_id', $projekte_id)->pluck('methode_id', 'raumart')->toArray();
|
||||
|
||||
$objekte = ProjektObjekte::with('orientierung')
|
||||
->where('projekte_id', $projekte_id)
|
||||
->orderBy('nicht_in_orientierung')
|
||||
->orderBy('top_nummer')
|
||||
->get();
|
||||
|
||||
$tmp = [];
|
||||
foreach ($objekte as $objekt) {
|
||||
$elemente = ProjektObjekteImDetail::where('projekt_objekte_id', $objekt->id)->get();
|
||||
|
||||
foreach ($elemente as $key => $element) {
|
||||
|
||||
$methode_id = $methoden[$element['raumart']];
|
||||
|
||||
$t = [];
|
||||
$t['type'] = $objekt->type ?? '';
|
||||
$t['geschoss'] = $element['geschoss'];
|
||||
$t['raumart'] = $element['raumart'];
|
||||
$t['faktor'] = $element['faktor'];
|
||||
$t['flaeche'] = $element['flaeche'];
|
||||
$t['nutzwert'] = $element['nutzwert'];
|
||||
$t['top_nummer'] = ! $key ? $objekt->top_nummer : '';
|
||||
$t['objekt_nutzwert'] = $objekt->nutzwert;
|
||||
$t['faktor_methode'] = $element['methode']['faktor'];
|
||||
$t['orientierung'] = isset($objekt['orientierung']['name']) ? $objekt['orientierung']['name'] : '';
|
||||
$tmp[$objekt->top_nummer][$methode_id][] = $t;
|
||||
}
|
||||
}
|
||||
|
||||
// dd($tmp);
|
||||
|
||||
return $tmp;
|
||||
}
|
||||
}
|
||||
@@ -7,14 +7,12 @@ use App\Actions\Generate\Utilities\Html;
|
||||
use App\Models\ProjektMerkmale;
|
||||
use App\Models\ProjektMethode;
|
||||
use App\Models\ProjektObjekte;
|
||||
use App\Models\ProjektObjekteImDetail;
|
||||
use DB;
|
||||
|
||||
class ZuUndAbschlaege
|
||||
{
|
||||
public static function load(int $projekte_id)
|
||||
{
|
||||
|
||||
$objekte = ProjektObjekte::select()
|
||||
->with('orientierung')
|
||||
->where('projekte_id', $projekte_id)
|
||||
@@ -43,18 +41,12 @@ class ZuUndAbschlaege
|
||||
|
||||
foreach ($objekte as $objekt) {
|
||||
|
||||
// $detail = ProjektObjekteImDetail::join('projekt_methodes', 'projekt_objekte_im_details.raumart', '=', 'projekt_methodes.name')
|
||||
// ->where('projekt_methodes.projekte_id', $projekte_id)
|
||||
// ->where('projekt_objekte_im_details.projekt_objekte_id', $objekt->id)
|
||||
// ->get();
|
||||
// dd($detail);
|
||||
|
||||
$detail = DB::table('projekt_objekte_im_details')
|
||||
->join('projekt_methodes', 'projekt_objekte_im_details.raumart', '=', 'projekt_methodes.raumart')
|
||||
->select(
|
||||
'projekt_methodes.faktor',
|
||||
'projekt_objekte_im_details.geschoss',
|
||||
'projekt_objekte_im_details.raumart',
|
||||
'projekt_objekte_im_details.faktor',
|
||||
'projekt_objekte_im_details.flaeche',
|
||||
'projekt_objekte_im_details.nutzwert',
|
||||
)
|
||||
@@ -71,7 +63,7 @@ class ZuUndAbschlaege
|
||||
$html .= Html::td($objekt['top_nummer'], 'center bl br bb');
|
||||
$html .= Html::td($geschoss, 'center br bb');
|
||||
$html .= Html::td($objekt['type'], 'br bb');
|
||||
// Nutzfläache
|
||||
// Nutzfläche
|
||||
$html .= Html::td(Format::dezimal($flaeche, 2).' m²', 'center br bb w30');
|
||||
// Loggia
|
||||
if ($has_loggien) {
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
namespace App\Actions\Generate\Tabellen;
|
||||
|
||||
use App\Actions\Generate\Pdf;
|
||||
use App\Actions\Generate\Utilities\Format;
|
||||
use App\Actions\Generate\Utilities\Html;
|
||||
use App\Models\ProjektObjekte;
|
||||
use App\Models\ProjektObjekteImDetail;
|
||||
|
||||
class Zusammenstellung
|
||||
{
|
||||
@@ -15,12 +15,13 @@ class Zusammenstellung
|
||||
$summe_prozent = [];
|
||||
$summe_nutzwert = [];
|
||||
|
||||
$html = Html::table_header(['Top', 'Geschoß', 'Orientierung', 'Typ', 'Nutzwert', 'x2 *', '%']);
|
||||
$nutzwert_gesammt = array_sum(Pdf::$zusammenstellung);
|
||||
|
||||
$nutzwert_gesammt = ProjektObjekteImDetail::where('projekte_id', $projekte_id)->sum('nutzwert');
|
||||
$html = Html::table_header(['Top', 'Geschoß', 'Orientierung', 'Typ', 'Nutzwert', 'x2 *', '%']);
|
||||
|
||||
$objekte = ProjektObjekte::select()
|
||||
->with('orientierung')
|
||||
->with('projektobjekteimdetail')
|
||||
->where('projekte_id', $projekte_id)
|
||||
->orderBy('nicht_in_orientierung', 'ASC')
|
||||
->orderBy('top_nummer', 'ASC')
|
||||
@@ -28,29 +29,23 @@ class Zusammenstellung
|
||||
|
||||
foreach ($objekte as $objekt) {
|
||||
|
||||
$objektimdetail = ProjektObjekteImDetail::where('projekt_objekte_id', $objekt->id)->get();
|
||||
|
||||
$nutzwert = $objektimdetail->sum('nutzwert');
|
||||
|
||||
$tmp = 0;
|
||||
$str = '';
|
||||
if ($nutzwert > 0) {
|
||||
|
||||
$str = $nutzwert * 2 .' / '.$nutzwert_gesammt * 2 .' tel Anteil =';
|
||||
|
||||
$tmp = ($nutzwert * 2) / ($nutzwert_gesammt * 2) * 100;
|
||||
$prozent = Format::dezimal($tmp, 3).'%';
|
||||
}
|
||||
$summe_prozent[] = $tmp;
|
||||
$summe_nutzwert[] = $nutzwert;
|
||||
|
||||
$html .= '<tr>';
|
||||
$html .= Html::td($objekt->top_nummer, 'bl bb br');
|
||||
$html .= Html::td($objektimdetail->first()->geschoss, 'center br bb');
|
||||
$html .= Html::td($objekt->projektobjekteimdetail->first()->geschoss, 'center br bb');
|
||||
$html .= Html::td($objekt->orientierung?->name, 'center br bb');
|
||||
$html .= Html::td($objekt?->type, 'center br bb');
|
||||
|
||||
$nutzwert = Pdf::$zusammenstellung[$objekt->id];
|
||||
$summe_nutzwert[] = $nutzwert;
|
||||
$html .= Html::td(round($nutzwert), 'center bb br');
|
||||
|
||||
$str = $nutzwert * 2 .' / '.$nutzwert_gesammt * 2 .' tel Anteil =';
|
||||
$html .= Html::td($str, 'center bb br');
|
||||
|
||||
$prozent = ($nutzwert * 2) / ($nutzwert_gesammt * 2) * 100;
|
||||
$summe_prozent[] = $prozent;
|
||||
$prozent = Format::dezimal($prozent, 3).'%';
|
||||
|
||||
$html .= Html::td($prozent ?? '', 'center bb br');
|
||||
$html .= '</tr>';
|
||||
}
|
||||
|
||||
@@ -16,6 +16,18 @@ class Filter
|
||||
return $return;
|
||||
}
|
||||
|
||||
public static function array_remove($array, $filters = [])
|
||||
{
|
||||
$return = [];
|
||||
foreach ($array as $value) {
|
||||
if (! in_array($value, $filters)) {
|
||||
$return[] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
public static function get_separator($row)
|
||||
{
|
||||
if (substr_count($row, '|') == 3) {
|
||||
|
||||
@@ -4,9 +4,10 @@ namespace App\Actions\Generate\Utilities;
|
||||
|
||||
class Html
|
||||
{
|
||||
public static function table_header($header_row)
|
||||
public static function table_header($header_row, $style = '')
|
||||
{
|
||||
$html = '<table class="table-striped">';
|
||||
$style = " style=\" $style\"" ?? '';
|
||||
$html = '<table autosize="1" class="table-striped" '.$style.'>';
|
||||
$html .= '<thead><tr>';
|
||||
foreach ($header_row as $value) {
|
||||
$html .= '<th class="bl bt br bb center bg-sky">'.$value.'</th>';
|
||||
@@ -16,10 +17,10 @@ class Html
|
||||
return $html;
|
||||
}
|
||||
|
||||
public static function table_footer($nutzwert_summe)
|
||||
public static function table_footer($nutzwert_summe, $colspan = 10)
|
||||
{
|
||||
$html = '<tfooter><tr>';
|
||||
$html .= '<th colspan="10" class="bl bt bb right bg-sky">Nutzwert gerundet</th>';
|
||||
$html .= '<th colspan="'.$colspan.'" class="bl bt bb right bg-sky">Nutzwert gerundet</th>';
|
||||
$html .= '<th class="bl bt br bb center bg-sky">'.$nutzwert_summe.'</th>';
|
||||
$html .= '</tr></tfooter>';
|
||||
|
||||
|
||||
@@ -146,9 +146,7 @@ class GutachtenValidation
|
||||
|
||||
foreach ($res as $value) {
|
||||
|
||||
$raeume = $value->projektobjekteimdetail->toArray();
|
||||
|
||||
if (! count($raeume)) {
|
||||
if (! count($value->projektobjekteimdetail)) {
|
||||
Notification::make()
|
||||
->title('Tabelle Objekte')
|
||||
->info()
|
||||
@@ -170,18 +168,7 @@ class GutachtenValidation
|
||||
|
||||
return false;
|
||||
}
|
||||
if (! $raeume['geschoss']) {
|
||||
Notification::make()
|
||||
->title('Tabelle Objekte im Detail')
|
||||
->info()
|
||||
->icon('heroicon-o-exclamation-triangle')
|
||||
->duration(10000)
|
||||
->body('Beim Objekt Top Nummer <b>'.$value->top_nummer.'</b> fehlt die Angabe des <u>Geschoßes</u>.')
|
||||
->send();
|
||||
|
||||
return false;
|
||||
}
|
||||
if (! $raeume['raumart']) {
|
||||
if (! $value->projektobjekteimdetail->first()->raumart) {
|
||||
Notification::make()
|
||||
->title('Tabelle Objekte im Detail')
|
||||
->info()
|
||||
@@ -192,7 +179,7 @@ class GutachtenValidation
|
||||
|
||||
return false;
|
||||
}
|
||||
if (! $raeume['flaeche']) {
|
||||
if (! $value->projektobjekteimdetail->first()->flaeche) {
|
||||
Notification::make()
|
||||
->title('Tabelle Objekte im Detail')
|
||||
->info()
|
||||
@@ -232,18 +219,6 @@ class GutachtenValidation
|
||||
|
||||
return false;
|
||||
}
|
||||
// KANN 0 SEIN
|
||||
// if ($value->faktor == 0) {
|
||||
// Notification::make()
|
||||
// ->title('Tabelle Räume Methoden')
|
||||
// ->info()
|
||||
// ->icon('heroicon-o-exclamation-triangle')
|
||||
// ->duration(10000)
|
||||
// ->body('Für den Raum <b>'.$value->raumart.'</b> fehlt die Angabe des <u>Faktors</u>.')
|
||||
// ->send();
|
||||
|
||||
// return false;
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+9
-2
@@ -5,6 +5,7 @@ namespace App\Filament\Resources\Projektes\RelationManagers;
|
||||
use App\Actions\Create\CreateProjektMethoden;
|
||||
use App\Models\Methode;
|
||||
use App\Models\ProjektMethode;
|
||||
use App\Models\ProjektObjekteImDetail;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Actions\BulkAction;
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
@@ -59,8 +60,12 @@ class ProjektMethodesRelationManager extends RelationManager
|
||||
->width('1rem')
|
||||
->rules(['required', 'faktor' => 'decimal:0,2'])
|
||||
->searchable()
|
||||
->afterStateUpdated(function (Component $livewire) {
|
||||
$livewire->dispatch('refreshMethods');
|
||||
->afterStateUpdated(function ($record) {
|
||||
$objects = ProjektObjekteImDetail::where('projekte_id', $record['projekte_id'])->where('raumart', $record['raumart'])->get();
|
||||
foreach ($objects as $value) {
|
||||
$nutzwert = round($record['faktor'] * $value->flaeche, 2);
|
||||
ProjektObjekteImDetail::where('id', $value->id)->update(['nutzwert' => $nutzwert]);
|
||||
}
|
||||
})->validationMessages([
|
||||
'required' => 'Die Eingabe eines Faktors ist erforderlich.',
|
||||
'decimal' => 'Für den Faktors sind zwei Dezimalstellen erforderlich.',
|
||||
@@ -130,6 +135,7 @@ class ProjektMethodesRelationManager extends RelationManager
|
||||
->icon('phosphor-function')
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
/** @var object $record */
|
||||
ProjektMethode::where('id', '=', $record->id)
|
||||
->update(
|
||||
['faktor' => $data['faktor']]
|
||||
@@ -151,6 +157,7 @@ class ProjektMethodesRelationManager extends RelationManager
|
||||
->icon('phosphor-calculator')
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
/** @var object $record */
|
||||
ProjektMethode::where('id', '=', $record->id)
|
||||
->update(
|
||||
['methode_id' => $data['methode_id']]
|
||||
|
||||
+11
-64
@@ -3,7 +3,6 @@
|
||||
namespace App\Filament\Resources\Projektes\RelationManagers;
|
||||
|
||||
use App\Models\ProjektObjekteImDetail;
|
||||
use Filament\Actions\BulkAction;
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Actions\DeleteAction;
|
||||
@@ -20,7 +19,6 @@ use Filament\Tables\Columns\TextInputColumn;
|
||||
use Filament\Tables\Filters\SelectFilter;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Support\HtmlString;
|
||||
use Livewire\Component;
|
||||
|
||||
@@ -44,17 +42,14 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
|
||||
Select::make('projekt_objekte_id')
|
||||
->relationship('top_nummer', 'top_nummer', fn (Builder $query) => $query->where('projekte_id', $this->getOwnerRecord()->id))
|
||||
->required()
|
||||
->searchable()
|
||||
->columnSpan(3),
|
||||
->searchable(),
|
||||
TextInput::make('raumart')
|
||||
->required()
|
||||
->maxLength(255)
|
||||
->columnSpan(3),
|
||||
->maxLength(255),
|
||||
TextInput::make('geschoss')
|
||||
->required()
|
||||
->maxLength(255)
|
||||
->suffixIcon('phosphor-building')
|
||||
->columnSpan(2),
|
||||
->suffixIcon('phosphor-building'),
|
||||
TextInput::make('flaeche')
|
||||
->suffix(new HtmlString(' m²'))
|
||||
->rules(['required'])
|
||||
@@ -65,18 +60,8 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
|
||||
])
|
||||
->afterStateUpdated(function (Component $livewire) {
|
||||
$livewire->dispatch('refreshProjektAllgemeinflaechen');
|
||||
})
|
||||
->columnSpan(2),
|
||||
TextInput::make('faktor')
|
||||
->suffixIcon('phosphor-function')
|
||||
->afterStateUpdated(function (Component $livewire) {
|
||||
$livewire->dispatch('refreshProjektObjekteImDetail');
|
||||
})->validationMessages([
|
||||
'required' => 'Die Eingabe eines Faktors ist erforderlich.',
|
||||
'decimal' => 'Für den Faktors sind zwei Dezimalstellen erforderlich.',
|
||||
])
|
||||
->columnSpan(2),
|
||||
])->columns(6);
|
||||
}),
|
||||
]);
|
||||
}
|
||||
|
||||
public function table(Table $table): Table
|
||||
@@ -87,29 +72,16 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
|
||||
->recordTitleAttribute('top_nummer')
|
||||
->columns([
|
||||
TextColumn::make('top_nummer.top_nummer')
|
||||
->sortable()
|
||||
->extraAttributes(['pointer-events' => 'none'])
|
||||
->searchable()
|
||||
->label('Top'),
|
||||
TextColumn::make('geschoss')->searchable(),
|
||||
TextColumn::make('raumart')->searchable(),
|
||||
TextInputColumn::make('faktor')
|
||||
->extraInputAttributes(['onClick' => 'this.select()'])
|
||||
->suffixIcon('phosphor-function')
|
||||
->width('1rem')
|
||||
->rules(['required'])
|
||||
TextColumn::make('raumart')->searchable()->sortable(),
|
||||
TextColumn::make('methode.faktor')
|
||||
->icon('phosphor-function')
|
||||
->searchable()
|
||||
->afterStateUpdated(function ($record, Component $livewire) {
|
||||
|
||||
$object = ProjektObjekteImDetail::find($record['id']);
|
||||
$object->nutzwert = round($object->faktor * $object->flaeche, 2);
|
||||
$object->save();
|
||||
|
||||
$livewire->dispatch('refreshProjektObjekteImDetail');
|
||||
|
||||
})->validationMessages([
|
||||
'required' => 'Die Eingabe eines Faktors ist erforderlich.',
|
||||
'decimal' => 'Für den Faktors sind zwei Dezimalstellen erforderlich.',
|
||||
]),
|
||||
->label('Faktor'),
|
||||
TextInputColumn::make('flaeche')
|
||||
->extraInputAttributes(['onClick' => 'this.select()'])
|
||||
->summarize(Sum::make()->label('Gesammt')->numeric(
|
||||
@@ -122,9 +94,8 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
|
||||
->label('Fläche')
|
||||
->searchable()
|
||||
->afterStateUpdated(function ($record, Component $livewire) {
|
||||
|
||||
$object = ProjektObjekteImDetail::find($record['id']);
|
||||
$object->nutzwert = round($object->faktor * $object->flaeche, 2);
|
||||
$object->nutzwert = round($record->methode->faktor * $object->flaeche, 2);
|
||||
$object->save();
|
||||
|
||||
$livewire->dispatch('refreshProjektObjekteImDetail');
|
||||
@@ -176,30 +147,6 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
|
||||
])
|
||||
->toolbarActions([
|
||||
BulkActionGroup::make([
|
||||
BulkAction::make('faktor')
|
||||
->color('primary')
|
||||
->label('Faktor zuweisen')
|
||||
->schema([
|
||||
TextInput::make('faktor')
|
||||
->prefixIcon('phosphor-calculator')
|
||||
->numeric()
|
||||
->required(),
|
||||
])
|
||||
->icon('phosphor-calculator')
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
$nutzwert = round($data['faktor'] * $record->flaeche);
|
||||
ProjektObjekteImDetail::where('id', '=', $record->id)
|
||||
->update(
|
||||
[
|
||||
'faktor' => $data['faktor'],
|
||||
'nutzwert' => $nutzwert,
|
||||
]
|
||||
);
|
||||
}
|
||||
})->after(function (Component $livewire) {
|
||||
$livewire->dispatch('refreshProjektObjekteImDetail');
|
||||
}),
|
||||
DeleteBulkAction::make()->after(function (Component $livewire) {
|
||||
$livewire->dispatch('refreshProjektObjekteImDetail');
|
||||
}),
|
||||
|
||||
+15
-1
@@ -65,6 +65,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->columns([
|
||||
TextColumn::make('top_nummer')
|
||||
->alignCenter()
|
||||
->sortable()
|
||||
->label('Top Nummer')
|
||||
->searchable()
|
||||
->extraHeaderAttributes([
|
||||
@@ -92,7 +93,6 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->toggleable()
|
||||
->width('2rem')
|
||||
->label('Orientierung')
|
||||
->selectablePlaceholder(true)
|
||||
->options(Orientierung::pluck('name', 'id'))
|
||||
->selectablePlaceholder(false)
|
||||
->disableOptionWhen(fn (string $value): bool => in_array($value, [2, 11, 24, 33, 36]))
|
||||
@@ -232,6 +232,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->default(0)
|
||||
->label('Objekte "Nicht in Orientierung" anzeigen'),
|
||||
])
|
||||
->deferFilters(false)
|
||||
->recordActions([
|
||||
EditAction::make()->iconButton()
|
||||
->mutateDataUsing(function (array $data): array {
|
||||
@@ -275,6 +276,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->icon('phosphor-align-center-horizontal-simple')
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->where('nicht_in_orientierung', '=', false)
|
||||
->update(
|
||||
@@ -299,6 +301,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->icon('phosphor-compass')
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->update(
|
||||
['orientierung_id' => $data['methode_id']]
|
||||
@@ -323,6 +326,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->icon('phosphor-check-square')
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->update(
|
||||
['nicht_in_orientierung' => 1]
|
||||
@@ -344,6 +348,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
$nutzwert = $this->sum_nutzwerte('a', $data['a'], $record);
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->update(
|
||||
[
|
||||
@@ -367,6 +372,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
$nutzwert = $this->sum_nutzwerte('b', $data['b'], $record);
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->update(
|
||||
[
|
||||
@@ -390,6 +396,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
$nutzwert = $this->sum_nutzwerte('c', $data['c'], $record);
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->update(
|
||||
[
|
||||
@@ -413,6 +420,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
$nutzwert = $this->sum_nutzwerte('d', $data['d'], $record);
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->update(
|
||||
[
|
||||
@@ -436,6 +444,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
$nutzwert = $this->sum_nutzwerte('e', $data['e'], $record);
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->update(
|
||||
[
|
||||
@@ -459,6 +468,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
$nutzwert = $this->sum_nutzwerte('f', $data['f'], $record);
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->update(
|
||||
[
|
||||
@@ -482,6 +492,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
$nutzwert = $this->sum_nutzwerte('g', $data['g'], $record);
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->update(
|
||||
[
|
||||
@@ -505,6 +516,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
$nutzwert = $this->sum_nutzwerte('h', $data['h'], $record);
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->update(
|
||||
[
|
||||
@@ -528,6 +540,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
$nutzwert = $this->sum_nutzwerte('i', $data['i'], $record);
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->update(
|
||||
[
|
||||
@@ -551,6 +564,7 @@ class ProjektObjekteRelationManager extends RelationManager
|
||||
->action(function (Collection $records, array $data): void {
|
||||
foreach ($records as $record) {
|
||||
$nutzwert = $this->sum_nutzwerte('j', $data['j'], $record);
|
||||
/** @var object $record */
|
||||
ProjektObjekte::where('id', '=', $record->id)
|
||||
->update(
|
||||
[
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace App\Filament\Resources\Projektes\Schemas;
|
||||
|
||||
use App\Enums\ProjektStatus;
|
||||
use App\Models\Projekte;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Forms\Components\DatePicker;
|
||||
use Filament\Forms\Components\Radio;
|
||||
use Filament\Forms\Components\RichEditor;
|
||||
@@ -32,25 +33,41 @@ class ProjekteForm
|
||||
->schema([
|
||||
TextInput::make('offizieller_name')
|
||||
->label('Offizieller Name')
|
||||
->required()
|
||||
->suffixAction(
|
||||
Action::make('copy')
|
||||
->tooltip('Kopieren')
|
||||
->icon('heroicon-s-clipboard-document-check')
|
||||
->action(function ($livewire, $state) {
|
||||
$livewire->js('window.navigator.clipboard.writeText("'.$state.'");');
|
||||
})
|
||||
)
|
||||
->belowContent([
|
||||
'Kann mit "###OFFIZIELLER_NAME###" im Text verwendet werden.',
|
||||
]),
|
||||
'Als Platzhalter "###OFFIZIELLER_NAME###"',
|
||||
])
|
||||
->required(),
|
||||
TextInput::make('interner_name')
|
||||
->label('Interner Name')
|
||||
->required()
|
||||
->suffixAction(
|
||||
Action::make('copy')
|
||||
->tooltip('Kopieren')
|
||||
->icon('heroicon-s-clipboard-document-check')
|
||||
->action(function ($livewire, $state) {
|
||||
$livewire->js('window.navigator.clipboard.writeText("'.$state.'");');
|
||||
})
|
||||
)
|
||||
->belowContent([
|
||||
'Kann mit "###INTERNER_NAME###" im Text verwendet werden.',
|
||||
]),
|
||||
'Als Platzhalter "###INTERNER_NAME###"',
|
||||
])
|
||||
->required(),
|
||||
TextInput::make('ort')->required()->suffix('am')
|
||||
->belowContent([
|
||||
'Kann mit "###ORT###" im Text verwendet werden.',
|
||||
'Als Platzhalter "###ORT###"',
|
||||
]),
|
||||
DatePicker::make('erstellung')
|
||||
->label('Datum der Erstellung')
|
||||
->required()
|
||||
->belowContent([
|
||||
'Kann mit "###DATUM###" im Text verwendet werden.',
|
||||
'Als Platzhalter "###DATUM###"',
|
||||
]),
|
||||
])->columns(2),
|
||||
Tab::make('Zuordnung')
|
||||
|
||||
@@ -77,11 +77,12 @@ class TextblockForm
|
||||
->schema([
|
||||
TextInput::make('hilfe_titel')
|
||||
->aboveLabel([
|
||||
'Dieser Inhalt wird dem Benutzer an entsprechender Stelle bei der Bearbeitung des Gutachtens angezeigt.',
|
||||
'Wird dem Benutzer bei der Bearbeitung dieses Inhaltselements angezeigt.',
|
||||
])
|
||||
->label('Überschrift')
|
||||
->columnSpanFull(),
|
||||
Textarea::make('hilfe_description'),
|
||||
Textarea::make('hilfe_description')
|
||||
->label('Text'),
|
||||
FileUpload::make('hilfe_image')
|
||||
->image()
|
||||
->label('Bild')
|
||||
|
||||
@@ -42,6 +42,6 @@ class ProjektObjekteImDetail extends Model
|
||||
|
||||
public function methode()
|
||||
{
|
||||
return $this->hasOne(ProjektMethode::class, 'raumart', 'raumart');
|
||||
return $this->belongsTo(ProjektMethode::class, 'raumart', 'raumart');
|
||||
}
|
||||
}
|
||||
Vendored
+21
-21
@@ -531,7 +531,7 @@ app('router')->setCompiledRoutes(
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'_route' => 'generated::uyjGbzR3XQdo3KhH',
|
||||
'_route' => 'generated::ujfob9beT20afLlN',
|
||||
),
|
||||
1 => NULL,
|
||||
2 =>
|
||||
@@ -551,7 +551,7 @@ app('router')->setCompiledRoutes(
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'_route' => 'generated::KwFA2GneULEbvRRP',
|
||||
'_route' => 'generated::xo3kJGB2Kai4wz1c',
|
||||
),
|
||||
1 => NULL,
|
||||
2 =>
|
||||
@@ -609,7 +609,7 @@ app('router')->setCompiledRoutes(
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'_route' => 'generated::edh6JsQpgu03vVcj',
|
||||
'_route' => 'generated::SWoGYxdjyUAOcgVh',
|
||||
),
|
||||
1 => NULL,
|
||||
2 =>
|
||||
@@ -629,7 +629,7 @@ app('router')->setCompiledRoutes(
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'_route' => 'generated::eNLlLrDplQqPnuec',
|
||||
'_route' => 'generated::amiq2DoYewzdm8Y8',
|
||||
),
|
||||
1 => NULL,
|
||||
2 =>
|
||||
@@ -649,7 +649,7 @@ app('router')->setCompiledRoutes(
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'_route' => 'generated::4H8cKn4rChdKkF4S',
|
||||
'_route' => 'generated::S1KEgmy9kS1sVnDX',
|
||||
),
|
||||
1 => NULL,
|
||||
2 =>
|
||||
@@ -669,7 +669,7 @@ app('router')->setCompiledRoutes(
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'_route' => 'generated::FZzcIvLYnObwCXv1',
|
||||
'_route' => 'generated::pJN3i9aU8lWn299F',
|
||||
),
|
||||
1 => NULL,
|
||||
2 =>
|
||||
@@ -689,7 +689,7 @@ app('router')->setCompiledRoutes(
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'_route' => 'generated::dKL4xMJ3Tqv1laiq',
|
||||
'_route' => 'generated::8pEsEgvP206TQHbt',
|
||||
),
|
||||
1 => NULL,
|
||||
2 =>
|
||||
@@ -2717,7 +2717,7 @@ app('router')->setCompiledRoutes(
|
||||
'waitSeconds' => NULL,
|
||||
'withTrashed' => false,
|
||||
),
|
||||
'generated::uyjGbzR3XQdo3KhH' =>
|
||||
'generated::ujfob9beT20afLlN' =>
|
||||
array (
|
||||
'methods' =>
|
||||
array (
|
||||
@@ -2729,7 +2729,7 @@ app('router')->setCompiledRoutes(
|
||||
array (
|
||||
'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile',
|
||||
'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile',
|
||||
'as' => 'generated::uyjGbzR3XQdo3KhH',
|
||||
'as' => 'generated::ujfob9beT20afLlN',
|
||||
),
|
||||
'fallback' => false,
|
||||
'defaults' =>
|
||||
@@ -2745,7 +2745,7 @@ app('router')->setCompiledRoutes(
|
||||
'waitSeconds' => NULL,
|
||||
'withTrashed' => false,
|
||||
),
|
||||
'generated::KwFA2GneULEbvRRP' =>
|
||||
'generated::xo3kJGB2Kai4wz1c' =>
|
||||
array (
|
||||
'methods' =>
|
||||
array (
|
||||
@@ -2757,7 +2757,7 @@ app('router')->setCompiledRoutes(
|
||||
array (
|
||||
'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps',
|
||||
'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps',
|
||||
'as' => 'generated::KwFA2GneULEbvRRP',
|
||||
'as' => 'generated::xo3kJGB2Kai4wz1c',
|
||||
),
|
||||
'fallback' => false,
|
||||
'defaults' =>
|
||||
@@ -2859,7 +2859,7 @@ app('router')->setCompiledRoutes(
|
||||
'waitSeconds' => NULL,
|
||||
'withTrashed' => false,
|
||||
),
|
||||
'generated::edh6JsQpgu03vVcj' =>
|
||||
'generated::SWoGYxdjyUAOcgVh' =>
|
||||
array (
|
||||
'methods' =>
|
||||
array (
|
||||
@@ -2888,7 +2888,7 @@ app('router')->setCompiledRoutes(
|
||||
\'exception\' => $exception,
|
||||
]), status: $exception ? 500 : 200);
|
||||
}";s:5:"scope";s:54:"Illuminate\\Foundation\\Configuration\\ApplicationBuilder";s:4:"this";N;s:4:"self";s:32:"0000000000000f460000000000000000";}}',
|
||||
'as' => 'generated::edh6JsQpgu03vVcj',
|
||||
'as' => 'generated::SWoGYxdjyUAOcgVh',
|
||||
),
|
||||
'fallback' => false,
|
||||
'defaults' =>
|
||||
@@ -2904,7 +2904,7 @@ app('router')->setCompiledRoutes(
|
||||
'waitSeconds' => NULL,
|
||||
'withTrashed' => false,
|
||||
),
|
||||
'generated::eNLlLrDplQqPnuec' =>
|
||||
'generated::amiq2DoYewzdm8Y8' =>
|
||||
array (
|
||||
'methods' =>
|
||||
array (
|
||||
@@ -2926,7 +2926,7 @@ app('router')->setCompiledRoutes(
|
||||
'where' =>
|
||||
array (
|
||||
),
|
||||
'as' => 'generated::eNLlLrDplQqPnuec',
|
||||
'as' => 'generated::amiq2DoYewzdm8Y8',
|
||||
),
|
||||
'fallback' => false,
|
||||
'defaults' =>
|
||||
@@ -2942,7 +2942,7 @@ app('router')->setCompiledRoutes(
|
||||
'waitSeconds' => NULL,
|
||||
'withTrashed' => false,
|
||||
),
|
||||
'generated::4H8cKn4rChdKkF4S' =>
|
||||
'generated::S1KEgmy9kS1sVnDX' =>
|
||||
array (
|
||||
'methods' =>
|
||||
array (
|
||||
@@ -2964,7 +2964,7 @@ app('router')->setCompiledRoutes(
|
||||
'where' =>
|
||||
array (
|
||||
),
|
||||
'as' => 'generated::4H8cKn4rChdKkF4S',
|
||||
'as' => 'generated::S1KEgmy9kS1sVnDX',
|
||||
),
|
||||
'fallback' => false,
|
||||
'defaults' =>
|
||||
@@ -2980,7 +2980,7 @@ app('router')->setCompiledRoutes(
|
||||
'waitSeconds' => NULL,
|
||||
'withTrashed' => false,
|
||||
),
|
||||
'generated::FZzcIvLYnObwCXv1' =>
|
||||
'generated::pJN3i9aU8lWn299F' =>
|
||||
array (
|
||||
'methods' =>
|
||||
array (
|
||||
@@ -3002,7 +3002,7 @@ app('router')->setCompiledRoutes(
|
||||
'where' =>
|
||||
array (
|
||||
),
|
||||
'as' => 'generated::FZzcIvLYnObwCXv1',
|
||||
'as' => 'generated::pJN3i9aU8lWn299F',
|
||||
),
|
||||
'fallback' => false,
|
||||
'defaults' =>
|
||||
@@ -3018,7 +3018,7 @@ app('router')->setCompiledRoutes(
|
||||
'waitSeconds' => NULL,
|
||||
'withTrashed' => false,
|
||||
),
|
||||
'generated::dKL4xMJ3Tqv1laiq' =>
|
||||
'generated::8pEsEgvP206TQHbt' =>
|
||||
array (
|
||||
'methods' =>
|
||||
array (
|
||||
@@ -3040,7 +3040,7 @@ app('router')->setCompiledRoutes(
|
||||
'where' =>
|
||||
array (
|
||||
),
|
||||
'as' => 'generated::dKL4xMJ3Tqv1laiq',
|
||||
'as' => 'generated::8pEsEgvP206TQHbt',
|
||||
),
|
||||
'fallback' => false,
|
||||
'defaults' =>
|
||||
|
||||
@@ -18,7 +18,6 @@ return new class extends Migration
|
||||
$table->boolean('nicht_in_orientierung')->default(0);
|
||||
$table->string('top_nummer')->nullable();
|
||||
$table->string('type')->nullable();
|
||||
$table->string('geschoss')->nullable();
|
||||
$table->decimal('nutzwert', 5, 2)->default(0)->nullable();
|
||||
// 10 Zusatzfelder
|
||||
$table->decimal('a', 5, 2)->default(0);
|
||||
|
||||
@@ -17,7 +17,6 @@ return new class extends Migration
|
||||
$table->foreignId('projekt_objekte_id')->constrained()->cascadeOnDelete();
|
||||
$table->string('geschoss')->nullable();
|
||||
$table->string('raumart')->nullable();
|
||||
$table->double('faktor')->nullable();
|
||||
$table->double('flaeche')->nullable();
|
||||
$table->integer('nutzwert')->default(0)->nullable();
|
||||
$table->timestamps();
|
||||
|
||||
@@ -15,7 +15,6 @@ return new class extends Migration
|
||||
$table->id();
|
||||
$table->foreignId('projekte_id')->constrained()->cascadeOnDelete();
|
||||
$table->integer('methode_id')->nullable()->default(0);
|
||||
$table->string('geschoss')->nullable();
|
||||
$table->string('raumart')->nullable();
|
||||
$table->decimal('faktor', 5, 2)->default(0);
|
||||
$table->timestamps();
|
||||
|
||||
@@ -14,12 +14,6 @@ return new class extends Migration
|
||||
Schema::create('inhaltselements', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name')->nullable();
|
||||
|
||||
$table->string('hilfe_titel')->nullable();
|
||||
$table->text('hilfe_description')->nullable();
|
||||
$table->string('hilfe_image')->nullable();
|
||||
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -12,17 +12,18 @@ class InhaltselementSeeder extends Seeder
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$sql = "INSERT INTO `inhaltselements` (`id`, `name`, `hilfe_titel`, `hilfe_description`, `hilfe_image`, `created_at`, `updated_at`)
|
||||
$sql = "INSERT INTO `inhaltselements` (`id`, `name`)
|
||||
VALUES
|
||||
('1', 'INHALTSVERZEICHNIS', NULL, NULL, NULL, NULL, NULL),
|
||||
('2', 'GRUNDBUCHSTAND', NULL, NULL, NULL, NULL, NULL),
|
||||
('3', 'TABELLE § 6', NULL, NULL, NULL, NULL, NULL),
|
||||
('4', 'ALLGEMEINFLÄCHEN', NULL, NULL, NULL, NULL, NULL),
|
||||
('5', 'ZU UND ABSCHLÄGE', NULL, NULL, NULL, NULL, NULL),
|
||||
('6', 'NUTZWERTBERECHNUNG', NULL, NULL, NULL, NULL, NULL),
|
||||
('7', 'ZUSAMMENSTELLUNG', NULL, NULL, NULL, NULL, NULL),
|
||||
('8', 'AUFTRAGGEBER', NULL, NULL, NULL, NULL, NULL),
|
||||
('9', 'DECKBLATT', NULL, NULL, NULL, NULL, NULL);
|
||||
('1', 'INHALTSVERZEICHNIS'),
|
||||
('2', 'GRUNDBUCHSTAND'),
|
||||
('3', 'TABELLE § 6'),
|
||||
('4', 'ALLGEMEINFLÄCHEN'),
|
||||
('5', 'ZU UND ABSCHLÄGE'),
|
||||
('6', 'NUTZWERTBERECHNUNG'),
|
||||
('7', 'ZUSAMMENSTELLUNG'),
|
||||
('8', 'AUFTRAGGEBER'),
|
||||
('9', 'DECKBLATT'),
|
||||
('10', 'DIGITALE SIGNATUR');
|
||||
";
|
||||
DB::unprepared($sql);
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -2,4 +2,7 @@
|
||||
Beim Importiert werden die Daten der Tabelle "<b>Allgemeinfläche</b>" angehängt.
|
||||
<br>
|
||||
Um neu zu starten können sie die Tabelle vor dem Import leeren.
|
||||
<div class="text-danger-500 my-2">
|
||||
Die erste Zeile in der CSV Liste (Titel) wird nicht importiert.
|
||||
</div>
|
||||
</div>
|
||||
@@ -4,4 +4,6 @@
|
||||
"Top Nummer" schon existieren werden die Daten entsprechend aktualisiert.
|
||||
<br>
|
||||
Um neu zu starten können sie diese Tabellen vor dem Import leeren.
|
||||
<br>
|
||||
Die erste Zeile der CSV Liste ist für die Titel reserviert und wird nicht importiert.
|
||||
</div>
|
||||
@@ -1,3 +1,4 @@
|
||||
"Top Nummer","Raumart","Fläche"
|
||||
"EG","Böschung N","76,83"
|
||||
"EG","Böschung O"," 9,87"
|
||||
"EG","Böschung S","11,55"
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
"Top Nummer","Geschoss","Raumart","Fläche"
|
||||
"APG01 ","UG","Stellplatz+","14,25"
|
||||
"APG02 ","UG","Stellplatz ","13,00"
|
||||
"APG03 ","UG","Stellplatz+","16,20"
|
||||
|
||||
Reference in new issue
Block a user