Průměrný hrubý výdělek bez přesčasů (sestava): Porovnání verzí
Z Prirucky
| Řádek 78: | Řádek 78: | ||
) | ) | ||
/ | / | ||
(select count(*) from telegram T where T.os_cislo = A.os_cislo and datum >=%DATUMOD% and datum <= %DATUMDO%) | isnull (nullif((select count(*) from telegram T where T.os_cislo = A.os_cislo and datum >=%DATUMOD% and datum <= %DATUMDO%), 0), 1) | ||
))as Prum_mes_mzda_bez_presc | ))as Prum_mes_mzda_bez_presc | ||
Aktuální verze z 12. 9. 2016, 13:00
Průměrný hrubý výdělek bez přesčasů (sestava) - je sestava pro Generátor sestav II uvádějící průměrný hrubý výdělek. Její specifikum je v tom, že
- od hrubé mzdy má odečíst určité mzdové položky v plné výši (například příplatek za práci přesčas)
- od hrubé mzdy má odečíst určité mzdové položky v poměrné výši. To je dáno tím, že v zaplacených hodinách základní mzdy (např. kódu 111) jsou již obsaženy hodiny přesčasové (nejsou vykázány samostatně pod základem přesčasu 169).
- Prac Kateg - aktuálně přiřazená pracovní kategorie (bez ohledu na historii)
- Prac Str - aktuálně přiřazené pracovní středisko (bez ohledu na historii)
- Hrub Mzda Celk - hrubá mzda celkem. Kódy mzdových položek jsou stanoveny ve skriptu.
- Odec Vse - částka za mzdové položky, které se mají odečítat v plné výši (vše). Kódy mzdových položek jsou stanoveny ve skriptu.
- Vysl Odec Pom - částka za mzdové položky, které se mají odečítat poměrně. Poměrem se myslí podíl přesčasových hodin a odpracovaných hodin. Kódy mzdových položek jsou stanoveny ve skriptu.
- Poc Mes - pro jednodušší skript je počet zpracovaných měsíců vyčíslován z tab. telegram. Výhodou je to, že do výběru období může být zahrnut i aktuálně zpracovávaný měsíc. Nevýhodou to, že v případě překrývajících se souběžných pracovních poměrů (začínajících či končících v průběhu zvoleného období), nebude toto číslo správné, a tedy ani výsledná průměrná měsíční mzda.
- Prum Mes Mzda Bez Presc - výsledná hodnota = (Hrub Mzda Celk - Odec Vse - Vysl Odec Pom)/Poc Mes.
select A.os_cislo, A.prijmeni, A.jmeno, B.cislo_pom, B.druh_pom, B.prac_kateg, B.prac_str, B.datum_nastupu, B.datum_ukonc, (select ceiling(sum(castka)) from pichacky P1 where P1.os_cislo = B.os_cislo and P1.cislo_pom = B.cislo_pom and P1.kod >= 100 and P1.kod <=699 and P1.datum >= %DATUMOD% and P1.datum <= %DATUMDO%) as Hrub_mzda_celk, (select ceiling(sum(castka)) from pichacky P2 where P2.os_cislo = B.os_cislo and P2.cislo_pom = B.cislo_pom and P2.kod in (210, 211, 212, 213, 214, 215, 217) and P2.datum >= %DATUMOD% and P2.datum <= %DATUMDO%) as Odec_vse, (select ceiling(sum(castka)) from pichacky P3 where P3.os_cislo = B.os_cislo and P3.cislo_pom = B.cislo_pom and P3.kod in (111, 112, 121, 122, 134, 135, 171, 175, 242) and P3.datum >= %DATUMOD% and P3.datum <= %DATUMDO%) as Zakl_odec_pom, (select sum(hodiny) from pichacky P4 where P4.os_cislo = B.os_cislo and P4.cislo_pom = B.cislo_pom and P4.kod in (210, 211, 212, 213, 214, 215) and P4.datum >= %DATUMOD% and P4.datum <= %DATUMDO%) as Hod_presc, (select sum(hodiny) from pichacky P5 where P5.os_cislo = B.os_cislo and P5.cislo_pom = B.cislo_pom and P5.kod in (111, 112, 121, 122, 134, 135) and P5.datum >= %DATUMOD% and P5.datum <= %DATUMDO%) as Hod_zakl, ( (select sum(hodiny) from pichacky P4 where P4.os_cislo = B.os_cislo and P4.cislo_pom = B.cislo_pom and P4.kod in (210, 211, 212, 213, 214, 215) and P4.datum >= %DATUMOD% and P4.datum <= %DATUMDO%)/ (select sum(hodiny) from pichacky P5 where P5.os_cislo = B.os_cislo and P5.cislo_pom = B.cislo_pom and P5.kod in (111, 112, 121, 122, 134, 135) and P5.datum >= %DATUMOD% and P5.datum <= %DATUMDO%) ) as koef, (ceiling( ( (select sum(hodiny) from pichacky P4 where P4.os_cislo = B.os_cislo and P4.cislo_pom = B.cislo_pom and P4.kod in (210, 211, 212, 213, 214, 215) and P4.datum >= %DATUMOD% and P4.datum <= %DATUMDO%)/ (select sum(hodiny) from pichacky P5 where P5.os_cislo = B.os_cislo and P5.cislo_pom = B.cislo_pom and P5.kod in (111, 112, 121, 122, 134, 135) and P5.datum >= %DATUMOD% and P5.datum <= %DATUMDO%) ) * (select sum(castka) from pichacky P3 where P3.os_cislo = B.os_cislo and P3.cislo_pom = B.cislo_pom and P3.kod in (111, 112, 121, 122, 134, 135, 171, 175, 242) and P3.datum >= %DATUMOD% and P3.datum <= %DATUMDO%) )) as Vysl_odec_pom, (select count(*) from telegram T where T.os_cislo = A.os_cislo and datum >=%DATUMOD% and datum <= %DATUMDO%) as poc_mesicu, (ceiling( ( (select sum(castka) from pichacky P1 where P1.os_cislo = B.os_cislo and P1.cislo_pom = B.cislo_pom and P1.kod >= 100 and P1.kod <=699 and P1.datum >= %DATUMOD% and P1.datum <= %DATUMDO%) - isnull( (select sum(castka) from pichacky P2 where P2.os_cislo = B.os_cislo and P2.cislo_pom = B.cislo_pom and P2.kod in (210, 211, 212, 213, 214, 215, 217) and P2.datum >= %DATUMOD% and P2.datum <= %DATUMDO%) , 0) - isnull ( ( (select sum(hodiny) from pichacky P4 where P4.os_cislo = B.os_cislo and P4.cislo_pom = B.cislo_pom and P4.kod in (210, 211, 212, 213, 214, 215) and P4.datum >= %DATUMOD% and P4.datum <= %DATUMDO%)/ (select sum(hodiny) from pichacky P5 where P5.os_cislo = B.os_cislo and P5.cislo_pom = B.cislo_pom and P5.kod in (111, 112, 121, 122, 134, 135) and P5.datum >= %DATUMOD% and P5.datum <= %DATUMDO%) * (select sum(castka) from pichacky P3 where P3.os_cislo = B.os_cislo and P3.cislo_pom = B.cislo_pom and P3.kod in (111, 112, 121, 122, 134, 135, 171, 175, 242) and P3.datum >= %DATUMOD% and P3.datum <= %DATUMDO%) ),0) ) / isnull (nullif((select count(*) from telegram T where T.os_cislo = A.os_cislo and datum >=%DATUMOD% and datum <= %DATUMDO%), 0), 1) ))as Prum_mes_mzda_bez_presc from pracovnici A, prac_pom B where A.os_cislo = B.os_cislo