wip
This commit is contained in:
1 parent
523e395064
commit
30563ee98d
4 files changed
+358
-642
No files matched your search
@@ -2,12 +2,368 @@
|
|||||||
|
|
||||||
namespace App\Actions\Generate;
|
namespace App\Actions\Generate;
|
||||||
|
|
||||||
|
use App\Models\Gutachter;
|
||||||
|
use App\Models\Projekt;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Fill;
|
||||||
|
|
||||||
class Excel
|
class Excel
|
||||||
{
|
{
|
||||||
public static function make($projekte_id, $type)
|
public static function make($projekte_id, $type)
|
||||||
{
|
{
|
||||||
echo 'Excel'.PHP_EOL;
|
|
||||||
dd($type);
|
|
||||||
|
|
||||||
|
$projekt = Projekt::where('id', $projekts_id)->get()->first();
|
||||||
|
$gutachter = Gutachter::where('id', $projekt->gutachters_id)->get()->first();
|
||||||
|
$auftraggeber = Auftraggeber::where('id', $projekt->auftraggebers_id)->get()->first();
|
||||||
|
|
||||||
|
$projektname = str_replace(',', '', $projekt->name);
|
||||||
|
$projektname = preg_replace("'\W, '", '', $projektname);
|
||||||
|
$_headers = self::header();
|
||||||
|
|
||||||
|
// SPREADSHEET start
|
||||||
|
|
||||||
|
$spreadsheet = new Spreadsheet;
|
||||||
|
|
||||||
|
$spreadsheet->getProperties()->setCreator('Hermann Telser Nutzwertberechnung')
|
||||||
|
->setLastModifiedBy('Hermann Telser Nutzwertberechnung')
|
||||||
|
->setTitle('Nutzwertberechnung')
|
||||||
|
->setDescription('Nutzwertberechnung v5.0.1, © Hermann Telser 2007 - '.date('Y'));
|
||||||
|
|
||||||
|
$_rot = [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 91, 92, 93, 94];
|
||||||
|
$_gelb = [8, 19, 29];
|
||||||
|
|
||||||
|
$row = '1';
|
||||||
|
$coll = 'A';
|
||||||
|
|
||||||
|
$spreadsheet->setActiveSheetIndex(0);
|
||||||
|
foreach ($_headers as $key => $value) {
|
||||||
|
$cell = $coll.$row;
|
||||||
|
$sheet = $spreadsheet->getActiveSheet();
|
||||||
|
$sheet->setCellValue($cell, $value);
|
||||||
|
|
||||||
|
if (\in_array($key, $_rot)) {
|
||||||
|
$spreadsheet->getActiveSheet()->getStyle($cell)->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('FDE8E8');
|
||||||
|
} elseif (\in_array($key, $_gelb)) {
|
||||||
|
$spreadsheet->getActiveSheet()->getStyle($cell)->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('FDF6B2');
|
||||||
|
}
|
||||||
|
$sheet->getStyle($cell)
|
||||||
|
->getBorders()
|
||||||
|
->getOutline()
|
||||||
|
->setBorderStyle(Border::BORDER_THIN);
|
||||||
|
|
||||||
|
$coll++;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sheet = $spreadsheet->getActiveSheet();
|
||||||
|
foreach ($sheet->getColumnIterator() as $column) {
|
||||||
|
$sheet->getColumnDimension($column->getColumnIndex())->setAutoSize(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$_raumorientierung = DB::table('raumorientierung')
|
||||||
|
->join('orientierungs', 'raumorientierung.orientierungs_id', '=', 'orientierungs.id')
|
||||||
|
->select(
|
||||||
|
'raumorientierung.id',
|
||||||
|
'raumorientierung.top_nr',
|
||||||
|
'raumorientierung.qm_m1',
|
||||||
|
'raumorientierung.qm_m1',
|
||||||
|
'raumorientierung.factor',
|
||||||
|
'raumorientierung.nicht_in_orientierung',
|
||||||
|
'raumorientierung.nutzwert_summe',
|
||||||
|
'orientierungs.name as orientierung',
|
||||||
|
)
|
||||||
|
->where('raumorientierung.projekts_id', $projekts_id)
|
||||||
|
->groupBy('raumorientierung.id')
|
||||||
|
->orderBy('raumorientierung.top_nr', 'ASC')
|
||||||
|
->get();
|
||||||
|
|
||||||
|
$spalten = [];
|
||||||
|
$letter = 'A';
|
||||||
|
while ($letter !== 'HU') {
|
||||||
|
$key = $letter++;
|
||||||
|
$spalten[$key] = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$row = 2;
|
||||||
|
$_data = [];
|
||||||
|
foreach ($_raumorientierung as $key => $raumorientierung) {
|
||||||
|
|
||||||
|
$_data[$key] = $spalten;
|
||||||
|
$_data[$key]['B'] = $raumorientierung->top_nr;
|
||||||
|
|
||||||
|
if ($raumorientierung->nicht_in_orientierung == 0) {
|
||||||
|
|
||||||
|
$_data[$key]['C'] = $raumorientierung->nutzwert_summe;
|
||||||
|
$_data[$key]['D'] = $raumorientierung->qm_m1;
|
||||||
|
|
||||||
|
$zunutzwert = self::zunutzwert($raumorientierung->id);
|
||||||
|
if ($zunutzwert > 0) {
|
||||||
|
$_data[$key]['E'] = $zunutzwert;
|
||||||
|
}
|
||||||
|
|
||||||
|
$_data[$key]['F'] = $raumorientierung->qm_m1 + $zunutzwert;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$_data[$key]['I'] = $raumorientierung->nutzwert_summe;
|
||||||
|
|
||||||
|
$res = self::raumalles($raumorientierung->id, [5]);
|
||||||
|
$qm = 0;
|
||||||
|
$raum = '';
|
||||||
|
foreach ($res as $value) {
|
||||||
|
$qm += (float) $value->qm;
|
||||||
|
$raum = $value->raum;
|
||||||
|
}
|
||||||
|
|
||||||
|
$_data[$key]['L'] = number_format($qm, 2, ',', '');
|
||||||
|
$_data[$key]['AT'] = $raum;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Parifizierer
|
||||||
|
$_data[$key]['R'] = $gutachter->kennung;
|
||||||
|
// Lage
|
||||||
|
$_data[$key]['AQ'] = self::geschoss($raumorientierung->id);
|
||||||
|
// Orientierung
|
||||||
|
$raumorientierung->orientierung = $raumorientierung->orientierung == 'Ohne Zuordnung' ? '' : $raumorientierung->orientierung;
|
||||||
|
$_data[$key]['AR'] = $raumorientierung->orientierung;
|
||||||
|
|
||||||
|
// WOHNUNG
|
||||||
|
if ($raumorientierung->nicht_in_orientierung == 0) {
|
||||||
|
$_data[$key]['AT'] = self::beschreibung($raumorientierung->id, [1, 2, 8]);
|
||||||
|
// M2
|
||||||
|
$_data[$key]['AU'] = self::loggien_qm($raumorientierung->id, [2, 8]);
|
||||||
|
// M3
|
||||||
|
$_data[$key]['AV'] = self::beschreibung_qm($raumorientierung->id, [3, 7]);
|
||||||
|
// M4
|
||||||
|
$_data[$key]['AW'] = self::beschreibung_qm($raumorientierung->id, [3, 4]);
|
||||||
|
} else {
|
||||||
|
$_data[$key]['AT'] = self::beschreibung($raumorientierung->id, [6, 9]);
|
||||||
|
$_data[$key]['AV'] = self::beschreibung_qm($raumorientierung->id, [6, 9]);
|
||||||
|
}
|
||||||
|
$row++;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sheet = $spreadsheet->getActiveSheet();
|
||||||
|
$sheet->fromArray($_data, null, 'A2');
|
||||||
|
|
||||||
|
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
|
||||||
|
$spreadsheet->setActiveSheetIndex(0);
|
||||||
|
// Rename worksheet
|
||||||
|
$spreadsheet->getActiveSheet()->setTitle('Daten für den Kaufvertrag');
|
||||||
|
// output
|
||||||
|
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||||
|
// $writer->save('php://output');
|
||||||
|
$writer->save($filepath);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function raumalles($raumorientierung_id, $methoden)
|
||||||
|
{
|
||||||
|
return DB::table('raumalles')
|
||||||
|
->select('*')
|
||||||
|
->where('raumorientierung_id', $raumorientierung_id)
|
||||||
|
->whereIn('methodes_id', $methoden)
|
||||||
|
->get();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function zunutzwert($raumorientierung_id)
|
||||||
|
{
|
||||||
|
$zunutzwert = 0;
|
||||||
|
$res = DB::table('raumalles')
|
||||||
|
->select('methodes_id', 'raum', 'factor', 'qm')
|
||||||
|
->where('raumorientierung_id', $raumorientierung_id)
|
||||||
|
->whereIn('methodes_id', [2, 8])
|
||||||
|
->get();
|
||||||
|
foreach ($res as $value) {
|
||||||
|
$zunutzwert += $value->qm;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $zunutzwert;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function beschreibung_qm($raumorientierung_id, $methoden)
|
||||||
|
{
|
||||||
|
$res = DB::table('raumalles')
|
||||||
|
->select('*')
|
||||||
|
->where('raumorientierung_id', $raumorientierung_id)
|
||||||
|
->whereIn('methodes_id', $methoden)
|
||||||
|
->get();
|
||||||
|
$_tmp = [];
|
||||||
|
foreach ($res as $value) {
|
||||||
|
if (! in_array($value->raum, ['Loggia', 'Loggia 1', 'Loggia 2'])) {
|
||||||
|
$_tmp[] = $value->raum.': '.number_format($value->qm, 2, ',', '').' m²';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return implode(', ', $_tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function loggien_qm($raumorientierung_id, $methoden)
|
||||||
|
{
|
||||||
|
$res = DB::table('raumalles')
|
||||||
|
->select('*')
|
||||||
|
->where('raumorientierung_id', $raumorientierung_id)
|
||||||
|
->whereIn('methodes_id', $methoden)
|
||||||
|
->get();
|
||||||
|
$_tmp = [];
|
||||||
|
foreach ($res as $value) {
|
||||||
|
if (in_array($value->raum, ['Loggia', 'Loggia 1', 'Loggia 2'])) {
|
||||||
|
$_tmp[] = $value->raum.': '.number_format($value->qm, 2, ',', '').' m²';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return implode(', ', $_tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function beschreibung($raumorientierung_id, $methoden)
|
||||||
|
{
|
||||||
|
$res = DB::table('raumalles')
|
||||||
|
->select('*')
|
||||||
|
->where('raumorientierung_id', $raumorientierung_id)
|
||||||
|
->whereIn('methodes_id', $methoden)
|
||||||
|
->get();
|
||||||
|
$_tmp = [];
|
||||||
|
foreach ($res as $value) {
|
||||||
|
if (! in_array($value->raum, ['Loggia', 'Loggia 1', 'Loggia 2'])) {
|
||||||
|
$_tmp[] = $value->raum;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return implode(', ', $_tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function geschoss($raumorientierung_id)
|
||||||
|
{
|
||||||
|
$res = DB::table('raumalles')
|
||||||
|
->select('geschoss')
|
||||||
|
->where('raumorientierung_id', $raumorientierung_id)
|
||||||
|
->where('methodes_id', '=', 1)
|
||||||
|
->get();
|
||||||
|
foreach ($res as $key => $value) {
|
||||||
|
return $value->geschoss;
|
||||||
|
}
|
||||||
|
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function header()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'Bautengruppe',
|
||||||
|
'TopNr',
|
||||||
|
'NWWhg',
|
||||||
|
'Nutzfläche',
|
||||||
|
'Loggia',
|
||||||
|
'Ges.Nutzfläche',
|
||||||
|
'AbstellplatzTop',
|
||||||
|
'AbstellplatzTop2',
|
||||||
|
'NWAbstellplatz',
|
||||||
|
'NWAbstellplatz2',
|
||||||
|
'Anzahl Pkw',
|
||||||
|
'Stellplatzfläche',
|
||||||
|
'Stellplatzfläche2',
|
||||||
|
'NW-Whg+Pkw1',
|
||||||
|
'NW-Whg+Pkw1+2',
|
||||||
|
'Gesamtnutzwert',
|
||||||
|
'Gesamtnutzwert2',
|
||||||
|
'Parifizierer',
|
||||||
|
'Datum_Parifi',
|
||||||
|
'Anzahl Whg',
|
||||||
|
'Anzahl AP',
|
||||||
|
'Durchgang',
|
||||||
|
'Anrede',
|
||||||
|
'Titel',
|
||||||
|
'Vorname',
|
||||||
|
'Nachname',
|
||||||
|
'Geburt',
|
||||||
|
'Beruf',
|
||||||
|
'PersonStraße',
|
||||||
|
'PLZ',
|
||||||
|
'Ort',
|
||||||
|
'Partner ja=1',
|
||||||
|
'Anrede_P',
|
||||||
|
'Titel_P',
|
||||||
|
'Vorname_P',
|
||||||
|
'Nachname_P',
|
||||||
|
'Geburt_P',
|
||||||
|
'Beruf_P',
|
||||||
|
'Straße_P',
|
||||||
|
'Plz_P',
|
||||||
|
'Ort_P',
|
||||||
|
'Haus',
|
||||||
|
'Lage',
|
||||||
|
'Orientierung',
|
||||||
|
'Orientierung PPL',
|
||||||
|
'Beschreibung',
|
||||||
|
'Loggien',
|
||||||
|
'Balkone',
|
||||||
|
'Zubehör',
|
||||||
|
'Grundkosten',
|
||||||
|
'Baukosten',
|
||||||
|
'15% Eigenmittel',
|
||||||
|
'zusätz. Eigenmittel',
|
||||||
|
'KP-Wohnung und AP',
|
||||||
|
'KP-Wohnung',
|
||||||
|
'KP-Stellplatz',
|
||||||
|
'KP-Stellplatz2',
|
||||||
|
'Kaufpreis',
|
||||||
|
'UST ja=1',
|
||||||
|
'KP WHG netto',
|
||||||
|
'Ust WHG',
|
||||||
|
'Brutto WHG',
|
||||||
|
'KP TG netto',
|
||||||
|
'Ust TG',
|
||||||
|
'Brutto TG',
|
||||||
|
'UST WHG+TG',
|
||||||
|
'Netto WHG+TG',
|
||||||
|
'Brutto WHG+TG',
|
||||||
|
'Fälligk_KP_1',
|
||||||
|
'Fälligk_KP_2',
|
||||||
|
'Fälligk_KP_3',
|
||||||
|
'KPTeil1',
|
||||||
|
'KPTeil1 UST',
|
||||||
|
'KPTeil2',
|
||||||
|
'KPTeil2 UST',
|
||||||
|
'KPTeil3',
|
||||||
|
'KPTeil3 UST',
|
||||||
|
'KPTeil4',
|
||||||
|
'KPTeil4 UST',
|
||||||
|
'Kontrolle_KP',
|
||||||
|
'Kontrolle_KP UST',
|
||||||
|
'pfand_ngs',
|
||||||
|
'pfand_ngs UST',
|
||||||
|
'VertrKo',
|
||||||
|
'Bankgarantie',
|
||||||
|
'Wohnung.WbfDarlehen',
|
||||||
|
'Globaldarlehen',
|
||||||
|
'Globaldarlehen abzügl.zusätzl.EM',
|
||||||
|
'Globalbank',
|
||||||
|
'GrundstückNummer',
|
||||||
|
'GstGröße',
|
||||||
|
'Einlagezahl',
|
||||||
|
'Grundbuch',
|
||||||
|
'Baubeginn',
|
||||||
|
'Baufertigstellung',
|
||||||
|
'Spät_Übergabe',
|
||||||
|
'Bau-Ausstatt',
|
||||||
|
'Architekt',
|
||||||
|
'Baubescheid',
|
||||||
|
'Zahl-Baubescheid',
|
||||||
|
'Baubescheid2',
|
||||||
|
'Zahl-Baubescheid2',
|
||||||
|
'UnterschriftKaufvertragAm',
|
||||||
|
'Beglaubigungsnummer',
|
||||||
|
'UB1_Datum',
|
||||||
|
'EFNR1',
|
||||||
|
'STNR1',
|
||||||
|
'UB2_Datum',
|
||||||
|
'EFNR2',
|
||||||
|
'STNR2',
|
||||||
|
'GVKB_Datum',
|
||||||
|
'GVKB_Zahl',
|
||||||
|
'Fremdfinanzierung',
|
||||||
|
'KPVertr',
|
||||||
|
'TZl',
|
||||||
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,369 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Actions\Generate;
|
|
||||||
|
|
||||||
use App\Models\Gutachter;
|
|
||||||
use App\Models\Projekt;
|
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
|
||||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Fill;
|
|
||||||
|
|
||||||
class MakeExcel
|
|
||||||
{
|
|
||||||
public static function generate($filepath, $projekts_id)
|
|
||||||
{
|
|
||||||
|
|
||||||
$projekt = Projekt::where('id', $projekts_id)->get()->first();
|
|
||||||
$gutachter = Gutachter::where('id', $projekt->gutachters_id)->get()->first();
|
|
||||||
$auftraggeber = Auftraggeber::where('id', $projekt->auftraggebers_id)->get()->first();
|
|
||||||
|
|
||||||
$projektname = str_replace(',', '', $projekt->name);
|
|
||||||
$projektname = preg_replace("'\W, '", '', $projektname);
|
|
||||||
$_headers = self::header();
|
|
||||||
|
|
||||||
// SPREADSHEET start
|
|
||||||
|
|
||||||
$spreadsheet = new Spreadsheet;
|
|
||||||
|
|
||||||
$spreadsheet->getProperties()->setCreator('Hermann Telser Nutzwertberechnung')
|
|
||||||
->setLastModifiedBy('Hermann Telser Nutzwertberechnung')
|
|
||||||
->setTitle('Nutzwertberechnung')
|
|
||||||
->setDescription('Nutzwertberechnung v5.0.1, © Hermann Telser 2007 - '.date('Y'));
|
|
||||||
|
|
||||||
$_rot = [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 91, 92, 93, 94];
|
|
||||||
$_gelb = [8, 19, 29];
|
|
||||||
|
|
||||||
$row = '1';
|
|
||||||
$coll = 'A';
|
|
||||||
|
|
||||||
$spreadsheet->setActiveSheetIndex(0);
|
|
||||||
foreach ($_headers as $key => $value) {
|
|
||||||
$cell = $coll.$row;
|
|
||||||
$sheet = $spreadsheet->getActiveSheet();
|
|
||||||
$sheet->setCellValue($cell, $value);
|
|
||||||
|
|
||||||
if (\in_array($key, $_rot)) {
|
|
||||||
$spreadsheet->getActiveSheet()->getStyle($cell)->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('FDE8E8');
|
|
||||||
} elseif (\in_array($key, $_gelb)) {
|
|
||||||
$spreadsheet->getActiveSheet()->getStyle($cell)->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('FDF6B2');
|
|
||||||
}
|
|
||||||
$sheet->getStyle($cell)
|
|
||||||
->getBorders()
|
|
||||||
->getOutline()
|
|
||||||
->setBorderStyle(Border::BORDER_THIN);
|
|
||||||
|
|
||||||
$coll++;
|
|
||||||
}
|
|
||||||
|
|
||||||
$sheet = $spreadsheet->getActiveSheet();
|
|
||||||
foreach ($sheet->getColumnIterator() as $column) {
|
|
||||||
$sheet->getColumnDimension($column->getColumnIndex())->setAutoSize(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
$_raumorientierung = DB::table('raumorientierung')
|
|
||||||
->join('orientierungs', 'raumorientierung.orientierungs_id', '=', 'orientierungs.id')
|
|
||||||
->select(
|
|
||||||
'raumorientierung.id',
|
|
||||||
'raumorientierung.top_nr',
|
|
||||||
'raumorientierung.qm_m1',
|
|
||||||
'raumorientierung.qm_m1',
|
|
||||||
'raumorientierung.factor',
|
|
||||||
'raumorientierung.nicht_in_orientierung',
|
|
||||||
'raumorientierung.nutzwert_summe',
|
|
||||||
'orientierungs.name as orientierung',
|
|
||||||
)
|
|
||||||
->where('raumorientierung.projekts_id', $projekts_id)
|
|
||||||
->groupBy('raumorientierung.id')
|
|
||||||
->orderBy('raumorientierung.top_nr', 'ASC')
|
|
||||||
->get();
|
|
||||||
|
|
||||||
$spalten = [];
|
|
||||||
$letter = 'A';
|
|
||||||
while ($letter !== 'HU') {
|
|
||||||
$key = $letter++;
|
|
||||||
$spalten[$key] = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
$row = 2;
|
|
||||||
$_data = [];
|
|
||||||
foreach ($_raumorientierung as $key => $raumorientierung) {
|
|
||||||
|
|
||||||
$_data[$key] = $spalten;
|
|
||||||
$_data[$key]['B'] = $raumorientierung->top_nr;
|
|
||||||
|
|
||||||
if ($raumorientierung->nicht_in_orientierung == 0) {
|
|
||||||
|
|
||||||
$_data[$key]['C'] = $raumorientierung->nutzwert_summe;
|
|
||||||
$_data[$key]['D'] = $raumorientierung->qm_m1;
|
|
||||||
|
|
||||||
$zunutzwert = self::zunutzwert($raumorientierung->id);
|
|
||||||
if ($zunutzwert > 0) {
|
|
||||||
$_data[$key]['E'] = $zunutzwert;
|
|
||||||
}
|
|
||||||
|
|
||||||
$_data[$key]['F'] = $raumorientierung->qm_m1 + $zunutzwert;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
$_data[$key]['I'] = $raumorientierung->nutzwert_summe;
|
|
||||||
|
|
||||||
$res = self::raumalles($raumorientierung->id, [5]);
|
|
||||||
$qm = 0;
|
|
||||||
$raum = '';
|
|
||||||
foreach ($res as $value) {
|
|
||||||
$qm += (float) $value->qm;
|
|
||||||
$raum = $value->raum;
|
|
||||||
}
|
|
||||||
|
|
||||||
$_data[$key]['L'] = number_format($qm, 2, ',', '');
|
|
||||||
$_data[$key]['AT'] = $raum;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Parifizierer
|
|
||||||
$_data[$key]['R'] = $gutachter->kennung;
|
|
||||||
// Lage
|
|
||||||
$_data[$key]['AQ'] = self::geschoss($raumorientierung->id);
|
|
||||||
// Orientierung
|
|
||||||
$raumorientierung->orientierung = $raumorientierung->orientierung == 'Ohne Zuordnung' ? '' : $raumorientierung->orientierung;
|
|
||||||
$_data[$key]['AR'] = $raumorientierung->orientierung;
|
|
||||||
|
|
||||||
// WOHNUNG
|
|
||||||
if ($raumorientierung->nicht_in_orientierung == 0) {
|
|
||||||
$_data[$key]['AT'] = self::beschreibung($raumorientierung->id, [1, 2, 8]);
|
|
||||||
// M2
|
|
||||||
$_data[$key]['AU'] = self::loggien_qm($raumorientierung->id, [2, 8]);
|
|
||||||
// M3
|
|
||||||
$_data[$key]['AV'] = self::beschreibung_qm($raumorientierung->id, [3, 7]);
|
|
||||||
// M4
|
|
||||||
$_data[$key]['AW'] = self::beschreibung_qm($raumorientierung->id, [3, 4]);
|
|
||||||
} else {
|
|
||||||
$_data[$key]['AT'] = self::beschreibung($raumorientierung->id, [6, 9]);
|
|
||||||
$_data[$key]['AV'] = self::beschreibung_qm($raumorientierung->id, [6, 9]);
|
|
||||||
}
|
|
||||||
$row++;
|
|
||||||
}
|
|
||||||
|
|
||||||
$sheet = $spreadsheet->getActiveSheet();
|
|
||||||
$sheet->fromArray($_data, null, 'A2');
|
|
||||||
|
|
||||||
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
|
|
||||||
$spreadsheet->setActiveSheetIndex(0);
|
|
||||||
// Rename worksheet
|
|
||||||
$spreadsheet->getActiveSheet()->setTitle('Daten für den Kaufvertrag');
|
|
||||||
// output
|
|
||||||
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
|
|
||||||
// $writer->save('php://output');
|
|
||||||
$writer->save($filepath);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static function raumalles($raumorientierung_id, $methoden)
|
|
||||||
{
|
|
||||||
return DB::table('raumalles')
|
|
||||||
->select('*')
|
|
||||||
->where('raumorientierung_id', $raumorientierung_id)
|
|
||||||
->whereIn('methodes_id', $methoden)
|
|
||||||
->get();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static function zunutzwert($raumorientierung_id)
|
|
||||||
{
|
|
||||||
$zunutzwert = 0;
|
|
||||||
$res = DB::table('raumalles')
|
|
||||||
->select('methodes_id', 'raum', 'factor', 'qm')
|
|
||||||
->where('raumorientierung_id', $raumorientierung_id)
|
|
||||||
->whereIn('methodes_id', [2, 8])
|
|
||||||
->get();
|
|
||||||
foreach ($res as $value) {
|
|
||||||
$zunutzwert += $value->qm;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $zunutzwert;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static function beschreibung_qm($raumorientierung_id, $methoden)
|
|
||||||
{
|
|
||||||
$res = DB::table('raumalles')
|
|
||||||
->select('*')
|
|
||||||
->where('raumorientierung_id', $raumorientierung_id)
|
|
||||||
->whereIn('methodes_id', $methoden)
|
|
||||||
->get();
|
|
||||||
$_tmp = [];
|
|
||||||
foreach ($res as $value) {
|
|
||||||
if (! in_array($value->raum, ['Loggia', 'Loggia 1', 'Loggia 2'])) {
|
|
||||||
$_tmp[] = $value->raum.': '.number_format($value->qm, 2, ',', '').' m²';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return implode(', ', $_tmp);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static function loggien_qm($raumorientierung_id, $methoden)
|
|
||||||
{
|
|
||||||
$res = DB::table('raumalles')
|
|
||||||
->select('*')
|
|
||||||
->where('raumorientierung_id', $raumorientierung_id)
|
|
||||||
->whereIn('methodes_id', $methoden)
|
|
||||||
->get();
|
|
||||||
$_tmp = [];
|
|
||||||
foreach ($res as $value) {
|
|
||||||
if (in_array($value->raum, ['Loggia', 'Loggia 1', 'Loggia 2'])) {
|
|
||||||
$_tmp[] = $value->raum.': '.number_format($value->qm, 2, ',', '').' m²';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return implode(', ', $_tmp);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static function beschreibung($raumorientierung_id, $methoden)
|
|
||||||
{
|
|
||||||
$res = DB::table('raumalles')
|
|
||||||
->select('*')
|
|
||||||
->where('raumorientierung_id', $raumorientierung_id)
|
|
||||||
->whereIn('methodes_id', $methoden)
|
|
||||||
->get();
|
|
||||||
$_tmp = [];
|
|
||||||
foreach ($res as $value) {
|
|
||||||
if (! in_array($value->raum, ['Loggia', 'Loggia 1', 'Loggia 2'])) {
|
|
||||||
$_tmp[] = $value->raum;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return implode(', ', $_tmp);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static function geschoss($raumorientierung_id)
|
|
||||||
{
|
|
||||||
$res = DB::table('raumalles')
|
|
||||||
->select('geschoss')
|
|
||||||
->where('raumorientierung_id', $raumorientierung_id)
|
|
||||||
->where('methodes_id', '=', 1)
|
|
||||||
->get();
|
|
||||||
foreach ($res as $key => $value) {
|
|
||||||
return $value->geschoss;
|
|
||||||
}
|
|
||||||
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
private static function header()
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'Bautengruppe',
|
|
||||||
'TopNr',
|
|
||||||
'NWWhg',
|
|
||||||
'Nutzfläche',
|
|
||||||
'Loggia',
|
|
||||||
'Ges.Nutzfläche',
|
|
||||||
'AbstellplatzTop',
|
|
||||||
'AbstellplatzTop2',
|
|
||||||
'NWAbstellplatz',
|
|
||||||
'NWAbstellplatz2',
|
|
||||||
'Anzahl Pkw',
|
|
||||||
'Stellplatzfläche',
|
|
||||||
'Stellplatzfläche2',
|
|
||||||
'NW-Whg+Pkw1',
|
|
||||||
'NW-Whg+Pkw1+2',
|
|
||||||
'Gesamtnutzwert',
|
|
||||||
'Gesamtnutzwert2',
|
|
||||||
'Parifizierer',
|
|
||||||
'Datum_Parifi',
|
|
||||||
'Anzahl Whg',
|
|
||||||
'Anzahl AP',
|
|
||||||
'Durchgang',
|
|
||||||
'Anrede',
|
|
||||||
'Titel',
|
|
||||||
'Vorname',
|
|
||||||
'Nachname',
|
|
||||||
'Geburt',
|
|
||||||
'Beruf',
|
|
||||||
'PersonStraße',
|
|
||||||
'PLZ',
|
|
||||||
'Ort',
|
|
||||||
'Partner ja=1',
|
|
||||||
'Anrede_P',
|
|
||||||
'Titel_P',
|
|
||||||
'Vorname_P',
|
|
||||||
'Nachname_P',
|
|
||||||
'Geburt_P',
|
|
||||||
'Beruf_P',
|
|
||||||
'Straße_P',
|
|
||||||
'Plz_P',
|
|
||||||
'Ort_P',
|
|
||||||
'Haus',
|
|
||||||
'Lage',
|
|
||||||
'Orientierung',
|
|
||||||
'Orientierung PPL',
|
|
||||||
'Beschreibung',
|
|
||||||
'Loggien',
|
|
||||||
'Balkone',
|
|
||||||
'Zubehör',
|
|
||||||
'Grundkosten',
|
|
||||||
'Baukosten',
|
|
||||||
'15% Eigenmittel',
|
|
||||||
'zusätz. Eigenmittel',
|
|
||||||
'KP-Wohnung und AP',
|
|
||||||
'KP-Wohnung',
|
|
||||||
'KP-Stellplatz',
|
|
||||||
'KP-Stellplatz2',
|
|
||||||
'Kaufpreis',
|
|
||||||
'UST ja=1',
|
|
||||||
'KP WHG netto',
|
|
||||||
'Ust WHG',
|
|
||||||
'Brutto WHG',
|
|
||||||
'KP TG netto',
|
|
||||||
'Ust TG',
|
|
||||||
'Brutto TG',
|
|
||||||
'UST WHG+TG',
|
|
||||||
'Netto WHG+TG',
|
|
||||||
'Brutto WHG+TG',
|
|
||||||
'Fälligk_KP_1',
|
|
||||||
'Fälligk_KP_2',
|
|
||||||
'Fälligk_KP_3',
|
|
||||||
'KPTeil1',
|
|
||||||
'KPTeil1 UST',
|
|
||||||
'KPTeil2',
|
|
||||||
'KPTeil2 UST',
|
|
||||||
'KPTeil3',
|
|
||||||
'KPTeil3 UST',
|
|
||||||
'KPTeil4',
|
|
||||||
'KPTeil4 UST',
|
|
||||||
'Kontrolle_KP',
|
|
||||||
'Kontrolle_KP UST',
|
|
||||||
'pfand_ngs',
|
|
||||||
'pfand_ngs UST',
|
|
||||||
'VertrKo',
|
|
||||||
'Bankgarantie',
|
|
||||||
'Wohnung.WbfDarlehen',
|
|
||||||
'Globaldarlehen',
|
|
||||||
'Globaldarlehen abzügl.zusätzl.EM',
|
|
||||||
'Globalbank',
|
|
||||||
'GrundstückNummer',
|
|
||||||
'GstGröße',
|
|
||||||
'Einlagezahl',
|
|
||||||
'Grundbuch',
|
|
||||||
'Baubeginn',
|
|
||||||
'Baufertigstellung',
|
|
||||||
'Spät_Übergabe',
|
|
||||||
'Bau-Ausstatt',
|
|
||||||
'Architekt',
|
|
||||||
'Baubescheid',
|
|
||||||
'Zahl-Baubescheid',
|
|
||||||
'Baubescheid2',
|
|
||||||
'Zahl-Baubescheid2',
|
|
||||||
'UnterschriftKaufvertragAm',
|
|
||||||
'Beglaubigungsnummer',
|
|
||||||
'UB1_Datum',
|
|
||||||
'EFNR1',
|
|
||||||
'STNR1',
|
|
||||||
'UB2_Datum',
|
|
||||||
'EFNR2',
|
|
||||||
'STNR2',
|
|
||||||
'GVKB_Datum',
|
|
||||||
'GVKB_Zahl',
|
|
||||||
'Fremdfinanzierung',
|
|
||||||
'KPVertr',
|
|
||||||
'TZl',
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,158 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Actions\Generate;
|
|
||||||
|
|
||||||
use App\Actions\Generate\Gutachten\Platzhalter;
|
|
||||||
use App\Actions\Generate\Gutachten\Ueberschrift;
|
|
||||||
use App\Actions\Generate\Nutzwerte\BerechnungM1M4;
|
|
||||||
use App\Actions\Generate\Nutzwerte\BerechnungM5;
|
|
||||||
use App\Actions\Generate\Nutzwerte\BerechnungNutzwerte;
|
|
||||||
use App\Actions\Generate\Nutzwerte\ProjektAllgemeinflaechens;
|
|
||||||
use App\Actions\Generate\Nutzwerte\Zusammenstellung;
|
|
||||||
use App\Actions\Generate\Nutzwerte\ZuUndAbschlaege;
|
|
||||||
use App\Actions\ProcessData\ProcessRaumorientierung;
|
|
||||||
use App\Models\Auftraggeber;
|
|
||||||
use App\Models\Gutachter;
|
|
||||||
use App\Models\Projekte;
|
|
||||||
use App\Models\ProjektInhaltsverzeichnis;
|
|
||||||
use App\Models\ProjektPlatzhalter;
|
|
||||||
use Mpdf\HTMLParserMode;
|
|
||||||
use Mpdf\Mpdf;
|
|
||||||
|
|
||||||
class MakeNutzwerte
|
|
||||||
{
|
|
||||||
public static $projekt;
|
|
||||||
|
|
||||||
public static $gutachter;
|
|
||||||
|
|
||||||
public static $auftraggeber;
|
|
||||||
|
|
||||||
public static function generate($filepath, $projekte_id)
|
|
||||||
{
|
|
||||||
// ProcessRaumorientierung::berechnen($projekte_id);
|
|
||||||
// BerechnungNutzwerte::berechnen($projekte_id);
|
|
||||||
|
|
||||||
// PDF START
|
|
||||||
self::$projekt = Projekte::where('id', $projekte_id)->first();
|
|
||||||
|
|
||||||
self::$gutachter = Gutachter::where('id', self::$projekt->gutachter_id)->first();
|
|
||||||
|
|
||||||
self::$auftraggeber = Auftraggeber::where('id', self::$projekt->auftraggeber_id)->first();
|
|
||||||
|
|
||||||
ob_start();
|
|
||||||
|
|
||||||
$mpdf = new Mpdf(
|
|
||||||
[
|
|
||||||
'debug' => true,
|
|
||||||
'mode' => 'utf-8',
|
|
||||||
'format' => 'A4-P',
|
|
||||||
'margin_left' => 10,
|
|
||||||
'margin_right' => 10,
|
|
||||||
'margin_top' => 12,
|
|
||||||
'margin_bottom' => 20,
|
|
||||||
'margin_header' => 0,
|
|
||||||
'margin_footer' => 0,
|
|
||||||
]
|
|
||||||
);
|
|
||||||
$stylesheet = file_get_contents(__DIR__.'/../../../resources/css/pdf-download.css');
|
|
||||||
$mpdf->WriteHTML($stylesheet, HTMLParserMode::HEADER_CSS);
|
|
||||||
$mpdf->SetTitle('Nutzwerte '.self::$projekt->offizieller_name);
|
|
||||||
$mpdf->SetCreator('nutzwerte.at');
|
|
||||||
$mpdf->SetAuthor(self::$gutachter->title.' '.self::$gutachter->gender.' '.self::$gutachter->name);
|
|
||||||
|
|
||||||
$inhaltesverzeichnis = ProjektInhaltsverzeichnis::where('projekte_id', $projekte_id)->where('part', 'nutzwerte')->orderBy('sort')->get();
|
|
||||||
|
|
||||||
$platzhalter = ProjektPlatzhalter::where('projekte_id', $projekte_id)->pluck('platzhaltertext', 'platzhalter')->toArray();
|
|
||||||
|
|
||||||
foreach ($inhaltesverzeichnis as $inhalt) {
|
|
||||||
|
|
||||||
if ($inhalt->neue_seite) {
|
|
||||||
$mpdf->AddPage();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($inhalt->textblock) {
|
|
||||||
$textblock = Platzhalter::replace($platzhalter, $inhalt->textblock);
|
|
||||||
$textblock = Format::fix_str($textblock);
|
|
||||||
}
|
|
||||||
|
|
||||||
$html = Ueberschrift::create($inhalt);
|
|
||||||
|
|
||||||
switch ($inhalt->tabellen_id) {
|
|
||||||
case '5':
|
|
||||||
$html .= ZuUndAbschlaege::load($projekte_id);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($inhalt->seitenzahl_anzeige) {
|
|
||||||
$mpdf->SetHTMLFooter('<div class="center">Seite {PAGENO}<br><br></div>');
|
|
||||||
}
|
|
||||||
if ($html != '') {
|
|
||||||
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// foreach ($inhalte as $inhalt) {
|
|
||||||
|
|
||||||
// switch ($inhalt['kennung']) {
|
|
||||||
|
|
||||||
// case 'tabelle_zu_abschlaege':
|
|
||||||
// // Zu und Abschläge
|
|
||||||
// if ($inhalt['neue_seite']) {
|
|
||||||
// $mpdf->AddPage('', '', $inhalt->seite);
|
|
||||||
// $mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
|
|
||||||
// }
|
|
||||||
// $html = '<div class="header">'.$inhalt['index'].' - '.$inhalt['titel'].'</div>';
|
|
||||||
// $html .= '<table class="table-striped text-75">';
|
|
||||||
// $html .= ZuUndAbschlaege::load($projekte_id);
|
|
||||||
// $html .= '</table>';
|
|
||||||
// $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
|
|
||||||
// break;
|
|
||||||
|
|
||||||
// case 'nutzwertberechnung':
|
|
||||||
// if ($inhalt['neue_seite']) {
|
|
||||||
// $mpdf->AddPage();
|
|
||||||
// $mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
|
|
||||||
// }
|
|
||||||
|
|
||||||
// $html = '<div class="header">'.$inhalt['index'].' - '.$inhalt['titel'].'</div>';
|
|
||||||
// $html .= BerechnungM1M4::load($projekte_id);
|
|
||||||
// $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
|
|
||||||
|
|
||||||
// $html = BerechnungM5::load($projekte_id);
|
|
||||||
// if ($html) {
|
|
||||||
// $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
|
|
||||||
// case 'zusammenstellung':
|
|
||||||
// if ($inhalt['neue_seite']) {
|
|
||||||
// $mpdf->AddPage();
|
|
||||||
// $mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
|
|
||||||
// }
|
|
||||||
// $html = '<div class="header">'.$inhalt['index'].' - '.$inhalt['titel'].'</div>';
|
|
||||||
// $html .= Zusammenstellung::load($projekte_id);
|
|
||||||
// $html .= '<br><br><br><br><br><br><br>';
|
|
||||||
// $html .= '<table class="inhalt"><tr>';
|
|
||||||
// $html .= '<td>'.self::$projekt->erstellung.'</td>';
|
|
||||||
// $html .= '<td class="right">'.self::$gutachter->kennung.'</td>';
|
|
||||||
// $html .= '</tr></table>';
|
|
||||||
// $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
|
|
||||||
// break;
|
|
||||||
|
|
||||||
// case 'allgemeinflaechen':
|
|
||||||
// if ($inhalt['neue_seite']) {
|
|
||||||
// $mpdf->AddPage();
|
|
||||||
// $mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
|
|
||||||
// }
|
|
||||||
// $html = '<div class="header">'.$inhalt['index'].' - '.$inhalt['titel'].'</div>';
|
|
||||||
// $html .= ProjektAllgemeinflaechens::load($projekte_id);
|
|
||||||
// $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
ob_clean();
|
|
||||||
|
|
||||||
$mpdf->Output($filepath, 'F');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,113 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Actions\Generate;
|
|
||||||
|
|
||||||
use App\Actions\Generate\Gutachten\Deckblatt;
|
|
||||||
use App\Actions\Generate\Gutachten\Platzhalter;
|
|
||||||
use App\Actions\Generate\Gutachten\Ueberschrift;
|
|
||||||
use App\Actions\Generate\Nutzwerte\BerechnungNutzwerte;
|
|
||||||
use App\Actions\Generate\Utilities\Format;
|
|
||||||
use App\Actions\ProcessData\ProcessRaumorientierung;
|
|
||||||
use App\Models\Auftraggeber;
|
|
||||||
use App\Models\Gutachter;
|
|
||||||
use App\Models\Projekte;
|
|
||||||
use App\Models\ProjektInhaltsverzeichnis;
|
|
||||||
use App\Models\ProjektPlatzhalter;
|
|
||||||
use Mpdf\HTMLParserMode;
|
|
||||||
use Mpdf\Mpdf;
|
|
||||||
|
|
||||||
class MakeParagraph6
|
|
||||||
{
|
|
||||||
public static $projekt;
|
|
||||||
|
|
||||||
public static $gutachter;
|
|
||||||
|
|
||||||
public static $auftraggeber;
|
|
||||||
|
|
||||||
public static function generate($filepath, $projekte_id)
|
|
||||||
{
|
|
||||||
// ProcessRaumorientierung::berechnen($projekte_id);
|
|
||||||
// BerechnungNutzwerte::berechnen($projekte_id);
|
|
||||||
|
|
||||||
// PDF START
|
|
||||||
self::$projekt = Projekte::where('id', $projekte_id)->first();
|
|
||||||
|
|
||||||
self::$gutachter = Gutachter::where('id', self::$projekt->gutachter_id)->first();
|
|
||||||
|
|
||||||
self::$auftraggeber = Auftraggeber::where('id', self::$projekt->auftraggeber_id)->first();
|
|
||||||
|
|
||||||
ob_start();
|
|
||||||
|
|
||||||
$mpdf = new Mpdf(
|
|
||||||
[
|
|
||||||
'debug' => true,
|
|
||||||
'mode' => 'utf-8',
|
|
||||||
'format' => 'A4-P',
|
|
||||||
'margin_left' => 10,
|
|
||||||
'margin_right' => 10,
|
|
||||||
'margin_top' => 12,
|
|
||||||
'margin_bottom' => 20,
|
|
||||||
'margin_header' => 0,
|
|
||||||
'margin_footer' => 0,
|
|
||||||
]
|
|
||||||
);
|
|
||||||
$stylesheet = file_get_contents(__DIR__.'/../../../resources/css/pdf-download.css');
|
|
||||||
$mpdf->WriteHTML($stylesheet, HTMLParserMode::HEADER_CSS);
|
|
||||||
$mpdf->SetTitle('Nutzwerte '.self::$projekt->offizieller_name);
|
|
||||||
$mpdf->SetCreator('nutzwerte.at');
|
|
||||||
$mpdf->SetAuthor(self::$gutachter->title.' '.self::$gutachter->gender.' '.self::$gutachter->name);
|
|
||||||
|
|
||||||
$inhaltesverzeichnis = ProjektInhaltsverzeichnis::where('projekte_id', $projekte_id)->where('part', 'paragraph')->orderBy('sort')->get();
|
|
||||||
|
|
||||||
$platzhalter = ProjektPlatzhalter::where('projekte_id', $projekte_id)->pluck('platzhaltertext', 'platzhalter')->toArray();
|
|
||||||
|
|
||||||
foreach ($inhaltesverzeichnis as $inhalt) {
|
|
||||||
|
|
||||||
if ($inhalt->neue_seite) {
|
|
||||||
$mpdf->AddPage();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($inhalt->textblock) {
|
|
||||||
$textblock = Platzhalter::replace($platzhalter, $inhalt->textblock);
|
|
||||||
$textblock = Format::fix_str($textblock);
|
|
||||||
}
|
|
||||||
|
|
||||||
$html = Ueberschrift::create($inhalt);
|
|
||||||
|
|
||||||
if ($inhalt->name == 'DECKBLATT') {
|
|
||||||
$html .= Deckblatt::create($textblock);
|
|
||||||
} elseif ($inhalt->name == 'INHALTSVERZEICHNIS') {
|
|
||||||
$html .= Inhalt::create($projekte_id);
|
|
||||||
} else {
|
|
||||||
|
|
||||||
if ($inhalt->textblock) {
|
|
||||||
$html .= $textblock;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch ($inhalt->tabellen_id) {
|
|
||||||
case '3':
|
|
||||||
$html .= Paragraph6Tabelle::load($projekte_id);
|
|
||||||
break;
|
|
||||||
case '4':
|
|
||||||
$html .= AllgemeinTabelle::load($projekte_id);
|
|
||||||
break;
|
|
||||||
case '8':
|
|
||||||
$str = RichContentRenderer::make(MakeStandardTexte::$auftraggeber->referenz_formatting)->toHtml();
|
|
||||||
$html .= Format::fix_str($str);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($inhalt->seitenzahl_anzeige == 1) {
|
|
||||||
$mpdf->SetHTMLFooter('<div class="center">Seite {PAGENO}<br><br></div>');
|
|
||||||
}
|
|
||||||
if ($html) {
|
|
||||||
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ob_clean();
|
|
||||||
|
|
||||||
$mpdf->Output($filepath, 'F');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in new issue
Block a user