Daniel Quathamer
2 years ago
4 changed files with 215 additions and 10 deletions
@ -0,0 +1,171 @@ |
|||||||
|
--Freemarker Template |
||||||
|
--Achtung: Macro fügt Inhalte ein |
||||||
|
--Bitte nur Freemarker Variablen füllen |
||||||
|
|
||||||
|
<#assign masken = [ |
||||||
|
{"mask":"30190", "filename":"30190_html_chart_sankey.xsl", "ord":"130"} |
||||||
|
] /> |
||||||
|
|
||||||
|
<#assign stylesheet = [ |
||||||
|
{"filename":"30190_html_chart_sankey.xsl", |
||||||
|
"caption":"BA-MA Übergang Diagramm erzeugen", |
||||||
|
"description":"Sankey-Diagramm", |
||||||
|
"relation":"table", |
||||||
|
"contenttype":"text/html", |
||||||
|
"is_generic":"0" |
||||||
|
} |
||||||
|
] /> |
||||||
|
<#assign stylesheet_field = [ |
||||||
|
|
||||||
|
] /> |
||||||
|
|
||||||
|
--Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen. |
||||||
|
|
||||||
|
--Achtung: ab hier nicht ändern, Mutterdatei ist $SUPERX_DIR/db/module/sos/schluesseltabellen/sx_stylesheets_fuellen.sql |
||||||
|
<@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) , |
||||||
|
is_generic smallint |
||||||
|
); |
||||||
|
|
||||||
|
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> |
||||||
|
insert into tmp_stylesheets (tid,filename,caption,description,relation,contenttype,is_generic) |
||||||
|
select max(tid)+${counter_tid},'${column.filename}', |
||||||
|
'${column.caption}', |
||||||
|
'${column.description}', |
||||||
|
'${column.relation}', |
||||||
|
'${column.contenttype}', |
||||||
|
${column.is_generic} |
||||||
|
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> |
||||||
|
) |
||||||
|
SELECT tid, filename, caption, description, relation, useragent, contenttype |
||||||
|
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')> |
||||||
|
,is_generic |
||||||
|
</#if> |
||||||
|
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> |
Loading…
Reference in new issue