Názvy pracovních míst (číselník): Porovnání verzí

Z Prirucky
 
(Není zobrazena jedna mezilehlá verze od stejného uživatele.)
Řádek 57: Řádek 57:
</small>
</small>


== Odkazy ==
== Změny názvů (čísel) ==
* [[Popisy pracovních míst]]
=== Změna hodnoty vlastnosti (čísla) v popisu pracovního místa ===
* <small>DB: funk_zkr </small>
'''Riziková operace.''' SQL příkaz pro změněnu hodnoty vlastnosti v popisu pracovních míst - hledá se první název v číselníku ''Názvy prac.míst'' se shodným názvem jako je název pracovního místa. Vazební položkou je údaj v popisu pracovního místa. Před spuštěním '''proveďte zálohu databáze'''. <small>Číselník názvů pracovních míst bývá měněn pomocí SQL příkazů, při nichž se mění k danému číslu název. Tento postup je nekonzistentní a způsobuje destrukci ostatních dat (zřejmě tedy nemá smysl poznačovat časovost vlastnosti 1001 v popisu pracovního místa). Proto je spouštěn příkaz, který se pokusí vyhledat název pracovního místa v číselníku názvů prac.míst a hodnotu (číslo) zapsat do vlastnosti v popisu pracovního místa.</small>
<!-- hd id 35895 -->
<small>
 
update prac_mist_atrib
set hodnota = (select min(funk_zkr.cislo) from funk_zkr,prac_mist where
funk_zkr.nazev = prac_mist.naz_pracmist and
prac_mist.id_pracmist = prac_mist_atrib.id_pracmist)
where cis_atributu = 1001 and
(select count(*) from funk_zkr,prac_mist where
funk_zkr.nazev = prac_mist.naz_pracmist and
prac_mist.id_pracmist = prac_mist_atrib.id_pracmist) > 0 ;
</small>


<!--
=== Změna názvů pracovních míst ===
=== Změna názvů pracovních míst ===
[[Image: Nazvy-prac-mist-db-tabulky.png|right]]
'''Riziková operace.''' SQL příkaz pro změněnu názvů pracovních míst podle názvu v číselníku ''Názvy prac.míst''. Vazební položkou je údaj v popisu pracovního místa. Před spuštěním '''proveďte zálohu databáze'''. <small>Bývá prováděn ve druhém kroku - po změně pracovních náplní a hodnot vlastností č. 1001 se opraví názvy pracovních míst.</small>
'''Riziková operace.''' SQL příkaz pro změněnu názvů pracovních míst podle názvu v číselníku ''Názvy prac.míst''. Vazební položkou je údaj v popisu pracovního místa. Před spuštěním '''proveďte zálohu databáze'''.


