Počet zpracovaných osobních čísel (sestava): Porovnání verzí
| (Není zobrazena jedna mezilehlá verze od stejného uživatele.) | |||
| Řádek 9: | Řádek 9: | ||
Určeno pro MS SQL | Určeno pro MS SQL | ||
<small> | |||
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 | |||
</small> | |||
Též po střediscích | |||
<small> | |||
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 | |||
</small> | |||
Kontrolní sestava včetně příjmení | |||
<small> | |||
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; | |||
</small> | |||
<!-- | |||
Varianta do 09/2022 - viz oprava na základě hd 63301 - přidat kód902 | |||
<small> | <small> | ||
select osoby.id_podniku, <br> | select osoby.id_podniku, <br> | ||
| Řádek 24: | Řádek 58: | ||
order by osoby.id_podniku <br> | order by osoby.id_podniku <br> | ||
</small> | </small> | ||
--> | |||
<!-- Dřívější definice - není funkční nad MS SQL, jenom nad Informix. Přepracoval P.Zbránek dne 1.10.2014. Vavíc ve spolupráci P.M. a Z.V. doplněna podmínka, že os_cislo <> 0, protože jinak výsledek byl chybný vždy o 1 navíc (v tab. pichacky jsou společné záznamy pro os_cislo = 0. | <!-- Dřívější definice - není funkční nad MS SQL, jenom nad Informix. Přepracoval P.Zbránek dne 1.10.2014. Vavíc ve spolupráci P.M. a Z.V. doplněna podmínka, že os_cislo <> 0, protože jinak výsledek byl chybný vždy o 1 navíc (v tab. pichacky jsou společné záznamy pro os_cislo = 0. | ||
| Řádek 130: | Řádek 165: | ||
(select count (*) from platby PLA where | (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.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.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_od <= %DATUMOD% and | ||
| Řádek 136: | Řádek 171: | ||
(select count (*) from platby PLB where | (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.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.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_od = %DATUMOD% and | ||
| Řádek 180: | Řádek 215: | ||
(select count (*) from sk_exekuce PLA where | (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 | 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.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_od <= %DATUMOD% and | ||
| Řádek 186: | Řádek 221: | ||
(select count (*) from sk_exekuce PLB where | (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 | 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.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_od = %DATUMOD% and | ||
Aktuální verze z 22. 9. 2022, 11:14
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
