Browse Source

Merge branch 'RELEASE_kern5.3'

master
Daniel Quathamer 6 hours ago
parent
commit
0122ea30d1
  1. 9
      superx/WEB-INF/conf/edustore/db/bin/removeKettleConnection.x
  2. 46
      superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/view.eduetl/dim_semester.view
  3. 3
      superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_install/edustore_kern_drop_ids.xml
  4. 6
      superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_install/edustore_kern_drop_pg.xml
  5. 12
      superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_install/edustore_kern_integrate_ids.sql
  6. 12
      superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_install/edustore_kern_integrate_pg.sql
  7. 32067
      superx/WEB-INF/conf/edustore/db/install/conf/kern.html
  8. 77
      superx/WEB-INF/conf/edustore/db/install/conf/kern.xml
  9. 16
      superx/WEB-INF/conf/edustore/db/install/conf/kern_mask_test_ant.xml
  10. 8
      superx/WEB-INF/conf/edustore/db/install/conf/module_drop_views.sql
  11. 1
      superx/WEB-INF/conf/edustore/db/install/conf/module_grant.x
  12. 1
      superx/WEB-INF/conf/edustore/db/install/conf/module_revoke.x
  13. 286
      superx/WEB-INF/conf/edustore/db/install/conf/sx_fields_fuellen.sql
  14. 8
      superx/WEB-INF/conf/edustore/db/install/conf/sx_tables_fuellen.sql
  15. 1
      superx/WEB-INF/conf/edustore/db/install/kern_drop_ids.sql
  16. 2
      superx/WEB-INF/conf/edustore/db/install/kern_drop_pg.sql
  17. 29
      superx/WEB-INF/conf/edustore/db/install/kern_install_ids.sql
  18. 99
      superx/WEB-INF/conf/edustore/db/install/kern_install_pg.sql
  19. 1
      superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade.x
  20. 17
      superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_functions_ids.sql
  21. 14
      superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_functions_pg.sql
  22. 60
      superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_themenbaum.sql
  23. 162
      superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_views_pg.sql
  24. 23
      superx/WEB-INF/kern_dbforms-config_pg.xml
  25. 4
      superx/xml/nd_templates.xsl

9
superx/WEB-INF/conf/edustore/db/bin/removeKettleConnection.x

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
#!/bin/bash
#sudo apt install xmlstarlet
for file in *.kjb *.ktr; do
[ -f "$file" ] || continue # Überspringt, falls keine Dateien existieren
##durch das && wird bewirkt, dass bei Fehler von xmlstarlet Originaldatei nicht überschrieben wird
## Connection-Knoten, bei denen auch die aufgeführten Unterknoten existieren, werden enfernt
xmlstarlet ed -d "//connection[name and server and type and access and database]" "$file" > "${file}.tmp" && mv "${file}.tmp" "$file"
done

46
superx/WEB-INF/conf/edustore/db/install/conf/his1/dbconv/view.eduetl/dim_semester.view

@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
create view dim_semester(
tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
ist_zukunft,
akad_jahr,
akad_jahr_absolv,
akad_jahr_anf) as
with tmp_semester as (select C.apnr as tid,
C.druck as eintrag,
C.kurz as eintrag_kurz, --TODO
C.d_akt_von as sem_beginn,
C.d_akt_bis as sem_ende,
val(substring('' || C.apnr from 5 for 1)) as semestertyp,
add_sem(C.apnr,-1) as vorsem,
add_sem(C.apnr,1) as folgesem,
(select C2.d_akt_von from cif C2 where C2.key=661
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn
from cif C
where key=661
)
select tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft,
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf
from tmp_semester
;

3
superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_install/edustore_kern_drop_ids.xml

@ -28,9 +28,6 @@ @@ -28,9 +28,6 @@
</dbi:dbaction>
<dbi:dbaction dbi:action="sqlexec">eduetl:drop procedure val(char(255));
</dbi:dbaction>
<dbi:dbaction dbi:action="sqlexec">eduetl:drop procedure decval(varchar(255));
</dbi:dbaction>
<dbi:dbaction dbi:action="sqlexec">eduetl:drop procedure decval(char(255));

6
superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_install/edustore_kern_drop_pg.xml

@ -130,12 +130,6 @@ @@ -130,12 +130,6 @@
</dbi:dbaction>
<dbi:dbaction dbi:action="sqlexec">eduetl:drop function val(smallint);
</dbi:dbaction>
<dbi:dbaction dbi:action="sqlexec">eduetl:drop function decval(varchar(255));
</dbi:dbaction>
<dbi:dbaction dbi:action="sqlexec">eduetl:drop function decval(text);
</dbi:dbaction>
<dbi:dbaction dbi:action="sqlexec">eduetl:drop function decval(char(255));

12
superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_install/edustore_kern_integrate_ids.sql

@ -705,6 +705,18 @@ insert into tmp_themenbaum @@ -705,6 +705,18 @@ insert into tmp_themenbaum
gueltig_bis)
values('Gastzugang einrichten','71770','Administration','01.01.1900','01.01.3000');
insert into tmp_themenbaum
( name ,maskeninfo_id, parentname,
gueltig_seit ,
gueltig_bis)
values('Datenblatt archivieren','71840','Datenmanagement','01.01.1900','01.01.3000');
insert into tmp_themenbaum
( name ,maskeninfo_id, parentname,
gueltig_seit ,
gueltig_bis)
values('Übersicht Datenblatt-Archiv','71860','Datenmanagement','01.01.1900','01.01.3000');
--gibt es die Maske schon?
delete from tmp_themenbaum where maskeninfo_id in (select T.maskeninfo_id from themenbaum T);

