Pomůcky - sestavy: Porovnání verzí

Z Prirucky
 
(Není zobrazeno 13 mezilehlých verzí od 2 dalších uživatelů.)
Řádek 1: Řádek 1:
'''Sestavy'''
'''Sestavy'''


Sestavy: Předpokládaný výdej za období - kontrolují 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ě.  
== 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.). <small> 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ě. </small> 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 <small>a přitom na mi zaměstnanec má nárok</small>, 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.


[[Image: PIS-pracovni-pomucky-sestava-predpokladany-vydej.png|700px]]
[[Image: PIS-pracovni-pomucky-sestava-predpokladany-vydej.png|700px]]


Sestavy: Sestava výdejek za období.
* '''''jen označené''''' - sestava jen pro vybraného (vybrané) zaměstnance
* '''''členění'''''
** ''divize''
** ''pomůcka (součty za divize)''
** ''pomůcka (součty za sk.stř.)''
** ''pomůcka (součty za střed.)''
** ''skup.stř.''
** ''středisko''
** ''os. číslo'' [[Image: S-PM011-cleneni-os-cislo.png|70px]] <!-- HelpDesk ID:34542 - Tomáš V., 44 týden 2016 -->
** ''příjmení, jméno'' <!-- HelpDesk ID:34542 - Tomáš V., 44 týden 2016 -->


[[Image: PIS-pracovni-pomucky-sestava-vydej-za-obdobi.png|700px]]
== Sestava výdejek za období ==
[[Image: PIS-pracovni-pomucky-sestava-vydej-za-obdobi.png|300px|right]]


Možná členění sestavy:
Možná členění sestavy:
Řádek 18: Řádek 32:
Výběr středisek/skupin/divizí <br>
Výběr středisek/skupin/divizí <br>
Vytváření sestavy lze také omezit jen na vybranou jednotku (vybrané jednotky), tj. střediska, skupiny středisek, divize.
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á) ==
[[Image: PIS-pracovni-pomucky-sestava-vydej-za-obdobi-rozsirena.png|300px|right]]
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.
[[Image: pracovni-pomucky-sestava-jsou-vydane-pomucky-narokove.png|400px]]
* 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. <small>id 29212 </small>
'''[[DB tabulky (Pracovní pomůcky)]]'''
<small>
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
</small>
== Odkazy ==
* [[Pracovní pomůcky]]

Aktuální verze z 30. 11. 2016, 12:23

Sestavy

Předpokládaný výdej za období

  1. Zaměstnanec musí mít nárok na pomůcku (Pomůcky - velikosti zaměstnanců).
  2. 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ě.
  3. 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.
  4. Indikace x ve sloupci rz značí, že u pomůcky se definují velikosti, ale konkrétní zaměstnanec je nemá vyplněny.

PIS-pracovni-pomucky-sestava-predpokladany-vydej.png

  • jen označené - sestava jen pro vybraného (vybrané) zaměstnance
  • členění
    • divize
    • pomůcka (součty za divize)
    • pomůcka (součty za sk.stř.)
    • pomůcka (součty za střed.)
    • skup.stř.
    • středisko
    • os. číslo S-PM011-cleneni-os-cislo.png
    • příjmení, jméno

Sestava výdejek za období

PIS-pracovni-pomucky-sestava-vydej-za-obdobi.png

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á)

PIS-pracovni-pomucky-sestava-vydej-za-obdobi-rozsirena.png

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.

Pracovni-pomucky-sestava-jsou-vydane-pomucky-narokove.png

  • 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

DB tabulky (Pracovní pomůcky)

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

Odkazy