Pomůcky - sestavy
Sestavy
Předpokládaný výdej za období
- Zaměstnanec musí mít nárok na pomůcku (Pomůcky - velikosti zaměstnanců).
- Před zadaným datem od systém hledá poslední datum výdeje pomůcky. K nalezenému datu připočte periodu nároku na pomůcku (jednou, dvakrát, třikrát, atd.). Kontroluje se přednastavená perioda ve dnech, resp. perioda nároku ve dnech tak, jak je zadána v Popisu pracovního místa u dané pomůcky na pracovním místě. Pokud tento datum spadá do období definovaného uživatelem (datum od - datum do), je řádek zobrazen v sestavě.
- Pokud není nalezen výdej pomůcky a přitom na mi zaměstnanec má nárok, pak je řádek zobrazen v sestavě, navíc s indikací ? ve sloupci rz.
- Indikace x ve sloupci rz značí, že u pomůcky se definují velikosti, ale konkrétní zaměstnanec je nemá vyplněny.
- jen označené - sestava jen pro vybraného (vybrané) zaměstnance
- členění
Sestava výdejek za období
Možná členění sestavy:
- pomůcka
- pomůcka; středisko
- středisko
- středisko; pomůcka
- žádné (tj. po zaměstnancích)
Výběr středisek/skupin/divizí
Vytváření sestavy lze také omezit jen na vybranou jednotku (vybrané jednotky), tj. střediska, skupiny středisek, divize.
Sestava výdejek za období (rozšířená)
V této sestavě lze zobrazit seznam vydaných pomůcek za zvolené období včetně doplňkových informací:
- model
- značka
- výrobní číslo
- inventární číslo
- poznámka.
Přehled za zaměstnance
Postup:
- na záložce Seznam vybrat požadovaného zaměstnance
- přepnout na tlačítko Sestava
- zvolit jednu ze dvou výše uvedených sestav
- zatrhnout pole Jen označené
Jsou vydané pomůcky nárokové?
V případě nastavení parametru je možno provádět i výdej pomůcek bez nároku. Následující sestava zobrazuje portfolio vydaných pomůcek u zaměstnance a ukazuje, zda je nároková, tj. zda je pomůcka v popisu aktuálního pracovního místa zaměstnance nebo zda je přidána v záložce zam.-velikosti jako individuální nárok zaměstnance.
- cis_pomucky - číslo pomůcky, která byla někdy zaměstnanci vydána
- pomucka_ppm - pokud je v popisu pracovního místa, zobrazí se totéž číslo pomůcky
- pomucka_velzam - pokud je individuálně přidána jako nárok zaměstnanci, zobrazí se totéž číslo pomůcky
Pokud by všechny vydané pomůcky měly být nárokové, pak součet ve sloupci cis_pomucky by měl být roven součtu ze sloupců pomucka_ppm a pomucka_velzam (kontrolní součty možno provést např. po zkopírování v MS Excel).
Definice pro Generátor sestav II:
select A.os_cislo, A.cislo_pom, A.cis_pomucky, (select C.hodnota from prac_mist_atrib C, prac_pom B where C.hodnota = A.cis_pomucky and C.cis_atributu = 67 and C.id_pracmist = B.id_pracmist and B.os_cislo = A.os_cislo and B.cislo_pom = A.cislo_pom) as pomucka_ppm, (select D.cis_pomucky from pomu_vel_zam D where D.cis_pomucky = A.cis_pomucky and D.os_cislo = A.os_cislo and D.cislo_pom = A.cislo_pom and D.z_pm = 'n') as pomucka_velzam from pomu_zam A group by A.os_cislo, A.cislo_pom, A.cis_pomucky order by A.os_cislo, A.cislo_pom, A.cis_pomucky;
Nárokové pracovní pomůcky
Sestava určená pro Generátor sestav II. Čerpá informace o nárokových pracovních pomůckách
- z popisu pracovního místa
- z individuálních požadavků
Pozn. Z důvodu složitosti scriptu má sestava následující nedostatek. Sestava jako nárokovou označí i takovou pracovní pomůcku, která je v popisu pracovního místa, ale v pracovních pomůckách u vybraného zaměstnance byla označena (odtrhnuto) že pro něj není nárokovou. id 29212
select A.os_cislo, A.prijmeni, A.jmeno, A.titul, A.titul_za,
B.cislo_pom, B.prac_str, B.datum_nastupu, B.datum_ukonc,
C.cis_pracmist, C.naz_pracmist,
'ppm' as zdroj,
D1.hodnota as cis, E.nazev, cast (D2.hodnota as decimal (10,3)) as narok,
case E.jednotka when 1 then 'ks' when 2 then 'pár' end as jedn,
cast(D3.hodnota as smallint) as perioda,
(select hod_pol from pomu_cis_detail G1, pomu_vel_zam H1 where G1.id_cis = H1.id_cis1 and G1.id_pol = H1.id_pol1 and H1.os_cislo = A.os_cislo and H1.cislo_pom = B.cislo_pom and H1.cis_pomucky = D1.hodnota) as vel1,
(select hod_pol from pomu_cis_detail G2, pomu_vel_zam H2 where G2.id_cis = H2.id_cis2 and G2.id_pol = H2.id_pol2 and H2.os_cislo = A.os_cislo and H2.cislo_pom = B.cislo_pom and H2.cis_pomucky = D1.hodnota) as vel2,
(select max(dat_vyd) from pomu_zam V where V.os_cislo = A.os_cislo and V.cislo_pom = B.cislo_pom and V.cis_pomucky = D1.hodnota and V.dat_vrac is null and V.prev_na_os_cislo is null and V.dat_stor is null) as dat_posl_vyd,
cast (dateadd (day, cast (D3.hodnota as smallint), (select max(dat_vyd) from pomu_zam V where V.os_cislo = A.os_cislo and V.cislo_pom = B.cislo_pom and V.cis_pomucky = D1.hodnota and V.dat_vrac is null and V.prev_na_os_cislo is null and V.dat_stor is null) ) as date) as dat_nasl_vyd
from pracovnici A, prac_pom B, prac_mist C, prac_mist_atrib D1, prac_mist_atrib D2, prac_mist_atrib D3, pomu E where A.os_cislo = B.os_cislo and B.id_pracmist = C.id_pracmist and
D1.id_pracmist = B.id_pracmist and D1.cis_atributu = 67 and (D1.platnost_do is null or D1.platnost_do >= %DATUMOD%) and
D2.id_pracmist = B.id_pracmist and D2.cis_atributu = 68 and D2.id_provazani = D1.id and
D3.id_pracmist = B.id_pracmist and D3.cis_atributu = 69 and D3.id_provazani = D1.id and
D1.hodnota = E.cis_pomucky
union
select A.os_cislo,
A.prijmeni,
A.jmeno,
A.titul,
A.titul_za,
B.cislo_pom, B.prac_str, B.datum_nastupu, B.datum_ukonc,
C.cis_pracmist, C.naz_pracmist,
'indiv' as zdroj,
H.cis_pomucky, E.nazev,
H.pocet as narok,
case E.jednotka when 1 then 'ks' when 2 then 'pár' end as jedn,
H.perioda as perioda,
(select hod_pol from pomu_cis_detail G1, pomu_vel_zam H1 where G1.id_cis = H1.id_cis1 and G1.id_pol = H1.id_pol1 and H1.os_cislo = A.os_cislo and H1.cislo_pom = B.cislo_pom and H1.cis_pomucky = H.cis_pomucky) as vel1,
(select hod_pol from pomu_cis_detail G2, pomu_vel_zam H2 where G2.id_cis = H2.id_cis2 and G2.id_pol = H2.id_pol2 and H2.os_cislo = A.os_cislo and H2.cislo_pom = B.cislo_pom and H2.cis_pomucky = H.cis_pomucky) as vel2,
(select max(dat_vyd) from pomu_zam V where V.os_cislo = A.os_cislo and V.cislo_pom = B.cislo_pom and V.cis_pomucky = H.cis_pomucky and V.dat_vrac is null and V.prev_na_os_cislo is null and V.dat_stor is null) as dat_posl_vyd,
cast (dateadd (day, H.perioda, (select max(dat_vyd) from pomu_zam V where V.os_cislo = A.os_cislo and V.cislo_pom = B.cislo_pom and V.cis_pomucky = H.cis_pomucky and V.dat_vrac is null and V.prev_na_os_cislo is null and V.dat_stor is null) ) as date) as dat_nasl_vyd
from pracovnici A, prac_pom B, prac_mist C, pomu E, pomu_vel_zam H where A.os_cislo = B.os_cislo and B.id_pracmist = C.id_pracmist and
H.os_cislo = A.os_cislo and H.cislo_pom = B.cislo_pom and H.pouzit = 'a' and H.z_pm = 'n' and H.cis_pomucky = E.cis_pomucky
order by A.os_cislo, B.cislo_pom