From 1c476a43ed12ce2a50370d4e515134e4da4b0ead Mon Sep 17 00:00:00 2001 From: Daniel Quathamer Date: Wed, 24 Aug 2022 10:36:09 +0200 Subject: [PATCH] =?UTF-8?q?Geschlossene=20TSG=20Korrektur=20bei=20abweiche?= =?UTF-8?q?nden=20MSG=20erg=C3=A4nzen/Statusupdate=20#3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src-modules/module/costage/conf/costage.xml | 10 ++- src-modules/module/costage/costage_update.x | 67 +++++++++++++++++++ .../costage_st_studien_aggr_fuellen.sql | 53 ++++++++++----- .../costage/rohdaten/costage_unload.xml | 10 +-- .../costage/rohdaten/sos_costage_unload.xml | 24 +++++++ .../schluesseltabellen/konstanten_fuellen.sql | 14 ++-- 6 files changed, 150 insertions(+), 28 deletions(-) create mode 100755 src-modules/module/costage/costage_update.x diff --git a/src-modules/module/costage/conf/costage.xml b/src-modules/module/costage/conf/costage.xml index ac4be6c..c22ad2e 100644 --- a/src-modules/module/costage/conf/costage.xml +++ b/src-modules/module/costage/conf/costage.xml @@ -129,6 +129,8 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> + + @@ -144,6 +146,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> + @@ -458,11 +461,11 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> Lookup via: st_studstamm_nr - costage_bw_bewerbungen.st_studstamm_nr - costage_bw_bewerbungen.nr - costage_bw_bewerb_hzb.bw_bewrbng_nr - costage_bw_bewerb_hzb.st_land_nr - costage_st_laender.land_nr - + Lookup via: st_studium_nr/st_sem_nr - costage_st_personen_abmeldungen.st_studium_nr/st_sem_nr - costage_st_semester.semester_tid / costage_st_abmeldungsarten.bezug='P' - + Lookup via: st_studium_nr/st_sem_nr - costage_st_personen_abmeldungen.st_studium_nr/st_sem_nr - costage_st_semester.semester_tid / costage_st_abmeldungsarten.bezug='S' @@ -1333,6 +1336,7 @@ gueltig_bis DATE + @@ -1371,7 +1375,7 @@ gueltig_bis DATE - + diff --git a/src-modules/module/costage/costage_update.x b/src-modules/module/costage/costage_update.x new file mode 100755 index 0000000..4c19dcf --- /dev/null +++ b/src-modules/module/costage/costage_update.x @@ -0,0 +1,67 @@ +#!/bin/bash + +#Arbeitsverzeichnis fuer crontab +PFAD=$2 +if [ "$PFAD" != "" ] +then + +cd $PFAD + +fi +#Umgebung einlesen: +if [ "$COSTAGE_PFAD" = "" ] +then +echo "ACHTUNG: Die Umgebungsvariable COSTAGE_PFAD ist nicht gesetzt. Bitte prüfen Sie $SUPERX_DIR/db/bin/SQL_ENV" + +exit 1 + +fi +if [ "$COSTAGE_ERRORMAIL" != "" ] +then +ERRORMAIL=$COSTAGE_ERRORMAIL +export ERRORMAIL +fi +if [ "$COSTAGE_LOGMAIL" != "" ] +then +LOGMAIL=$COSTAGE_LOGMAIL +export LOGMAIL +fi +if [ "$COSTAGE_BACKUP" != "" ] +then +MODULE_BACKUP=$COSTAGE_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 "costage-Update startet" >$COSTAGE_ERRORDAT + +runAndCheck.x $COSTAGE_PFAD "module_etl.x costage $COSTAGE_PFAD $COSTAGE_LOAD_PFAD" EXIT_ON_ERROR SEND_ERRORMAIL SEND_LOGMAIL "COSTAGE update$MANDANTID" + +echo "---------------------------Beginn Prüfroutine-----------------------------------" >>$COSTAGE_ERRORDAT +cat $COSTAGE_PFAD/L_COSTAGE_update$MANDANTID.log >>$COSTAGE_ERRORDAT + +pruefmail.x $COSTAGE_PFAD/L_costage_Test$MANDANTID.log $ERRORMAIL + + +#Bei Fehlern Datum zurücksetzen: +fgrep -s "not found" $COSTAGE_ERRORDAT +FLAG1=$? +fgrep -i -s "error" $COSTAGE_ERRORDAT +FLAG2=$? +fgrep -i -s "nicht gefunden" $COSTAGE_ERRORDAT +FLAG3=$? +fgrep -i -s "fehler" $COSTAGE_ERRORDAT +FLAG4=$? + +if [ $FLAG1 -eq 0 -o $FLAG2 -eq 0 -o $FLAG3 -eq 0 -o $FLAG4 -eq 0 ] +then + echo "Fehler beim COSTAGE-Update " + echo "---------------------------------------" + echo "Fehlerprotokoll in $COSTAGE_ERRORDAT" + echo "Das Datum wird zurückgesetzt. Kopieren Sie die Datei superx.datum ggf. auf den COSTAGE-Rechner" + echo "---------------------------------------" + cp $COSTAGE_LOAD_PFAD/superx.datum.alt $COSTAGE_LOAD_PFAD/superx.datum +else + echo "COSTAGE-Update erfolgreich" +fi + diff --git a/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql b/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql index fbb7a68..4ed1931 100644 --- a/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql +++ b/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql @@ -92,6 +92,12 @@ where tmp_studien.st_studstamm_nr = BW.st_studstamm_nr and BW.nr=H.bw_bewrbng_nr ; +create index tmp_ix1 on tmp_studien(st_studiengang_nr); +create index tmp_ix2 on tmp_studien(st_studstamm_nr); +create index tmp_ix3 on tmp_studien(studiengangs_typ_kb); +create index tmp_ix4 on tmp_studien(st_sem_nr); +create index tmp_ix5 on tmp_studien(status_historie); + select T.*,1::smallint as primaerflag into temp tmp_studien2 @@ -116,7 +122,7 @@ on (H.st_studstamm_nr=T.st_studstamm_nr ---Ermittlung msg: +--Ermittlung msg bei TSG: update tmp_studien2 set st_studiengang_nr_msg=M.st_studiengang_nr_msg from costage_st_studiengaenge_mtsg M, costage_st_studien ST where ST.st_studiengang_nr=M.st_studiengang_nr_msg @@ -125,6 +131,19 @@ and M.st_studiengang_nr_tsg=tmp_studien2.st_studiengang_nr and tmp_studien2.studiengangs_typ_kb ='TSG' ; +--statustyp bei TSG aus MSG nachladen: +update tmp_studien2 set studienstatustyp=S.studienstatustyp +from tmp_studien S +where tmp_studien2.st_studiengang_nr_msg=S.st_studiengang_nr +and tmp_studien2.st_studstamm_nr=S.st_studstamm_nr +and S.studiengangs_typ_kb ='MSG' +and tmp_studien2.studiengangs_typ_kb ='TSG' +and tmp_studien2.st_sem_nr=S.st_sem_nr +and S.status_historie=1 + +; + + <#if K_COSTAGE_TSG_GENERATE == 1> --Start- und Endsemester aller MSG pro Student: @@ -162,13 +181,12 @@ and T.studiengangs_typ_kb ='TSG' drop table if exists tmp_studien_msg_tsg_fehlend; select T.* into temp tmp_studien_msg_tsg_fehlend -from tmp_studien_msg_tsg T --enthält alle tsg -left outer join tmp_studien2 T2 --enthält die TSG +from tmp_studien_msg_tsg T --enthält alle möglichen TSG +left outer join tmp_studien2 T2 --enthält die tatsächlich vorhandenen TSG on (T2.st_studiengang_nr_msg=T.st_studiengang_nr_msg and T2.st_studiengang_nr=T.st_studiengang_nr_tsg and T2.st_studstamm_nr=T.st_studstamm_nr and T2.studiengangs_typ_kb ='TSG' ---and T2.st_studium_nr=T.st_studium_nr and T.semester=T2.semester) where T2.st_studstamm_nr is null ; @@ -226,7 +244,7 @@ S.fachkennzeichen, S.studienform_statistik_code, S.st_studiengang_nr_msg, S.st_studiengang_nr_tsg, -S.hrst, +null::char(10) as hrst,--hrst kann im Studienverlauf wechseln, daher nachher vom MSG nachladen S.hssem, null::char(10) as statustyp_tsg, 1 as tsg_generated, @@ -246,17 +264,9 @@ and M.semester != S.semester group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,23,24 --, 25,26,27,28 ; -drop table tmp_studien_msg_tsg_fehlend; -drop table tmp_studien_msg_tsg; -drop table tmp_studien_msg; - - - - --------------------------------------------------------------------- - ---statustyp nachladen: -update tmp_studien2 set studienstatustyp=S.studienstatustyp +--statustyp und hrst nachladen: +update tmp_studien2 set studienstatustyp=S.studienstatustyp, +hrst=S.hrst from tmp_studien S where tmp_studien2.st_studiengang_nr_msg=S.st_studiengang_nr and tmp_studien2.st_studstamm_nr=S.st_studstamm_nr @@ -278,6 +288,17 @@ and tmp_studien2.fachsemester=S.fachsemester ; +drop table tmp_studien_msg_tsg_fehlend; +drop table tmp_studien_msg_tsg; +drop table tmp_studien_msg; + + + + +-------------------------------------------------------------------- + + + drop table tmp_studien; diff --git a/src-modules/module/costage/rohdaten/costage_unload.xml b/src-modules/module/costage/rohdaten/costage_unload.xml index a377316..768d45c 100644 --- a/src-modules/module/costage/rohdaten/costage_unload.xml +++ b/src-modules/module/costage/rohdaten/costage_unload.xml @@ -132,7 +132,8 @@ SELECT st_land_nr, statistik_code, adresse, hzb, - null as staatsbuergerschaft + null as staatsbuergerschaft, + kfz_kennzeichen FROM px_st_laender_v ; @@ -147,7 +148,8 @@ FROM px_st_laender_v SELECT st_land_reg_nr, name, statistik_code, - st_land_nr + st_land_nr, + kfz_kennzeichen_region FROM px_st_land_regionen_v ; @@ -487,7 +489,7 @@ FROM px_bw_zulassungsarten_v