Počet zpracovaných osobních čísel (sestava)
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 kod <> 902 and pichacky.os_cislo <> 0 group by osoby.id_podniku, nazev order by osoby.id_podniku
Též po střediscích
select osoby.id_podniku, osoby.nazev, kmen_str, stred.nazev, count(distinct pichacky.os_cislo) as pocet, count(distinct (cast(pichacky.os_cislo as char) + cast (pichacky.cislo_pom as char))) as poc_os_pom 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 <>902 and pichacky.os_cislo <> 0 group by osoby.id_podniku, osoby.nazev, kmen_str, stred.nazev order by osoby.id_podniku, kmen_str
Kontrolní sestava včetně příjmení
select P.os_cislo, B.cislo_pom, A.prijmeni, A.jmeno, P.datum, A.id_podniku, count(*) as pocet from pichacky P, pracovnici A, prac_pom B where P.os_cislo = A.os_cislo and P.os_cislo = B.os_cislo and P.cislo_pom = B.cislo_pom and P.datum = %DATUMOD% and P.os_cislo <>0 and P.kod <>501 and P.kod <>902 group by P.os_cislo, B.cislo_pom, A.prijmeni, A.jmeno, P.datum, A.id_podniku order by P.os_cislo, B.cislo_pom;
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
včetně IČ podniku
select OS.id_podniku, OS.ico, 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 (PR.datum_vystupu is null or PR.datum_vystupu > %DATUMOD%)) 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 (PR.datum_vystupu is null or PR.datum_vystupu > %DATUMOD%)) 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.ico, OS.nazev order by OS.id_podniku
Slovensko
Pro Slovensko je namísto db tab. platby použita sk_exekuce.
včetně IČ podniku
select OS.id_podniku, OS.ico, 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 sk_exekuce PLA where PLA.os_cislo in (select os_cislo from pracovnici PR where PR.id_podniku = OS.id_podniku and (PR.datum_vystupu is null or PR.datum_vystupu > %DATUMOD%)) 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 sk_exekuce PLB where PLB.os_cislo in (select os_cislo from pracovnici PR where PR.id_podniku = OS.id_podniku and (PR.datum_vystupu is null or PR.datum_vystupu > %DATUMOD%)) 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.ico, OS.nazev order by OS.id_podniku