Průměrný hrubý výdělek bez přesčasů (sestava)

Z Prirucky
Verze z 5. 9. 2016, 15:20, kterou vytvořil Petrm (diskuse | příspěvky) (Založena nová stránka: ''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, …)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

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

  1. 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)
  2. 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).

Prumerny-hruby-vydelek-bez-prescasu.png

  • 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.

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)
)
/
(select count(*) from telegram T where T.os_cislo = A.os_cislo and datum >=%DATUMOD% and datum <= %DATUMDO%) 
))as Prum_mes_mzda_bez_presc



from pracovnici A, prac_pom B
where A.os_cislo = B.os_cislo

Odkazy