Pom15: Porovnání verzí

Z Prirucky
Řádek 7: Řádek 7:
select
select
A.os_cislo, B.cislo_pom, A.prijmeni, A.jmeno, P.kod, P.prac_kateg, P.datum,
A.os_cislo, B.cislo_pom, A.prijmeni, A.jmeno, P.kod, P.prac_kateg, P.datum,
PMA.cis_pracmist, PMA.naz_pracmist,
PM1.hodnota as stred,
PM1.hodnota as stred,
P.castka,
P.castka,
Řádek 31: Řádek 32:
select
select
A.os_cislo, B.cislo_pom, A.prijmeni, A.jmeno, P.kod, P.prac_kateg, P.datum,
A.os_cislo, B.cislo_pom, A.prijmeni, A.jmeno, P.kod, P.prac_kateg, P.datum,
PMA.cis_pracmist, PMA.naz_pracmist,
PM1.hodnota as stred,
PM1.hodnota as stred,
P.castka,
P.castka,

Verze z 23. 4. 2019, 14:53

  • První část je určena pro načítání z historie (tab. pom_zal), druhá část pro načítání, pokud je navoleno aktuální období (tab. prac_pom).
  • Určující je uživatelem zvolené "datum do" - pokud je shodné s aktuálním obdobím, načítá se hodnota pracovního místa z aktuálu (agenda Pracovní poměry). Pokud se jedná o historické období, je načítána hodnota pracovního místa z historického archivovaného období.



select A.os_cislo, B.cislo_pom, A.prijmeni, A.jmeno, P.kod, P.prac_kateg, P.datum, PMA.cis_pracmist, PMA.naz_pracmist, PM1.hodnota as stred, P.castka, (select hodnota from prac_mist_atrib PM2 where cis_atributu = 1005 and id_provazani = PM1.id) as procento, (P.castka * cast((select hodnota from prac_mist_atrib PM2 where cis_atributu = 1005 and id_provazani = PM1.id) as decimal (6,0))/100) as proc_castky

from pracovnici A, pom_zal B left outer join prac_mist PMA on B.id_pracmist = PMA.id_pracmist, prac_mist_atrib PM1 right outer join prac_mist PMB on PM1.id_pracmist = PMB.id_pracmist and PM1.cis_atributu = 1004 and (PM1.platnost_do is null or PM1.platnost_do >= %DATUMDO%), pichacky P where A.os_cislo = P.os_cislo and P.datum >= %DATUMOD% and P.datum <= %DATUMDO% and A.os_cislo = B.os_cislo and A.os_cislo = P.os_cislo and B.cislo_pom = P.cislo_pom and year(B.datum) = year (%DATUMDO%) and month (B.datum) = month(%DATUMDO%) and PMA.id_pracmist = PMB.id_pracmist and ( year (%DATUMDO%) <> (select year(datum_prvni) from par_map) or month (%DATUMDO%) <> (select month(datum_prvni) from par_map) )

union all


select A.os_cislo, B.cislo_pom, A.prijmeni, A.jmeno, P.kod, P.prac_kateg, P.datum, PMA.cis_pracmist, PMA.naz_pracmist, PM1.hodnota as stred, P.castka, (select hodnota from prac_mist_atrib PM2 where cis_atributu = 1005 and id_provazani = PM1.id) as procento, (P.castka * cast((select hodnota from prac_mist_atrib PM2 where cis_atributu = 1005 and id_provazani = PM1.id) as decimal (6,0))/100) as proc_castky

from pracovnici A, prac_pom B left outer join prac_mist PMA on B.id_pracmist = PMA.id_pracmist, prac_mist_atrib PM1 right outer join prac_mist PMB on PM1.id_pracmist = PMB.id_pracmist and PM1.cis_atributu = 1004 and (PM1.platnost_do is null or PM1.platnost_do >= %DATUMDO%), pichacky P where A.os_cislo = P.os_cislo and P.datum >= %DATUMOD% and P.datum <= %DATUMDO% and A.os_cislo = B.os_cislo and A.os_cislo = P.os_cislo and B.cislo_pom = P.cislo_pom and PMA.id_pracmist = PMB.id_pracmist and ( year (%DATUMDO%) = (select year(datum_prvni) from par_map) and month (%DATUMDO%) = (select month(datum_prvni) from par_map) )