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,\
+#if>\
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}',\
+#if>\
'${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,\
+ #if>\
description)\
select uniquename,\
caption,\
resultset_id,\
whereclause,\
+ <#if rpta_column_layout.sortclause?has_content>\
+ sortclause,\
+ #if>\
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,#if> description)\
= ( select caption, resultset_id,\
whereclause,\
+ <#if rpta_column_layout.sortclause?has_content>\
+ sortclause,\
+ #if>\
description\
FROM tmp_rpta_column_layout T\
where T.uniquename=rpta_column_layout.uniquename)\
@@ -318,11 +334,15 @@ drop TABLE tmp_rpta_column2layout;\
#foreach>\
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>\
+ #list>\
#if>\
- #list>\
;\
\
<#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}';
-
-#foreach >
-
-<#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}' #if>,
-T.tid as column_type,
-<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar #if>,
-${column.is_visible},
-${column.visible_size},
-${column.is_aggregate},
-${sortnr*10},
-<#if column.description?exists>'${column.description}'<#else>null::varchar #if>,
-<#if column.format_code?exists>'${column.format_code}'<#else>null::varchar #if>
-FROM rpta_resultset R, rpta_column_type T
-where R.uniquename='${rpta_resultset}'
-and T.uniquename='${column.column_type}';
-
-#foreach>
-
-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}',
-#foreach>'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}',
-#foreach>'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}',
-#foreach>'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 />