You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
235 lines
6.5 KiB
235 lines
6.5 KiB
-- Hier werden die Daten aus kenn_hochschulen in die Tabelle organigramm geladen |
|
-- nur für SuperX-Connect |
|
|
|
delete from organigramm; |
|
|
|
|
|
create temp table tmp_organigramm ( |
|
tid serial not null, |
|
key_apnr CHAR(10) , |
|
parent CHAR(10) , |
|
drucktext CHAR(50) , |
|
name NCHAR(150) , |
|
ebene INTEGER , |
|
lehre SMALLINT not null, |
|
gueltig_seit DATE not null, |
|
gueltig_bis DATE not null, |
|
orgstruktur INTEGER |
|
) |
|
; |
|
--root |
|
insert into tmp_organigramm |
|
(name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur) |
|
SELECT 'Hochschulen', |
|
'Hochschulen', --drucktext |
|
'0',--key_apnr |
|
null::char(10), --parent |
|
1, --ebene |
|
1, --lehre |
|
date_val('01.01.1900'), |
|
date_val('31.12.2999'), |
|
0 --orgstruktur |
|
FROM xdummy; |
|
|
|
|
|
-- UNI (parent=1) |
|
|
|
insert into tmp_organigramm |
|
(name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur) |
|
SELECT 'Universitäten', |
|
'Universitäten', --drucktext |
|
'1',--key_apnr |
|
'0'::char(10), --parent |
|
2, --ebene |
|
1, --lehre |
|
date_val('01.01.1900'), |
|
date_val('31.12.2999'), |
|
0 --orgstruktur |
|
FROM xdummy; |
|
|
|
|
|
insert into tmp_organigramm |
|
(name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur) |
|
SELECT substring(name from 1 for 150), |
|
substring(name from 1 for 50), --drucktext |
|
trim(hs_nr::char(10)),--key_apnr |
|
'1'::char(10), --parent |
|
3, --ebene |
|
0, --lehre |
|
date_val('01.01.1900'), |
|
date_val('31.12.2999'), |
|
10 --orgstruktur |
|
FROM kenn_hochschulen where art='U' |
|
--nur Hochschulen, die auch als Org-Einheiten drin sind: |
|
and hs_nr in (select H.hs_nr from hochschulinfo H); |
|
; |
|
|
|
-- PH (parent=2) |
|
|
|
insert into tmp_organigramm |
|
(name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur) |
|
SELECT 'Pädagogische Hochschulen', |
|
'Pädagogische Hochschulen', --drucktext |
|
'2',--key_apnr |
|
'0'::char(10), --parent |
|
2, --ebene |
|
1, --lehre |
|
date_val('01.01.1900'), |
|
date_val('31.12.2999'), |
|
0 --orgstruktur |
|
FROM xdummy; |
|
|
|
|
|
insert into tmp_organigramm |
|
(name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur) |
|
SELECT substring(name from 1 for 150), |
|
substring(name from 1 for 50), --drucktext |
|
trim(hs_nr::char(10)),--key_apnr |
|
'2'::char(10), --parent |
|
3, --ebene |
|
0, --lehre |
|
date_val('01.01.1900'), |
|
date_val('31.12.2999'), |
|
10 --orgstruktur |
|
FROM kenn_hochschulen where art='PH' |
|
--nur Hochschulen, die auch als Org-Einheiten drin sind: |
|
and hs_nr in (select H.hs_nr from hochschulinfo H); |
|
; |
|
|
|
-- FH (parent=3) |
|
insert into tmp_organigramm |
|
(name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur) |
|
SELECT 'Hochschulen für angewandte Wissenschaften', |
|
'Hochschulen für angewandte Wissenschaften', --drucktext |
|
'3',--key_apnr |
|
'0'::char(10), --parent |
|
2, --ebene |
|
1, --lehre |
|
date_val('01.01.1900'), |
|
date_val('31.12.2999'), |
|
0 --orgstruktur |
|
FROM xdummy; |
|
|
|
insert into tmp_organigramm |
|
(name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur) |
|
SELECT substring(name from 1 for 150), |
|
substring(name from 1 for 50), --drucktext |
|
trim(hs_nr::char(10)),--key_apnr |
|
'3'::char(10), --parent |
|
3, --ebene |
|
0, --lehre |
|
date_val('01.01.1900'), |
|
date_val('31.12.2999'), |
|
10 --orgstruktur |
|
FROM kenn_hochschulen where art='FH' |
|
|
|
--nur Hochschulen, die auch als Org-Einheiten drin sind: |
|
and hs_nr in (select H.hs_nr from hochschulinfo H); |
|
; |
|
|
|
-- Kunst Musik (parent=4) |
|
|
|
insert into tmp_organigramm |
|
(name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur) |
|
SELECT 'Kunst- und Musikhochschulen', |
|
'Kunst- und Musikhochschulen', --drucktext |
|
'4',--key_apnr |
|
'0'::char(10), --parent |
|
2, --ebene |
|
1, --lehre |
|
date_val('01.01.1900'), |
|
date_val('31.12.2999'), |
|
0 --orgstruktur |
|
FROM xdummy; |
|
|
|
|
|
insert into tmp_organigramm |
|
(name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur) |
|
SELECT substring(name from 1 for 150), |
|
substring(name from 1 for 50), --drucktext |
|
trim(hs_nr::char(10)),--key_apnr |
|
'4'::char(10), --parent |
|
3, --ebene |
|
0, --lehre |
|
date_val('01.01.1900'), |
|
date_val('31.12.2999'), |
|
10 --orgstruktur |
|
FROM kenn_hochschulen where art='KMW' |
|
|
|
--nur Hochschulen, die auch als Org-Einheiten drin sind: |
|
and hs_nr in (select H.hs_nr from hochschulinfo H); |
|
; |
|
|
|
-- DH (parent=5) |
|
|
|
insert into tmp_organigramm |
|
(name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur) |
|
SELECT 'Duale Hochschulen', |
|
'Duale Hochschulen', --drucktext |
|
'5',--key_apnr |
|
'0'::char(10), --parent |
|
2, --ebene |
|
1, --lehre |
|
date_val('01.01.1900'), |
|
date_val('31.12.2999'), |
|
0 --orgstruktur |
|
FROM xdummy; |
|
|
|
|
|
insert into tmp_organigramm |
|
(name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur) |
|
SELECT substring(name from 1 for 150), |
|
substring(name from 1 for 50), --drucktext |
|
trim(hs_nr::char(10)),--key_apnr |
|
'5'::char(10), --parent |
|
3, --ebene |
|
0, --lehre |
|
date_val('01.01.1900'), |
|
date_val('31.12.2999'), |
|
10 --orgstruktur |
|
FROM kenn_hochschulen where art='DH' |
|
|
|
--nur Hochschulen, die auch als Org-Einheiten drin sind: |
|
and hs_nr in (select H.hs_nr from hochschulinfo H); |
|
; |
|
|
|
--BaWue-spez. Duplikate entfernen: |
|
|
|
delete from tmp_organigramm |
|
where key_apnr in ('1240','1820','1270','1250','8171','8172','8173','8174','8175','8176','8177','8178','8179'); |
|
|
|
|
|
--hochschulen bekommen orgstruktur 10, damit Sichten mit nodeattrib klappen: |
|
update organigramm set orgstruktur=10 |
|
where key_apnr in (select T.key_apnr |
|
from tmp_organigramm T |
|
where T.orgstruktur=10) |
|
; |
|
|
|
delete from organigramm |
|
where key_apnr in (select key_apnr from tmp_organigramm ) |
|
and 0=(select count(*) from tmp_organigramm T |
|
where organigramm.key_apnr || '_' || organigramm.name = T.key_apnr || '_' || T.name); |
|
|
|
|
|
|
|
|
|
delete from tmp_organigramm |
|
where key_apnr in (select key_apnr from organigramm); |
|
|
|
create temp table tmp_hilf (tid integer); |
|
insert into tmp_hilf select max(tid) from organigramm; |
|
|
|
update tmp_hilf set tid=1 where tid is null; |
|
|
|
|
|
|
|
insert into organigramm |
|
(tid,name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur) |
|
SELECT O.tid+H.tid,name,drucktext,key_apnr,parent,ebene,lehre,gueltig_seit,gueltig_bis,orgstruktur |
|
FROM tmp_organigramm O, tmp_hilf H; |
|
|
|
|
|
drop table tmp_organigramm; |
|
drop table tmp_hilf; |
|
|
|
|