12
superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_install/edustore_kern_integrate_pg.sql

@ -707,6 +707,18 @@ insert into tmp_themenbaum @@ -707,6 +707,18 @@ insert into tmp_themenbaum
gueltig_bis)
values('Gastzugang einrichten','71770','Administration',date_val('01.01.1900'),date_val('01.01.3000'));
insert into tmp_themenbaum
( name ,maskeninfo_id, parentname,
gueltig_seit ,
gueltig_bis)
values('Datenblatt archivieren','71840','Datenmanagement',date_val('01.01.1900'),date_val('01.01.3000'));
insert into tmp_themenbaum
( name ,maskeninfo_id, parentname,
gueltig_seit ,
gueltig_bis)
values('Übersicht Datenblatt-Archiv','71860','Datenmanagement',date_val('01.01.1900'),date_val('01.01.3000'));
--gibt es die Maske schon?
delete from tmp_themenbaum where maskeninfo_id in (select T.maskeninfo_id from themenbaum T);

32067
superx/WEB-INF/conf/edustore/db/install/conf/kern.html

File diff suppressed because one or more lines are too long

77
superx/WEB-INF/conf/edustore/db/install/conf/kern.xml

@ -8493,19 +8493,17 @@ where T.name in (select distinct fact_table from dimension) @@ -8493,19 +8493,17 @@ where T.name in (select distinct fact_table from dimension)
</columns>
<sql dbsystem="POSTGRES"><![CDATA[
SELECT
apnr,
druck,
to_number(uniquename,'99999')::integer as astat,
level2_char as kontinent,
level1_char as inl_ausl_kurz,
level1_str as inl_ausl_lang
FROM dim_bp_apnr
where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_ca12_staat')
and apnr !=0 --nur für Abwärtskompatibilität zu FLEDA
]]></sql>
select A.schluessel as apnr,
A.name as druck,
A.schluessel as astat,
K.name as kontinent,
case when A.schluessel=0 then 'I' else 'A' end as inl_ausl_kurz,
case when A.schluessel=0 then 'Inland' else 'Ausland' end as inl_ausl_lang
from k_astat_staat A left outer join k_astat_kontinent K
on (A.kontinent=K.schluessel)
]]></sql>
<sql dbsystem="INFORMIX"><![CDATA[
SELECT
apnr,
@ -8648,7 +8646,7 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc @@ -8648,7 +8646,7 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc
FROM dimension_bp d WHERE d.apnr = 'bluep_kotr')]]></sql>
</view>
<view name="dim_kreis" version="0.5" caption="Landkreis"
<view name="dim_kreis" version="0.5" caption="Landkreis"
thema="Studierende" typ="Schlüsseltabelle" releaseUnload="demo">
<description>Landkreise</description>
<columns>
@ -8682,7 +8680,56 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc @@ -8682,7 +8680,56 @@ where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_absc
dimension_bp_id = (SELECT tid FROM dimension_bp WHERE apnr='bluep_hzbkfz')
]]></sql>
</view>
</views>
<view name="dim_semester" version="5.3" caption="Semester" thema="Stammdaten verwalten" typ="Schlüsseltabelle" releaseUnload="demo">
<columns>
<column name="tid" type ="INTEGER" size ="255" default ="" notnull ="false" description="Semester (Schlüssel)" />
<column name="eintrag" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Semester (Drucktext)"/>
<column name="eintrag_kurz" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Semester (Kurztext)"/>
<column name="sem_beginn" type ="DATE" size ="4" default ="" notnull ="false" description="Semesteranfang"/>
<column name="sem_ende" type ="DATE" size ="4" default ="" notnull ="false" description="Semesterende"/>
<column name="semestertyp" type ="INTEGER" size ="255" default ="" notnull ="false" description="Semester (Kurztext)"/>
<column name="vorsem" type ="INTEGER" size ="255" default ="" notnull ="false" description="Vorsemester (Schlüssel)" />
<column name="folgesem" type ="INTEGER" size ="255" default ="" notnull ="false" description="Folgesemester (Schlüssel)" />
<column name="folgesem_sem_beginn" type ="DATE" size ="4" default ="" notnull ="false" description="Folgesemester Semesteranfang"/>
<column name="ist_zukunft" type ="SMALLINT" size ="255" default ="0" notnull ="false" description="Ist zukünftig?" ><comment>1=Ja,2=nein</comment></column>
<column name="akad_jahr" type ="INTEGER" size ="4" default ="" notnull ="false" description="Akad. Jahr"><comment>Def. STBA: WiSe + nachfolgendes SoSe (z.B. 2006 = 20062 + 20071)</comment></column>
<column name="akad_jahr_absolv" type ="INTEGER" size ="4" default ="" notnull ="false" description="Akad. Jahr"><comment>Def. Sachsen Absolv.: vorheriges WiSe + SoSe (z.B. 2006 = 20052 + 20061)</comment></column>
<column name="akad_jahr_anf" type ="INTEGER" size ="4" default ="" notnull ="false" description="Akad. Jahr"><comment>Def. Sachsen Anfäger: SA Studienanfänger: SoSe + WiSe (z.B. 2006 = 20061 + 20062)</comment></column>
</columns>
<sql dbsystem=""><![CDATA[
with tmp_semester as (select C.apnr as tid,
C.druck as eintrag,
C.kurz as eintrag_kurz, --TODO
C.d_akt_von as sem_beginn,
C.d_akt_bis as sem_ende,
val(substring('' || C.apnr from 5 for 1)) as semestertyp,
add_sem(C.apnr,-1) as vorsem,
add_sem(C.apnr,1) as folgesem,
(select C2.d_akt_von from cif C2 where C2.key=661
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn
from cif C
where key=661
)
select tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft,
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf
from tmp_semester
]]></sql>
</view>
</views>
<data-integrity>
<relation from="hochschulen" to="hochschulinfo" delete="FALSE"

16
superx/WEB-INF/conf/edustore/db/install/conf/kern_mask_test_ant.xml

@ -382,5 +382,21 @@ @@ -382,5 +382,21 @@
<arg value="-logger:conf/edustore/db/conf/logging.properties"/>
<classpath refid="classpath"/>
</java>
<!--Test Maske - tid: 71840 - Maskenname: Datenblatt archivieren-->
<java classname="de.superx.bin.ExecuteMask" fork="true" failonerror="true" classpathref="classpath" dir="${WEBAPP_DIR}/WEB-INF">
<arg value="-tid:71840"/>
<arg value="-out:71840.htm"/>
<arg value="-user:admin"/>
<arg value="-logger:conf/edustore/db/conf/logging.properties"/>
<classpath refid="classpath"/>
</java>
<!--Test Maske - tid: 71860 - Maskenname: Übersicht Datenblatt-Archiv-->
<java classname="de.superx.bin.ExecuteMask" fork="true" failonerror="true" classpathref="classpath" dir="${WEBAPP_DIR}/WEB-INF">
<arg value="-tid:71860"/>
<arg value="-out:71860.htm"/>
<arg value="-user:admin"/>
<arg value="-logger:conf/edustore/db/conf/logging.properties"/>
<classpath refid="classpath"/>
</java>
</target>
</project>

8
superx/WEB-INF/conf/edustore/db/install/conf/module_drop_views.sql

@ -49,6 +49,9 @@ select sp_table_exists('dim_kotr') from xdummy; @@ -49,6 +49,9 @@ select sp_table_exists('dim_kotr') from xdummy;
<sqlvar name="dim_kreis_view_exists">
select sp_table_exists('dim_kreis') from xdummy;
</sqlvar>
<sqlvar name="dim_semester_view_exists">
select sp_table_exists('dim_semester') from xdummy;
</sqlvar>
</sqlvars>
@ -127,3 +130,8 @@ drop view dim_kotr; @@ -127,3 +130,8 @@ drop view dim_kotr;
drop view dim_kreis;
</#if>
<#if dim_semester_view_exists ==1>
drop view dim_semester;
</#if>

1
superx/WEB-INF/conf/edustore/db/install/conf/module_grant.x

@ -521,6 +521,7 @@ DOQUERY "grant $RIGHT on dim_abschluss to $GRANTEE;" @@ -521,6 +521,7 @@ DOQUERY "grant $RIGHT on dim_abschluss to $GRANTEE;"
DOQUERY "grant $RIGHT on dim_kost to $GRANTEE;"
DOQUERY "grant $RIGHT on dim_kotr to $GRANTEE;"
DOQUERY "grant $RIGHT on dim_kreis to $GRANTEE;"
DOQUERY "grant $RIGHT on dim_semester to $GRANTEE;"
if [ "$DATABASE" == "POSTGRES" ]
then

1
superx/WEB-INF/conf/edustore/db/install/conf/module_revoke.x

@ -503,6 +503,7 @@ DOQUERY "revoke $RIGHT on dim_abschluss from $GRANTEE;" @@ -503,6 +503,7 @@ DOQUERY "revoke $RIGHT on dim_abschluss from $GRANTEE;"
DOQUERY "revoke $RIGHT on dim_kost from $GRANTEE;"
DOQUERY "revoke $RIGHT on dim_kotr from $GRANTEE;"
DOQUERY "revoke $RIGHT on dim_kreis from $GRANTEE;"
DOQUERY "revoke $RIGHT on dim_semester from $GRANTEE;"
if [ "$DATABASE" == "POSTGRES" ]
then

286
superx/WEB-INF/conf/edustore/db/install/conf/sx_fields_fuellen.sql

@ -23071,6 +23071,292 @@ values('dim_kreis', @@ -23071,6 +23071,292 @@ values('dim_kreis',
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'tid',
'Semester (Schlüssel)',
'',
'INTEGER',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'eintrag',
'Semester (Drucktext)',
'',
'VARCHAR',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'eintrag_kurz',
'Semester (Kurztext)',
'',
'VARCHAR',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'sem_beginn',
'Semesteranfang',
'',
'DATE',
'4',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'sem_ende',
'Semesterende',
'',
'DATE',
'4',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'semestertyp',
'Semester (Kurztext)',
'',
'INTEGER',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'vorsem',
'Vorsemester (Schlüssel)',
'',
'INTEGER',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'folgesem',
'Folgesemester (Schlüssel)',
'',
'INTEGER',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'folgesem_sem_beginn',
'Folgesemester Semesteranfang',
'',
'DATE',
'4',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'ist_zukunft',
'Ist zukünftig?',
'1=Ja,2=nein',
'SMALLINT',
'255',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'akad_jahr',
'Akad. Jahr',
'Def. STBA: WiSe + nachfolgendes SoSe (z.B. 2006 = 20062 + 20071)',
'INTEGER',
'4',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'akad_jahr_absolv',
'Akad. Jahr',
'Def. Sachsen Absolv.: vorheriges WiSe + SoSe (z.B. 2006 = 20052 + 20061)',
'INTEGER',
'4',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,
caption,
description,
field_type,
field_size,
field_not_null,
currentlyUsed,
check_integrity,
is_sum)
values('dim_semester',
'akad_jahr_anf',
'Akad. Jahr',
'Def. Sachsen Anfäger: SA Studienanfänger: SoSe + WiSe (z.B. 2006 = 20061 + 20062)',
'INTEGER',
'4',
0,
1,
0,
1);
insert into tmp_fields (
table_name,
name,

8
superx/WEB-INF/conf/edustore/db/install/conf/sx_tables_fuellen.sql

@ -1127,6 +1127,14 @@ values('dim_kreis','Landkreis','Landkreise', @@ -1127,6 +1127,14 @@ values('dim_kreis','Landkreis','Landkreise',
'Studierende',
0);
insert into tmp_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
values('dim_semester','Semester','',
'Schlüsseltabelle',
9,
9,
'Stammdaten verwalten',
0);
insert into tmp_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id)
values('dim_staat','Nationalität','Staaten ',
'Schlüsseltabelle',

1
superx/WEB-INF/conf/edustore/db/install/kern_drop_ids.sql

@ -19,7 +19,6 @@ drop procedure sp_user_themen(integer, date, smallint); @@ -19,7 +19,6 @@ drop procedure sp_user_themen(integer, date, smallint);
drop procedure string_not_null(char);
drop function date_str(date);
drop procedure val(char(255));
drop procedure decval(varchar(255));
drop procedure decval(char(255));
drop function sp_filter_orga(integer);
drop procedure sp_get_subquery_str(varchar, varchar, varchar, varchar, varchar, varchar);

2
superx/WEB-INF/conf/edustore/db/install/kern_drop_pg.sql

@ -51,8 +51,6 @@ drop function sp_user_themen(integer, date, smallint); @@ -51,8 +51,6 @@ drop function sp_user_themen(integer, date, smallint);
drop function val(varchar(255));
drop function val(integer);
drop function val(smallint);
drop function decval(varchar(255));
drop function decval(text);
drop function decval(char(255));
drop function sp_filter_orga(integer);
drop function sp_update_sequence(varchar(255));

29
superx/WEB-INF/conf/edustore/db/install/kern_install_ids.sql

@ -4056,21 +4056,8 @@ end procedure; @@ -4056,21 +4056,8 @@ end procedure;
--Funktion / Prozedur val
--Funktion / Prozedur val
--Funktion / Prozedur decval
create procedure decval(p_str varchar(255))
returning decimal(16,2);
return p_str::decimal(16,2);
end procedure;
--Funktion / Prozedur decval
--Funktion / Prozedur decval
create procedure decval(p_str char(255))
returning decimal(16,2);
return p_str::decimal(16,2);
end procedure;
--Funktion / Prozedur sp_filter_orga
! DOSQL $SUPERX_DIR/db/install/prozeduren/proc_decval_ids.sql
--Funktion / Prozedur sp_filter_orga
! DOSQL $SUPERX_DIR/db/install/prozeduren/proc_sp_filter_orga_ids.sql
--Funktion / Prozedur sp_update_sequence
--Funktion / Prozedur sp_bool_to_smallint
@ -5125,6 +5112,18 @@ insert into tmp_themenbaum @@ -5125,6 +5112,18 @@ insert into tmp_themenbaum
gueltig_bis)
values('Gastzugang einrichten','71770','Administration','01.01.1900','01.01.3000');
insert into tmp_themenbaum
( name ,maskeninfo_id, parentname,
gueltig_seit ,
gueltig_bis)
values('Datenblatt archivieren','71840','Datenmanagement','01.01.1900','01.01.3000');
insert into tmp_themenbaum
( name ,maskeninfo_id, parentname,
gueltig_seit ,
gueltig_bis)
values('Übersicht Datenblatt-Archiv','71860','Datenmanagement','01.01.1900','01.01.3000');
--gibt es die Maske schon?
delete from tmp_themenbaum where maskeninfo_id in (select T.maskeninfo_id from themenbaum T);

99
superx/WEB-INF/conf/edustore/db/install/kern_install_pg.sql

@ -4815,19 +4815,17 @@ kontinent, @@ -4815,19 +4815,17 @@ kontinent,
inl_ausl_kurz,
inl_ausl_lang) as
SELECT
apnr,
druck,
to_number(uniquename,'99999')::integer as astat,
level2_char as kontinent,
level1_char as inl_ausl_kurz,
level1_str as inl_ausl_lang
FROM dim_bp_apnr
where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_ca12_staat')
and apnr !=0 --nur für Abwärtskompatibilität zu FLEDA
;
select A.schluessel as apnr,
A.name as druck,
A.schluessel as astat,
K.name as kontinent,
case when A.schluessel=0 then 'I' else 'A' end as inl_ausl_kurz,
case when A.schluessel=0 then 'Inland' else 'Ausland' end as inl_ausl_lang
from k_astat_staat A left outer join k_astat_kontinent K
on (A.kontinent=K.schluessel)
;
select now(), 'Erzeuge View dim_stg';
@ -4940,6 +4938,55 @@ bland_astat) as @@ -4940,6 +4938,55 @@ bland_astat) as
WHERE
dimension_bp_id = (SELECT tid FROM dimension_bp WHERE apnr='bluep_hzbkfz')
;
select now(), 'Erzeuge View dim_semester';
create view dim_semester(
tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
ist_zukunft,
akad_jahr,
akad_jahr_absolv,
akad_jahr_anf) as
with tmp_semester as (select C.apnr as tid,
C.druck as eintrag,
C.kurz as eintrag_kurz, --TODO
C.d_akt_von as sem_beginn,
C.d_akt_bis as sem_ende,
val(substring('' || C.apnr from 5 for 1)) as semestertyp,
add_sem(C.apnr,-1) as vorsem,
add_sem(C.apnr,1) as folgesem,
(select C2.d_akt_von from cif C2 where C2.key=661
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn
from cif C
where key=661
)
select tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft,
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf
from tmp_semester
;
--Funktion / Prozedur sp_user_themen
\! DOSQL $SUPERX_DIR/db/install/prozeduren/proc_sp_user_themen_pg.sql
--Funktion / Prozedur sp_user_orga
@ -5098,18 +5145,8 @@ CREATE or replace FUNCTION val(integer) RETURNS integer STABLE @@ -5098,18 +5145,8 @@ CREATE or replace FUNCTION val(integer) RETURNS integer STABLE
CREATE or replace FUNCTION val(smallint) RETURNS integer STABLE
AS 'select $1::integer ' LANGUAGE sql;
--Funktion / Prozedur decval
CREATE or replace FUNCTION decval(varchar(255)) RETURNS numeric(16,2) STABLE
AS 'select $1::numeric where trim($1) !='''' ' LANGUAGE sql;
--Funktion / Prozedur decval
CREATE or replace FUNCTION decval(text) RETURNS numeric(16,2) STABLE
AS 'select $1::numeric where trim($1) !='''' ' LANGUAGE sql;
--Funktion / Prozedur decval
CREATE or replace FUNCTION decval(char(255)) RETURNS numeric(16,2) STABLE
AS 'select $1::numeric where trim($1) !='''' ' LANGUAGE sql;
--Funktion / Prozedur sp_filter_orga
\! DOSQL $SUPERX_DIR/db/install/prozeduren/proc_decval_pg.sql
--Funktion / Prozedur sp_filter_orga
\! DOSQL $SUPERX_DIR/db/install/prozeduren/proc_sp_filter_orga_pg.sql
--Funktion / Prozedur sp_update_sequence
\! DOSQL $SUPERX_DIR/db/install/prozeduren/proc_sp_update_sequence_pg.sql
@ -6124,6 +6161,18 @@ insert into tmp_themenbaum @@ -6124,6 +6161,18 @@ insert into tmp_themenbaum
gueltig_bis)
values('Gastzugang einrichten','71770','Administration',date_val('01.01.1900'),date_val('01.01.3000'));
insert into tmp_themenbaum
( name ,maskeninfo_id, parentname,
gueltig_seit ,
gueltig_bis)
values('Datenblatt archivieren','71840','Datenmanagement',date_val('01.01.1900'),date_val('01.01.3000'));
insert into tmp_themenbaum
( name ,maskeninfo_id, parentname,
gueltig_seit ,
gueltig_bis)
values('Übersicht Datenblatt-Archiv','71860','Datenmanagement',date_val('01.01.1900'),date_val('01.01.3000'));
--gibt es die Maske schon?
delete from tmp_themenbaum where maskeninfo_id in (select T.maskeninfo_id from themenbaum T);

1
superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade.x

@ -61,7 +61,6 @@ DOQUERY "drop procedure now();" >/dev/null 2>&1 @@ -61,7 +61,6 @@ DOQUERY "drop procedure now();" >/dev/null 2>&1
DOQUERY "drop procedure string_not_null(char);" >/dev/null 2>&1
DOQUERY "drop function date_str(date);" >/dev/null 2>&1
DOQUERY "drop procedure val(char(255));" >/dev/null 2>&1
DOQUERY "drop procedure decval(varchar(255));" >/dev/null 2>&1
DOQUERY "drop procedure decval(char(255));" >/dev/null 2>&1
DOQUERY "drop function sp_filter_orga(integer);" >/dev/null 2>&1
DOQUERY "drop procedure sp_get_subquery_str(varchar, varchar, varchar, varchar, varchar, varchar);" >/dev/null 2>&1

17
superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_functions_ids.sql

@ -90,21 +90,8 @@ end procedure; @@ -90,21 +90,8 @@ end procedure;
--Funktion / Prozedur val
--Funktion / Prozedur val
--Funktion / Prozedur decval
create procedure decval(p_str varchar(255))
returning decimal(16,2);
return p_str::decimal(16,2);
end procedure;
--Funktion / Prozedur decval
--Funktion / Prozedur decval
create procedure decval(p_str char(255))
returning decimal(16,2);
return p_str::decimal(16,2);
end procedure;
--Funktion / Prozedur sp_filter_orga
! DOSQL $SUPERX_DIR/db/install/prozeduren/proc_decval_ids.sql
--Funktion / Prozedur sp_filter_orga
! DOSQL $SUPERX_DIR/db/install/prozeduren/proc_sp_filter_orga_ids.sql
--Funktion / Prozedur sp_update_sequence
--Funktion / Prozedur sp_bool_to_smallint

14
superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_functions_pg.sql

@ -158,18 +158,8 @@ CREATE or replace FUNCTION val(integer) RETURNS integer STABLE @@ -158,18 +158,8 @@ CREATE or replace FUNCTION val(integer) RETURNS integer STABLE
CREATE or replace FUNCTION val(smallint) RETURNS integer STABLE
AS 'select $1::integer ' LANGUAGE sql;
--Funktion / Prozedur decval
CREATE or replace FUNCTION decval(varchar(255)) RETURNS numeric(16,2) STABLE
AS 'select $1::numeric where trim($1) !='''' ' LANGUAGE sql;
--Funktion / Prozedur decval
CREATE or replace FUNCTION decval(text) RETURNS numeric(16,2) STABLE
AS 'select $1::numeric where trim($1) !='''' ' LANGUAGE sql;
--Funktion / Prozedur decval
CREATE or replace FUNCTION decval(char(255)) RETURNS numeric(16,2) STABLE
AS 'select $1::numeric where trim($1) !='''' ' LANGUAGE sql;
--Funktion / Prozedur sp_filter_orga
\! DOSQL $SUPERX_DIR/db/install/prozeduren/proc_decval_pg.sql
--Funktion / Prozedur sp_filter_orga
\! DOSQL $SUPERX_DIR/db/install/prozeduren/proc_sp_filter_orga_pg.sql
--Funktion / Prozedur sp_update_sequence
\! DOSQL $SUPERX_DIR/db/install/prozeduren/proc_sp_update_sequence_pg.sql

60
superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_themenbaum.sql

@ -1739,6 +1739,66 @@ select @@ -1739,6 +1739,66 @@ select
delete from tmp_themenbaum;
insert into tmp_themenbaum(
name,
maskeninfo_id,
gueltig_seit,
gueltig_bis)
select 'Datenblatt archivieren'::char(255),71840,
date_val('01.01.1900'),date_val('30.09.2999')
from xdummy;
delete from tmp_themenbaum where 0 <
(select count(*) from themenbaum where maskeninfo_id=71840);
update tmp_themenbaum set parent=(select max(tid) from themenbaum where name='Datenmanagement');
insert into themenbaum(
name,
maskeninfo_id,
parent,
gueltig_seit,
gueltig_bis,
erlaeuterung)
select
name,
maskeninfo_id,
parent,
gueltig_seit,
gueltig_bis,
erlaeuterung
from tmp_themenbaum;
delete from tmp_themenbaum;
insert into tmp_themenbaum(
name,
maskeninfo_id,
gueltig_seit,
gueltig_bis)
select 'Übersicht Datenblatt-Archiv'::char(255),71860,
date_val('01.01.1900'),date_val('30.09.2999')
from xdummy;
delete from tmp_themenbaum where 0 <
(select count(*) from themenbaum where maskeninfo_id=71860);
update tmp_themenbaum set parent=(select max(tid) from themenbaum where name='Datenmanagement');
insert into themenbaum(
name,
maskeninfo_id,
parent,
gueltig_seit,
gueltig_bis,
erlaeuterung)
select
name,
maskeninfo_id,
parent,
gueltig_seit,
gueltig_bis,
erlaeuterung
from tmp_themenbaum;
delete from tmp_themenbaum;
drop table tmp_themenbaum;
<#if SQLdialect='Postgres'>

162
superx/WEB-INF/conf/edustore/db/install/upgrade/kern_upgrade_views_pg.sql

@ -18,7 +18,8 @@ select relname,relname as tabelle from pg_class where relname::varchar(200) in ( @@ -18,7 +18,8 @@ select relname,relname as tabelle from pg_class where relname::varchar(200) in (
'dim_abschluss',
'dim_kost',
'dim_kotr',
'dim_kreis') UNION
'dim_kreis',
'dim_semester') UNION
SELECT N.nspname||'.'||C.relname as relname, N.nspname||'.'||C.relname as tabelle
FROM pg_class C, pg_namespace N
WHERE N.oid = C.relnamespace and N.nspname||'.'||C.relname in ('user_groups',
@ -35,7 +36,8 @@ WHERE N.oid = C.relnamespace and N.nspname||'.'||C.relname in ('user_groups', @@ -35,7 +36,8 @@ WHERE N.oid = C.relnamespace and N.nspname||'.'||C.relname in ('user_groups',
'dim_abschluss',
'dim_kost',
'dim_kotr',
'dim_kreis'
'dim_kreis',
'dim_semester'
);</sqlvar>
</sqlvars>
@ -437,19 +439,17 @@ kontinent, @@ -437,19 +439,17 @@ kontinent,
inl_ausl_kurz,
inl_ausl_lang) as
SELECT
apnr,
druck,
to_number(uniquename,'99999')::integer as astat,
level2_char as kontinent,
level1_char as inl_ausl_kurz,
level1_str as inl_ausl_lang
FROM dim_bp_apnr
where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_ca12_staat')
and apnr !=0 --nur für Abwärtskompatibilität zu FLEDA
;
select A.schluessel as apnr,
A.name as druck,
A.schluessel as astat,
K.name as kontinent,
case when A.schluessel=0 then 'I' else 'A' end as inl_ausl_kurz,
case when A.schluessel=0 then 'Inland' else 'Ausland' end as inl_ausl_lang
from k_astat_staat A left outer join k_astat_kontinent K
on (A.kontinent=K.schluessel)
;
</#if>
@ -615,6 +615,65 @@ bland_astat) as @@ -615,6 +615,65 @@ bland_astat) as
</#if>
<#if views?seq_contains("dim_semester") >
select now(), 'view dim_semester exists - fine';
<#else>
select now(), 'Erzeuge View dim_semester';
create view dim_semester(
tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
ist_zukunft,
akad_jahr,
akad_jahr_absolv,
akad_jahr_anf) as
with tmp_semester as (select C.apnr as tid,
C.druck as eintrag,
C.kurz as eintrag_kurz, --TODO
C.d_akt_von as sem_beginn,
C.d_akt_bis as sem_ende,
val(substring('' || C.apnr from 5 for 1)) as semestertyp,
add_sem(C.apnr,-1) as vorsem,
add_sem(C.apnr,1) as folgesem,
(select C2.d_akt_von from cif C2 where C2.key=661
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn
from cif C
where key=661
)
select tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft,
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf
from tmp_semester
;
</#if>
<#else>
@ -911,19 +970,17 @@ kontinent, @@ -911,19 +970,17 @@ kontinent,
inl_ausl_kurz,
inl_ausl_lang) as
SELECT
apnr,
druck,
to_number(uniquename,'99999')::integer as astat,
level2_char as kontinent,
level1_char as inl_ausl_kurz,
level1_str as inl_ausl_lang
FROM dim_bp_apnr
where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_ca12_staat')
and apnr !=0 --nur für Abwärtskompatibilität zu FLEDA
;
select A.schluessel as apnr,
A.name as druck,
A.schluessel as astat,
K.name as kontinent,
case when A.schluessel=0 then 'I' else 'A' end as inl_ausl_kurz,
case when A.schluessel=0 then 'Inland' else 'Ausland' end as inl_ausl_lang
from k_astat_staat A left outer join k_astat_kontinent K
on (A.kontinent=K.schluessel)
;
select now(), 'Erzeuge View dim_stg';
@ -1037,4 +1094,53 @@ bland_astat) as @@ -1037,4 +1094,53 @@ bland_astat) as
dimension_bp_id = (SELECT tid FROM dimension_bp WHERE apnr='bluep_hzbkfz')
;
select now(), 'Erzeuge View dim_semester';
create view dim_semester(
tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
ist_zukunft,
akad_jahr,
akad_jahr_absolv,
akad_jahr_anf) as
with tmp_semester as (select C.apnr as tid,
C.druck as eintrag,
C.kurz as eintrag_kurz, --TODO
C.d_akt_von as sem_beginn,
C.d_akt_bis as sem_ende,
val(substring('' || C.apnr from 5 for 1)) as semestertyp,
add_sem(C.apnr,-1) as vorsem,
add_sem(C.apnr,1) as folgesem,
(select C2.d_akt_von from cif C2 where C2.key=661
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn
from cif C
where key=661
)
select tid,
eintrag,
eintrag_kurz,
sem_beginn,
sem_ende,
semestertyp,
vorsem,
folgesem,
folgesem_sem_beginn,
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft,
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv,
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf
from tmp_semester
;
</#if>

23
superx/WEB-INF/kern_dbforms-config_pg.xml

@ -1983,6 +1983,29 @@ @@ -1983,6 +1983,29 @@
<field name="bland_kurz" description="Abkz. Bundesland" fieldType="varchar" size="" isKey="" sortable=""/>
<field name="bland_astat" description="Amtl. Schlüssel Bundesland" fieldType="varchar" size="" isKey="" sortable=""/>
</table>
<table name="dim_semester">
<field name="tid" description="Semester (Schlüssel)" fieldType="int" size="6" isKey="" sortable=""/>
<field name="eintrag" description="Semester (Drucktext)" fieldType="varchar" size="255" isKey="" sortable=""/>
<field name="eintrag_kurz" description="Semester (Kurztext)" fieldType="varchar" size="255" isKey="" sortable=""/>
<field name="sem_beginn" description="Semesteranfang" fieldType="date" size="4" isKey="" sortable=""/>
<field name="sem_ende" description="Semesterende" fieldType="date" size="4" isKey="" sortable=""/>
<field name="semestertyp" description="Semester (Kurztext)" fieldType="int" size="6" isKey="" sortable=""/>
<field name="vorsem" description="Vorsemester (Schlüssel)" fieldType="int" size="6" isKey="" sortable=""/>
<field name="folgesem" description="Folgesemester (Schlüssel)" fieldType="int" size="6" isKey="" sortable=""/>
<field name="folgesem_sem_beginn" description="Folgesemester Semesteranfang" fieldType="date" size="4" isKey="" sortable=""/>
<field name="ist_zukunft" description="Ist zukünftig?" fieldType="int" size="6" isKey="" defaultValue="0" sortable="">
<comment>1=Ja,2=nein</comment>
</field>
<field name="akad_jahr" description="Akad. Jahr" fieldType="int" size="6" isKey="" sortable="">
<comment>Def. STBA: WiSe + nachfolgendes SoSe (z.B. 2006 = 20062 + 20071)</comment>
</field>
<field name="akad_jahr_absolv" description="Akad. Jahr" fieldType="int" size="6" isKey="" sortable="">
<comment>Def. Sachsen Absolv.: vorheriges WiSe + SoSe (z.B. 2006 = 20052 + 20061)</comment>
</field>
<field name="akad_jahr_anf" description="Akad. Jahr" fieldType="int" size="6" isKey="" sortable="">
<comment>Def. Sachsen Anfäger: SA Studienanfänger: SoSe + WiSe (z.B. 2006 = 20061 + 20062)</comment>
</field>
</table>
<table name="dim_staat">
<field name="apnr" description="Laufnummer des Staates" fieldType="int" size="6" isKey="" sortable=""/>
<field name="druck" description="Staat" fieldType="char" size="10" isKey="" sortable=""/>

4
superx/xml/nd_templates.xsl

@ -4034,10 +4034,10 @@ function exportTreeContents(what) { @@ -4034,10 +4034,10 @@ function exportTreeContents(what) {
<input type="button" id="treealldata" class="clsButtonStyle" onclick="exportandhideRptaDlg('all rows')" value="Alle Daten"></input>&#160;-->
</xsl:if>
<tr><td width="30%">Exportformat</td>
<td width="30%"><input type="radio" class="maskinput" name="dlg_exportformat" id="dlg_exportformat1" value="classic" title="Unformatiert" />
<td width="30%"><input type="radio" class="maskinput" name="dlg_exportformat" checked="true" id="dlg_exportformat1" value="classic" title="Unformatiert" />
&#160;<label for="dlg_exportformat1">Unformatiert</label></td>
<td width="30%">
<input type="radio" class="maskinput" name="dlg_exportformat" id="dlg_exportformat2" value="rpta" checked="true" title="Formatiert" />
<input type="radio" class="maskinput" name="dlg_exportformat" id="dlg_exportformat2" value="rpta" title="Formatiert" />
&#160;<label for="dlg_exportformat2">Formatiert</label>
<br />
<select name="RPTPageFormat" id="RPTPageFormat">

Loading…
Cancel
Save