<small>
<small>
  update prac_mist set naz_pracmist =  
  update prac_mist set naz_pracmist =  
   
   
  (select nazev from funk_zkr, prac_mist_atrib where  
  (select min(nazev) from funk_zkr, prac_mist_atrib where  
  funk_zkr.cislo = prac_mist_atrib.hodnota and  
  funk_zkr.cislo = prac_mist_atrib.hodnota and  
  prac_mist.id_pracmist = prac_mist_atrib.id_pracmist and  
  prac_mist.id_pracmist = prac_mist_atrib.id_pracmist and  
Řádek 82: Řádek 89:
</small>
</small>


=== Změna hodnoty vlastnosti v popisu pracovního místa ===
== Odkazy ==
'''Riziková operace.''' SQL příkaz pro změněnu hodnoty vlastnosti v popisu pracovních míst - hledá se první název v číselníku ''Názvy prac.míst'' se shodným názvem jako je název pracovního místa. Vazební položkou je údaj v popisu pracovního místa. Před spuštěním '''proveďte zálohu databáze'''.
* [[Popisy pracovních míst]]
<small>
* <small>DB: funk_zkr </small>
update prac_mist_atrib
<!-- hd id 35895 -->
  set hodnota = (select min(funk_zkr.cislo) from funk_zkr,prac_mist where
 
funk_zkr.nazev = prac_mist.naz_pracmist and  
<!--
prac_mist.id_pracmist = prac_mist_atrib.id_pracmist)
Původně přemýšleno o takovýchto příkazech, do té doby, než mi dotyčný vysvětlil mechanismus.
Změnit hodnoty
Příkaz pro nalezení id pracovních míst, která se mají měnit.
Jsou dva - v posledním řádku buď
- is not null - pak zřejmě přidávali časovou vlastnost a budou chtít přenést z hodnoty vlastnosti do názvu pracovního místa
- is null - jedná se o prvotní chybový záznam a přenos má být opačný (z názvu pracovního místa do vlastnosti).
 
select A.id_pracmist
 
from prac_mist A left outer join prac_mist_atrib B
  on A.id_pracmist = B.id_pracmist and B.cis_atributu = 1001,
funk_zkr C
where
B.hodnota = C.cislo and
(A.datum_do is null or A.datum_do > (select max(datum_prvni) from par_map)) and
(B.platnost_do is null or B.platnost_do > (select max(datum_prvni) from par_map)) and
(A.naz_pracmist <> C.nazev or C.nazev is null) and
B.platnost_od is null
------------------------------
Neotestováno:
 
update prac_mist set naz_pracmist =  
   
   
  where cis_atributu = 1001 and  
  (select nazev from funk_zkr, prac_mist_atrib where  
  (select count(*) from funk_zkr,prac_mist where
funk_zkr.cislo = prac_mist_atrib.hodnota and
  funk_zkr.nazev = prac_mist.naz_pracmist and  
prac_mist.id_pracmist = prac_mist_atrib.id_pracmist and
prac_mist.id_pracmist = prac_mist_atrib.id_pracmist) > 0 ;
cis_atributu = 1001 and
</small>
  platnost_od is not null and
platnost_do is null or platnost_do > (select max(datum_prvni) from par_map))
)
where id_pracmist in
(
select A.id_pracmist
from prac_mist A left outer join prac_mist_atrib B
  on A.id_pracmist = B.id_pracmist and B.cis_atributu = 1001,
funk_zkr C
where
B.hodnota = C.cislo and  
(A.datum_do is null or A.datum_do > (select max(datum_prvni) from par_map)) and
(B.platnost_do is null or B.platnost_do > (select max(datum_prvni) from par_map)) and
(A.naz_pracmist <> C.nazev or C.nazev is null) and
B.platnost_od is not null
)
;
 
-->
-->

Aktuální verze z 7. 3. 2017, 13:25

Názvy pracovních míst (číselník) je zákaznická specialita - použití číselníku téhož jména v modulu Popisy pracovních míst.

Funkcionalita

Menu: PIS > Popisy pracovních míst > Číselníky / Názvy prac. míst
Menu: PIS > Popisy pracovních míst > Číselník vlastností
Menu: PIS > Popisy pracovních míst > Pracovní místa/Pracovní pozice/Profese/Šablony popisů

  1. Naplnění číselníku.
  2. Založení vlastnosti do číselníku.
  3. Vyplnění popisu pracovního místa.

Používáno pro kontrolní účely a pro návaznost do dalších systémů.

Číselník Názvy pracovních míst - příklad naplnění
Vlastnost
Popis pracovního místa - příklad naplnění

Kontrola totožnosti názvů

Název v číselníku Názvy prac.míst
Použitý název pracovního místa neodpovídá hodnotě vlastnosti v popisu pracovního místa

Zjištění rozdílů

Nazvy-prac-mist-rozdil-priklad-1-3.png

select A.id_pracmist, A.datum_od, A.datum_do, A.cis_pracmist, A.naz_pracmist,
C.nazev,
B.hodnota, B.platnost_od, B.platnost_do

from prac_mist A left outer join prac_mist_atrib B 
 on A.id_pracmist = B.id_pracmist and B.cis_atributu = 1001,
funk_zkr C
where 
B.hodnota = C.cislo and 
(A.datum_do is null or A.datum_do > (select max(datum_prvni) from par_map)) and
(B.platnost_do is null or B.platnost_do > (select max(datum_prvni) from par_map)) and
(A.naz_pracmist <> C.nazev or C.nazev is null)

Nazvy-prac-mist-db-tabulky.png

Všechna pracovní místa s kombinací platností

Nazvy-prac-mist-rozdil-priklad-1-4.png

select A.id_pracmist, A.datum_od, A.datum_do, A.cis_pracmist, A.naz_pracmist,
C.nazev,
B.hodnota, B.platnost_od, B.platnost_do

from prac_mist A left outer join prac_mist_atrib B on A.id_pracmist = B.id_pracmist and B.cis_atributu = 1001,
funk_zkr C
where 
B.hodnota = C.cislo

Změny názvů (čísel)

Změna hodnoty vlastnosti (čísla) v popisu pracovního místa

Riziková operace. SQL příkaz pro změněnu hodnoty vlastnosti v popisu pracovních míst - hledá se první název v číselníku Názvy prac.míst se shodným názvem jako je název pracovního místa. Vazební položkou je údaj v popisu pracovního místa. Před spuštěním proveďte zálohu databáze. Číselník názvů pracovních míst bývá měněn pomocí SQL příkazů, při nichž se mění k danému číslu název. Tento postup je nekonzistentní a způsobuje destrukci ostatních dat (zřejmě tedy nemá smysl poznačovat časovost vlastnosti 1001 v popisu pracovního místa). Proto je spouštěn příkaz, který se pokusí vyhledat název pracovního místa v číselníku názvů prac.míst a hodnotu (číslo) zapsat do vlastnosti v popisu pracovního místa.

update prac_mist_atrib
set hodnota = (select min(funk_zkr.cislo) from funk_zkr,prac_mist where 
funk_zkr.nazev = prac_mist.naz_pracmist and 
prac_mist.id_pracmist = prac_mist_atrib.id_pracmist)

where cis_atributu = 1001 and 
(select count(*) from funk_zkr,prac_mist where 
funk_zkr.nazev = prac_mist.naz_pracmist and 
prac_mist.id_pracmist = prac_mist_atrib.id_pracmist) > 0 ;

Změna názvů pracovních míst

Riziková operace. SQL příkaz pro změněnu názvů pracovních míst podle názvu v číselníku Názvy prac.míst. Vazební položkou je údaj v popisu pracovního místa. Před spuštěním proveďte zálohu databáze. Bývá prováděn ve druhém kroku - po změně pracovních náplní a hodnot vlastností č. 1001 se opraví názvy pracovních míst.

update prac_mist set naz_pracmist = 

(select min(nazev) from funk_zkr, prac_mist_atrib where 
funk_zkr.cislo = prac_mist_atrib.hodnota and 
prac_mist.id_pracmist = prac_mist_atrib.id_pracmist and 
cis_atributu = 1001)
	
where (select count(*) from funk_zkr, prac_mist_atrib where 
funk_zkr.cislo = prac_mist_atrib.hodnota and 
prac_mist.id_pracmist = prac_mist_atrib.id_pracmist and 
cis_atributu = 1001) > 0;

Odkazy