Pom19: Porovnání verzí
(Stránka vyprázdněna) |
|||
| Řádek 1: | Řádek 1: | ||
'''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. | |||
[[Image: Pocet-zpracovanych-osobnich-cisel.png|right|700px]] | |||
== Počty osobních čísel == | |||
Období: to, které zadá uživatel v poli "datum od" <br> | |||
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á. <br> | |||
Určeno pro MS SQL | |||
<small> | |||
select osoby.id_podniku, <br> | |||
nazev, <br> | |||
count(distinct os_cislo) <br> | |||
from osoby, osoby_typ, pichacky <br> | |||
where osoby.id_osoby = osoby_typ.id_osoby <br> | |||
and osoby_typ.typ in ('sh', 'vl') <br> | |||
and osoby.id_podniku = pichacky.id_podniku <br> | |||
and datum = %DATUMOD% <br> | |||
and kod <> 501 <br> | |||
and pichacky.os_cislo <> 0 <br> | |||
group by osoby.id_podniku, nazev <br> | |||
order by osoby.id_podniku <br> | |||
</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. | |||
<small> | |||
select id_podniku, <br> | |||
(select nazev from osoby where id_podniku = pichacky.id_podniku and id_osoby in (select id_osoby from osoby_typ where typ in ('vl', 'sh'))) as nazev, <br> | |||
count(distinct os_cislo) <br> | |||
from pichacky where datum = | |||
%DATUMOD% and kod <> 501 group by 1, 2 order by id_podniku; | |||
</small> | |||
--> | |||
== 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.'' | |||
<!-- Žůrek: EKONA --> | |||
<small> | |||
select osoby.id_podniku, <br> | |||
nazev, <br> | |||
count(distinct os_cislo) as poc_os, <br> | |||
count(distinct (cast(os_cislo as char) + cast (cislo_pom as char))) as poc_os_pom <br> | |||
from osoby, osoby_typ, pichacky <br> | |||
where osoby.id_osoby = osoby_typ.id_osoby <br> | |||
and osoby_typ.typ in ('sh', 'vl') <br> | |||
and osoby.id_podniku = pichacky.id_podniku <br> | |||
and datum = %DATUMOD% <br> | |||
and kod <> 501 <br> | |||
and pichacky.os_cislo <> 0 <br> | |||
group by osoby.id_podniku, nazev | |||
order by osoby.id_podniku | |||
</small> | |||
== Počty osobních čísel po střediscích == | |||
[[Image: Pocet-zpracovanych-osobnich-cisel-po-strediscich.png|450px|right]] | |||
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 | |||
=== Bez MD/RD a dlouhodobých nemocí === | |||
<small> | |||
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 | |||
</small> | |||
== Odkazy == | |||
* [[Generátor sestav II]] | |||
* [[Více IČ]] | |||
* [[Výplatní lístky - součtový]] | |||
Verze z 18. 9. 2015, 12:07
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
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
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