Browse Source

sortclause ergänzt, Bedingung fuer Prüfungsergebnisse angepasst

master
Imo John 1 week ago
parent
commit
a8af951af5
  1. 9
      src-modules/module/rpta/conf/rpta.xml
  2. 9
      src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql
  3. 2
      src-modules/module/rpta/masken/48110_felderinfo.unl
  4. 3
      src-modules/module/rpta/masken/48110_maskeninfo.unl
  5. 32
      src-modules/module/rpta/schluesseltabellen/fm_templates.unl
  6. 239
      src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql

9
src-modules/module/rpta/conf/rpta.xml

@ -101,7 +101,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -101,7 +101,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
<column name="description" type="TEXT" size="255" default="" notnull="" description="Beschreibung" ><comment>Erläuterungstext</comment></column>
<column name="userinfo_id" type="INTEGER" size="255" default="" notnull="" description="Angelegt von" ></column>
<column name="sortnr" type="INTEGER" size="255" default="" notnull="" description="Sortiernummer" sortable="true"><comment>Kann leer bleiben, wenn nach Bezeichnung sortiert wird.</comment></column>
<column name="sortclause" type="TEXT" size="255" default="" notnull="false" description="Bedingung (order by)" />
</columns>
<primaryKeys><rs>
<row>
@ -261,6 +261,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" /> @@ -261,6 +261,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
<column name="pversuch" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="elementnr" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="summe" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="panerk" type ="CHAR" size ="10" default ="" notnull ="false" />
</columns>
<indexes>
<index name="rpta_exam_unit1" unique="false">
@ -335,6 +336,12 @@ parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent </t @@ -335,6 +336,12 @@ parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent </t
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
<!--<maske tid="48170" name="RPTA-Jobs ausführen" thema="Berichtsassistent">
<description>Leistungen und Studiengänge</description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>-->
</masken>
<data-integrity>

9
src-modules/module/rpta/hilfstabellen/rpta_exam_unit_fuellen.sql

@ -32,7 +32,8 @@ insert into rpta_exam_unit (matrikel_nr, @@ -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 @@ -53,7 +54,8 @@ SELECT
pdtxt,
pversuch,
elementnr,
summe
summe,
panerk
FROM lm_exam_unit
UNION SELECT
@ -76,7 +78,8 @@ 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
;

2
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 @@ -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^<<SQL>> 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^<<SQL>> 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^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^
48115^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> 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^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> 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^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^

3
src-modules/module/rpta/masken/48110_maskeninfo.unl

@ -34,7 +34,8 @@ select caption,\ @@ -34,7 +34,8 @@ select caption,\
<sqlvar name="rpta_column_layout" type="hash"><![CDATA[\
select L.uniquename,\
L.caption,\
L.whereclause\
L.whereclause,\
L.sortclause\
from rpta_resultset R, rpta_column_layout L\
where L.resultset_id=R.tid\
and R.uniquename='${basetable.name}'\

32
src-modules/module/rpta/schluesseltabellen/fm_templates.unl

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
91^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
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\ @@ -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,\ @@ -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\ @@ -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;\ @@ -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>\

239
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 @@ -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';
</sqlvar>
</sqlvars>
<#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 @@ -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 />

Loading…
Cancel
Save