Formular
unknown
php
3 years ago
14 kB
8
Indexable
<?php
namespace Drupal\idsp_korona_cestne_vyhlasenie\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
use Drupal\idsp_korona_cestne_spatvzatie\Entity\KoronaCestneSpatvzatie;
use Drupal\idsp_korona_cestne_vyhlasenie\Entity\KoronaCestneVyhlasenie;
class OdkladPoistnehoJanuar2022_Form extends FormBase {
/**
* {@inheritdoc}
*/
public function getFormId() {
return 'odklad_poistneho_januar_2022_form';
}
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state) {
$form['preukazanie'] = [
'#type' => 'markup',
'#markup' => '<b><p class="govuk-body govuk-!-font-weight-bold">Preukázanie poklesu čistého obratu alebo poklesu príjmov z podnikania a z inej samostatnej zárobkovej činnosti o 40 % a viac,
na účely predĺženia splatnosti poistného na sociálne poistenie za kalendárny mesiac január 2022 do
31. marca 2025
</p></b>'
];
$form['zaklad'] = [
'#type' => 'markup',
'#markup' => '<b><p class="govuk-body">
(na základe § 293ew zákona č. 461/2003 Z. z. o sociálnom poistení v znení zákona č. 68/2020 Z. z., nariadenia vlády Slovenskej republiky č. 131/2020 Z. z. v znení nariadenia vlády č. 172/2020 Z. z., nariadenia vlády č. 196/2020 Z. z., nariadenia vlády č. 380/2020 Z. z., nariadenia vlády č. 31/2021 Z. z., nariadenia vlády č. 89/2021 Z. z., nariadenia vlády č. 101/2021 Z. z., nariadenia vlády č. 154/2021 Z. z., nariadenia vlády č. 181/2021 Z. z. , nariadenia vlády č. 379/2021 Z. z., nariadenia vlády č. 435/2021 Z. z., nariadenia vlády č. 517/2021 Z. z. a nariadenia vlády č. 16/2022 Z. z. a na základe nariadenia vlády Slovenskej republiky č. 76/2020 Z. z. v znení nariadenia vlády č. 132/2020 Z. z. a nariadenia vlády č. 102/2021 Z. z.).
</p></b>'
];
$form['instrukcie'] = [
'#type' => 'markup',
'#markup' => '<b><p class="govuk-body">Čestné vyhlásenie je určené na vyplnenie a odoslanie elektronicky. Začnite výberom jednej z možností "Zamestnávateľ" alebo
"Samostatne zárobkovo činná osoba (SZČO)".</p></b>'
];
$form['typ_odv'] = [
'#type' => 'select',
'#title' => $this->t('Typ'),
'#options' => [
'zamestnavatel' => 'Zamestnávateľ',
'szco' => 'Samostatne zárobkovo činná osoba (SZČO)'
],
'#default_value' => 'zamestnavatel',
'#required' => TRUE,
'#multiple' => FALSE,
];
$form['nazov_fo'] = [
'#type' => 'textfield',
'#title' => 'Názov/meno a priezvisko v prípade FO',
'#attributes' => ['name' => 'nazov_fo', 'id' => 'nazov_fo'],
'#required' => TRUE,
];
$form['statutar'] = [
'#type' => 'textfield',
'#title' => 'Meno a priezvisko štatutárneho zástupcu zamestnávateľa',
'#attributes' => ['name' => 'statutar', 'id' => 'statutar']
];
$form['var_symbol'] = [
'#type' => 'textfield',
'#title' => '* Variabilný symbol',
'#attributes' => ['name' => 'var_symbol', 'id' => 'var_symbol'],
'#required' => TRUE,
];
$form['var_symbol_hint'] = [
'#type' => 'markup',
'#markup' => '<b><p class="govuk-body">* VS je IČ pridelené <u>Sociálnou poisťovňou</u>! Ak bol zvolený typ "Zamestnávateľ", začína na 1 (pre zamestnávateľa PO) alebo 2 (pre zamestnávateľa FO)
alebo 9 (pre zahraničného zamestnávateľa). Ak bol vybratý typ "SZČO" začína na 3.</p></b>'
];
$form['rodne_cislo'] = [
'#type' => 'textfield',
'#title' => 'Rodné číslo',
'#attributes' => ['name' => 'rodne_cislo', 'id' => 'rodne_cislo'],
];
$form['ico'] = [
'#type' => 'textfield',
'#title' => 'IČO',
'#attributes' => ['name' => 'ico', 'id' => 'ico']
];
// Create empty options array
$options = array();
// Taxonomy vocabulary machine name
$taxonomy = 'pobocka';
// Get all the taxonomy terms from the vocabulary
$tax_items = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadTree($taxonomy);
// Inject into the options array
foreach($tax_items as $tax_item) {
$options[$tax_item->tid] = $tax_item->name;
}
$form['pobocka'] = [
'#type' => 'select',
'#title' => "Miestne príslušná pobočka",
'#options' => $options,
'#required' => TRUE,
'#multiple' => FALSE,
];
$form['sidlo'] = [
'#type' => 'textarea',
'#title' => 'Sídlo zamestnávateľa/adresa trvalého pobytu v prípade FO',
'#attributes' => ['name' => 'sidlo', 'id' => ''],
'#required' => TRUE,
];
$form['email'] = [
'#type' => 'textfield',
'#title' => 'E-mail',
'#attributes' => ['name' => 'email', 'id' => ''],
'#required' => TRUE
];
$form['prehlasenie'] = [
'#type' => 'markup',
'#markup' => '<p class="govuk-body govuk-!-font-weight-bold">Zaslaním tohto formuláru čestne prehlasujem,
že v mesiaci <u>január 2022</u> som ako <span class="typ_odv_poist"></span>
vykázal (a) pokles čistého obratu podľa § 2 ods. 15 zákona č. 431/2002 Z. z. v znení zákona č. 333/2014 Z. z.
alebo príjmu z podnikania a z inej samostatnej zárobkovej činnosti podľa § 6 ods. 1 a 2 zákona č. 595/2003 Z. z.
o dani z príjmov v znení neskorších predpisov (ďalej len „tržba“) o 40 % a viac.</p>'
];
$form['oznamenie'] = [
'#type' => 'markup',
'#markup' => '<p class="govuk-body">Ako <span class="typ_odv_poist"></span> zároveň oznamujem,
že pokles tržieb som určil (a) spôsobom<sup>2</sup>, že som porovnal (a) výšku tržieb za mesiac január 2022</p>'
];
$form['typ_trzieb'] = [
'#type' => 'radios',
'#title' => 'Typ tržieb',
'#options' => [
'januar2019' => 's výškou tržieb za mesiac január 2019 <sup>1</sup>',
'rok2019' => 's mesačným priemerom tržieb za rok 2019<sup>1</sup>',
'februar2020' => 's výškou tržieb za mesiac február 2020<sup>1</sup>'
],
'#required' => TRUE,
'#multiple' => FALSE,
];
$form['poucenie_title'] = [
'#type' => 'markup',
'#markup' => '<b><p class="govuk-body govuk-!-font-weight-bold">Poučenie:</p></b>'
];
$form['poucenie'] = [
'#type' => 'markup',
'#markup' => '<p class="govuk-body">
Odklad splatnosti poistného a príspevkov na starobné dôchodkové sporenie (ďalej len „poistné“) sa
týka zamestnávateľov v časti poistného za zamestnávateľa a povinne poistených SZČO,
ktorí vykazujú v dôsledku mimoriadnej situácie pokles čistého obratu alebo pokles príjmov z podnikania a inej samostatnej zárobkovej činnosti o 40 % a viac.
Upozorňujeme, že zmena sa týka poistného za kalendárny mesiac január 2022 a zamestnávateľ je naďalej povinný odvádzať poistné, ktoré platí zamestnanec a odvádza ho za neho zamestnávateľ,
v pôvodnej lehote splatnosti. Povinnosť vykazovať poistné sa nemení a zamestnávatelia musia predložiť výkaz poistného v pôvodnej lehote.
Pôvodné lehoty platia aj pre plnenie prihlasovacích a oznamovacích povinností zamestnávateľa.
Spôsob určenia poklesu čistého obratu podľa osobitného predpisu a príjmov z podnikania a inej samostatnej zárobkovej činnosti podľa osobitného predpisu je
určený nariadením vlády Slovenskej republiky č. 76/2020 Z. z. z 9. apríla 2020 o spôsobe určenia poklesu čistého obratu a príjmov z podnikania a z inej
samostatnej zárobkovej činnosti, ktoré je doplnené nariadením vlády Slovenskej republiky č. 132/2020 Z. z. z 20. mája 2020 a nariadením vlády Slovenskej republiky č. 102/201 Z. z. zo 17. marca 2021.
Pokles tržieb odvádzateľa sa určí porovnaním výšky tržieb za mesiac január 2022:</p>
<ul class="govuk-list govuk-list--bullet">
<li>
s výškou tržieb za mesiac január 2019 alebo
</li>
<li>
s mesačným priemerom tržieb za rok 2019 (ak odvádzateľ vykonával činnosť po celý rok 2019) alebo
</li>
<li>
s výškou tržieb za mesiac február 2020 (ak odvádzateľ nevykonával činnosť v januári 2019).
</li>
</ul>
<p class="govuk-body">
Ak zamestnávateľ alebo povinne poistená SZČO, za predpokladu splnenia zákonom stanovených podmienok pre odklad splatnosti, zaplatia poistné za január 2022 v predĺženej lehote splatnosti do
31. marca 2025,
teda včas a v správnej výške, Sociálna poisťovňa im penále nepredpíše. V prípade, ak zamestnávateľ alebo povinne poistená SZČO nezaplatia poistné za január 2022 ani do
31. marca 2025,
Sociálna poisťovňa im môže povoliť splátky dlžnej sumy poistného, ktorú nezvýši o úrok.
Na účely posúdenia nároku na nemocenskú alebo dôchodkovú dávku sa poistné za mesiac január 2022 považuje za zaplatené do uplynutia tretieho mesiaca po mesiaci,
v ktorom skončí krízová situácia. Ak v tejto lehote poistenec nedoplatí dlžné poistné, bude povinný vrátiť dávku alebo jej časť odo dňa,
od ktorého mu nepatrila alebo nepatrila v poskytovanej sume, ak je vyššia ako 5 eur.
O zapracovaní predĺženej lehoty splatnosti poistného za január 2022 Vám Sociálna poisťovňa zašle notifikáciu mailovou formou.
</p>'
];
$form['vyhlasenie_checkbox_title'] = [
'#type' => 'markup',
'#markup' => '<p class="govuk-body govuk-!-font-weight-bold">Vyhlásenie:</p>'
];
$form['suhlas'] = [
'#type' => 'checkbox',
'#title' => 'Som si vedomý skutočnosti, že nepravdivé čestné vyhlásenie zakladá skutkovú podstatu priestupku podľa § 21 ods. 1 písm. f) zákona Slovenskej národnej rady č. 372/1990 Zb. o priestupkoch v znení neskorších predpisov.',
'#default_value' => FALSE,
'#required' => TRUE,
];
$form['vyhlasenie_title'] = [
'#type' => 'markup',
'#markup' => '<b><p class="govuk-body govuk-!-font-weight-bold">Vyhlásenie:</p></b>'
];
$form['vyhlasenie'] = [
'#type' => 'checkbox',
'#title' => 'Súhlasím, aby údaje uvedené vo formulári boli použité a spracované v informačnom systéme Sociálnej poisťovne v súlade s účelom, pre ktorý boli poskytnuté podľa zákona č. 461/2003 Z. z. o sociálnom poistení v znení neskorších predpisov',
'#default_value' => FALSE,
'#required' => TRUE
];
$form['submit'] = [
'#type' => 'submit',
'#weight' => 1,
'#value' => $this->t('Submit'),
'#name' => 'region_submit',
'#default_value' => 'region_submit',
'#op'=>'region',
];
$form['vyhlasenie_title'] = [
'#type' => 'markup',
'#markup' => '<hr><p class="govuk-body">Ak ste SZČO a zároveň zamestnávateľ (FO) a predĺženie splatnosti poistného sa týka obidvoch typov (SZČO aj zamestnávateľa), je potrebné odoslať formulár 2x (za oba typy)!</p>
<p class="govuk-body"><sup>1</sup> označte aktuálnu skutočnosť.</p>
<p class="govuk-body"><sup>2</sup> spôsob učenia poklesu tržieb upravuje nariadenie vlády Slovenskej republiky č. 76/2020 Z. z. z 9. apríla 2020 o spôsobe určenia poklesu čistého obratu a príjmov z podnikania a z inej samostatnej zárobkovej činnosti a nariadením vlády Slovenskej republiky č.132/2020 Z. z. z 20. mája 2020.</p>
',
'#weight' => 10
];
$form['#attached']['library'][] = "idsp_base/odklad_poistneho_vyhlasenie";
return $form;
}
public function validateForm(array &$form, FormStateInterface $form_state) {
if(\Drupal::service('email.validator')->isValid($form_state->getValue('email')) === FALSE)
{
$form_state->setError($form, 'Zadajte platnú emailovú adresu.');
}
$typOdv = $form_state->getValue('typ_odv') ;
$varSym = $form_state->getValue('var_symbol') ;
$firstChar = substr($varSym, 0, 1);
if($typOdv === 'szco') {
if (strlen($varSym) != 10 || $firstChar != "3") {
$form_state->setError($form, 'Zadajte platný variabilný symbol.');
}
if(strlen($form_state->getValue('rodne_cislo')) == 0) {
$form_state->setError($form, 'Zadajte platné rodné číslo.');
}
} else if ($typOdv == 'zamestnavatel') {
if (strlen($varSym) != 10) {
$form_state->setError($form, 'Zadajte platný variabilný symbol.');
}
if(!in_array($firstChar, ['1', '2', '9'])) {
$form_state->setError($form, 'Zadajte platný variabilný symbol.');
}
if(strlen($form_state->getValue('ico')) != 8) {
$form_state->setError($form, 'Zadajte platné IČO.');
}
if(strlen($form_state->getValue('statutar')) == 0) {
$form_state->setError($form, 'Zadajte meno a priezvisko štatutárneho zástupcu zamestnávateľa.');
}
}
}
public function submitForm(array &$form, FormStateInterface $form_state) {
KoronaCestneVyhlasenie::create([
'uuid' => \Drupal::service('uuid')->generate(),
'nazov_fo' => $form_state->getValue('nazov_fo'),
'typ_odv' => $form_state->getValue('typ_odv'),
'var_symbol' => $form_state->getValue('var_symbol'),
'email' => $form_state->getValue('email'),
'statutar' => $form_state->getValue('statutar'),
'ico' => $form_state->getValue('ico'),
'rodne_cislo' => $form_state->getValue('rodne_cislo'),
'sidlo' => $form_state->getValue('sidlo'),
'typ_trzieb' => $form_state->getValue('typ_trzieb'),
'email' => $form_state->getValue('email'),
'prehlasenie' => TRUE,
'suhlas' => TRUE,
'status' => TRUE
])->save();
return $this->messenger()->addStatus('Formulár úspešne odoslaný.');
}
}
Editor is loading...