<?php
/**
* Erstellt die Moduspezifischen Amtsblattinhalte, welche gerendert abgelegt werden
*
* User: bruno.ziegler
* Date: 17.12.13 10:51
*/
namespace App\Model;
use App\Entity\Amtsblattausgabe;
use App\Entity\Baugesuch;
use App\Entity\Baugesuchausnahmebewilligung;
use App\Entity\Einbuergerungsgesuch;
use App\Entity\Erdsonde;
use App\Entity\Gestaltungsplan;
use App\Entity\Konzessionsbewilligung;
use App\Entity\Konzessionsgesuch;
use App\Entity\KonzessionsgesuchGewaesser;
use App\Entity\KonzessionsgesuchUmwelt;
use App\Entity\Module;
use App\Entity\Nutzungsplanung;
use App\Entity\Rodungsgesuch;
use App\Entity\Schutzzonenplan;
use App\Event\FilterBaugesuchausnahmebewilligungEvent;
use App\Event\FilterBaugesuchEvent;
use App\Event\FilterEinbuergerungsgesuchEvent;
use App\Event\FilterErdsondeEvent;
use App\Event\FilterGestaltungsplanEvent;
use App\Event\FilterKonzessionsbewilligungEvent;
use App\Event\FilterKonzessionsgesuchEvent;
use App\Event\FilterKonzessionsgesuchGewaesserEvent;
use App\Event\FilterKonzessionsgesuchUmweltEvent;
use App\Event\FilterNutzungsplanungEvent;
use App\Event\FilterRodungsgesuchEvent;
use App\Event\FilterSchutzzonenplanEvent;
use Doctrine\ORM\EntityManagerInterface;
class AmtsblattausgabenManager
{
public function __construct(protected EntityManagerInterface $em)
{
}
/**
* Publikation Baugesuch in Amtsblattausgaben Tabelle (Gemeinde- und Kantons Ansicht zur Archivierung ablegen)
*
* ACHTUNG:
* Listener Klasse (wird automatisch aufgerufen)
*/
public function onBaugesuchChange(FilterBaugesuchEvent $event): void
{
$baugesuch = $event->getBaugesuch();
$module = $this->em->getRepository(Module::class)->findOneByCode(Baugesuch::MODULE_CODE);
// --- GEMEINDE-ANSICHT ----------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue gemeindespezifische Amtsblattausgabe erstellen
$gdeAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getGemeindeAusgabe(
$baugesuch->getAmtsblatt(),
$baugesuch->getGemeinde(),
$module
);
if (!$gdeAmtsblattAusgabe) {
// Erstelle neuen Record
$gdeAmtsblattAusgabe = new Amtsblattausgabe($baugesuch->getAmtsblatt(), $module, $baugesuch->getGemeinde());
}
// Ende
$html = '';
$baugesuche = $this->em->getRepository(Baugesuch::class)->findAllByAmtsblattAndGemeinde(
$baugesuch->getAmtsblatt(),
$baugesuch->getGemeinde(),
[Baugesuch::STATUS_REDIGIERT, Baugesuch::STATUS_ERFASST]
);
if ($baugesuche) {
$bauzonenChar = 'a';
$bauzonenTitelSave = null;
foreach ($baugesuche as $row) {
if ($bauzonenTitelSave <> $row->getBauzone()) {
$bauzonenTitelSave = $row->getBauzone();
$html = Util::rStringTrim($html, '<div class="spacerEineZeile"></div>') . $row->formatBauzone('html', $bauzonenChar);
$bauzonenChar++;
}
$html .= $row->getDataHtml();
$html .= '<div class="spacerEineZeile"></div>';
}
$html = Util::rStringTrim($html, '<div class="spacerEineZeile"></div>') . $baugesuche[0]->formatFooter('html', 'gemeinde', $bauzonenChar);
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($gdeAmtsblattAusgabe);
$this->em->flush();
} else {
$gdeAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($gdeAmtsblattAusgabe);
$this->em->flush();
}
// ENDE --------------------------------------------------------------------------------------------------------
// KANTONS-ANSICHT ---------------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue kantonsspezifische Amtsblattausgabe erstellen
$kantonAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getKantonAusgabe(
$baugesuch->getAmtsblatt(),
$module
);
if (!$kantonAmtsblattAusgabe) {
// Erstelle neuen Record
$kantonAmtsblattAusgabe = new Amtsblattausgabe($baugesuch->getAmtsblatt(), $module, null);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende
$html = '';
$baugesuche = $this->em->getRepository(Baugesuch::class)->findAllByAmtsblattAndGemeinde(
$baugesuch->getAmtsblatt(),
null,
[Baugesuch::STATUS_REDIGIERT, Baugesuch::STATUS_ERFASST]
);
if ($baugesuche) {
$bauzonenChar = 'a';
$bauzonenTitelSave = null;
$gemeindeSave = null;
foreach ($baugesuche as $row) {
if ($bauzonenTitelSave <> $row->getBauzone()) {
$bauzonenTitelSave = $row->getBauzone();
$gemeindeSave = null;
$html = Util::rStringTrim($html, '<div class="spacerEineZeile"></div>') . $row->formatBauzone('html', $bauzonenChar);
$bauzonenChar++;
}
if ($gemeindeSave != $row->getGemeinde()->getId()) {
$gemeindeSave = $row->getGemeinde()->getId();
$html = Util::rStringTrim($html, '<div class="spacerEineZeile"></div>') . $row->formatGemeindeName('html');
}
$html .= $row->getDataHtml();
$html .= '<div class="spacerEineZeile"></div>';
}
$html = Util::rStringTrim($html, '<div class="spacerEineZeile"></div>') . $baugesuche[0]->formatFooter('html', 'kanton', $bauzonenChar);
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($kantonAmtsblattAusgabe);
$this->em->flush();
} else {
$kantonAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende KANTONS-ANSICHT ----------------------------------------------------------------------------------------
}
/**
* Publikation Baugesuchausnahmebewilligung in Amtsblattausgaben Tabelle (Gemeinde- und Kantons Ansicht zur Archivierung ablegen)
*
* ACHTUNG:
* Listener Klasse (wird automatisch aufgerufen)
*/
public function onBaugesuchausnahmebewilligungChange(FilterBaugesuchausnahmebewilligungEvent $event): void
{
$baugesuchausnahmebewilligung = $event->getBaugesuchausnahmebewilligung();
$module = $this->em->getRepository(Module::class)->findOneByCode(Baugesuchausnahmebewilligung::MODULE_CODE);
// --- GEMEINDE-ANSICHT ----------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue gemeindespezifische Amtsblattausgabe erstellen
$gdeAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getGemeindeAusgabe(
$baugesuchausnahmebewilligung->getAmtsblatt(),
$baugesuchausnahmebewilligung->getGemeinde(),
$module
);
if (!$gdeAmtsblattAusgabe) {
// Erstelle neuen Record
$gdeAmtsblattAusgabe = new Amtsblattausgabe($baugesuchausnahmebewilligung->getAmtsblatt(), $module, $baugesuchausnahmebewilligung->getGemeinde());
}
// Ende
$html = '';
$baugesuchausnahmebewilligungen = $this->em->getRepository(Baugesuchausnahmebewilligung::class)->findAllByAmtsblattAndGemeinde(
$baugesuchausnahmebewilligung->getAmtsblatt(),
$baugesuchausnahmebewilligung->getGemeinde(),
[Baugesuchausnahmebewilligung::STATUS_REDIGIERT, Baugesuchausnahmebewilligung::STATUS_ERFASST]
);
if ($baugesuchausnahmebewilligungen) {
$html .= $baugesuchausnahmebewilligungen[0]->formatGemeindename('html');
foreach ($baugesuchausnahmebewilligungen as $row) {
$html .= $row->getDataHtml();
$html .= '<div class="spacerEineZeile"></div>';
}
$html .= $baugesuchausnahmebewilligungen[0]->formatFooter('html');
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($gdeAmtsblattAusgabe);
$this->em->flush();
} else {
$gdeAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($gdeAmtsblattAusgabe);
$this->em->flush();
}
// ENDE --------------------------------------------------------------------------------------------------------
// KANTONS-ANSICHT ---------------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue kantonsspezifische Amtsblattausgabe erstellen
$kantonAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getKantonAusgabe(
$baugesuchausnahmebewilligung->getAmtsblatt(),
$module
);
if (!$kantonAmtsblattAusgabe) {
// Erstelle neuen Record
$kantonAmtsblattAusgabe = new Amtsblattausgabe($baugesuchausnahmebewilligung->getAmtsblatt(), $module, null);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende
$html = '';
$baugesuchausnahmebewilligungen = $this->em->getRepository(Baugesuchausnahmebewilligung::class)->findAllByAmtsblattAndGemeinde(
$baugesuchausnahmebewilligung->getAmtsblatt(),
null,
[Baugesuchausnahmebewilligung::STATUS_REDIGIERT, Baugesuchausnahmebewilligung::STATUS_ERFASST]
);
if ($baugesuchausnahmebewilligungen) {
$gemeindeSave = null;
foreach ($baugesuchausnahmebewilligungen as $key => $row) {
if ($gemeindeSave != $row->getGemeinde()->getId()) {
$gemeindeSave = $row->getGemeinde()->getId();
$html .= $row->formatGemeindeName('html');
} elseif ($key > 0) {
$html .= '<div class="spacerEineZeile"></div>';
}
$html .= $row->getDataHtml();
}
$html .= '<div class="spacerEineZeile"></div>';
$html .= $baugesuchausnahmebewilligungen[0]->formatFooter('html');
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($kantonAmtsblattAusgabe);
$this->em->flush();
} else {
$kantonAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende KANTONS-ANSICHT ----------------------------------------------------------------------------------------
}
/**
* Publikation Rodungsgesuch in Amtsblattausgaben Tabelle (Gemeinde- und Kantons Ansicht zur Archivierung ablegen)
*
* ACHTUNG:
* Listener Klasse (wird automatisch aufgerufen)
*/
public function onRodungsgesuchChange(FilterRodungsgesuchEvent $event): void
{
$rodungsgesuch = $event->getRodungsgesuch();
$module = $this->em->getRepository(Module::class)->findOneByCode(Rodungsgesuch::MODULE_CODE);
// --- GEMEINDE-ANSICHT ----------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue gemeindespezifische Amtsblattausgabe erstellen
$gdeAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getGemeindeAusgabe(
$rodungsgesuch->getAmtsblatt(),
$rodungsgesuch->getGemeinde(),
$module
);
if (!$gdeAmtsblattAusgabe) {
// Erstelle neuen Record
$gdeAmtsblattAusgabe = new Amtsblattausgabe($rodungsgesuch->getAmtsblatt(), $module, $rodungsgesuch->getGemeinde());
}
// Ende
$html = '';
$rodungsgesuche = $this->em->getRepository(Rodungsgesuch::class)->findAllByAmtsblattAndGemeinde(
$rodungsgesuch->getAmtsblatt(),
$rodungsgesuch->getGemeinde(),
[Rodungsgesuch::STATUS_REDIGIERT, Rodungsgesuch::STATUS_ERFASST]
);
if ($rodungsgesuche) {
foreach ($rodungsgesuche as $row) {
$html .= $row->getDataHtml();
}
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($gdeAmtsblattAusgabe);
$this->em->flush();
} else {
$gdeAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($gdeAmtsblattAusgabe);
$this->em->flush();
}
// ENDE --------------------------------------------------------------------------------------------------------
// KANTONS-ANSICHT ---------------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue kantonsspezifische Amtsblattausgabe erstellen
$kantonAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getKantonAusgabe(
$rodungsgesuch->getAmtsblatt(),
$module
);
if (!$kantonAmtsblattAusgabe) {
// Erstelle neuen Record
$kantonAmtsblattAusgabe = new Amtsblattausgabe($rodungsgesuch->getAmtsblatt(), $module, null);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende
$html = '';
$rodungsgesuche = $this->em->getRepository(Rodungsgesuch::class)->findAllByAmtsblattAndGemeinde(
$rodungsgesuch->getAmtsblatt(),
null,
[Rodungsgesuch::STATUS_REDIGIERT, Rodungsgesuch::STATUS_ERFASST]
);
if ($rodungsgesuche) {
foreach ($rodungsgesuche as $row) {
$html .= $row->getDataHtml();
}
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($kantonAmtsblattAusgabe);
$this->em->flush();
} else {
$kantonAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende KANTONS-ANSICHT ----------------------------------------------------------------------------------------
}
/**
* Publikation Einbuergerungsgesuch in Amtsblattausgaben Tabelle (Gemeinde- und Kantons Ansicht zur Archivierung ablegen)
*
* ACHTUNG:
* Listener Klasse (wird automatisch aufgerufen)
*/
public function onEinbuergerungsgesuchChange(FilterEinbuergerungsgesuchEvent $event): void
{
$einbuergerungsgesuch = $event->getEinbuergerungsgesuch();
$module = $this->em->getRepository(Module::class)->findOneByCode(Einbuergerungsgesuch::MODULE_CODE);
// --- GEMEINDE-ANSICHT ----------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue gemeindespezifische Amtsblattausgabe erstellen
$gdeAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getGemeindeAusgabe(
$einbuergerungsgesuch->getAmtsblatt(),
$einbuergerungsgesuch->getGemeinde(),
$module
);
if (!$gdeAmtsblattAusgabe) {
// Erstelle neuen Record
$gdeAmtsblattAusgabe = new Amtsblattausgabe($einbuergerungsgesuch->getAmtsblatt(), $module, $einbuergerungsgesuch->getGemeinde());
}
// Ende
$html = '';
$baugesuche = $this->em->getRepository(Einbuergerungsgesuch::class)->findAllByAmtsblattAndGemeinde(
$einbuergerungsgesuch->getAmtsblatt(),
$einbuergerungsgesuch->getGemeinde(),
[Einbuergerungsgesuch::STATUS_REDIGIERT, Einbuergerungsgesuch::STATUS_ERFASST]
);
if ($baugesuche) {
$html .= $baugesuche[0]->formatTitel('html');
$html .= $baugesuche[0]->formatGemeindeName('html');
foreach ($baugesuche as $row) {
$html .= $row->getDataHtml();
$html .= '<div class="spacerEineZeile"></div>';
}
$html = Util::rStringTrim($html, '<div class="spacerEineZeile"></div>') . $baugesuche[0]->formatFooter('html');
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($gdeAmtsblattAusgabe);
$this->em->flush();
} else {
$gdeAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($gdeAmtsblattAusgabe);
$this->em->flush();
}
// ENDE --------------------------------------------------------------------------------------------------------
// KANTONS-ANSICHT ---------------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue kantonsspezifische Amtsblattausgabe erstellen
$kantonAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getKantonAusgabe(
$einbuergerungsgesuch->getAmtsblatt(),
$module
);
if (!$kantonAmtsblattAusgabe) {
// Erstelle neuen Record
$kantonAmtsblattAusgabe = new Amtsblattausgabe($einbuergerungsgesuch->getAmtsblatt(), $module, null);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende
$html = '';
$baugesuche = $this->em->getRepository(Einbuergerungsgesuch::class)->findAllByAmtsblattAndGemeinde(
$einbuergerungsgesuch->getAmtsblatt(),
null,
[Einbuergerungsgesuch::STATUS_REDIGIERT, Einbuergerungsgesuch::STATUS_ERFASST]
);
if ($baugesuche) {
$html .= $baugesuche[0]->formatTitel('html');
$gemeindeSave = null;
foreach ($baugesuche as $row) {
if ($gemeindeSave != $row->getGemeinde()->getId()) {
$gemeindeSave = $row->getGemeinde()->getId();
$html = Util::rStringTrim($html, '<div class="spacerEineZeile"></div>') . $row->formatGemeindeName('html');
}
$html .= $row->getDataHtml();
$html .= '<div class="spacerEineZeile"></div>';
}
$html = Util::rStringTrim($html, '<div class="spacerEineZeile"></div>') . $baugesuche[0]->formatFooter('html');
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($kantonAmtsblattAusgabe);
$this->em->flush();
} else {
$kantonAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende KANTONS-ANSICHT ----------------------------------------------------------------------------------------
}
/**
* Publikation Schutzzonenplan in Amtsblattausgaben Tabelle (Gemeinde- und Kantons Ansicht zur Archivierung ablegen)
*
* ACHTUNG:
* Listener Klasse (wird automatisch aufgerufen)
*/
public function onSchutzzonenplanChange(FilterSchutzzonenplanEvent $event): void
{
$schutzzonenplan = $event->getSchutzzonenplan();
$module = $this->em->getRepository(Module::class)->findOneByCode(Schutzzonenplan::MODULE_CODE);
// --- GEMEINDE-ANSICHT ----------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue gemeindespezifische Amtsblattausgabe erstellen
$gdeAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getGemeindeAusgabe(
$schutzzonenplan->getAmtsblatt(),
$schutzzonenplan->getGemeinde(),
$module
);
if (!$gdeAmtsblattAusgabe) {
// Erstelle neuen Record
$gdeAmtsblattAusgabe = new Amtsblattausgabe($schutzzonenplan->getAmtsblatt(), $module, $schutzzonenplan->getGemeinde());
}
// Ende
$html = '';
$schutzzonenplaene = $this->em->getRepository(Schutzzonenplan::class)->findAllByAmtsblattAndGemeinde(
$schutzzonenplan->getAmtsblatt(),
$schutzzonenplan->getGemeinde(),
[Schutzzonenplan::STATUS_REDIGIERT, Schutzzonenplan::STATUS_ERFASST]
);
if ($schutzzonenplaene) {
foreach ($schutzzonenplaene as $row) {
$html .= $row->getDataHtml();
}
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($gdeAmtsblattAusgabe);
$this->em->flush();
} else {
$gdeAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($gdeAmtsblattAusgabe);
$this->em->flush();
}
// ENDE --------------------------------------------------------------------------------------------------------
// KANTONS-ANSICHT ---------------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue kantonsspezifische Amtsblattausgabe erstellen
$kantonAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getKantonAusgabe(
$schutzzonenplan->getAmtsblatt(),
$module
);
if (!$kantonAmtsblattAusgabe) {
// Erstelle neuen Record
$kantonAmtsblattAusgabe = new Amtsblattausgabe($schutzzonenplan->getAmtsblatt(), $module, null);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende
$html = '';
$schutzzonenplaene = $this->em->getRepository(Schutzzonenplan::class)->findAllByAmtsblattAndGemeinde(
$schutzzonenplan->getAmtsblatt(),
null,
[Schutzzonenplan::STATUS_REDIGIERT, Schutzzonenplan::STATUS_ERFASST]
);
if ($schutzzonenplaene) {
foreach ($schutzzonenplaene as $row) {
$html .= $row->getDataHtml();
}
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($kantonAmtsblattAusgabe);
$this->em->flush();
} else {
$kantonAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende KANTONS-ANSICHT ----------------------------------------------------------------------------------------
}
/**
* Publikation Gestaltungsplan in Amtsblattausgaben Tabelle (Gemeinde- und Kantons Ansicht zur Archivierung ablegen)
*
* ACHTUNG:
* Listener Klasse (wird automatisch aufgerufen)
*/
public function onGestaltungsplanChange(FilterGestaltungsplanEvent $event): void
{
$gestaltungsplan = $event->getGestaltungsplan();
$module = $this->em->getRepository(Module::class)->findOneByCode(Gestaltungsplan::MODULE_CODE);
// --- GEMEINDE-ANSICHT ----------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue gemeindespezifische Amtsblattausgabe erstellen
$gdeAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getGemeindeAusgabe(
$gestaltungsplan->getAmtsblatt(),
$gestaltungsplan->getGemeinde(),
$module
);
if (!$gdeAmtsblattAusgabe) {
// Erstelle neuen Record
$gdeAmtsblattAusgabe = new Amtsblattausgabe($gestaltungsplan->getAmtsblatt(), $module, $gestaltungsplan->getGemeinde());
}
// Ende
$html = '';
$gestaltungsplaene = $this->em->getRepository(Gestaltungsplan::class)->findAllByAmtsblattAndGemeinde(
$gestaltungsplan->getAmtsblatt(),
$gestaltungsplan->getGemeinde(),
[Gestaltungsplan::STATUS_REDIGIERT, Gestaltungsplan::STATUS_ERFASST]
);
if ($gestaltungsplaene) {
foreach ($gestaltungsplaene as $row) {
$html .= $row->getDataHtml();
}
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($gdeAmtsblattAusgabe);
$this->em->flush();
} else {
$gdeAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($gdeAmtsblattAusgabe);
$this->em->flush();
}
// ENDE --------------------------------------------------------------------------------------------------------
// KANTONS-ANSICHT ---------------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue kantonsspezifische Amtsblattausgabe erstellen
$kantonAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getKantonAusgabe(
$gestaltungsplan->getAmtsblatt(),
$module
);
if (!$kantonAmtsblattAusgabe) {
// Erstelle neuen Record
$kantonAmtsblattAusgabe = new Amtsblattausgabe($gestaltungsplan->getAmtsblatt(), $module, null);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende
$html = '';
$gestaltungsplaene = $this->em->getRepository(Gestaltungsplan::class)->findAllByAmtsblattAndGemeinde(
$gestaltungsplan->getAmtsblatt(),
null,
[Gestaltungsplan::STATUS_REDIGIERT, Gestaltungsplan::STATUS_ERFASST]
);
if ($gestaltungsplaene) {
foreach ($gestaltungsplaene as $row) {
$html .= $row->getDataHtml();
}
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($kantonAmtsblattAusgabe);
$this->em->flush();
} else {
$kantonAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende KANTONS-ANSICHT ----------------------------------------------------------------------------------------
}
/**
* Publikation Nutzungsplanung in Amtsblattausgaben Tabelle (Gemeinde- und Kantons Ansicht zur Archivierung ablegen)
*
* ACHTUNG:
* Listener Klasse (wird automatisch aufgerufen)
*/
public function onNutzungsplanungChange(FilterNutzungsplanungEvent $event): void
{
$nutzungsplanung = $event->getNutzungsplanung();
$module = $this->em->getRepository(Module::class)->findOneByCode(Nutzungsplanung::MODULE_CODE);
// --- GEMEINDE-ANSICHT ----------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue gemeindespezifische Amtsblattausgabe erstellen
$gdeAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getGemeindeAusgabe(
$nutzungsplanung->getAmtsblatt(),
$nutzungsplanung->getGemeinde(),
$module
);
if (!$gdeAmtsblattAusgabe) {
// Erstelle neuen Record
$gdeAmtsblattAusgabe = new Amtsblattausgabe($nutzungsplanung->getAmtsblatt(), $module, $nutzungsplanung->getGemeinde());
}
// Ende
$html = '';
$nutzungsplanungen = $this->em->getRepository(Nutzungsplanung::class)->findAllByAmtsblattAndGemeinde(
$nutzungsplanung->getAmtsblatt(),
$nutzungsplanung->getGemeinde(),
[Nutzungsplanung::STATUS_REDIGIERT, Nutzungsplanung::STATUS_ERFASST]
);
if ($nutzungsplanungen) {
foreach ($nutzungsplanungen as $row) {
$html .= $row->getDataHtml();
}
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($gdeAmtsblattAusgabe);
$this->em->flush();
} else {
$gdeAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($gdeAmtsblattAusgabe);
$this->em->flush();
}
// ENDE --------------------------------------------------------------------------------------------------------
// KANTONS-ANSICHT ---------------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue kantonsspezifische Amtsblattausgabe erstellen
$kantonAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getKantonAusgabe(
$nutzungsplanung->getAmtsblatt(),
$module
);
if (!$kantonAmtsblattAusgabe) {
// Erstelle neuen Record
$kantonAmtsblattAusgabe = new Amtsblattausgabe($nutzungsplanung->getAmtsblatt(), $module, null);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende
$html = '';
$nutzungsplanungen = $this->em->getRepository(Nutzungsplanung::class)->findAllByAmtsblattAndGemeinde(
$nutzungsplanung->getAmtsblatt(),
null,
[Nutzungsplanung::STATUS_REDIGIERT, Nutzungsplanung::STATUS_ERFASST]
);
if ($nutzungsplanungen) {
foreach ($nutzungsplanungen as $row) {
$html .= $row->getDataHtml();
}
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($kantonAmtsblattAusgabe);
$this->em->flush();
} else {
$kantonAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende KANTONS-ANSICHT ----------------------------------------------------------------------------------------
}
/**
* Publikation Erdsonde in Amtsblattausgaben Tabelle (Gemeinde- und Kantons Ansicht zur Archivierung ablegen)
*
* ACHTUNG:
* Listener Klasse (wird automatisch aufgerufen)
*/
public function onErdsondeChange(FilterErdsondeEvent $event): void
{
$erdsonde = $event->getErdsonde();
$module = $this->em->getRepository(Module::class)->findOneByCode(Erdsonde::MODULE_CODE);
// --- GEMEINDE-ANSICHT ----------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue gemeindespezifische Amtsblattausgabe erstellen
$gdeAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getGemeindeAusgabe(
$erdsonde->getAmtsblatt(),
$erdsonde->getGemeinde(),
$module
);
if (!$gdeAmtsblattAusgabe) {
// Erstelle neuen Record
$gdeAmtsblattAusgabe = new Amtsblattausgabe($erdsonde->getAmtsblatt(), $module, $erdsonde->getGemeinde());
}
// Ende
$html = '';
$erdsonden = $this->em->getRepository(Erdsonde::class)->findAllByAmtsblattAndGemeinde(
$erdsonde->getAmtsblatt(),
$erdsonde->getGemeinde(),
[Erdsonde::STATUS_REDIGIERT, Erdsonde::STATUS_ERFASST]
);
if ($erdsonden) {
$html .= $erdsonden[0]->formatTitel('html');
$html .= $erdsonden[0]->formatGemeindename('html');
foreach ($erdsonden as $row) {
$html .= $row->getDataHtml();
$html .= '<div class="spacerHalbeZeile"></div>';
}
$html = Util::rStringTrim($html, '<div class="spacerHalbeZeile"></div>') . $erdsonden[0]->formatFooter('html');
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($gdeAmtsblattAusgabe);
$this->em->flush();
} else {
$gdeAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($gdeAmtsblattAusgabe);
$this->em->flush();
}
// ENDE --------------------------------------------------------------------------------------------------------
// KANTONS-ANSICHT ---------------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue kantonsspezifische Amtsblattausgabe erstellen
$kantonAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getKantonAusgabe(
$erdsonde->getAmtsblatt(),
$module
);
if (!$kantonAmtsblattAusgabe) {
// Erstelle neuen Record
$kantonAmtsblattAusgabe = new Amtsblattausgabe($erdsonde->getAmtsblatt(), $module, null);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende
$html = '';
$erdsonden = $this->em->getRepository(Erdsonde::class)->findAllByAmtsblattAndGemeinde(
$erdsonde->getAmtsblatt(),
null,
[Erdsonde::STATUS_REDIGIERT, Erdsonde::STATUS_ERFASST]
);
if ($erdsonden) {
$html .= $erdsonden[0]->formatTitel('html');
$gemeindeSave = null;
foreach ($erdsonden as $row) {
if ($gemeindeSave != $row->getGemeinde()->getId()) {
$gemeindeSave = $row->getGemeinde()->getId();
// erster Eintrag dieser Gemeinde
$html .= $row->formatGemeindename('html');
$html .= $row->getDataHtml();
} else {
// erneuter Eintrag dieser Gemeinde
$html .= '<div class="spacerHalbeZeile"></div>';
$html .= $row->getDataHtml();
}
}
$html .= $erdsonden[0]->formatFooter('html');
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($kantonAmtsblattAusgabe);
$this->em->flush();
} else {
$kantonAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende KANTONS-ANSICHT ----------------------------------------------------------------------------------------
}
/**
* Publikation Konzessionsgesuch in Amtsblattausgaben Tabelle (Gemeinde- und Kantons Ansicht zur Archivierung ablegen)
*
* ACHTUNG:
* Listener Klasse (wird automatisch aufgerufen)
*/
public function onKonzessionsgesuchChange(FilterKonzessionsgesuchEvent $event): void
{
$konzessionsgesuch = $event->getKonzessionsgesuch();
$module = $this->em->getRepository(Module::class)->findOneByCode(Konzessionsgesuch::MODULE_CODE);
// KANTONS-ANSICHT ---------------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue kantonsspezifische Amtsblattausgabe erstellen
$kantonAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getKantonAusgabe(
$konzessionsgesuch->getAmtsblatt(),
$module
);
if (!$kantonAmtsblattAusgabe) {
// Erstelle neuen Record
$kantonAmtsblattAusgabe = new Amtsblattausgabe($konzessionsgesuch->getAmtsblatt(), $module, null);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende
$html = '';
$konzessionsgesuche = $this->em->getRepository(Konzessionsgesuch::class)->findAllByAmtsblatt(
$konzessionsgesuch->getAmtsblatt(),
[Konzessionsgesuch::STATUS_REDIGIERT, Konzessionsgesuch::STATUS_ERFASST]
);
if ($konzessionsgesuche) {
foreach ($konzessionsgesuche as $row) {
$html .= $row->getDataHtml();
}
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($kantonAmtsblattAusgabe);
$this->em->flush();
} else {
$kantonAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende KANTONS-ANSICHT ----------------------------------------------------------------------------------------
}
/**
* Publikation Konzessionsgesuch AFG in Amtsblattausgaben Tabelle (Gemeinde- und Kantons Ansicht zur Archivierung ablegen)
*
* ACHTUNG:
* Listener Klasse (wird automatisch aufgerufen)
*/
public function onKonzessionsgesuchGewaesserChange(FilterKonzessionsgesuchGewaesserEvent $event): void
{
$konzessionsgesuch = $event->getKonzessionsgesuchGewaesser();
$module = $this->em->getRepository(Module::class)->findOneByCode(KonzessionsgesuchGewaesser::MODULE_CODE);
// KANTONS-ANSICHT ---------------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue kantonsspezifische Amtsblattausgabe erstellen
$kantonAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getKantonAusgabe(
$konzessionsgesuch->getAmtsblatt(),
$module
);
if (!$kantonAmtsblattAusgabe) {
// Erstelle neuen Record
$kantonAmtsblattAusgabe = new Amtsblattausgabe($konzessionsgesuch->getAmtsblatt(), $module, null);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende
$html = '';
$konzessionsgesuche = $this->em->getRepository(KonzessionsgesuchGewaesser::class)->findAllByAmtsblatt(
$konzessionsgesuch->getAmtsblatt(),
[Konzessionsgesuch::STATUS_REDIGIERT, Konzessionsgesuch::STATUS_ERFASST]
);
if ($konzessionsgesuche) {
foreach ($konzessionsgesuche as $row) {
$html .= $row->getDataHtml();
}
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($kantonAmtsblattAusgabe);
$this->em->flush();
} else {
$kantonAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende KANTONS-ANSICHT ----------------------------------------------------------------------------------------
}
/**
* Publikation Konzessionsgesuch AFU in Amtsblattausgaben Tabelle (Gemeinde- und Kantons Ansicht zur Archivierung ablegen)
*
* ACHTUNG:
* Listener Klasse (wird automatisch aufgerufen)
*/
public function onKonzessionsgesuchUmweltChange(FilterKonzessionsgesuchUmweltEvent $event): void
{
$konzessionsgesuch = $event->getKonzessionsgesuchUmwelt();
$module = $this->em->getRepository(Module::class)->findOneByCode(KonzessionsgesuchUmwelt::MODULE_CODE);
// KANTONS-ANSICHT ---------------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue kantonsspezifische Amtsblattausgabe erstellen
$kantonAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getKantonAusgabe(
$konzessionsgesuch->getAmtsblatt(),
$module
);
if (!$kantonAmtsblattAusgabe) {
// Erstelle neuen Record
$kantonAmtsblattAusgabe = new Amtsblattausgabe($konzessionsgesuch->getAmtsblatt(), $module, null);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende
$html = '';
$konzessionsgesuche = $this->em->getRepository(KonzessionsgesuchUmwelt::class)->findAllByAmtsblatt(
$konzessionsgesuch->getAmtsblatt(),
[KonzessionsgesuchUmwelt::STATUS_REDIGIERT, KonzessionsgesuchUmwelt::STATUS_ERFASST]
);
if ($konzessionsgesuche) {
foreach ($konzessionsgesuche as $row) {
$html .= $row->getDataHtml();
}
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($kantonAmtsblattAusgabe);
$this->em->flush();
} else {
$kantonAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende KANTONS-ANSICHT ----------------------------------------------------------------------------------------
}
/**
* Publikation Konzessionsbewilligung in Amtsblattausgaben Tabelle (Gemeinde- und Kantons Ansicht zur Archivierung ablegen)
*
* ACHTUNG:
* Listener Klasse (wird automatisch aufgerufen)
*/
public function onKonzessionsbewilligungChange(FilterKonzessionsbewilligungEvent $event): void
{
$konzessionsbewilligung = $event->getKonzessionsbewilligung();
$module = $this->em->getRepository(Module::class)->findOneByCode(Konzessionsbewilligung::MODULE_CODE);
// KANTONS-ANSICHT ---------------------------------------------------------------------------------------------
// Checken, ob Record existiert, sonst neue kantonsspezifische Amtsblattausgabe erstellen
$kantonAmtsblattAusgabe = $this->em->getRepository(Amtsblattausgabe::class)->getKantonAusgabe(
$konzessionsbewilligung->getAmtsblatt(),
$module
);
if (!$kantonAmtsblattAusgabe) {
// Erstelle neuen Record
$kantonAmtsblattAusgabe = new Amtsblattausgabe($konzessionsbewilligung->getAmtsblatt(), $module, null);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende
$html = '';
$konzessionsbewilligungen = $this->em->getRepository(Konzessionsbewilligung::class)->findAllByAmtsblatt(
$konzessionsbewilligung->getAmtsblatt(),
[Konzessionsbewilligung::STATUS_REDIGIERT, Konzessionsbewilligung::STATUS_ERFASST]
);
if ($konzessionsbewilligungen) {
foreach ($konzessionsbewilligungen as $row) {
$html .= $row->getDataHtml();
}
}
// Persistierung
if (!$html){
// lösche Entity da kein Inhalt
$this->em->remove($kantonAmtsblattAusgabe);
$this->em->flush();
} else {
$kantonAmtsblattAusgabe->setContentHtml($html);
$this->em->persist($kantonAmtsblattAusgabe);
$this->em->flush();
}
// Ende KANTONS-ANSICHT ----------------------------------------------------------------------------------------
}
}