From 481f961f92a9bfee670a5bf221f6c3e5fc5d61bc Mon Sep 17 00:00:00 2001 From: Daniel Quathamer Date: Mon, 10 Nov 2025 08:59:01 +0100 Subject: [PATCH] =?UTF-8?q?Captions=20f=C3=BCr=20Datenquelle=20destatis=20?= =?UTF-8?q?/=20IT-NRW=20#4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src-modules/module/sxc/conf/sxc.xml | 2 + .../module/sxc/masken/47000_maskeninfo.unl | 2 +- .../module/sxc/masken/47030_maskeninfo.unl | 2 +- .../module/sxc/masken/47090_felderinfo.unl | 2 +- .../module/sxc/masken/47090_maskeninfo.unl | 2 +- .../module/sxc/masken/47140_maskeninfo.unl | 2 +- ...yout_sxc_stud_geschl_zeitreihe_fuellen.sql | 2 +- .../schluesseltabellen/sichten_fuellen.sql | 2 +- .../sx_captions_fuellen.sql | 121 ++++++++++++++++++ src-modules/module/sxc/sxc_update.x | 65 ++++++++++ 10 files changed, 195 insertions(+), 7 deletions(-) create mode 100644 src-modules/module/sxc/schluesseltabellen/sx_captions_fuellen.sql create mode 100644 src-modules/module/sxc/sxc_update.x diff --git a/src-modules/module/sxc/conf/sxc.xml b/src-modules/module/sxc/conf/sxc.xml index eaa66a6..d8c6885 100644 --- a/src-modules/module/sxc/conf/sxc.xml +++ b/src-modules/module/sxc/conf/sxc.xml @@ -937,6 +937,7 @@ parent="SuperX-Connect">Abfragen zur Administration von SuperX-Connect + @@ -984,6 +985,7 @@ parent="SuperX-Connect">Abfragen zur Administration von SuperX-Connect + diff --git a/src-modules/module/sxc/masken/47000_maskeninfo.unl b/src-modules/module/sxc/masken/47000_maskeninfo.unl index 5307fe6..5b0b00f 100644 --- a/src-modules/module/sxc/masken/47000_maskeninfo.unl +++ b/src-modules/module/sxc/masken/47000_maskeninfo.unl @@ -126,4 +126,4 @@ Column CID=2 heading_text="Studierende nach Nationalität\\000Ausland\\n(graphis Column CID=3 heading_text="Studierende nach Nationalität\\000Anteil Ausland in %" explanation="" center_heading\ row_selectable col_selectable rightJust heading_platform readonly\ width=8\ -@@@^Semester^Anzahl^je Semester mit Geschlechtsangabe und Prozentwert^drop table tmp_studis2;^-leer-^3^700^360^0^1^<> select distinct 'Quelle: Destatis Tabelle ' || statistik_label || '(' || statistik_code || ')' from sxc_stud_sem_da_geschl_hs^ +@@@^Semester^Anzahl^Studierende je Semester mit Geschlechtsangabe und Prozentwert. Quelle der Daten: @@@destatis_21311@@@^drop table tmp_studis2;^-leer-^3^700^360^0^1^<> select distinct 'Quelle: Destatis Tabelle ' || statistik_label || '(' || statistik_code || ')' from sxc_stud_sem_da_geschl_hs^ diff --git a/src-modules/module/sxc/masken/47030_maskeninfo.unl b/src-modules/module/sxc/masken/47030_maskeninfo.unl index bebc8d4..455210f 100644 --- a/src-modules/module/sxc/masken/47030_maskeninfo.unl +++ b/src-modules/module/sxc/masken/47030_maskeninfo.unl @@ -444,4 +444,4 @@ Column CID=1 heading_text="${spalte.name}" center_heading\ row_selectable heading_platform readonly explanation="Ausprägung ${spalte.name}"\ width=12\ \ -@@@^Altersgruppe^Anzahl^Kreuztabellen zu Studierendenzahlen^drop table tmp_erg;drop table tmp_cellmax;^ ^1^700^360^0^1^ ^ +@@@^Altersgruppe^Anzahl^Kreuztabellen zu Studierendenzahlen. Quelle der Daten: @@@destatis_21311@@@^drop table tmp_erg;drop table tmp_cellmax;^ ^1^700^360^0^1^ ^ diff --git a/src-modules/module/sxc/masken/47090_felderinfo.unl b/src-modules/module/sxc/masken/47090_felderinfo.unl index 97d778c..b7d81d1 100644 --- a/src-modules/module/sxc/masken/47090_felderinfo.unl +++ b/src-modules/module/sxc/masken/47090_felderinfo.unl @@ -1,4 +1,4 @@ -47090^Hochschule^10^0^0^100^150^1^char^30^1^12^<> select tid, type, name,sortnr from sichten where art in('SXC-Kostenstellen-Sicht') and aktiv=1 order by sortnr, name;^^ ^ +47090^Hochschule^10^0^0^100^150^1^char^30^0^12^<> select tid, type, name,sortnr from sichten where art in('SXC_Hochschulen-Sicht') and name_intern like 'sxc_hochschulen_nrw%' and aktiv=1 order by sortnr, name;^^ ^ 47091^Semester^1^0^0^130^80^1^integer^30^0^1^<> select tid,druck from kenn_semester order by tid DESC;^^<> select tid,druck from kenn_semester where today() between sem_beginn and sem_ende;^ 47092^Abschluss^40^0^0^100^200^5^char^30^0^1^<> select astat, dtxt from kenn_abschl_astat where struktur_c='Abschluss (amtlich)' order by 2;^^^ 47093^Hochschulart^15^0^0^170^200^1^integer^30^0^1^<> select laufnummer,bezeichnung from sxc_hsk_hochschultypen order by 1^ ^ ^ diff --git a/src-modules/module/sxc/masken/47090_maskeninfo.unl b/src-modules/module/sxc/masken/47090_maskeninfo.unl index 9ad9af6..0e19e2d 100644 --- a/src-modules/module/sxc/masken/47090_maskeninfo.unl +++ b/src-modules/module/sxc/masken/47090_maskeninfo.unl @@ -78,4 +78,4 @@ Column CID=2 heading_text="Studienform" explanation="" center_heading\ Column CID=2 heading_text="Studiumstyp" explanation="" center_heading\ row_selectable col_selectable rightJust heading_platform readonly\ width=8\ -@@@^Semester^Anzahl^je Semester mit Geschlechtsangabe und Prozentwert^ ^-leer-^3^700^360^0^1^Quelle: https://www.it.nrw/system/files/media/document/file/studienfachmerkmalskombination_internetversion.xlsx^ +@@@^Semester^Anzahl^Studienfachs-Merkmalskombinationen NRW, Quelle der Daten: @@@it_nrw.hs_stat@@@^ ^-leer-^3^700^360^0^1^ ^ diff --git a/src-modules/module/sxc/masken/47140_maskeninfo.unl b/src-modules/module/sxc/masken/47140_maskeninfo.unl index 0d32d6a..da3662e 100644 --- a/src-modules/module/sxc/masken/47140_maskeninfo.unl +++ b/src-modules/module/sxc/masken/47140_maskeninfo.unl @@ -477,4 +477,4 @@ Column CID=0 heading_text="sortnr" center_heading explanation=""\ row_selectable heading_platform readonly\ width=5 text_size=60\ \ -@@@^Studienfach^Anzahl bzw. Anteil^Studierende und Anteil weiblicher Studierender als Zeitreihe mit Frauenanteil eigene Hochschule zu anderen Hochschulen^select cleanup_stmt from maskeninfo where tid=48000^^2^850^540^^1^<>SELECT description FROM rpta_column_layout where tid=<>;^ +@@@^Studienfach^Anzahl bzw. Anteil^Studierende und Anteil weiblicher Studierender als Zeitreihe mit Frauenanteil eigene Hochschule zu anderen Hochschulen. Quelle der Vergleichszahlen: @@@destatis_21311@@@^select cleanup_stmt from maskeninfo where tid=48000^^2^850^540^^1^<>SELECT description FROM rpta_column_layout where uniquename=<>;^ diff --git a/src-modules/module/sxc/schluesseltabellen/rpta_column_layout_sxc_stud_geschl_zeitreihe_fuellen.sql b/src-modules/module/sxc/schluesseltabellen/rpta_column_layout_sxc_stud_geschl_zeitreihe_fuellen.sql index 0e3550d..8f24bb1 100644 --- a/src-modules/module/sxc/schluesseltabellen/rpta_column_layout_sxc_stud_geschl_zeitreihe_fuellen.sql +++ b/src-modules/module/sxc/schluesseltabellen/rpta_column_layout_sxc_stud_geschl_zeitreihe_fuellen.sql @@ -10,7 +10,7 @@ select count(*) from systeminfo where tid=330; "caption":"Studierende nach Geschlecht (Hochschulvergleich)", "rpta_resultset":"sos_stud_astat", "whereclause":"", -"description":"Studierende nach Geschlecht mit Anteil, im Vergleich mit anderen Hochschulen", +"description":"Studierende nach Geschlecht mit Anteil, im Vergleich mit anderen Hochschulen.", "sortclause":"sem_rueck_beur_ein desc" } /> diff --git a/src-modules/module/sxc/schluesseltabellen/sichten_fuellen.sql b/src-modules/module/sxc/schluesseltabellen/sichten_fuellen.sql index d0fd4df..e8e523b 100644 --- a/src-modules/module/sxc/schluesseltabellen/sichten_fuellen.sql +++ b/src-modules/module/sxc/schluesseltabellen/sichten_fuellen.sql @@ -17,7 +17,7 @@ select setval('sichten_tid_seq',(select max(tid) from sichten)); "name":"NRW-Hochschulen Liste", "quelle":"<> select (case when struktur_str=''Hochschule'' then trim(kurztext) || '' - '' || trim(druck) else kurztext end) as name , - apnr, parent, ebene from sxc_hochschulen_nrw_liste + apnr, parent, ebene from sxc_hochschulen_liste where struktur_str != ''Hochschule'' or apnr in (select hs_nr from sxc_hochschulen HB where HB.hsk_bundesland::text = ''Nordrhein-Westfalen''::text) order by 1", "art":"SXC_Hochschulen-Sicht", diff --git a/src-modules/module/sxc/schluesseltabellen/sx_captions_fuellen.sql b/src-modules/module/sxc/schluesseltabellen/sx_captions_fuellen.sql new file mode 100644 index 0000000..8be586c --- /dev/null +++ b/src-modules/module/sxc/schluesseltabellen/sx_captions_fuellen.sql @@ -0,0 +1,121 @@ +--freemarker template +<#if SQLdialect='Postgres'> +select setval('sx_captions_tid_seq',(select max(tid) from sx_captions)); + +<#assign sachgebiete_id="360" /> +<#assign table_name="" /> +<#assign locale="de" /> +<#assign sx_captions = [ +{"id":"destatis_21311", + "contents_short":"Statistik der Studierenden (21311)", + "contents_long":"Destatis: Statistik der Studierenden (21311)", + "doku_link":"", + "export_to_glossar":"0"} , +{"id":"it_nrw.hs_stat", + "contents_short":"IT-NRW Hochschulstatistik", + "contents_long":"IT-NRW Hochschulstatistik", + "doku_link":"", + "export_to_glossar":"0"} + ] /> + + --Ab hier braucht man nichts ändern: +CREATE TEMP TABLE tmp_sx_captions +( + id char(200), + table_name char(200), + field_name char(200), + record_no integer, + locale char(10), + contents_short char(255), + contents_long text, + equalitystatus smallint, + sachgebiete_id integer, + doku_link varchar(255), + export_to_glossar integer +); +<#foreach caption in sx_captions> +delete from tmp_sx_captions; + +insert into tmp_sx_captions +( + id, + table_name, + field_name, + record_no, + locale, + contents_short, + contents_long, + equalitystatus, + doku_link, + export_to_glossar, + sachgebiete_id + +) +select +<#if caption.id?exists> +'${caption.id}', +<#else> +null::varchar(255), + +<#if caption.table_name?exists> +'${caption.table_name}', +<#else> +null::varchar(255), + +<#if caption.field_name?exists> +'${caption.field_name}', +<#else> +null::varchar(255), + +null, +'${locale}', +'${caption.contents_short}', +'${caption.contents_long}', +null, +<#if caption.doku_link?exists> +'${caption.doku_link}', +<#else> +null::varchar(255), + +${caption.export_to_glossar}, +${sachgebiete_id} +from xdummy; + +<#if caption.table_name?exists> +delete from sx_captions where table_name = '${caption.table_name}' and field_name = '${caption.field_name}'; +<#else> +delete from sx_captions where id = '${caption.id}' ; + +insert into sx_captions +( + id, + table_name, + field_name, + record_no, + locale, + contents_short, + contents_long, + equalitystatus, + doku_link, + export_to_glossar, + sachgebiete_id +) +select + id, + table_name, + field_name, + record_no, + locale, + contents_short, + contents_long, + equalitystatus, + doku_link, + export_to_glossar::integer, + sachgebiete_id +from tmp_sx_captions; + + + +drop table tmp_sx_captions; + + diff --git a/src-modules/module/sxc/sxc_update.x b/src-modules/module/sxc/sxc_update.x new file mode 100644 index 0000000..bb58965 --- /dev/null +++ b/src-modules/module/sxc/sxc_update.x @@ -0,0 +1,65 @@ +#!/bin/bash + +#Arbeitsverzeichnis fuer crontab +PFAD=$2 +if [ "$PFAD" != "" ] +then + +cd $PFAD + +fi +#Umgebung einlesen: +if [ "$SXC_PFAD" = "" ] +then +echo "ACHTUNG: Die Umgebungsvariable SXC_PFAD ist nicht gesetzt. Bitte prüfen Sie $SUPERX_DIR/db/bin/SQL_ENV" + +exit 1 + +fi +if [ "$SXC_ERRORMAIL" != "" ] +then +ERRORMAIL=$SXC_ERRORMAIL +export ERRORMAIL +fi +if [ "$SXC_LOGMAIL" != "" ] +then +LOGMAIL=$SXC_LOGMAIL +export LOGMAIL +fi +if [ "$SXC_BACKUP" != "" ] +then +MODULE_BACKUP=$SXC_BACKUP +export MODULE_BACKUP +fi + +#hier geht es los +#runAndCheck.x path command (EXIT_ON_ERROR|CONT_ON_ERROR) (SEND_ERRORMAIL|NO_ERRORMAIL) (SEND_LOGMAIL|NO_LOGMAIL) [description] " +echo "sxc-Update startet" >$SXC_ERRORDAT +#Tagesdatum für Systeminfo +date +'%d.%m.%Y' > $SXC_LOAD_PFAD/superx.datum + +runAndCheck.x $SXC_PFAD "module_etl.x sxc $SXC_PFAD $SXC_LOAD_PFAD" EXIT_ON_ERROR SEND_ERRORMAIL SEND_LOGMAIL "SXC update$MANDANTID" +cat $SXC_PFAD/L_SXC_update$MANDANTID.log >>$SXC_ERRORDAT + + +fgrep -s "not found" $SXC_ERRORDAT +FLAG1=$? +fgrep -i -s "error" $SXC_ERRORDAT +FLAG2=$? +fgrep -i -s "nicht gefunden" $SXC_ERRORDAT +FLAG3=$? +if [ $FLAG1 -eq 0 -o $FLAG2 -eq 0 -o $FLAG3 -eq 0 ] +then + echo "Fehler beim SXC-Update " + echo "---------------------------------------" + echo "Fehlerprotokoll in $SXC_ERRORDAT" + echo "---------------------------------------" + cp $SXC_LOAD_PFAD/superx.datum.alt $SXC_LOAD_PFAD/superx.datum +else + echo "SXC-Update erfolgreich" +fi + +echo "---------------------------Beginn Prüfroutine-----------------------------------" >>$SXC_ERRORDAT +#cat $SXC_PFAD/L_sxc_Test$MANDANTID.log >>$SXC_ERRORDAT +pruefmail.x $SXC_PFAD/L_sxc_Test$MANDANTID.log $ERRORMAIL +