====== Úkoly pro kontrolu zaměstnanců ======
Aparát //Úkoly pro kontrolu zaměstnanců//, neboli tzv. //Strážce personálních termínů// vychází z obecnějšího aparátu [[:orsoftopen:o0:task:o0task|Plánovač úloh]].
Podle vybraného typu úlohy se může jednat o určité kontroly termínů pro jednotlivé zaměstnance, kontrolu datumů platnosti apod. Pokud nastane (nebo se přiblíží) určitý termín, tak se zvolenému uživateli (např. personalistovi) pošle mailem upozornění.
===== Úlohy pro kontrolu termínů =====
Následující úlohy provádí kontrolu jednotlivých zaměstnanců, kdy se pro každého zaměstnance hlídá určitý termín dle typu úlohy. V definici úlohy se specifikuje interval kontroly. Datum od a do se počítá jako zadaný počet měsíců a dní od datumu spuštění úlohy.
==== Příklad ====
Je třeba vytvořit úlohu, která ráno prvního v měsíci zkontroluje všechny zaměstnance a pokud některému bude tento měsíc končit zkušební doba, tak se personalistovi pošle upozornění. Nastaví se toto:
* **Plán spuštění** - **Typ** = Vybrané dny v měsíci, **Dny v měsíci** = 1, **Čas** = např. 2:00.
* **Kontrolovat Od:** - zadá se 0 měsíců a 0 dnů, tedy přesně od datumu spuštění úlohy (což je prvního v měsíci).
* **Kontrolovat Do:** - zadá se 1 měsíc a -1 den, tím se bude kontrolovat přesně do konce měsíce.
Poznámka - při zadání hodnot **Kontrolovat Od** a **Kontrolovat Do** se hned spočítá a zobrazí datum, na který příslušný termín //Od// či //Do// spadne. Tím lze jednoduše zkontrolovat, co zadané hodnoty znamenají.
==== Jednotlivé úlohy ====
* **D0ppvVyst** - Kontrola výstupu. Hledají se zaměstnanci, kteří mají zadán datum výstupu v hledaném časovém intervalu //Kontrolovat Od// až //Kontrolovat Do//.
* **D0ppvZkus** - Kontrola zkušební doby. Pro kontrolu se používá datum zkušební doby //Do//.
* **D0dokladPlatn** - Kontrola platnosti dokladu. Pro kontrolu se používá datum platnosti dokladu //Do//. Pokud není uvedena žádná podmínka v údaji //Podmínka výběru zaměstnanců//, tak se kontrolují všechny [[:orsoftopen:d0:d0doklad|doklady zaměstnance]]. Pomocí podmínky "//o0ciselnik.kodaCiseln = 'POBYT'//" lze zúžit kontrolu pouze na povolení k pobytu.
* **D0ppvEvidPDo** - Kontrola návratu z mimoevidečního stavu. Pro kontrolu se používá datum předpokládaného návratu z mimoevidenčního stavu. Typicky se používá pro kontrolu návratu z mateřské či rodičovského příspěvku.
* **D4lpPlatn** - Kontrola platnosti lékařské péče. Pro kontrolu se používá datum platnosti [[:orsoftopen:d4:lekarskapece:d4lpprehled|lékařské péče]].
* **D4skPlatn** - Kontrola platnosti školení. Pro kontrolu se používá datum platnosti [[:orsoftopen:d4:skoleni:d4skprehled|školení]].
* **DcuchDat1k** - Kontrola "starých" uchazečů (podle datumu 1.kontaktu). V tomto případě se nekontrolují zaměstnanci, ale [[:orsoftmodel:gen_model:dcuch|uchazeči o zaměstnání]]. Pro kontrolu se používá datum prvního kontaktu.
* **D0zmeEvid - ** Kontrola změny evidenčního stavu. Pro kontrolu se používá změna hodnoty prvku dappv.EVID ze souboru změn. Jedná se tedy o kontrolu změny evidenčního stavu např. odchod na mateřskou dovolenou apod.
===== Ostatní úlohy =====
Kromě kontroly termínů lze kontrolovat i jiné hodnoty, například z vypočtených mezd.
==== Jednotlivé úlohy ====
* **T0mcmPresc** - Kontrola hodin přesčasů od začátku roku. V této úloze se používají vypočtené čisté mzdy, pro jednotlivé zaměstnance se zjišťuje počet hodin přesčasů od začátku roku do minulého měsíce. Při překročení zadaného limitu přesčasů se pak posílá upozornění mailem.
===== Podmínka výběru zaměstnanců =====
Pro většinu úloh lze zadat podmínku pro výběr zaměstnanců. Pokud není podmínka zadaná, kontrolují se všichni zaměstnanci. Pokud je podmínka zadaná, tak se kontrolují pouze zaměstnanci vyhovující této podmínce. Použití podmínky je ukázáno na příkladech.
Následující podmínkou lze určit výběr zaměstnanců z určitého útvaru:
okutv.utvar = '11190'
V případě, že je třeba použít výběr více útvarů, lze použít klauzuli //in//:
okutv.utvar in ('11110', '11190')
Následující podmínkou lze určit výběr zaměstnanců na dobu určitou. Tuto podmínku lze použít např. v úloze **D0ppvVyst**, tím se pak kontroluje uplynutí doby určité:
o0ciselnikByIdpkPostzam.kodaCiseln in ('1112')
Více podmínek lze sloučit pomocí operátoru //and// či //or//:
o0ciselnikByIdpkPostzam.kodaCiseln in ('1112') and okutv.utvar in ('11110', '11190')
Pro úlohu **D0dokladPlatn** lze vybírat doklady určitého typu. Například pro kontrolu platnosti povolení k pobytu lze zadat:
o0ciselnik.kodaCiseln = 'POBYT'
V úloze **T0mcmPresc** lze do podmínky použít hodnoty ze mzdových údajů. Tímto se vybírají zaměstnanci podle zpracovatele:
osobyByIdpkZprac.oscis = 3
Tímto se v úloze **T0mcmPresc** vybírají zaměstnanci podle mistra:
osobyByIdpkMistr.oscis = 1023
===== Do výsledku =====
Pro většinu úloh lze definovat způsob výpisu informací. Jedná se o tyto možnosti:
{osc} - {jmCele} - plán.návrat: {d0ppv.evidPDo}
Výsledek bude zobrazovat:
6a - Janišová Karolína - plán.návrat: 03.10.2023