diff --git a/src-modules/module/rpta/conf/rpta.xml b/src-modules/module/rpta/conf/rpta.xml index 7bd4d84..fe255e3 100644 --- a/src-modules/module/rpta/conf/rpta.xml +++ b/src-modules/module/rpta/conf/rpta.xml @@ -101,7 +101,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> Erläuterungstext Kann leer bleiben, wenn nach Bezeichnung sortiert wird. - + @@ -261,6 +261,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> + @@ -335,6 +336,12 @@ parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent $RPTA_PFAD/masken + diff --git a/src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql b/src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql index 700fdb5..e7d9f08 100644 --- a/src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql +++ b/src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql @@ -32,7 +32,8 @@ insert into rpta_exam_unit (matrikel_nr, pdtxt, pversuch, elementnr, - summe) + summe, + panerk) SELECT matrikel_nr, labnr, @@ -53,7 +54,8 @@ SELECT pdtxt, pversuch, elementnr, - summe + summe, + panerk FROM lm_exam_unit UNION SELECT @@ -76,7 +78,8 @@ UNION SELECT pdtxt, pversuch, pnr::varchar(255) as elementnr, - summe + summe, + (select L.panerk from sos_lab L where L.labnr=sos_lab_pord.labnr) FROM sos_lab_pord WHERE sourcesystem = 5 ; diff --git a/src-modules/module/rpta/masken/48110_felderinfo.unl b/src-modules/module/rpta/masken/48110_felderinfo.unl index 32563c5..dbacc7c 100644 --- a/src-modules/module/rpta/masken/48110_felderinfo.unl +++ b/src-modules/module/rpta/masken/48110_felderinfo.unl @@ -13,7 +13,7 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rp 48112^Fächer^30^0^0^130^200^6^char^1000^0^12^<> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^ 48113^Abschluss^40^0^0^100^200^3^char^1500^0^1^<> select apnr, druck from cifx where key=35 order by 2;^ ^ ^ 48114^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^ -48115^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<> select 2,'nur Wintersemester' from xdummy^ +48115^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^^ 48116^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^999^hs_zugangsber^apnr, eintrag^ ^ 48117^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<> select tid, eintrag from semester order by tid DESC;^ ^<> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ 48118^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^999^<> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^ diff --git a/src-modules/module/rpta/masken/48110_maskeninfo.unl b/src-modules/module/rpta/masken/48110_maskeninfo.unl index b72f9c6..21fd8e7 100644 --- a/src-modules/module/rpta/masken/48110_maskeninfo.unl +++ b/src-modules/module/rpta/masken/48110_maskeninfo.unl @@ -34,7 +34,8 @@ select caption,\ \ +96^RPTA-Makros^<#macro rpta_column_layout_fuellen>\ CREATE temp TABLE tmp_rpta_column\ (\ uniquename varchar(255) NOT NULL,\ @@ -23,6 +23,7 @@ CREATE temp TABLE tmp_rpta_column_layout\ caption varchar(255),\ resultset_id integer,\ whereclause text,\ + sortclause text,\ description text\ );\ \ @@ -31,12 +32,18 @@ resultset_id,\ uniquename,\ caption,\ whereclause,\ +<#if rpta_column_layout.sortclause?has_content>\ +sortclause,\ +\ description\ )\ select tid,\ '${rpta_column_layout.uniquename}',\ '${rpta_column_layout.caption}',\ '${rpta_column_layout.whereclause}',\ +<#if rpta_column_layout.sortclause?has_content>\ +'${rpta_column_layout.sortclause}',\ +\ '${rpta_column_layout.description}'\ FROM rpta_resultset\ where uniquename='${rpta_column_layout.rpta_resultset}';\ @@ -108,20 +115,29 @@ insert into rpta_column_layout\ caption,\ resultset_id,\ whereclause,\ + <#if rpta_column_layout.sortclause?has_content>\ + sortclause,\ + \ description)\ select uniquename,\ caption,\ resultset_id,\ whereclause,\ + <#if rpta_column_layout.sortclause?has_content>\ + sortclause,\ + \ description\ FROM tmp_rpta_column_layout T\ where not exists (select uniquename from tmp_rpta_column_layout_target);\ \ --falls geändert, uniquename muss bleiben\ update rpta_column_layout\ -set (caption, resultset_id, whereclause, description)\ +set (caption, resultset_id, whereclause,<#if rpta_column_layout.sortclause?has_content>sortclause, description)\ = ( select caption, resultset_id,\ whereclause,\ + <#if rpta_column_layout.sortclause?has_content>\ + sortclause,\ + \ description\ FROM tmp_rpta_column_layout T\ where T.uniquename=rpta_column_layout.uniquename)\ @@ -318,11 +334,15 @@ drop TABLE tmp_rpta_column2layout;\ \ from tmp_stud2\ order by \ - <#list 1..number_of_visible_colums as i>${i}\ - <#if i != number_of_visible_colums>\ - ,\ + <#if rpta_column_layout.sortclause !="">\ + ${rpta_column_layout.sortclause}\ + <#else>\ + <#list 1..number_of_visible_colums as i>${i}\ + <#if i != number_of_visible_colums>\ + ,\ + \ + \ \ - \ ;\ \ <#if basetable.is_virtual==1>\ diff --git a/src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql b/src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql index 03b2bc8..55adc21 100644 --- a/src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql +++ b/src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql @@ -8,12 +8,16 @@ select count(*) from rpta_resultset where uniquename='rpta_exam_unit_dim_studien select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studiengang'; -<#assign rpta_column_layouts = [{"uniquename":"rpta_exam_unit_dim_studiengang_note", +<#assign rpta_column_layout = {"uniquename":"rpta_exam_unit_dim_studiengang_note", "caption":"Prüfungsergebnisse", "rpta_resultset":"rpta_exam_unit_dim_studiengang", -"whereclause":"((modulart=''P'' and sourcesystem=6) or (part=''MP'' and sourcesystem=5))", +"whereclause":"((modulart=''P'' and sourcesystem=6) or (part=''MP'' and sourcesystem=5)) + and pstatus in (''BE'',''NB'',''EN'') + and (((panerk != ''J'' and sourcesystem=6) or (panerk is null and sourcesystem=6)) + or ((panerk != ''I'' and panerk != ''J'' and panerk != ''H'' and sourcesystem=5) or (panerk is null and sourcesystem=5)))", +"sortclause":"dim_studiengang_stg,dim_studiengang_abschluss,sem_der_pruefung,pdtxt", "description":"Prüfung und Noten" -}] +} /> <#assign rpta_columns = [ @@ -209,234 +213,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi ] /> - ---ab hier nicht mehr ändern: - -CREATE temp TABLE tmp_rpta_column -( - uniquename varchar(255) NOT NULL, - caption varchar(255), - srcfieldname varchar(255), - targetfieldname varchar(255), - column_type integer, - col_function text, - is_visible smallint, - visible_size smallint, - is_aggregate smallint, - resultset_id integer, - sortnr integer, - description TEXT, - format_code_uniquename varchar(255), - format_code_id integer -); - -CREATE temp TABLE tmp_rpta_column_layout -( - uniquename varchar(255) NOT NULL, - caption varchar(255), - resultset_id integer, - whereclause text, - description text -); - - -<#foreach rpta_column_layout in rpta_column_layouts> - -insert into tmp_rpta_column_layout( -resultset_id, -uniquename, -caption, -whereclause, - description -) -select tid, -'${rpta_column_layout.uniquename}', -'${rpta_column_layout.caption}', -'${rpta_column_layout.whereclause}', -'${rpta_column_layout.description}' -FROM rpta_resultset -where uniquename='${rpta_column_layout.rpta_resultset}'; - - - -<#assign sortnr=0 /> -<#foreach column in rpta_columns> -<#assign sortnr=sortnr +1 /> - -INSERT INTO tmp_rpta_column -(resultset_id, - uniquename, - caption, - srcfieldname, - targetfieldname, - column_type, - col_function, - is_visible, - visible_size, - is_aggregate, - sortnr, - description, - format_code_uniquename - ) -select R.tid, -'${column.uniquename}', -'${column.caption}', -'${column.srcfieldname}', -<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' , -T.tid as column_type, -<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar , -${column.is_visible}, -${column.visible_size}, -${column.is_aggregate}, -${sortnr*10}, -<#if column.description?exists>'${column.description}'<#else>null::varchar , -<#if column.format_code?exists>'${column.format_code}'<#else>null::varchar -FROM rpta_resultset R, rpta_column_type T -where R.uniquename='${rpta_resultset}' -and T.uniquename='${column.column_type}'; - - - -update tmp_rpta_column set format_code_id=C.tid -from rpta_format_code C -where C.uniquename=tmp_rpta_column.format_code_uniquename -and format_code_uniquename is not null; - - -select * into temp tmp_rpta_column2layout -from rpta_column2layout -where layout_id in (select L.tid -from rpta_column_layout L,rpta_resultset R -where R.tid=L.resultset_id -and R.uniquename='${rpta_resultset}' -and L.uniquename in ( -<#foreach rpta_column_layout in rpta_column_layouts> -'${rpta_column_layout.uniquename}', -'xy') -) -; - -select * into temp tmp_rpta_column_layout_target -from rpta_column_layout -where resultset_id in (select tid -FROM rpta_resultset -where uniquename='${rpta_resultset}') -and uniquename in (select uniquename from tmp_rpta_column_layout) -; - -insert into rpta_column_layout -(uniquename, - caption, - resultset_id, - whereclause, - description) - select uniquename, - caption, - resultset_id, - whereclause, - description -FROM tmp_rpta_column_layout T -where 0=(select count(*) from tmp_rpta_column_layout_target T2 -where T.uniquename=T2.uniquename); - -drop table tmp_rpta_column_layout_target; - -delete from rpta_column2layout -where layout_id in (select L.tid -from rpta_column_layout L,rpta_resultset R -where R.tid=L.resultset_id -and R.uniquename='${rpta_resultset}' -and L.uniquename in ( -<#foreach rpta_column_layout in rpta_column_layouts> -'${rpta_column_layout.uniquename}', -'xy') -) -; - -select * into temp tmp_rpta_column2 -from tmp_rpta_column T -where (resultset_id,uniquename) not in -(select resultset_id,uniquename from rpta_column); - -INSERT INTO rpta_column -(resultset_id, - uniquename, - caption, - srcfieldname, - targetfieldname, - column_type, - col_function, - is_aggregate, - description, - custom - ) - select -resultset_id, - uniquename, - caption, - srcfieldname, - targetfieldname, - column_type, - col_function, - is_aggregate, - description, - 0 as custom -from tmp_rpta_column2; - ---evtl. neuen Satz einfügen, dann alle updaten - -update rpta_column set ( caption, - srcfieldname, - targetfieldname, - column_type, - col_function, - is_aggregate, - description) - = (select caption, - srcfieldname, - targetfieldname, - column_type, - col_function, - is_aggregate, - description - from tmp_rpta_column T - where T.resultset_id=rpta_column.resultset_id - and T.uniquename=rpta_column.uniquename) - where custom=0 - and (resultset_id,uniquename) in -(select T.resultset_id,T.uniquename -from tmp_rpta_column T) -; - -drop table tmp_rpta_column2; - -insert into rpta_column2layout(column_id, - layout_id, - sortnr, - is_visible, - visible_size, - caption, - description, - format_code_id) -select C.tid as column_id, - L.tid as layout_id, - T.sortnr, - T.is_visible, - T.visible_size, - T.caption, - T.description, - T.format_code_id -FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T -where C.uniquename=T.uniquename -and C.resultset_id=T.resultset_id -and L.uniquename in ( -<#foreach rpta_column_layout in rpta_column_layouts> -'${rpta_column_layout.uniquename}', -'xy') -and L.resultset_id=T.resultset_id - ; -drop table tmp_rpta_column; -drop table if exists tmp_rpta_column2; -drop TABLE tmp_rpta_column_layout; +<@rpta_column_layout_fuellen />