Pom15: Porovnání verzí

Z Prirucky
(Stránka vyprázdněna)
Řádek 1: Řádek 1:
* 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)
)

Verze z 24. 4. 2019, 10:01