From 30563ee98dee8d36547748491c8ce07e645788a3 Mon Sep 17 00:00:00 2001 From: salam Date: Fri, 31 Oct 2025 15:29:19 +0100 Subject: [PATCH] wip --- app/Actions/Generate/Excel.php | 360 ++++++++++++++++++++++- app/Actions/Generate/MakeExcel.php | 369 ------------------------ app/Actions/Generate/MakeNutzwerte.php | 158 ---------- app/Actions/Generate/MakeParagraph6.php | 113 -------- 4 files changed, 358 insertions(+), 642 deletions(-) delete mode 100644 app/Actions/Generate/MakeExcel.php delete mode 100644 app/Actions/Generate/MakeNutzwerte.php delete mode 100644 app/Actions/Generate/MakeParagraph6.php diff --git a/app/Actions/Generate/Excel.php b/app/Actions/Generate/Excel.php index e9cd503..92e44a6 100644 --- a/app/Actions/Generate/Excel.php +++ b/app/Actions/Generate/Excel.php @@ -2,12 +2,368 @@ 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 { 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', + ]; } } diff --git a/app/Actions/Generate/MakeExcel.php b/app/Actions/Generate/MakeExcel.php deleted file mode 100644 index 1b6fd71..0000000 --- a/app/Actions/Generate/MakeExcel.php +++ /dev/null @@ -1,369 +0,0 @@ -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', - ]; - } -} diff --git a/app/Actions/Generate/MakeNutzwerte.php b/app/Actions/Generate/MakeNutzwerte.php deleted file mode 100644 index 4ece199..0000000 --- a/app/Actions/Generate/MakeNutzwerte.php +++ /dev/null @@ -1,158 +0,0 @@ -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('
Seite {PAGENO}

'); - } - 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('
Seite {PAGENO}

'); - // } - // $html = '
'.$inhalt['index'].' - '.$inhalt['titel'].'
'; - // $html .= ''; - // $html .= ZuUndAbschlaege::load($projekte_id); - // $html .= '
'; - // $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY); - // break; - - // case 'nutzwertberechnung': - // if ($inhalt['neue_seite']) { - // $mpdf->AddPage(); - // $mpdf->SetHTMLFooter('
Seite {PAGENO}

'); - // } - - // $html = '
'.$inhalt['index'].' - '.$inhalt['titel'].'
'; - // $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('
Seite {PAGENO}

'); - // } - // $html = '
'.$inhalt['index'].' - '.$inhalt['titel'].'
'; - // $html .= Zusammenstellung::load($projekte_id); - // $html .= '






'; - // $html .= ''; - // $html .= ''; - // $html .= ''; - // $html .= '
'.self::$projekt->erstellung.''.self::$gutachter->kennung.'
'; - // $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY); - // break; - - // case 'allgemeinflaechen': - // if ($inhalt['neue_seite']) { - // $mpdf->AddPage(); - // $mpdf->SetHTMLFooter('
Seite {PAGENO}

'); - // } - // $html = '
'.$inhalt['index'].' - '.$inhalt['titel'].'
'; - // $html .= ProjektAllgemeinflaechens::load($projekte_id); - // $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY); - // break; - // } - // } - - ob_clean(); - - $mpdf->Output($filepath, 'F'); - } -} diff --git a/app/Actions/Generate/MakeParagraph6.php b/app/Actions/Generate/MakeParagraph6.php deleted file mode 100644 index 5658a67..0000000 --- a/app/Actions/Generate/MakeParagraph6.php +++ /dev/null @@ -1,113 +0,0 @@ -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('
Seite {PAGENO}

'); - } - if ($html) { - $mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY); - } - } - - ob_clean(); - - $mpdf->Output($filepath, 'F'); - } -}