Nastavení nároku na benefitní volno dle roků výkonu práce

Z Prirucky
Verze z 10. 8. 2018, 16:33, kterou vytvořil Petrm (diskuse | příspěvky) (Založena nová stránka: ''Nastavení nároku na benefitní volno dle roků výkonu práce'' je jednorázová zákaznická specialita. == Postup == '''Agenda Benefitní volna''' <br> 1) Výbě…)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

Nastavení nároku na benefitní volno dle roků výkonu práce je jednorázová zákaznická specialita.

Postup

Agenda Benefitní volna
1) Výběr zaměstnanců, kteří mají mít nárok (např. všichni s aktivním (neukončeným) hlavním pracovním poměrem).
2) Hromadné přidání benefitního volna vybraným zaměstnancům, přičemž nárok = 0.

SQL script
3) Spuštění sql scriptu provede změnu nároku benefitního volna u zaměstnanců v závislosti na rocích výkonu práce. Algoritmus koresponduje se sestavou:

Odpracované roky (výkon práce) (sestava),

přičemž maximální počet dnů nároku je omezen na hodnotu 5.


update benefit_volno set narok = 0 where datum = (select datum_prvni from par_map);

update benefit_volno set narok = ( datediff (mm, (select cast(B.datum_nastupu as date) from prac_pom B where B.os_cislo = benefit_volno.os_cislo and B.cislo_pom = benefit_volno.cislo_pom), (select cast(datum_prvni as date) from par_map)) ) where datum = (select datum_prvni from par_map);


update benefit_volno set narok = narok - isnull( (select sum( datediff (mm, cast(N.dat_od as date), cast(N.dat_do as date)) ) from absence N where kod = 510 and (zpet_propl is null or zpet_propl <> 's') and N.os_cislo = benefit_volno.os_cislo and N.cislo_pom = benefit_volno.cislo_pom ) , 0) where datum = (select datum_prvni from par_map);


update benefit_volno set narok = floor(narok/12) where datum = (select datum_prvni from par_map);

update benefit_volno set narok = 5 where narok > 5 and datum = (select datum_prvni from par_map);

Odkazy