You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
218 lines
6.2 KiB
218 lines
6.2 KiB
2 years ago
|
--Freemarker Template
|
||
|
--Achtung: Macro fügt Inhalte ein
|
||
|
--Bitte nur Freemarker Variablen füllen
|
||
|
|
||
|
<#assign masken = [
|
||
|
] />
|
||
|
|
||
|
<#assign stylesheet = [
|
||
|
{"filename":"tabelle_jrxml_a4_quer.xsl",
|
||
|
"caption":"Gener. Standardlayout JR (A4 quer)",
|
||
|
"description":"Gener. Standardlayout JR (A4 quer)",
|
||
|
"relation":"table",
|
||
1 year ago
|
"contenttype":"text/xml",
|
||
|
"is_generic":"1",
|
||
|
"toolbar_icon_filepath":"",
|
||
|
"usage_resultset_data":"T",
|
||
|
"stylesheet_type":"XSL_JRXML",
|
||
|
"jr_datasource":""
|
||
2 years ago
|
},
|
||
|
{"filename":"rpta_assistent.xsl",
|
||
|
"caption":"Berichtsassistent",
|
||
|
"description":"Export als formatierter Bericht",
|
||
|
"relation":"table",
|
||
|
"contenttype":"text/html",
|
||
1 year ago
|
"is_generic":"1",
|
||
|
"toolbar_icon_filepath":"images/icons/magic.svg",
|
||
|
"usage_resultset_data":"T",
|
||
|
"stylesheet_type":"XSL",
|
||
|
"jr_datasource":""
|
||
|
}
|
||
2 years ago
|
] />
|
||
|
|
||
|
<#assign stylesheet_field = [
|
||
|
|
||
|
|
||
|
] />
|
||
|
|
||
|
--Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen.
|
||
|
|
||
|
<@sx_stylesheets_insert
|
||
|
m_masken=masken
|
||
|
m_stylesheet=stylesheet
|
||
|
m_stylesheet_field=stylesheet_field
|
||
|
/>
|
||
|
|
||
|
|
||
|
<#macro sx_stylesheets_insert m_masken m_stylesheet m_stylesheet_field>
|
||
|
|
||
|
--Sicherstellen, dass keine Duplikate vorkommen:
|
||
|
--####################################################################################################
|
||
|
<#foreach column in m_masken>
|
||
|
delete from sx_mask_style where maskeninfo_id=${column.mask} and stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}') and ord=${column.ord};
|
||
|
</#foreach>
|
||
|
|
||
|
<#foreach column in m_stylesheet_field>
|
||
|
delete from stylesheet_field where stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}');
|
||
|
</#foreach>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
-- Stylesheets füllen
|
||
|
--####################################################################################################
|
||
|
create temp table tmp_stylesheets (
|
||
|
tid serial not null,
|
||
|
filename CHAR(255) ,
|
||
|
caption CHAR(255) ,
|
||
|
description CHAR(255) ,
|
||
|
relation CHAR(10) ,
|
||
|
useragent CHAR(255) ,
|
||
|
contenttype CHAR(200) ,
|
||
1 year ago
|
is_generic smallint,
|
||
|
toolbar_icon_filepath VARCHAR(255) ,
|
||
|
usage_resultset_data CHAR(10) default 'T' ,
|
||
|
stylesheet_type CHAR(10) default 'XSL' ,
|
||
|
jr_datasource CHAR(10)
|
||
|
|
||
2 years ago
|
);
|
||
|
|
||
|
create temp table tmp_hilf (tid integer);
|
||
|
insert into tmp_hilf select max(tid) from sx_stylesheets;
|
||
|
update tmp_hilf set tid=1 where tid is null;
|
||
|
|
||
|
<#assign counter_tid = 1 />
|
||
|
<#foreach column in m_stylesheet>
|
||
1 year ago
|
insert into tmp_stylesheets (tid,
|
||
|
filename,
|
||
|
caption,
|
||
|
description,
|
||
|
relation,
|
||
|
contenttype,
|
||
|
is_generic,
|
||
|
toolbar_icon_filepath ,
|
||
|
usage_resultset_data ,
|
||
|
stylesheet_type ,
|
||
|
jr_datasource)
|
||
2 years ago
|
select max(tid)+${counter_tid},'${column.filename}',
|
||
|
'${column.caption}',
|
||
|
'${column.description}',
|
||
|
'${column.relation}',
|
||
|
'${column.contenttype}',
|
||
1 year ago
|
${column.is_generic},
|
||
|
'${column.toolbar_icon_filepath}' ,
|
||
|
'${column.usage_resultset_data}' ,
|
||
|
'${column.stylesheet_type}' ,
|
||
|
'${column.jr_datasource}'
|
||
2 years ago
|
from tmp_hilf;
|
||
|
<#assign counter_tid = counter_tid + 1 />
|
||
|
</#foreach>
|
||
|
|
||
|
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
|
||
|
update sx_stylesheets set is_generic=1
|
||
|
where filename in (select T.filename from tmp_stylesheets T where T.is_generic=1);
|
||
|
</#if>
|
||
|
|
||
|
|
||
|
--delete für tml_stylesheets hinzugefügt #ak 06.03.2013
|
||
|
delete from tmp_stylesheets where filename in (select filename from sx_stylesheets);
|
||
|
|
||
|
|
||
|
insert into sx_stylesheets (tid,
|
||
|
filename, caption, description, relation, useragent, contenttype
|
||
|
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
|
||
|
,is_generic
|
||
|
</#if>
|
||
1 year ago
|
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','toolbar_icon_filepath')>
|
||
|
,toolbar_icon_filepath ,
|
||
|
usage_resultset_data ,
|
||
|
stylesheet_type ,
|
||
|
jr_datasource
|
||
|
</#if>
|
||
2 years ago
|
)
|
||
|
SELECT tid, filename, caption, description, relation, useragent, contenttype
|
||
|
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
|
||
|
,is_generic
|
||
|
</#if>
|
||
1 year ago
|
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','toolbar_icon_filepath')>
|
||
|
,toolbar_icon_filepath ,
|
||
|
usage_resultset_data ,
|
||
|
stylesheet_type ,
|
||
|
jr_datasource
|
||
|
</#if>
|
||
2 years ago
|
FROM tmp_stylesheets;
|
||
|
|
||
|
drop table tmp_stylesheets;
|
||
|
|
||
|
|
||
|
-- Mask Style füllen
|
||
|
--####################################################################################################
|
||
|
create temp table tmp_mask_style (
|
||
|
tid serial not null,
|
||
|
maskeninfo_id INTEGER ,
|
||
|
stylesheet_id INTEGER ,
|
||
|
ord SMALLINT,
|
||
|
filename char(255)
|
||
|
);
|
||
|
|
||
|
delete from tmp_hilf;
|
||
|
insert into tmp_hilf select max(tid) from sx_mask_style;
|
||
|
update tmp_hilf set tid=1 where tid is null;
|
||
|
|
||
|
<#assign counter_tid = 1 />
|
||
|
<#foreach column in m_masken>
|
||
|
insert into tmp_mask_style (tid,maskeninfo_id,ord,filename)
|
||
|
select max(tid)+${counter_tid},${column.mask},${column.ord},'${column.filename}' from tmp_hilf;
|
||
|
|
||
|
update tmp_mask_style set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}')
|
||
|
where filename='${column.filename}';
|
||
|
<#assign counter_tid = counter_tid + 1 />
|
||
|
</#foreach>
|
||
|
|
||
|
insert into sx_mask_style ( tid, maskeninfo_id, stylesheet_id, ord)
|
||
|
SELECT tid, maskeninfo_id, stylesheet_id, ord
|
||
|
FROM tmp_mask_style;
|
||
|
|
||
|
drop table tmp_mask_style;
|
||
|
|
||
|
|
||
|
--Field zu Stylesheet Zuordnungen:
|
||
|
--####################################################################################################
|
||
|
CREATE temp TABLE tmp_stylesheet_field
|
||
|
(
|
||
|
tid serial NOT NULL,
|
||
|
stylesheet_id INTEGER,
|
||
|
tablename char(255),
|
||
|
fieldname char(255),
|
||
|
filename char(255)
|
||
|
);
|
||
|
|
||
|
delete from tmp_hilf;
|
||
|
insert into tmp_hilf select max(tid) from stylesheet_field;
|
||
|
update tmp_hilf set tid=1 where tid is null;
|
||
|
|
||
|
<#assign counter_tid = 1 />
|
||
|
<#foreach column in m_stylesheet_field>
|
||
|
INSERT INTO tmp_stylesheet_field (tid, filename, tablename, fieldname)
|
||
|
select max(tid)+${counter_tid}, '${column.filename}', '${column.tablename}', '${column.fieldname}' from tmp_hilf;
|
||
|
|
||
|
update tmp_stylesheet_field set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}')
|
||
|
where filename='${column.filename}';
|
||
|
<#assign counter_tid = counter_tid + 1 />
|
||
|
</#foreach>
|
||
|
|
||
|
insert into stylesheet_field ( tid, stylesheet_id, tablename, fieldname)
|
||
|
SELECT tid, stylesheet_id, tablename, fieldname
|
||
|
FROM tmp_stylesheet_field;
|
||
|
|
||
|
drop table tmp_stylesheet_field;
|
||
|
drop table tmp_hilf;
|
||
|
|
||
|
<#if SQLdialect='Postgres'>
|
||
|
select sp_update_sequence('sx_stylesheets');
|
||
|
select sp_update_sequence('sx_mask_style');
|
||
|
select sp_update_sequence('stylesheet_field');
|
||
|
</#if>
|
||
|
|
||
|
</#macro>
|