KoaBericht
This commit is contained in:
808
masken/888880080-Kostenartenbericht.xml
Normal file
808
masken/888880080-Kostenartenbericht.xml
Normal file
@@ -0,0 +1,808 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xupdate>
|
||||
|
||||
<!-- fuer Maske 888880080-->
|
||||
<themenbaum maskentid="888880080" parentname="Haushalt"/>
|
||||
<!--Hier Themenbaumparent eintragen Name z.B: Haushalt-->
|
||||
<sql>delete from maskeninfo where tid = 888880080;</sql>
|
||||
<sql>delete from themenbaum where maskeninfo_id = 888880080;</sql>
|
||||
<sql>delete from felderinfo where tid in (select felderinfo_id from masken_felder_bez where maskeninfo_id = 888880080);</sql>
|
||||
<sql>delete from masken_felder_bez where maskeninfo_id = 888880080;</sql>
|
||||
<sql>delete from sachgeb_maske_bez where maskeninfo_id = 888880080;</sql>
|
||||
<sql>delete from maske_system_bez where maskeninfo_id = 888880080;</sql>
|
||||
<sql><![CDATA[insert into maskeninfo (tid,name,chart_xtitel,chart_ytitel) values (888880080,'','','');]]></sql>
|
||||
<sql><![CDATA[update maskeninfo set name='Kostenartenbericht' where tid=888880080;]]></sql>
|
||||
<sql><![CDATA[update maskeninfo set cleanup_stmt='drop table tmp_erg2;', frontend=1, breite=750, hoehe=550, hilfe=1 where tid=888880080;]]></sql>
|
||||
<sql>insert into maske_system_bez (maskeninfo_id,systeminfo_id) values (888880080,3);</sql>
|
||||
<sql>insert into sachgeb_maske_bez (maskeninfo_id,sachgebiete_id) values (888880080,50);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880080);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880081);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880082);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880083);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880084);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880085);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880086);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880087);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880088);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880089);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880090);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880091);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880092);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880093);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880094);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880095);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880096);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880097);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880098);</sql>
|
||||
<sql>insert into masken_felder_bez (maskeninfo_id,felderinfo_id) values (888880080,888880099);</sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880080,'',0,0,0,100,50,1,'integer',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880081,'',10,0,0,100,150,1,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880082,'',15,0,0,100,400,3,'char',150);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880083,'',21,0,0,100,150,3,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880084,'',1020,0,0,100,150,1,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880085,'',26,0,0,100,150,3,'char',50);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880086,'',30,0,0,100,150,3,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880087,'',60,0,0,100,150,3,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880088,'',70,0,0,100,150,3,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880089,'',60,0,0,100,150,3,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880090,'',25,0,0,100,150,3,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880091,'',1016,300,-1,100,150,3,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880092,'',1035,300,-1,100,150,1,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880093,'',1045,300,-1,100,150,1,'char',20);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880094,'',10,0,0,100,150,1,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880095,'',19,0,0,100,150,3,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880096,'',11,300,-1,100,150,1,'char',30);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880097,'',70,300,-1,100,30,1,'integer',5);]]></sql>
|
||||
<sql><![CDATA[insert into felderinfo (tid,name,nummer,x,y,buttonbreite,feldbreite,zeilenanzahl,typ,laenge) values (888880098,'',55,0,0,100,150,1,'char',20);]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Haushaltsjahr' where tid=888880080;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Kapitel' where tid=888880081;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Finanzierungsquelle' where tid=888880082;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Titel' where tid=888880083;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Kostenstelle' where tid=888880084;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='FB_INS' where tid=888880085;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Buchungsab_fb' where tid=888880086;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Projnr_ins' where tid=888880087;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='ins2' where tid=888880088;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='ins3' where tid=888880089;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Untertitel' where tid=888880090;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Kostenarten' where tid=888880091;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Kostenträger' where tid=888880092;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Budgetherkunft' where tid=888880093;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Kapitel' where tid=888880094;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Deckungsring' where tid=888880095;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Budgettyp' where tid=888880096;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Filter bis Ebene' where tid=888880097;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set name='Art' where tid=888880098;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='', defaultwert='<<SQL>> SELECT year(today()) FROM xdummy;' where tid=888880080;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880081;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='', defaultwert='' where tid=888880082;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880083;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=12, attribut='hidden', defaultwert='' where tid=888880084;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='hidden', defaultwert='' where tid=888880085;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880086;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880087;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='hidden', defaultwert='' where tid=888880088;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='hidden', defaultwert='' where tid=888880089;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880090;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=12, attribut='', defaultwert='' where tid=888880091;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880092;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880093;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880094;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=1, attribut='', defaultwert='' where tid=888880095;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880096;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=0, art=999, attribut='', defaultwert='' where tid=888880097;]]></sql>
|
||||
<sql><![CDATA[update felderinfo set obligatorisch=1, art=1, attribut='hidden', defaultwert='<<SQL>> select ''FIN_KOSTENART'',''FIN_KOSTENART'' from xdummy' where tid=888880098;]]></sql>
|
||||
<text table="maskeninfo" field="select_stmt" where="tid=888880080"><![CDATA[--Freemarker Template
|
||||
--15.6.10 in Link Kostenstellensicht (tid) eingebaut
|
||||
--29.6.10 sx_butype eingebaut- FELDERINFO sx_butype EINBAUEN
|
||||
-- 21.7.10 SxFinRechte replace * %
|
||||
-- 16.9.10 sx_butype?exists
|
||||
-- 8.10.10 bei FIN_EINNAHMEN keine Ausgaben anzeigen
|
||||
-- 21.12.10 nur XIL: Spaltenfixierung auf 2
|
||||
-- 3.8.11 Einstellungsmöglichkeit ${drtit}
|
||||
-- 25.8.11 Kostenstelle-Sicht nur wenn existiert
|
||||
-- 6.10.11/27.2.12 4. Ebene
|
||||
-- 4.12.12 link params replace angepasst
|
||||
-- 8/13 koa2 sowie showEinzelTitel
|
||||
-- 4.11.13 titel auf 10stellig
|
||||
-- 6/17 prozentualer Anteil
|
||||
-- 9/17 AKtuelles soll inklreste und geldreste, verfuegbar_geld
|
||||
-- 10/17 hhans, akts_plus_vojs
|
||||
-- 4/18 hhans_reste
|
||||
-- 6/22 LInks für Monate
|
||||
-- 10/24 Einschränkungsmöglichkeit auf bestimmte KLR-Kostenarten
|
||||
|
||||
<#include "SQL_lingua_franca"/>
|
||||
<#include "SuperX_general"/>
|
||||
|
||||
<sqlvars>
|
||||
<sqlvar name="maxmonat">select month(today()) from xdummy where year(today())=<<Haushaltsjahr>> union select 12 from xdummy where year(today())!=<<Haushaltsjahr>></sqlvar>
|
||||
<sqlvar name="finkostenarten">CDATASTARTselect id,caption,content as strukturstr from sx_repository where aktiv=1 and
|
||||
<#if "<<Art>>"!='FIN_KOSTENART'> art=<<Art>> <#else> art='FIN_KOSTENART'</#if> and gueltig_seit<=date_val('1.1.<<Haushaltsjahr>>') and gueltig_bis>=('1.1.<<Haushaltsjahr>>') order by sort1CDATAEND</sqlvar>
|
||||
<sqlvar name="TMP_FINANZIERUNGSQUELLEN">select id,caption,content from sx_repository where aktiv=1
|
||||
/* and id in (<<Finanzierungsquelle>>) */
|
||||
and gueltig_seit<=date_val('1.1.<<Haushaltsjahr>>') and gueltig_bis>=('1.1.<<Haushaltsjahr>>')
|
||||
</sqlvar>
|
||||
<sqlvar name="KST_SICHT">select min(name_intern) from sichten where
|
||||
name = 'KST_Budgetbericht_<<Haushaltsjahr>>' and systeminfoid=3 --FIN-Kopie
|
||||
</sqlvar>
|
||||
<sqlvar name="anzahl_klr_rechte">select count(*) from user_institution where userid=<<UserID>>
|
||||
</sqlvar>
|
||||
</sqlvars>
|
||||
--<#if KST_SICHT?length<2>
|
||||
--Keine Kostenstellensicht KST_Budgetbericht_<<Haushaltsjahr>> gefunden
|
||||
--</#if>
|
||||
<#assign linkbuchstart=""/> -- bei altem Kernmodul SuperXmlTabelle?tid=
|
||||
<#assign verfuegbar_misch_aktiv=false/>
|
||||
<#if CUSTOM_888880080?exists>
|
||||
<#assign inlineTemplate=CUSTOM_888880080?interpret>
|
||||
<@inlineTemplate/>
|
||||
</#if>
|
||||
|
||||
<#assign linkbuch="SuperXmlTabelle?tid=888880040&Haushaltsjahr=<<Haushaltsjahr>>&navi=true"/>
|
||||
|
||||
<#if .vars['Kostenstelle-Sicht']?exists><#assign linkbuch=linkbuch+"&Kostenstelle-Sicht=${.vars['Kostenstelle-Sicht']}"/></#if>
|
||||
--Referenz auf erste Kostenstelle wird fuer FREIES benoetigt
|
||||
--<#assign kstelle='-999'>
|
||||
--<#if anzahl_klr_rechte>0>
|
||||
--<#assign kstelle=Kostenstelle.elements?first/>
|
||||
--<#assign linkbuch=linkbuch+"&Kostenstelle="+kstelle.key>
|
||||
--&+"Kostenstelle-Sicht="+KST_SICHT/>
|
||||
--<#else>
|
||||
--TODO klappt noch nicht als Fehlermeldung - verbessern
|
||||
--<#if Finanzierungsquelle?index_of("FREIES")>-1> FEHLER FueR FREIES BUDGET MUSS EINE KOSTENSTELLE AUSGEWaeHLT SEIN</#if>
|
||||
--</#if>
|
||||
<#assign linkbuch=linkbuch+"&cachingcontrol=clearmask&Finanzierungsquelle="/>
|
||||
--Finanzierungsquelle obligatorisch vorausgesetzt
|
||||
|
||||
<#assign baus="&Buchungsart=6-aus"/>
|
||||
<#if LinkFestlegung?exists&&LinkFestlegung='nur offene'>
|
||||
<#assign bf="&Buchungsart=4b-ofest"/>
|
||||
<#else>
|
||||
<#assign bf="&Buchungsart=4-fest"/>
|
||||
</#if>
|
||||
<#assign bakts="&Buchungsart=3b-aks"/>
|
||||
<#assign bhhans="&Buchungsart=9-hhans"/>
|
||||
<#assign bhhans_reste="&Buchungsart=9b-hhans-reste"/>
|
||||
<#assign bein="&Buchungsart=7-ein"/>
|
||||
|
||||
<#foreach finanzierungsquelle in TMP_FINANZIERUNGSQUELLEN>
|
||||
<#assign linkbuch=linkbuch+finanzierungsquelle.id/>
|
||||
<#if finanzierungsquelle_has_next> <#assign linkbuch=linkbuch+","/></#if>
|
||||
</#foreach>
|
||||
<#if "<<Buchungsab_fb>>"!="">
|
||||
<#assign linkbuch=linkbuch+"&Buchungsab_fb="+Buchungsab_fb?replace("'","")?replace("|",",")/>
|
||||
</#if>
|
||||
<#if "<<Projnr_ins>>"!="">
|
||||
<#assign linkbuch=linkbuch+"&Projnr_ins="+Projnr_ins?replace("'","")?replace("|",",")/>
|
||||
</#if>
|
||||
<#if "<<ins2>>"!=""&&ins2?exists>
|
||||
<#assign linkbuch=linkbuch+"&ins2="+ins2?replace("'","")?replace("|",",")/>
|
||||
</#if>
|
||||
<#if "<<ins3>>"!=""&&ins3?exists>
|
||||
<#assign linkbuch=linkbuch+"&ins3="+ins3?replace("'","")?replace("|",",")/>
|
||||
</#if>
|
||||
<#if "<<FB_INS>>"!=""&&FB_INS?exists>
|
||||
<#assign linkbuch=linkbuch+"&FB_INS="+FB_INS?replace("'","")?replace("|",",")/>
|
||||
</#if>
|
||||
<#if "<<Titel>>"!=""&&Titel?exists>
|
||||
<#assign linkbuch=linkbuch+"&Titel="+Titel?replace("'","")?replace("|",",")/>
|
||||
</#if>
|
||||
<#if "<<Deckungsring>>"!=""&&Deckungsring?exists>
|
||||
<#assign linkbuch=linkbuch+"&Deckungsring="+Deckungsring?replace("'","")?replace("|",",")/>
|
||||
</#if>
|
||||
<#if sx_butype?exists&&"<<sx_butype>>"!="">
|
||||
<#assign linkbuch=linkbuch+"&sx_butype="+sx_butype/>
|
||||
</#if>
|
||||
<#if Kostenstelle?exists&&"<<Kostenstelle>>"!=""><#assign linkbuch=linkbuch+"&Kostenstelle=<<Kostenstelle>>"?replace("'","")></#if>
|
||||
<#assign linkbuchspezKoa=linkbuch/>
|
||||
<#if (Kostenarten.selectionCount>0)>
|
||||
<#assign linkbuch=linkbuch+"&Kostenarten=<<Kostenarten>>"?replace("'","")/>
|
||||
</#if>
|
||||
|
||||
<#macro kamrights>
|
||||
--(
|
||||
--(select count(*) from userinfo where tid=<<UserID>> and administration=1)>0 or
|
||||
--(select count(*) from fin_user_kam where buchungsab_fb='0' and projnr_ins='0' and userid=<<UserID>>)>0
|
||||
--or
|
||||
--(
|
||||
--buchungsab_fb in (select buchungsab_fb from fin_user_kam where projnr_ins='0' and userid=<<UserID>> )
|
||||
--or
|
||||
--projnr_ins in (select projnr_ins from fin_user_kam where buchungsab_fb='0' and userid=<<UserID>> )
|
||||
--or
|
||||
--'ba_'|| buchungsab_fb || '_pr_' ||projnr_ins in (select 'ba_'|| buchungsab_fb || '_pr_' ||projnr_ins from fin_user_kam --where userid=<<UserID>> )
|
||||
--)
|
||||
--)
|
||||
--kst_sql wird momentan nicht gebraucht
|
||||
<#assign kst_sql>ch110_institut in <@printkeys Kostenstelle.allNeededKeysList /></#assign>
|
||||
${SxFinRechte(kst_sql,'31.12.<<Haushaltsjahr>>')}
|
||||
</#macro>
|
||||
|
||||
create temp table tmp_roh
|
||||
(
|
||||
koa char(100),
|
||||
dritt smallint,
|
||||
titel char(10),
|
||||
monat smallint,
|
||||
fikr char(12),
|
||||
hhans decimal (14,2) default 0,
|
||||
reste decimal (14,2) default 0,
|
||||
akt_soll decimal (14,2) default 0,
|
||||
akts_plus_vojs decimal(14,2) default 0,
|
||||
sperr decimal (14,2) default 0,
|
||||
ausgaben decimal (14,2) default 0,
|
||||
einnahmen decimal(14,2) default 0,
|
||||
fest decimal (14,2) default 0,
|
||||
verfuegbar decimal (14,2) default 0,
|
||||
verfuegbar_geld decimal (14,2) default 0,
|
||||
verfuegbar_misch decimal (14,2) default 0 -- gegen Ansatz bei Haushalt, gegen Geldeingang bei Drittmitteln
|
||||
|
||||
) <@informixnolog/>;
|
||||
create temp table tmp_fikrsum
|
||||
(
|
||||
koa char(100),
|
||||
monat smallint,
|
||||
fikr char(12),
|
||||
ausgaben decimal (14,2) default 0,
|
||||
einnahmen decimal (14,2) default 0
|
||||
|
||||
) <@informixnolog/>;
|
||||
create temp table tmp_erg
|
||||
(
|
||||
ebene smallint default 1,
|
||||
koa char(100),
|
||||
fikr char(12),
|
||||
name char(100),
|
||||
sortnr integer default 0, sort2 integer default 0,
|
||||
hhans decimal (14,2) default 0,
|
||||
reste decimal(14,2) default 0,
|
||||
hhans_reste decimal(14,2) default 0,
|
||||
akt_soll decimal (14,2) default 0,
|
||||
sperr decimal (14,2) default 0,
|
||||
akts_plus_vojs decimal(14,2) default 0,
|
||||
ausgaben decimal (14,2) default 0,
|
||||
prozent decimal(14,2),
|
||||
gesamtausgaben decimal(16,6),
|
||||
einnahmen decimal (14,2) default 0,
|
||||
<#list 1..maxmonat as i>
|
||||
aus${i} decimal(14,2) default 0,
|
||||
linkbuchaus${i} <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>,
|
||||
</#list>
|
||||
fest decimal (14,2) default 0,
|
||||
verfuegbar decimal (14,2) default 0,
|
||||
verfuegbar_geld decimal (14,2) default 0,
|
||||
verfuegbar_misch decimal (14,2) default 0, -- gegen Ansatz bei Haushalt, gegen Geldeingang bei Drittmitteln
|
||||
verfuegbar_misch_of decimal (14,2) default 0, -- gegen Ansatz bei Haushalt, gegen Geldeingang bei Drittmitteln
|
||||
--linkbuchhhans <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>, gibt's nicht im Buchungsbericht
|
||||
linkbuchakts <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>,
|
||||
linkbuchhhans <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>,
|
||||
linkbuchhhans_reste <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>,
|
||||
linkbuchf <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>,
|
||||
linkbuchaus <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>,
|
||||
linkbuchein <#if SQLdialect='Postgres'>text<#else>lvarchar</#if>
|
||||
) <@informixnolog/>;
|
||||
-- left outer join auf xdummy fügt gegenfalls null als Werte ein, daher kommt unten noch mal update
|
||||
|
||||
-- das Makro
|
||||
<#macro insert koa>
|
||||
<#assign koaTemplate = koa.strukturStr?interpret>
|
||||
<#assign showKLRKostenarten='nein'> --defaultwert wird ggfs. im folgenden Schritt ueberschriebenen
|
||||
select count(*) from fin_konto_aggr where 1=0 and <@koaTemplate/>;
|
||||
|
||||
<#foreach finanzierungsquelle in TMP_FINANZIERUNGSQUELLEN>
|
||||
--defaults
|
||||
<#assign drtitparam='dr'/>
|
||||
<#assign aktsollausdruck="sum(akt_soll_"+drtitparam+")"/>
|
||||
<#assign verfuegbarausdruck="sum(verfuegbar_"+drtitparam+")"/>
|
||||
<#assign drtit="dr"/> --default kann von FInanzierungsquelle überschrieben werden
|
||||
<#assign inlineTemplate = finanzierungsquelle.strukturStr?interpret>
|
||||
select 0 from fin_konto_aggr where 1=0 and <@inlineTemplate />;
|
||||
<#if koa.id!='FIN_KSONSTIGES'&&koa.strukturStr?index_of("titel")>-1||"<<Deckungsring>>"="'no_dr'"><#assign drtit="tit"/></#if>
|
||||
<#if drtit="tit"||("<<Titel>>"!=""&&Titel?exists)||(koa.id!='FIN_KSONSTIGES'&&koa.strukturStr?index_of("titel")>1)>
|
||||
<#assign drtitparam='tit'/>
|
||||
<#assign aktsollausdruck=aktsollausdruck?replace("_dr","_tit")/>
|
||||
<#assign verfuegbarausdruck=verfuegbarausdruck?replace("_dr","_tit")/>
|
||||
</#if>
|
||||
|
||||
insert into tmp_roh (koa,titel,monat <#if showKLRKostenarten!='nein'>,fikr</#if> <#if verfuegbar_misch_aktiv>, dritt</#if>,
|
||||
hhans,reste,akt_soll,akts_plus_vojs,sperr,ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld)
|
||||
select '${koa.id}'::char(100),titel,monat <#if showKLRKostenarten!='nein'>,fikr</#if> <#if verfuegbar_misch_aktiv>, dritt</#if>,
|
||||
sum(hhans_${drtitparam}),sum(reste_${drtitparam}),${aktsollausdruck},sum(akt_soll_${drtitparam})+sum(vojs_${drtitparam}),sum(sperr_${drtitparam}),sum(ausgaben_${drtitparam}),
|
||||
sum(einnahmen_${drtitparam}),sum(festgelegt_${drtitparam}),${verfuegbarausdruck},sum(verfuegbar_geld)
|
||||
from fin_konto_aggr where
|
||||
rechnungsjahr=<<Haushaltsjahr>>
|
||||
/* and buchungsab_fb in (<<Buchungsab_fb>>) */
|
||||
/* and projnr_ins in (<<Projnr_ins>>) */
|
||||
/* and ins2 in (<<ins2>>) */
|
||||
/* and ins3 in (<<ins3>>) */
|
||||
/* and (buchungsab_fb in (<<FB_INS>>) */
|
||||
/* or projnr_ins in (<<FB_INS>>) ) */
|
||||
/* and titel in (<<Titel>>) */
|
||||
<#if "<<Deckungsring>>"="'no_dr'">
|
||||
and (dr='' or dr is null)
|
||||
<#else>
|
||||
/* and (dr in (<<Deckungsring>>) */
|
||||
/* or dr2 in (<<Deckungsring>>)) */
|
||||
</#if>
|
||||
/* and zweckbestimmung_ut in (<<Untertitel>>) */
|
||||
/* and sx_butype in (<<sx_butype>>) */
|
||||
<#if (Kostenarten.selectionCount>0)>
|
||||
and fikr in <@printkeys Kostenarten.allNeededKeys />
|
||||
</#if>
|
||||
--Kostenstellenrechte brauchen nicht abgefragt zu werden, wird ggfs. ber Finanzierungsquelle gemacht
|
||||
and (<@inlineTemplate />)
|
||||
|
||||
and <@koaTemplate/>
|
||||
group by 1,2,3 <#if showKLRKostenarten!='nein'>,fikr</#if> <#if verfuegbar_misch_aktiv>,dritt</#if>;
|
||||
</#foreach>
|
||||
<#if verfuegbar_misch_aktiv>
|
||||
update tmp_roh set verfuegbar_misch=verfuegbar where dritt=0;
|
||||
update tmp_roh set verfuegbar_misch=verfuegbar_geld where dritt=1;
|
||||
</#if>
|
||||
</#macro>
|
||||
|
||||
<#foreach koa in finkostenarten>
|
||||
<#if koa.strukturStr?length<2>Achtung - fuer ${koa.id} kein SQL definiert</#if>
|
||||
<@insert koa=koa/>
|
||||
</#foreach>
|
||||
create index tmp_ixroh on tmp_roh(fikr);
|
||||
|
||||
|
||||
<#assign sort=1/>
|
||||
<#foreach koa in finkostenarten>
|
||||
--defaultwerte falls nicht gewuenscht anders in repository definieren
|
||||
<#assign showAnsatz='ja'>
|
||||
<#assign showSperre='ja'>
|
||||
<#assign showFestgelegt='ja'>
|
||||
<#assign showVerfuegbar='ja'>
|
||||
<#assign showKLRKostenart=''/>
|
||||
<#assign showEinzeltitel='nein'/>
|
||||
--Variablen ggfs. durch repository Wert ueberschreiben
|
||||
<#assign inlineTemplate = koa.strukturStr?interpret>
|
||||
select count(*) from fin_konto_aggr where 1=0 and <@inlineTemplate />;
|
||||
|
||||
<#assign sort=sort+1/>
|
||||
insert into tmp_erg (koa,name,sortnr,sort2,hhans,reste,akt_soll,akts_plus_vojs,sperr,ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld,verfuegbar_misch,
|
||||
linkbuchhhans,linkbuchhhans_reste,linkbuchakts,linkbuchf,linkbuchaus,linkbuchein)
|
||||
select '${koa.id}'::char(100),'${koa.name}'::char(100),${sort},0,
|
||||
--hier könnte eigentlich in if show Ansatz rein, aber die Spalten werden standardmäßig eh nicht dargestellt, nur bei entsprechender CUSTOM_888880080 Variable
|
||||
sum(hhans),sum(reste),
|
||||
<#if showAnsatz!='nein'>sum(akt_soll),sum(akts_plus_vojs)<#else>null::decimal(14,2),null::decimal(14,2)</#if>,
|
||||
<#if showSperre!='nein'>sum(sperr)<#else>null::decimal(14,2)</#if>,sum(ausgaben),sum(einnahmen),
|
||||
<#if showFestgelegt!='nein'>sum(fest)<#else>null::decimal(14,2)</#if>,
|
||||
<#if showVerfuegbar!='nein'>sum(verfuegbar),sum(verfuegbar_geld),sum(verfuegbar_misch)<#else>null::decimal(14,2),null::decimal(14,2),null::decimal(14,2)</#if>,
|
||||
'${linkbuch}&FIN-Kostenart=${koa.id}${bhhans}','${linkbuch}&FIN-Kostenart=${koa.id}${bhhans_reste}',
|
||||
<#if showAnsatz!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bakts}'<#else>null::char(255)</#if>,
|
||||
<#if showFestgelegt!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bf}'<#else>null::char(255)</#if>,
|
||||
'${linkbuch}&FIN-Kostenart=${koa.id}${baus}',
|
||||
'${linkbuch}&FIN-Kostenart=${koa.id}${bein}'
|
||||
from xdummy left outer join tmp_roh on (koa='${koa.id}'::char(100))
|
||||
group by 1,2,3,4;
|
||||
|
||||
<#if showEinzeltitel!='nein'>
|
||||
<#assign sort=sort+1/>
|
||||
insert into tmp_erg (ebene,koa,fikr,name,sortnr,sort2,hhans,reste,akt_soll,akts_plus_vojs,sperr,ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld,verfuegbar_misch,
|
||||
linkbuchhhans,linkbuchhhans_reste,linkbuchakts,linkbuchf,linkbuchaus,linkbuchein)
|
||||
select
|
||||
2,
|
||||
'${koa.id}'::char(100),'titel',titel,${sort},titel::integer,
|
||||
--hier könnte eigentlich in if show Ansatz rein, aber die Spalten werden standardmäßig eh nicht dargestellt, nur bei entsprechender CUSTOM_888880080 Variable
|
||||
sum(hhans),sum(reste),
|
||||
<#if showAnsatz!='nein'>sum(akt_soll),sum(akts_plus_vojs)<#else>null::decimal(14,2),null::decimal(14,2)</#if>,
|
||||
<#if showSperre!='nein'>sum(sperr)<#else>null::decimal(14,2)</#if>,
|
||||
sum(ausgaben),
|
||||
sum(einnahmen),
|
||||
<#if showFestgelegt!='nein'>sum(fest)<#else>null::decimal(14,2)</#if>,
|
||||
<#if showVerfuegbar!='nein'>sum(verfuegbar),sum(verfuegbar_geld),sum(verfuegbar_misch)<#else>null::decimal(14,2),null::decimal(14,2),null::decimal(14,2)</#if>,
|
||||
'${linkbuch}&FIN-Kostenart=${koa.id}${bhhans}&Titel='||trim(titel),'${linkbuch}&FIN-Kostenart=${koa.id}${bhhans_reste}&Titel='||trim(titel),
|
||||
<#if showAnsatz!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bakts}&Titel='||trim(titel)<#else>null::char(255)</#if>,
|
||||
<#if showFestgelegt!='nein'>'${linkbuch}&FIN-Kostenart=${koa.id}${bf}&Titel='||trim(titel)<#else>null::char(255)</#if>,
|
||||
'${linkbuch}&FIN-Kostenart=${koa.id}${baus}&Titel='||trim(titel),
|
||||
'${linkbuch}&FIN-Kostenart=${koa.id}${bein}&Titel='||trim(titel)
|
||||
from tmp_roh where koa='${koa.id}'::char(100) and titel!=''
|
||||
group by 1,2,3,4,5,6;
|
||||
|
||||
</#if>
|
||||
-- KLR-Kostenarten muessen jetzt auf Ebene zwei sein, unter Titel nicht vorgesehen
|
||||
<#if showKLRKostenarten!='nein'>
|
||||
<#assign sort=sort+1/>
|
||||
<#assign sort2=1/>
|
||||
<#foreach klrkoa in Kostenarten.elements>
|
||||
<#if (Kostenarten.selectionCount==0)>
|
||||
<#assign klrkoa_ebene=klrkoa.level/>
|
||||
|
||||
<#else>
|
||||
<#assign klrkoa_ebene=klrkoa.levelFromSelection+2/>
|
||||
</#if>
|
||||
|
||||
<#if klrkoa.level>=2>
|
||||
insert into tmp_erg (ebene,koa,fikr,name,sortnr,sort2,hhans,reste,akt_soll,akts_plus_vojs,sperr,ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld,verfuegbar_misch,
|
||||
linkbuchakts,linkbuchf,linkbuchaus,linkbuchein)
|
||||
select
|
||||
${klrkoa_ebene},
|
||||
'${koa.id}'::char(100),'${klrkoa.key}'::char(12),'${klrkoa.name}'::char(150),${sort},${sort2},
|
||||
--hier könnte eigentlich in if show Ansatz rein, aber die Spalten werden standardmäßig eh nicht dargestellt, nur bei entsprechender CUSTOM_888880080 Variable
|
||||
sum(hhans),sum(reste),
|
||||
<#if showAnsatz!='nein'>sum(akt_soll),sum(akts_plus_vojs)<#else>null::decimal(14,2),null::decimal(14,2)</#if>,
|
||||
<#if showSperre!='nein'>sum(sperr)<#else>null::decimal(14,2)</#if>,
|
||||
sum(ausgaben),
|
||||
sum(einnahmen),
|
||||
<#if showFestgelegt!='nein'>sum(fest)<#else>null::decimal(14,2)</#if>,
|
||||
<#if showVerfuegbar!='nein'>sum(verfuegbar),sum(verfuegbar_geld),sum(verfuegbar_misch)<#else>null::decimal(14,2),null::decimal(14,2),null::decimal(14,2)</#if>,
|
||||
<#if showAnsatz!='nein'>'${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${bakts}'<#else>null::char(255)</#if>,
|
||||
<#if showFestgelegt!='nein'>'${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${bf}'<#else>null::char(255)</#if>,
|
||||
'${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${baus}',
|
||||
'${linkbuchspezKoa}&FIN-Kostenart=${koa.id}&Kostenarten=${klrkoa.key}${bein}'
|
||||
from tmp_roh where koa='${koa.id}'::char(100)
|
||||
and fikr in <@printkeys klrkoa.subkeys/>
|
||||
group by 1,2,3,4,5,6;
|
||||
<#assign sort2=sort2+1/>
|
||||
</#if>
|
||||
</#foreach>
|
||||
|
||||
</#if>
|
||||
</#foreach>
|
||||
--Summe fuer KLR_kostenarten einschliesslich untergeordneter
|
||||
<#foreach klrkoa in Kostenarten.elements>
|
||||
insert into tmp_fikrsum (koa,fikr,monat,ausgaben,einnahmen)
|
||||
select koa,'${klrkoa.key}'::char(12),monat,sum(ausgaben),sum(einnahmen) from tmp_roh where fikr in <@printkeys klrkoa.subkeys/>
|
||||
group by 1,2,3;
|
||||
</#foreach>
|
||||
create index tmp_ix1 on tmp_fikrsum (koa,monat);
|
||||
create index tmp_ix2 on tmp_fikrsum (fikr,monat);
|
||||
|
||||
<#list 1..maxmonat as i>
|
||||
update tmp_erg set aus${i}=(select sum(ausgaben) from tmp_roh where monat=${i} and tmp_erg.koa=tmp_roh.koa) where ebene=1;
|
||||
--fuer KLR-Koa
|
||||
update tmp_erg set aus${i}=
|
||||
(select sum(ausgaben) from tmp_fikrsum where monat=${i} and tmp_erg.koa=tmp_fikrsum.koa and tmp_erg.fikr=tmp_fikrsum.fikr) where ebene>1;
|
||||
-- für Einzeltitel
|
||||
update tmp_erg set aus${i}=
|
||||
(select sum(ausgaben) from tmp_roh where monat=${i} and tmp_erg.koa=tmp_roh.koa and tmp_erg.name=tmp_roh.titel) where
|
||||
fikr='titel' and ebene>1;
|
||||
|
||||
update tmp_erg set aus${i}=0 where aus${i} is null;
|
||||
</#list>
|
||||
|
||||
drop table tmp_fikrsum;
|
||||
drop table tmp_roh;
|
||||
|
||||
--update tmp_erg set akt_soll=0 where akt_soll is null;
|
||||
--update tmp_erg set sperr=0 where sperr is null;
|
||||
update tmp_erg set ausgaben=0 where ausgaben is null;
|
||||
--update tmp_erg set fest=0 where fest is null;
|
||||
--update tmp_erg set verfuegbar=0 where verfuegbar is null;
|
||||
update tmp_erg set name=(select max(ktobez) from fin_titel where tmp_erg.name=fin_titel.titel and fin_titel.jahr=<<Haushaltsjahr>>)
|
||||
where fikr='titel';
|
||||
|
||||
<@selectintotmp source="tmp_erg" target="tmp_erg2" select="*"/><@informixnolog/>;
|
||||
<#if finkostenarten?size>1>
|
||||
insert into tmp_erg2 (name,sortnr,linkbuchhhans,linkbuchhhans_reste,linkbuchakts,linkbuchf,linkbuchaus,linkbuchein,hhans,
|
||||
akt_soll,akts_plus_vojs,sperr,<#list 1..maxmonat as i>aus${i},</#list>ausgaben,einnahmen,fest,verfuegbar,verfuegbar_geld,
|
||||
verfuegbar_misch)
|
||||
select 'Summe'::char(5),${sort+1},
|
||||
<#if showAnsatz!='nein'>'${linkbuch}${bhhans}'<#else>null::char(255)</#if>,
|
||||
<#if showAnsatz!='nein'>'${linkbuch}${bhhans_reste}'<#else>null::char(255)</#if>,
|
||||
<#if showAnsatz!='nein'>'${linkbuch}${bakts}'<#else>null::char(255)</#if>,
|
||||
<#if showFestgelegt!='nein'>'${linkbuch}${bf}'<#else>null::char(255)</#if>,
|
||||
'${linkbuch}${baus}',
|
||||
'${linkbuch}${bein}'
|
||||
,sum(hhans),sum(akt_soll),sum(akts_plus_vojs),sum(sperr),
|
||||
<#list 1..maxmonat as i>sum(aus${i}),</#list>sum(ausgaben),sum(einnahmen),sum(fest),sum(verfuegbar),sum(verfuegbar_geld),sum(verfuegbar_misch) from tmp_erg
|
||||
where ebene=1 group by 1,2,3,4,5,6;
|
||||
</#if>
|
||||
update tmp_erg2 set gesamtausgaben=(select sum(ausgaben) from tmp_erg where ebene=1);
|
||||
update tmp_erg2 set prozent=(ausgaben/gesamtausgaben)*100 where gesamtausgaben is not null and gesamtausgaben!=0;
|
||||
drop table tmp_erg;
|
||||
|
||||
update tmp_erg2 set verfuegbar_misch_of=verfuegbar_misch+fest;
|
||||
|
||||
update tmp_erg2 set hhans=0 where hhans is null;
|
||||
update tmp_erg2 set reste=0 where reste is null;
|
||||
update tmp_erg2 set hhans_reste=hhans+reste;
|
||||
update tmp_erg2 set akt_soll=0 where akt_soll is null;
|
||||
update tmp_erg2 set sperr=0 where sperr is null;
|
||||
update tmp_erg2 set akts_plus_vojs=0 where akts_plus_vojs is null;
|
||||
update tmp_erg2 set ausgaben=0 where ausgaben is null;
|
||||
update tmp_erg2 set einnahmen=0 where einnahmen is null;
|
||||
update tmp_erg2 set fest=0 where fest is null;
|
||||
update tmp_erg2 set verfuegbar=0 where verfuegbar is null;
|
||||
update tmp_erg2 set verfuegbar_geld=0 where verfuegbar_geld is null;
|
||||
update tmp_erg2 set verfuegbar_misch=0 where verfuegbar_misch is null;
|
||||
update tmp_erg2 set verfuegbar_misch_of=0 where verfuegbar_misch_of is null;
|
||||
|
||||
<#if Username?starts_with("demo")>
|
||||
<#function rand min max>
|
||||
<#assign objectConstructor = "freemarker.template.utility.ObjectConstructor"?new()>
|
||||
<#local n1 = objectConstructor("java.util.Date")>
|
||||
<#local n2 = n1.getTime()/>
|
||||
<#local now=n2?string />
|
||||
<#local leng=now?length/>
|
||||
<#local randomNum=0.36+("0."+now[(leng-1)]+now[(leng-2)..(leng-1)])?number/>
|
||||
<#if (randomNum > 1)>
|
||||
<#assign _rand = randomNum % 1 />
|
||||
<#else>
|
||||
<#assign _rand = randomNum />
|
||||
</#if>
|
||||
<#return (min + ((max - min) * _rand))/>
|
||||
</#function>
|
||||
<#assign zufall=rand(3,9)?string?replace(",",".")/>
|
||||
update tmp_erg2 set hhans=hhans*${zufall} ,
|
||||
sperr=sperr*${zufall} ,
|
||||
akt_soll=akt_soll*${zufall} ,
|
||||
akts_plus_vojs=akts_plus_vojs*${zufall} ,
|
||||
einnahmen =einnahmen*${zufall},
|
||||
ausgaben=ausgaben*${zufall},
|
||||
<#list 1..maxmonat as i>aus${i}=aus${i}*${zufall},</#list>
|
||||
verfuegbar=verfuegbar*${zufall} ,
|
||||
verfuegbar_geld=verfuegbar_geld*${zufall},
|
||||
verfuegbar_misch=verfuegbar_misch*${zufall},
|
||||
verfuegbar_misch_of=verfuegbar_misch_of*${zufall};
|
||||
|
||||
</#if>
|
||||
|
||||
<#list 1..maxmonat as i>
|
||||
update tmp_erg2 set linkbuchaus${i}=linkbuchaus||'&Monat=${i}';
|
||||
</#list>
|
||||
|
||||
|
||||
<#if customize?exists>
|
||||
-- wenn das Feld nicht versteckt ist, muss Link gekürzt werden
|
||||
<#foreach f in customize.resulttable>
|
||||
<#if f.field?index_of("linkbuchhhans")>-1&&f.field?index_of("hidden")==-1>
|
||||
update tmp_erg2 set linkbuchhhans=replace(linkbuchhhans,'SuperXmlTabelle?tid=','');
|
||||
update tmp_erg2 set linkbuchhhans_reste=replace(linkbuchhhans_reste,'SuperXmlTabelle?tid=','');
|
||||
</#if>
|
||||
<#if f.field?index_of("linkbuchakts")>-1&&f.field?index_of("hidden")==-1>
|
||||
update tmp_erg2 set linkbuchakt=replace(linkbuchakts,'SuperXmlTabelle?tid=','');
|
||||
</#if>
|
||||
<#if f.field?index_of("linkbuchf")>-1&&f.field?index_of("hidden")==-1>
|
||||
update tmp_erg2 set linkbuchf=replace(linkbuchf,'SuperXmlTabelle?tid=','');
|
||||
</#if>
|
||||
<#if f.field?index_of("linkbuchaus")>-1&&f.field?index_of("hidden")==-1>
|
||||
update tmp_erg2 set linkbuchaus=replace(linkbuchaus,'SuperXmlTabelle?tid=','');
|
||||
</#if>
|
||||
<#if f.field?index_of("linkbuchein")>-1&&f.field?index_of("hidden")==-1>
|
||||
update tmp_erg2 set linkbuchein=replace(linkbuchein,'SuperXmlTabelle?tid=','');
|
||||
</#if>
|
||||
</#foreach>
|
||||
|
||||
|
||||
|
||||
select <#foreach f in customize.resulttable>
|
||||
<#if f.caption='Ausgaben'>
|
||||
<#if Finanzierungsquelle!='FIN_EINNAHMEN'>
|
||||
<#list 1..maxmonat as i>aus${i},</#list> ausgaben,
|
||||
<#list 1..maxmonat as i>linkbuchaus${i} as hidden_aus${i},</#list> linkbuchaus as hidden_ausgaben,
|
||||
</#if>
|
||||
<#else>
|
||||
<#if !f.field?starts_with("linkbuchaus")||Finanzierungsquelle!='FIN_EINNAHMEN'>
|
||||
${f.field} <#if f_has_next>,</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
</#foreach>
|
||||
from tmp_erg2 order by sortnr,sort2,name;
|
||||
<#else>
|
||||
select ebene,name,akt_soll,einnahmen,sperr,
|
||||
<#if Finanzierungsquelle!='FIN_EINNAHMEN'>
|
||||
<#list 1..maxmonat as i>aus${i},</#list> ausgaben,
|
||||
<#list 1..maxmonat as i>linkbuchaus${i} as hidden_aus${i},</#list> linkbuchaus as hidden_ausgaben,
|
||||
</#if>
|
||||
fest, verfuegbar,
|
||||
linkbuchakts as hidden_akt_soll, linkbuchf as hidden_fest,
|
||||
linkbuchein as hidden_einnahmen
|
||||
from tmp_erg2 order by sortnr,sort2,name;
|
||||
</#if>]]></text>
|
||||
<text table="maskeninfo" field="xil_proplist" where="tid=888880080"><![CDATA[XIL List
|
||||
--Freemarker Template
|
||||
<#include "SQL_lingua_franca"/>
|
||||
<#include "SuperX_general"/>
|
||||
<#assign monate=["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]/>
|
||||
|
||||
<sqlvars>
|
||||
<sqlvar name="maxmonat">select month(today()) from xdummy where year(today())=<<Haushaltsjahr>> union select 12 from xdummy where year(today())!=<<Haushaltsjahr>></sqlvar>
|
||||
</sqlvars>
|
||||
sizable_columns horizontal_scrolling
|
||||
white_space_color=COLOR_WHITE
|
||||
fixed_columns=2
|
||||
min_heading_height=35
|
||||
<#if CUSTOM_888880080?exists>
|
||||
<#assign inlineTemplate=CUSTOM_888880080?interpret>
|
||||
<@inlineTemplate/>
|
||||
</#if>
|
||||
<#if customize?exists>
|
||||
<#foreach f in customize.resulttable>
|
||||
<#if f.caption='Ausgaben'>
|
||||
<#if Finanzierungsquelle!='FIN_EINNAHMEN'>
|
||||
<#list 1..maxmonat as i>
|
||||
Column CID=0 heading_text="Ausgaben\000${monate[i-1]}" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=10
|
||||
</#list>
|
||||
Column CID=0 heading_text="Ausgaben\000GESAMT" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=10
|
||||
</#if>
|
||||
<#list 1..maxmonat as i>
|
||||
Column CID=0 heading_text="hidden_Ausgaben${monate[i-1]}" explanation="" center_heading row_selectable heading_platform readonly width=1 text_size=10
|
||||
</#list>
|
||||
Column CID=0 heading_text="hidden_Ausgaben" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=1
|
||||
<#else>
|
||||
<#if !f.field?starts_with("linkbuchaus")||Finanzierungsquelle!='FIN_EINNAHMEN'>
|
||||
Column CID=2 heading_text="${f.caption}" explanation="" center_heading
|
||||
row_selectable col_selectable heading_platform readonly width=${f.width}
|
||||
</#if>
|
||||
</#if>
|
||||
</#foreach>
|
||||
|
||||
<#else>
|
||||
Column CID=0 heading_text="Ebene" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=8 text_size=8
|
||||
Column CID=0 heading_text="Kostenart" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=30 text_size=30
|
||||
Column CID=0 heading_text="Ansatz inkl.Reste" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=10 text_size=10
|
||||
Column CID=0 heading_text="Einnahmen" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=10 text_size=10
|
||||
Column CID=0 heading_text="Sperre" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=10 text_size=10
|
||||
<#if Finanzierungsquelle!='FIN_EINNAHMEN'>
|
||||
<#list 1..maxmonat as i>
|
||||
Column CID=0 heading_text="Ausgaben\000${monate[i-1]}" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=10 text_size=10
|
||||
</#list>
|
||||
</#if>
|
||||
Column CID=0 heading_text="Ausgaben\000GESAMT" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=10 text_size=10
|
||||
<#list 1..maxmonat as i>
|
||||
Column CID=0 heading_text="hidden_Ausgaben${monate[i-1]}" explanation="" center_heading row_selectable heading_platform readonly width=1 text_size=10
|
||||
</#list>
|
||||
Column CID=0 heading_text="hidden_Ausgaben" explanation="" center_heading row_selectable heading_platform readonly width=10 text_size=1
|
||||
Column CID=0 heading_text="Festgelegt" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=12 text_size=12
|
||||
Column CID=0 heading_text="Verfügbar" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=12 text_size=12
|
||||
Column CID=0 heading_text="Buchungen\nAnsatz" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=12 text_size=12
|
||||
Column CID=0 heading_text="Buchungen\nFestgelegt" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=12 text_size=12
|
||||
<#if Finanzierungsquelle!='FIN_EINNAHMEN'>
|
||||
Column CID=0 heading_text="Buchungen\nAusgaben" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=12 text_size=12
|
||||
</#if>
|
||||
Column CID=0 heading_text="Buchungen\nEinnahmen" explanation="" center_heading
|
||||
row_selectable heading_platform readonly
|
||||
width=12 text_size=12
|
||||
</#if>]]></text>
|
||||
<text table="maskeninfo" field="erlaeuterung" where="tid=888880080"><![CDATA[Übersicht über Verteilung nach Kostenarten für Haushaltsbudgets]]></text>
|
||||
<text table="maskeninfo" field="hinweis" where="tid=888880080"><![CDATA[<<SQL>>
|
||||
--freemarker template
|
||||
select 'Achtung Demodaten' from xdummy where 1=0 <#if Username?starts_with("demo")> or 1=1</#if>]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880080"><![CDATA[<<SQL>> SELECT distinct ord,name FROM aggregierung where kategorie='FIN-Jahr' and ord>=2020 order by 1 DESC;]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880081"><![CDATA[<<SQL>> select kapitel,ktobez from fin_kapitel where 1=1 /* and jahr=<<Haushaltsjahr>> */ order by ktobez]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880082"><![CDATA[<<SQL>> select id,caption from sx_repository where art='FIN_FINANZIERUNGSQUELLE' and aktiv=1 and gueltig_seit<=date_val('1.1.<<Haushaltsjahr>>') and gueltig_bis>=date_val('31.12.<<Haushaltsjahr>>')]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880083"><![CDATA[<<SQL>>
|
||||
--freemarker template
|
||||
select distinct titel,ktobez from fin_titel where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel=<<Kapitel>> */
|
||||
<#if "<<Deckungsring>>"="'no_dr'">
|
||||
and (dr='' or dr is null)
|
||||
<#else>
|
||||
/* and (dr in (<<Deckungsring>>) */
|
||||
/* or dr2 in (<<Deckungsring>>)) */
|
||||
</#if>
|
||||
order by ktobez]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880084"><![CDATA[<<SQL>> select tid,type,name from sichten where art='FIN-Kostenstellen-Sicht' and aktiv=1 order by type,tid]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880085"><![CDATA[<<SQL>>
|
||||
<#assign template = FIN_DRITTMITTELPROJEKTE?interpret>
|
||||
<@template/>
|
||||
--erwartet drittmittelstartjahr und drittmittelprojektebedingung
|
||||
select distinct buchungsab_fb,trim(buchungsab_fb)||'-'||max(ktobez) from fin_buchab_fb where jahr=<<Haushaltsjahr>>
|
||||
/* and kapitel in (<<Kapitel>>) */
|
||||
<#if "<<Deckungsring>>"="'no_dr'">
|
||||
and (dr='' or dr is null)
|
||||
<#else>
|
||||
/* and (dr in (<<Deckungsring>>) */
|
||||
/* or dr2 in (<<Deckungsring>>)) */
|
||||
</#if>
|
||||
/* and titel in (<<Titel>>) */
|
||||
/* and zweckbestimmung_ut in (<<Untertitel>>) */
|
||||
and ${SxFinRechte("K1","31.12.<<Haushaltsjahr>>","","","","")}
|
||||
and not (${drittmittelprojektebedingung})
|
||||
group by 1
|
||||
union
|
||||
select distinct projnr_ins,trim(projnr_ins)||'-'||max(ktobez) from fin_projnr_ins where jahr=<<Haushaltsjahr>>
|
||||
/* and kapitel in (<<Kapitel>>) */
|
||||
/* and (dr in (<<Deckungsring>>) */
|
||||
/* or dr2 in (<<Deckungsring>>)) */
|
||||
/* and titel in (<<Titel>>) */
|
||||
/* and zweckbestimmung_ut in (<<Untertitel>>) */
|
||||
and ${SxFinRechte("K2","31.12.<<Haushaltsjahr>>","","","","","")}
|
||||
and not (${drittmittelprojektebedingung})
|
||||
group by 1 order by 1;]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880086"><![CDATA[<<SQL>>
|
||||
--freemarker template
|
||||
select distinct buchungsab_fb,trim(buchungsab_fb)||'-'||max(ktobez) from fin_buchab_fb where jahr=<<Haushaltsjahr>>
|
||||
/* and kapitel in (<<Kapitel>>) */
|
||||
<#if "<<Deckungsring>>"="'no_dr'">
|
||||
and (dr='' or dr is null)
|
||||
<#else>
|
||||
/* and (dr in (<<Deckungsring>>) */
|
||||
/* or dr2 in (<<Deckungsring>>)) */
|
||||
</#if>
|
||||
|
||||
and ${SxFinRechte("K1","31.12.<<Haushaltsjahr>>","","","","")}
|
||||
group by 1 order by 1]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880087"><![CDATA[<<SQL>>
|
||||
--Freemarker Template
|
||||
<#include "SQL_lingua_franca"/>
|
||||
select distinct projnr_ins,trim(projnr_ins)||'-'||max(ktobez) from fin_projnr_ins where jahr=<<Haushaltsjahr>>
|
||||
/* and kapitel in (<<Kapitel>>) */
|
||||
/* and (dr in (<<Deckungsring>>) */
|
||||
/* or dr2 in (<<Deckungsring>>)) */
|
||||
/* and buchungsab_fb in (<<Buchungsab_fb>>) */
|
||||
and ${SxFinRechte("K2","31.12.<<Haushaltsjahr>>","","","","","")}
|
||||
group by 1 order by 1;]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880088"><![CDATA[<<SQL>>
|
||||
--Freemarker Template
|
||||
select ins2,trim(ins2)||'-'||max(ktobez) from fin_ins2 where
|
||||
${SxFinRechte("K3","31.12.<<Haushaltsjahr>>","","","","","")}
|
||||
/* and jahr=<<Haushaltsjahr>> */
|
||||
/* and kapitel in (<<Kapitel>>) */
|
||||
<#if "<<Deckungsring>>"="'no_dr'">
|
||||
and (dr='' or dr is null)
|
||||
<#else>
|
||||
/* and (dr in (<<Deckungsring>>) */
|
||||
/* or dr2 in (<<Deckungsring>>)) */
|
||||
</#if>
|
||||
/* and buchungsab_fb in (<<Buchungsab_fb>>) */
|
||||
/* and projnr_ins in (<<Projnr_ins>>) */
|
||||
group by 1 order by 1;]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880089"><![CDATA[<<SQL>>
|
||||
--Freemarker Template
|
||||
select ins3,trim(ins3)||'-'||max(ktobez) from fin_ins3
|
||||
where
|
||||
${SxFinRechte("K4","31.12.<<Haushaltsjahr>>","","","","","")}
|
||||
/* and jahr=<<Haushaltsjahr>> */
|
||||
/* and kapitel=<<Kapitel>> */
|
||||
<#if "<<Deckungsring>>"="'no_dr'">
|
||||
and (dr='' or dr is null)
|
||||
<#else>
|
||||
/* and (dr in (<<Deckungsring>>) */
|
||||
/* or dr2 in (<<Deckungsring>>)) */
|
||||
</#if>
|
||||
/* and titel in (<<Titel>>) */
|
||||
/* and zweckbestimmung_ut in (<<Untertitel>>) */
|
||||
/* and buchungsab_fb in (<<Buchungsab_fb>>) */
|
||||
/* and projnr_ins in (<<Projnr_ins>>) */
|
||||
/* and ins2 in (<<ins2>>) */
|
||||
group by 1 order by 1]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880090"><![CDATA[<<SQL>>
|
||||
|
||||
--freemarker template
|
||||
select distinct zweckbestimmung_ut,ktobez from fin_zweck_ut where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel=<<Kapitel>> */
|
||||
<#if "<<Deckungsring>>"="'no_dr'">
|
||||
and (dr='' or dr is null)
|
||||
<#else>
|
||||
/* and (dr in (<<Deckungsring>>) */
|
||||
/* or dr2 in (<<Deckungsring>>)) */
|
||||
</#if>
|
||||
/* and titel in (<<Titel>>) */ order by ktobez]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880091"><![CDATA[<<SQL>> select tid,type,name,sortnr from sichten where art='FIN-Kosten-/Erlösarten-Sicht' and aktiv=1 order by sortnr,type,name]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880092"><![CDATA[<<SQL>> select tid,type,name,sortnr from sichten where art='FIN-Kostenträger-Sicht' and aktiv=1 order by sortnr,type,name]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880093"><![CDATA[<<SQL>>select tid,type,name,sortnr from sichten where art ='Geldgeber-Sicht (FIN)' and aktiv=1 order by sortnr,type,name;]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880094"><![CDATA[<<SQL>> select distinct kapitel,ktobez from fin_kapitel where jahr=<<Haushaltsjahr>> order by ktobez]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880095"><![CDATA[<<SQL>> select distinct dr,ktobez from fin_dr where 1=1 /* and jahr=<<Haushaltsjahr>> */ /* and kapitel=<<Kapitel>> */
|
||||
union select 'no_dr','Keine Titelgruppe' from xdummy
|
||||
order by ktobez]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880096"><![CDATA[<<SQL>> select tid,name,sortnr from sichten where art='Buchungstyp-Sicht' and aktiv=1 order by sortnr,name]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880097"><![CDATA[]]></text>
|
||||
<text table="felderinfo" field="relation" where="tid=888880098"><![CDATA[<<SQL>> select 'FIN_KOSTENART','FIN_KOSTENART' from xdummy union select 'FIN_KOSTENART2','FIN_KOSTENART2' from xdummy]]></text>
|
||||
</xupdate>
|
||||
Reference in New Issue
Block a user