Pom12
Počet zpracovaných osobních čísel je sestava určená pro Generátor sestav II. Využívá se například v případě víceIČ databází jako přehled o tom, kolik zaměstnanců prošlo zpracováním mezd v jednotlivých podnicích.
Počty osobních čísel
Období: to, které zadá uživatel v poli "datum od"
Vyhodnocení: počítají se ta osobní čísla, která prošla zpracováním mezd tak, že mají alespoň jednu položku v agendě Zpracování brutto. Pokud by měl jenom mzdovou položku 501, takový se nepočítá.
Určeno pro MS SQL
select osoby.id_podniku,
nazev,
count(distinct os_cislo)
from osoby, osoby_typ, pichacky
where osoby.id_osoby = osoby_typ.id_osoby
and osoby_typ.typ in ('sh', 'vl')
and osoby.id_podniku = pichacky.id_podniku
and datum = %DATUMOD%
and kod <> 501
and pichacky.os_cislo <> 0
group by osoby.id_podniku, nazev
order by osoby.id_podniku
Počty osobních čísel i čísel poměrů
Dotaz: Bylo by možné, aby kromě počtu zaměstnanců byl uveden i počet pracovních poměrů? Pokud by všichni zaměstnanci měli jeden pracovní poměr, tak by se počet zaměstnanců a počet pracovních poměrů shodoval. Ale pokud má někdo více pracovních poměrů, tak abychom i o tomto měli přehled.
select osoby.id_podniku,
nazev,
count(distinct os_cislo) as poc_os,
count(distinct (cast(os_cislo as char) + cast (cislo_pom as char))) as poc_os_pom
from osoby, osoby_typ, pichacky
where osoby.id_osoby = osoby_typ.id_osoby
and osoby_typ.typ in ('sh', 'vl')
and osoby.id_podniku = pichacky.id_podniku
and datum = %DATUMOD%
and kod <> 501
and pichacky.os_cislo <> 0
group by osoby.id_podniku, nazev
order by osoby.id_podniku
Počty osobních čísel po střediscích
Zjišťují se počty zpracovaných osobních čísel v členění po kmenových střediscích (z agendy Osobní údaje).
select osoby.id_podniku, osoby.nazev, kmen_str, stred.nazev, count(distinct pichacky.os_cislo) as pocet
from osoby, osoby_typ, pichacky, stred, pracovnici
where osoby.id_osoby = osoby_typ.id_osoby
and pichacky.os_cislo = pracovnici.os_cislo
and pracovnici.kmen_str = stred.str
and osoby_typ.typ in ('sh', 'vl')
and osoby.id_podniku = pichacky.id_podniku
and datum = %DATUMOD%
and kod <> 501
and pichacky.os_cislo <> 0
group by osoby.id_podniku, osoby.nazev, kmen_str, stred.nazev
order by osoby.id_podniku, kmen_str
Bez MD/RD a dlouhodobých nemocí
select osoby.id_podniku,
osoby.nazev, kmen_str, stred.nazev, count(distinct pichacky.os_cislo) as pocet
from osoby, osoby_typ, pichacky, stred, pracovnici
where osoby.id_osoby = osoby_typ.id_osoby
and pichacky.os_cislo = pracovnici.os_cislo
and pracovnici.kmen_str = stred.str
and osoby_typ.typ in ('sh', 'vl')
and osoby.id_podniku = pichacky.id_podniku
and datum = %DATUMOD%
and kod <> 501
and kod <> 510
and (kod < 800 or kod > 900)
and kod <> 902
and pichacky.os_cislo <> 0
group by osoby.id_podniku, osoby.nazev, kmen_str, stred.nazev
order by osoby.id_podniku, kmen_str
Včetně počtu nástupů/výstupů a exekucí
Pro ČR
- Poc Nastupu - počet nástupů v daném měsíci
- Poc Vystupu - počet výstupů v daném měsíci
- Poc Exekuci Celk - počet zpracovávaných exekucí celkem
- Poc Novych Exekuci - počet nových exekucí v daném měsíci
select OS.id_podniku, substring (OS.nazev, 1, 50),
(select count (distinct PICHA.os_cislo) from pichacky PICHA where
PICHA.id_podniku = OS.id_podniku and
PICHA.datum = %DATUMOD% and
PICHA.kod <> 501 and
PICHA.os_cislo <> 0) as poc_zprac_os_cis,
(select count (distinct (cast (PICHB.os_cislo as char) + cast (PICHB.cislo_pom as char))) from pichacky PICHB where
PICHB.id_podniku = OS.id_podniku and
PICHB.datum = %DATUMOD% and
PICHB.kod <> 501 and
PICHB.os_cislo <> 0) as poc_zprac_p_pom,
(select count (distinct PRA.os_cislo) from pracovnici PRA where
PRA.id_podniku = OS.id_podniku and
year(PRA.datum_nastupu) = year (%DATUMOD%) and
month (PRA.datum_nastupu) = month (%DATUMOD%)) as poc_nastupu,
(select count (distinct PRB.os_cislo) from pracovnici PRB where
PRB.id_podniku = OS.id_podniku and
year(PRB.datum_vystupu) = year (%DATUMOD%) and
month (PRB.datum_vystupu) = month (%DATUMOD%)) as poc_vystupu,
(select count (*) from platby PLA where
PLA.os_cislo in (select os_cislo from pracovnici PR where PR.id_podniku = OS.id_podniku) and
PLA.kod in (select kod from ciselnik CIS where CIS.cis_alg >= 100 and CIS.cis_alg <= 119) and
PLA.dat_od <= %DATUMOD% and
(PLA.dat_do is null or PLA.dat_do > %DATUMOD%)) as poc_exekuci_celk,
(select count (*) from platby PLB where
PLB.os_cislo in (select os_cislo from pracovnici PR where PR.id_podniku = OS.id_podniku) and
PLB.kod in (select kod from ciselnik CIS where CIS.cis_alg >= 100 and CIS.cis_alg <= 119) and
PLB.dat_od = %DATUMOD% and
(PLB.dat_do is null or not (year (PLB.dat_do) = year(%DATUMOD%) and month (PLB.dat_do) = month (%DATUMOD%)))
) as poc_novych_exekuci
from osoby OS, osoby_typ OST
where OS.id_osoby = OST.id_osoby and
OST.typ in ('sh', 'vl')
group by OS.id_podniku, OS.nazev
order by OS.id_podniku
