<?php
namespace App\Services;
//use Symfony\Bridge\Doctrine\ManagerRegistry;
use Doctrine\ORM\EntityManagerInterface;
class Ciselniky {
private $priciny = [
1 => 'Iná pracovná činnosť týkajúca sa poškodenia druhov a biotopov eu. významu (NATURA 2000)',
2 => 'Prevádzka IPKZ',
3 => 'Činnosti s odpadmi',
4 => 'Cezhraničný pohyb odpadov',
5 => 'Vypúšťanie OV do Pv, Pz vôd',
6 => 'Vypúšťanie znečisťujúcich látok alebo injektáž do vôd',
7 => 'Odber a vzdúvanie vody',
8 => 'Výroba, používanie nebezpečných chemických látok a prípravkov',
9 => 'Výroba, používanie prípravkov na ochranu rastlín',
10 => 'Výroba, používanie biocídnych výrobkov',
11 => 'Preprava nebezpečného tovaru',
12 => 'Prevádzka VZZO -veľkých zdrojov znečisťovania ovzdušia',
13 => 'Prevádzka SZZO-stredných zdrojov znečisťovania ovzdušia (do r.2013)',
14 => 'Prevádzka SO-spaľovní odpadov',
15 => 'Prevádzka zariadení na spoluspaľovanie odpadov',
16 => 'Používanie GMO - geneticky modifikovaných organizmov',
17 => 'Zámerné uvoľňovanie GMO',
18 => 'Odpad z ťažobného priemyslu',
];
private $pricinyLong = [
2 => "zberom, prepravou, zhodnocovaním a zneškodňovaním odpadov s výnimkou aplikácie čistiarenského kalu do pôdy, ktoré vyžadujú súhlas alebo registráciu podľa osobitného predpisu",
1 => "prevádzkovaním zariadení podliehajúcich integrovanému povoleniu",
3 => "cezhraničným pohybom odpadov, ktorý vyžaduje povolenie podľa osobitného predpisu",
4 => "vypúšťaním odpadových vôd do povrchových vôd alebo do podzemných vôd, ktoré vyžaduje povolenie, vrátane povolenia s tým spojených vodných stavieb,",
5 => "vypúšťaním znečisťujúcich látok do povrchových vôd alebo do podzemných vôd alebo injektážou znečisťujúcich látok do podzemných vôd, ktoré vyžadujú povolenie, vrátane povolenia s tým spojených vodných stavieb,",
6 => "odberom vody a vzdúvaním vody, ktoré vyžadujú povolenie, vrátane povolenia s tým spojených vodných stavieb,",
7 => "výrobou, používaním, uskladňovaním, spracúvaním, plnením, uvoľňovaním do životného prostredia a vnútropodnikovou prepravou 1. nebezpečných chemických látok a nebezpečných chemických prípravkov 2. prípravkov na ochranu rastlín vrátane ich uvádzania na trh 3. biocídnych výrobkov vrátane ich uvádzania na trh",
8 => "prepravou nebezpečného alebo znečisťujúceho tovaru cestnou dopravou, železničnou dopravou, vnútrozemskou vodnou dopravou, námornou dopravou alebo leteckou dopravou",
9 => "prevádzkou veľkých zdrojov znečisťovania ovzdušia,",
10 => "používaním geneticky modifikovaných organizmov v uzavretých priestoroch vrátane ich prepravy",
11 => "zámerným uvoľňovaním geneticky modifikovaných organizmov",
12 => "nakladaním s ťažobným odpadom",
13 => "prevádzkovaním trvalého ukladania oxidu uhličitého do geologického prostredia",
14 => "iné (zavinené konanie prevádzkovateľa s následkom env. škody, resp. hrozby env. škody na chránených druhoch a biotopoch EÚ významu)",
];
private $nasledky = [
1 => 'Vtákoch eu. významu',
2 => 'Živočíchoch eu. významu',
3 => 'Rastlinách eu. významu',
4 => 'Biotopoch chr. druhov eu. významu',
5 => 'Biotopoch eu. významu',
6 => 'SKUEV',
7 => 'SKCHVU',
8 => 'Nesprístupnených jaskynných útvaroch',
9 => 'Vode',
10 => 'Pôde',
];
private $nasledkyLong = [
1 => 'Zasiahnuté územia európskeho významu',
2 => 'Zasiahnuté chránené vtáčie územia',
3 => 'Zasiahnuté biotopy európskeho významu',
4 => 'Zasiahnuté chránené rastliny európskeho významu',
5 => 'Zasiahnuté živočíchy a vtáky európskeho významu',
6 => 'Zasiahnuté biotopy chránených druhov európskeho významu',
7 => 'Zasiahnuté vodné zdroje a toky',
8 => 'Zasiahnuté pôdy',
];
private $poskodeneZdroje = [
1 => 'Druhy európskeho významu (rastliny, živočíchy)',
2 => 'Biotopy európskeho významu',
3 => 'Voda',
4 => 'Pôda s odrazom na zdravie ľudí',
];
private $urady = [
"" => "Vyberte Úrad",
"Jegorovova 29 B, 974 01 Banská Bystrica" => "Inšpektorát životného prostredia Banská Bystrica",
"Prievozská 30, 821 05 Bratislava" => "Inšpektorát životného prostredia Bratislava",
"Mariánska dolina 7, 949 01 Nitra" => "Inšpektorát životného prostredia Bratislava stále pracovisko Nitra",
"Rumanova 14, 040 53 Košice" => "Inšpektorát životného prostredia Košice",
"Legionárska 5, 012 05 Žilina" => "Inšpektorát životného prostredia Žilina",
"Námestie SNP 96/50, 960 01 Zvolen" => "OÚ, OSŽP Zvolen",
"Bystrická 53, 966 81 Žarnovica" => "OÚ, OSŽP Žarnovica",
"Ul. SNP 124, 965 01 Žiar nad Hronom" => "OÚ, OSŽP Žiar n/ Hronom",
"Nám. M. R. Štefánika 1, 010 01 Žilina" => "OÚ, OSŽP Žilina",
"Karloveská 2, 842 22 Bratislava" => "SIŽP - ústredie",
];
private $opatrenieDruh = [
'' => 'Vyberte možnosť',
1 => 'Preventívne opatrenia',
2 => 'Zmierňujúce opatrenia',
3 => 'Nápravné opatrenia',
];
private $opatrenie = [
'opatrenie' => [
'Preventívne opatrenia' => [
'zabránilo sa vzniku BHEŠ (A)',
'nezabránilo sa vzniku BHEŠ (B)',
'zabránilo sa vzniku EŠ (C )',
'nezabránilo sa vzniku EŠ (D',
],
'Zmierňujúce opatrenia' => [
'Okamžitá náprava' => [
'Áno' => [
'zmiernenie rozsahu EŠ (A)',
'eliminácia vzniku EŠ (B)',
],
'Nie' => [
'predchádzanie zhoršeniu prírodných zdrojov (A)',
'predchádzanie závažných rizík na pôde s nepriaznivýn účinkom na zdravie (B)',
],
],
],
'Nápravné opatrenia' => [
'Okamžitá náprava' => [
'Áno' => [
'zmiernenie rozsahu EŠ (A)',
'eliminácia vzniku EŠ (B)',
],
'Nie' => [
'predchádzanie zhoršeniu prírodných zdrojov (A)',
'predchádzanie závažných rizík na pôde s nepriaznivýn účinkom na zdravie (B)',
],
],
'Dodatočná náprava' => [
'Primárna náprava' => [
'dosiahnutá obnova prírodných zdrojov alebo ich funkcií do základného stavu (A)',
'nedosiahnutá obnova prírodných zdrojov alebo ich funkcií do základného stavu (B)',
'dosiahnutý základný stav (C)',
'nedosiahnutý základný stav (D)',
'odstránené závažné riziká na pôde nepriaznivých účinkov na zdravie (E)',
'neodstránené závažné riziká na pôde (F)',
],
'Doplnková náprava' => [
'dosiahnutá podobná úroveň prírodných zdrojov a ich funkcií ako bol základný stav na mieste poškodenia (A)',
'nedosiahnutá podobná úroveň prírodných zdrojov a ich funkcií ako bol základný stav stav na mieste poškodenia (B) ',
'dosiahnutá podobná úroveň prírodných zdrojov a ich funkcií ako bol základný stav na inom mieste ako je miesto poškodenia (C)',
'nedosiahnutá podobná úroveň prírodných zdrojov a ich funkcií ako bol základný stav na inom mieste ako je miesto poškodenia (D)',
'dosiahnuté obmedzenie závažných rizík na pôde s nepriaznivými účinkami na zdravie ľudí (E)',
'nedosiahnuté obmedzenie závažných rizík na pôde s nepriaznivými účinkami na zdravie ľudí (F)',
],
'Kompenzačná náprava' => [
'dosiahnutá kompenzácia dočasných strát prírodných zdrojov alebo ich funkcií (A)',
'nedosiahnutá kompenzácia dočasných strát prírodných zdrojov alebo ich funkcií (B)',
'dosiahnutá kompenzácia rizík nepriaznivých účinkov na zdravie ľudí (C)',
'nedosiahnutá kompenzácia nepriaznivých účinkov na zdravie ľudí (D)',
],
]
],
],
];
private $opatrenieVysledok = [
'' => 'Vyberte možnosť',
//prev. op.
111 => 'zabránilo sa vzniku BHEŠ (A)',
112 => 'nezabránilo sa vzniku BHEŠ (B)',
113 => 'zabránilo sa vzniku EŠ (C )',
114 => 'nezabránilo sa vzniku EŠ (D',
//zmier. op. ok ano
211 => 'zmiernenie rozsahu EŠ (A)',
212 => 'eliminácia vzniku EŠ (B)',
//zmier. op. ok nie
221 => 'predchádzanie zhoršeniu prírodných zdrojov (A)',
222 => 'predchádzanie závažných rizík na pôde s nepriaznivýn účinkom na zdravie (B)',
//NAPRAVNE opatrenia
//napr. op. ok ano
311 => 'zmiernenie rozsahu EŠ (A)',
312 => 'eliminácia vzniku EŠ (B)',
//napr. op. ok nie
321 => 'predchádzanie zhoršeniu prírodných zdrojov (A)',
322 => 'predchádzanie závažných rizík na pôde s nepriaznivýn účinkom na zdravie (B)',
//napr. op. dod prim
331 => 'dosiahnutá obnova prírodných zdrojov alebo ich funkcií do základného stavu (A)',
332 => 'nedosiahnutá obnova prírodných zdrojov alebo ich funkcií do základného stavu (B)',
333 => 'dosiahnutý základný stav (C)',
334 => 'nedosiahnutý základný stav (D)',
335 => 'odstránené závažné riziká na pôde nepriaznivých účinkov na zdravie (E)',
336 => 'neodstránené závažné riziká na pôde (F)',
//napr. op. dod doplnkove
341 => 'dosiahnutá podobná úroveň prírodných zdrojov a ich funkcií ako bol základný stav na mieste poškodenia (A)',
342 => 'nedosiahnutá podobná úroveň prírodných zdrojov a ich funkcií ako bol základný stav stav na mieste poškodenia (B) ',
343 => 'dosiahnutá podobná úroveň prírodných zdrojov a ich funkcií ako bol základný stav na inom mieste ako je miesto poškodenia (C)',
344 => 'nedosiahnutá podobná úroveň prírodných zdrojov a ich funkcií ako bol základný stav na inom mieste ako je miesto poškodenia (D)',
345 => 'dosiahnuté obmedzenie závažných rizík na pôde s nepriaznivými účinkami na zdravie ľudí (E)',
346 => 'nedosiahnuté obmedzenie závažných rizík na pôde s nepriaznivými účinkami na zdravie ľudí (F)',
//napr. op. dod komp
351 => 'dosiahnutá kompenzácia dočasných strát prírodných zdrojov alebo ich funkcií (A)',
352 => 'nedosiahnutá kompenzácia dočasných strát prírodných zdrojov alebo ich funkcií (B)',
353 => 'dosiahnutá kompenzácia rizík nepriaznivých účinkov na zdravie ľudí (C)',
354 => 'nedosiahnutá kompenzácia nepriaznivých účinkov na zdravie ľudí (D)',
];
private $opatrenieVysledok2 = [
//prev. op.
'zabránilo sa vzniku BHEŠ (A)',
'nezabránilo sa vzniku BHEŠ (B)',
'zabránilo sa vzniku EŠ (C )',
'nezabránilo sa vzniku EŠ (D',
//zmier. op. ano
'zmiernenie rozsahu EŠ (A)',
'eliminácia vzniku EŠ (B)',
//zmier. op. nie
'predchádzanie zhoršeniu prírodných zdrojov (A)',
'predchádzanie závažných rizík na pôde s nepriaznivýn účinkom na zdravie (B)',
//NAPRAVNE opatrenia
//napr. op. ok ano
'zmiernenie rozsahu EŠ (A)',
'eliminácia vzniku EŠ (B)',
//napr. op. ok nie
'predchádzanie zhoršeniu prírodných zdrojov (A)',
'predchádzanie závažných rizík na pôde s nepriaznivýn účinkom na zdravie (B)',
//napr. op. dod prim
'dosiahnutá obnova prírodných zdrojov alebo ich funkcií do základného stavu (A)',
'nedosiahnutá obnova prírodných zdrojov alebo ich funkcií do základného stavu (B)',
'dosiahnutý základný stav (C)',
'nedosiahnutý základný stav (D)',
'odstránené závažné riziká na pôde nepriaznivých účinkov na zdravie (E)',
'neodstránené závažné riziká na pôde (F)',
//napr. op. dod doplnkove
'dosiahnutá podobná úroveň prírodných zdrojov a ich funkcií ako bol základný stav na mieste poškodenia (A)',
'nedosiahnutá podobná úroveň prírodných zdrojov a ich funkcií ako bol základný stav stav na mieste poškodenia (B) ',
'dosiahnutá podobná úroveň prírodných zdrojov a ich funkcií ako bol základný stav na inom mieste ako je miesto poškodenia (C)',
'nedosiahnutá podobná úroveň prírodných zdrojov a ich funkcií ako bol základný stav na inom mieste ako je miesto poškodenia (D)',
'dosiahnuté obmedzenie závažných rizík na pôde s nepriaznivými účinkami na zdravie ľudí (E)',
'nedosiahnuté obmedzenie závažných rizík na pôde s nepriaznivými účinkami na zdravie ľudí (F)',
//napr. op. dod komp
'dosiahnutá kompenzácia dočasných strát prírodných zdrojov alebo ich funkcií (A)',
'nedosiahnutá kompenzácia dočasných strát prírodných zdrojov alebo ich funkcií (B)',
'dosiahnutá kompenzácia rizík nepriaznivých účinkov na zdravie ľudí (C)',
'nedosiahnutá kompenzácia nepriaznivých účinkov na zdravie ľudí (D)',
];
private $opatrenieNaklady = [
'' => 'Vyberte možnosť',
'a' => 'a - Vynaložené prevádzkovateľom priamo ',
'b' => 'b - Od prevádzkovateľa z finančného krytia – poistenie ',
'c' => 'c - Nezískané od prevádzkovateľa ',
'd' => 'd - Zo štátneho rozpočtu',
];
private $druhNapravy = [
'' => 'Vyberte možnosť',
21 => 'Okamžitá náprava - Áno',
22 => 'Okamžitá náprava - Nie',
33 => 'Dodatočná náprava - Primárna',
34 => 'Dodatočná náprava - Doplnková',
35 => 'Dodatočná náprava - Kompenzačná',
];
private $manager;
private $odosielatelKategoria = [
'obcan' => 'Podnet od občana',
'stSpr' => 'Štátna správa',
'dotUr' => 'Dotknutý úrad',
'MimOr' => 'Mimovlád. org.',
'Prev' => 'Prevádzkovateľ',
];
private $empty = '-';
private $skodaDruh = [
's' => 'Škoda',
'h' => 'Hrozba',
];
private $skodaSkratka = [
's' => 'EŠ',
'h' => 'BHEŠ',
];
public function __construct(EntityManagerInterface $manager) {
$this->manager = $manager;
}
public function getPricinyChoices() {
return $this->priciny;
}
public function getPricinyName($key) {
return ((isset($this->priciny[$key])) ? $this->priciny[$key] : $this->empty);
}
public function getPricinyLongChoices() {
return $this->pricinyLong;
}
public function getPricinyLongName($key) {
return ((isset($this->pricinyLong[$key])) ? $this->pricinyLong[$key] : $this->empty);
}
public function getNasledkyChoices() {
return $this->nasledky;
}
public function getNasledkyName($key) {
return ((isset($this->nasledky[$key])) ? $this->nasledky[$key] : $this->empty);
}
public function getNasledkyLongChoices() {
return $this->nasledkyLong;
}
public function getNasledkyLongName($key) {
return ((isset($this->nasledkyLong[$key])) ? $this->nasledkyLong[$key] : $this->empty);
}
public function getPoskodeneZdrojeChoices() {
return $this->poskodeneZdroje;
}
public function getPoskodeneZdrojeName($key) {
return ((isset($this->poskodeneZdroje[$key])) ? $this->poskodeneZdroje[$key] : $this->empty);
}
public function getOpatrenieDruhChoices() {
return $this->opatrenieDruh;
}
public function getOpatrenieDruhName($key) {
return ((isset($this->opatrenieDruh[$key])) ? $this->opatrenieDruh[$key] : $this->empty);
}
public function getOpatrenieJSON() {
return json_encode($this->opatrenie);
}
public function getOpatrenieNakladyChoices() {
return$this->opatrenieNaklady;
}
public function getOpatrenieNakladyName($key) {
return ((isset($this->opatrenieNaklady[$key])) ? $this->opatrenieNaklady[$key] : $this->empty);
}
public function getOpatrenieVysledokChoices() {
return$this->opatrenieVysledok;
}
public function getOpatrenieVysledokName($key) {
return ((isset($this->opatrenieVysledok[$key])) ? $this->opatrenieVysledok[$key] : $this->empty);
}
public function getOpatrenieDruhNapravyChoices() {
return $this->druhNapravy;
}
public function getOdosielatelKategoriaChoices() {
return $this->odosielatelKategoria;
}
public function getOdosielatelKategoriaName($key) {
return ((isset($this->odosielatelKategoria[$key])) ? $this->odosielatelKategoria[$key] : $this->empty);
}
public function getSkodaDruhChoices() {
return $this->skodaDruh;
}
public function getSkodaDruhName($key) {
return ((isset($this->skodaDruh[$key])) ? $this->skodaDruh[$key] : $this->empty);
}
public function getSkodaSkratkaName($key) {
return ((isset($this->skodaSkratka[$key])) ? $this->skodaSkratka[$key] : $this->empty);
}
/*
public function getPovodcoviaOptions($value = null) {
if (isset($this->povodcovia[$value])) {
return $this->povodcovia;
} else {
return [$value => $value];
}
}
*/
public function getUradChoices() {
$rawQ = 'SELECT IDURAD AS KEY, NAZOVPRURAD AS NAME FROM CIS_PRURAD ORDER BY NAZOVPRURAD';
// $ciselnik = $this->manager->getConnection()->prepare($rawQ);
// $ciselnik->execute();
// $r = $ciselnik->fetchAll();
$r = $this->manager->getConnection()->fetchAllAssociative($rawQ);
$result = [null => 'Vyberte možnosť.'];
foreach ($r as $rr) {
$result[$rr['KEY']] = $rr['NAME'];
}
return $result;
}
public function getUradName($key) {
$choices = $this->getUradChoices();
return ((isset($choices[$key]) && $key != null) ? $choices[$key] : $this->empty);
}
public function getUradAdresa($key) {
$rawQ = 'SELECT ULICAPRURAD AS ULICA, MESTOPRURAD AS MESTO FROM CIS_PRURAD WHERE IDURAD = :value ';
// $ciselnik = $this->manager->getConnection()->prepare($rawQ);
// $ciselnik->bindParam(':value', $key, \PDO::PARAM_INT);
// $ciselnik->execute();
// $r = $ciselnik->fetch();
$r = $this->manager->getConnection()->fetchAssociative($rawQ, ["value" => $key]);
return (($r) ? $r['ULICA'] . ', ' . $r['MESTO'] : $this->empty);
}
public function getSkNaceChoices() {
$rawQ = 'SELECT NACE2 AS KEY, NAZOV2 AS NAME FROM EMS_NACE21 ORDER BY NAZOV2';
// $ciselnik = $this->manager->getConnection()->prepare($rawQ);
// $ciselnik->execute();
// $r = $ciselnik->fetchAll();
$r = $this->manager->getConnection()->fetchAllAssociative($rawQ);
$result = [null => 'Vyberte možnosť.'];
foreach ($r as $rr) {
$result[$rr['KEY']] = $rr['KEY'] . ' - ' . $rr['NAME'];
}
return $result;
}
public function getSkNaceName($key) {
$choices = $this->getSkNaceChoices();
return ((isset($choices[$key]) && $key != null) ? $choices[$key] : $this->empty);
}
public function getOperatorData($value) {
$rawQ = 'SELECT IDP AS ID, NAZOV, ADRESA, STATUTAR AS ZASTUPCA, EMAIL, TELEFON, FAX, ICO FROM ESK_REGPREV WHERE IDP = :value ';
// $ciselnik = $this->manager->getConnection()->prepare($rawQ);
// $ciselnik->bindParam(':value', $value, \PDO::PARAM_INT);
// $ciselnik->execute();
// $result = $ciselnik->fetch();
$result = $this->manager->getConnection()->fetchAssociative($rawQ);
return $result;
}
public function getOperatorOptions($value = null) {
$rawQ = 'SELECT IDP, NAZOV FROM ESK_REGPREV ORDER BY NAZOV';
$r = $this->manager->getConnection()->fetchAllAssociative($rawQ);
// $ciselnik->execute();
// $r = $ciselnik->fetchAll();
$result = [null => 'Vyberte Pôvodcu'];
foreach ($r as $rr) {
$result[$rr['IDP']] = $rr['NAZOV'];
}
if (isset($result[$value])) {
return $result;
} else {
return [$value => $value];
}
}
}