566 lines
18 KiB
Groovy
566 lines
18 KiB
Groovy
import com.dvelop.d3.server.Document
|
|
import com.dvelop.d3.server.core.D3Interface
|
|
import com.dvelop.d3.server.exceptions.SQLException
|
|
import com.dvelop.d3.server.exceptions.D3Exception
|
|
import groovy.transform.Field
|
|
|
|
D3Interface d3 = getProperty("d3");
|
|
|
|
@Field prg = "migration_verknuepfungen_2.groovy";
|
|
@Field version = "0.1";
|
|
@Field kunde = "Dr. Kleeberg & Partner GmbH";
|
|
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// debug = 0 => es finden Änderungen am Datenbestand statt
|
|
// debug = 1 => es finden keine Änderungen am Datenbestand statt
|
|
@Field debug = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
|
def debugtext;
|
|
|
|
switch (debug)
|
|
{
|
|
case 0:
|
|
debugtext = "ausgeschaltet";
|
|
break;
|
|
default:
|
|
debugtext = "eingeschaltet (keine Aenderungen am Datenbestand)";
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
xlog( d3, 4, "************************************************" );
|
|
xlog( d3, 4, "* Programm : " + prg );
|
|
xlog( d3, 4, "* Version : " + version );
|
|
xlog( d3, 4, "* Kunde : " + kunde );
|
|
xlog( d3, 4, "* geschrieben von : calb / d.velop AG" );
|
|
xlog( d3, 4, "* (c) d.velop AG" );
|
|
xlog( d3, 4, "************************************************" );
|
|
|
|
|
|
xlog( d3, 4, "Parameter: " );
|
|
xlog( d3, 4, "* DEBUG : " + debugtext );
|
|
|
|
|
|
|
|
|
|
xlog( d3, 4, "************************************************" );
|
|
|
|
|
|
def sqlQuery = "select top (100) id,unique_id_doc,unique_id_fol,ddf10,ddf3,ddf4,ddf23,ddf17,ddf32 from mig_link_docs_2 where doku_id_target_fol is null and ddf3 is not null and ddf10 like '%DA%' and fehler is null and id >= 177869 and id < 613985 ";
|
|
|
|
resultRows = d3.sql.executeAndGet( (String) sqlQuery );
|
|
|
|
xlog( d3, 4, " Es wurden " + resultRows.size() + " Treffer gefunden." );
|
|
xlog( d3, 4, "************************************************" );
|
|
|
|
if ( resultRows.size() > 0 )
|
|
{
|
|
for( int i = 0 ; i <= resultRows.size() - 1 ; i++ )
|
|
{
|
|
def dummy_ddf3, dummy_ddf4, dummy_ddf23, dummy_ddf17, dummy_ddf32;
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": pruefen, ob folgende Aktenstruktur existiert:" );
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Unique-ID Dokument : [" + resultRows[ i ].unique_id_doc + "]" );
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": DDF10 / Aktennummer : [" + resultRows[ i ].ddf10 + "]" );
|
|
|
|
if ( ( ! resultRows[ i ].ddf3 ) || ( resultRows[ i ].ddf3 == "null" ) )
|
|
{
|
|
dummy_ddf3 = "";
|
|
}
|
|
else
|
|
{
|
|
dummy_ddf3 = resultRows[ i ].ddf3;
|
|
}
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": DDF03 / Oberregister : [" + dummy_ddf3 + "]" );
|
|
|
|
if ( ( ! resultRows[ i ].ddf4 ) || ( resultRows[ i ].ddf4 == "null" ) )
|
|
{
|
|
dummy_ddf4 = "";
|
|
}
|
|
else
|
|
{
|
|
dummy_ddf4 = resultRows[ i ].ddf4;
|
|
}
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": DDF04 / Register : [" + dummy_ddf4 + "]" );
|
|
|
|
if ( ( ! resultRows[ i ].ddf23 ) || ( resultRows[ i ].ddf23 == "null" ) )
|
|
{
|
|
dummy_ddf23 = "";
|
|
}
|
|
else
|
|
{
|
|
dummy_ddf23 = resultRows[ i ].ddf23;
|
|
}
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": DDF23 / Unterregister : [" + dummy_ddf23 + "]" );
|
|
|
|
if ( ( ! resultRows[ i ].ddf17 ) || ( resultRows[ i ].ddf17 == "null" ) )
|
|
{
|
|
dummy_ddf17 = "";
|
|
}
|
|
else
|
|
{
|
|
dummy_ddf17 = resultRows[ i ].ddf17;
|
|
}
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": DDF17 / 2. Unterregister : [" + dummy_ddf17 + "]" );
|
|
|
|
if ( ( ! resultRows[ i ].ddf32 ) || ( resultRows[ i ].ddf32 == "null" ) )
|
|
{
|
|
dummy_ddf32 = "";
|
|
}
|
|
else
|
|
{
|
|
dummy_ddf32 = resultRows[ i ].ddf32;
|
|
}
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": DDF32 / 3. Unterregister : [" + dummy_ddf32 + "]" );
|
|
|
|
def typ = resultRows[ i ].ddf10.substring(5, 7);
|
|
|
|
xlog( d3, 5, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": erkannter Typ: " + typ );
|
|
|
|
def orakte, rakte, urakte, urakte2, urakte3;
|
|
|
|
|
|
switch ( typ )
|
|
{
|
|
case "FI":
|
|
akte = "AFIBA";
|
|
orakte = "AFIOR";
|
|
rakte = "AFIRA";
|
|
urakte = "AFIUR";
|
|
urakte2 = "AFIU2";
|
|
urakte3 = "";
|
|
break;
|
|
case "DA":
|
|
akte = "ADAUR";
|
|
orakte = "AOREG";
|
|
rakte = "AREGS";
|
|
urakte = "AUREG";
|
|
urakte2 = "AURG2";
|
|
urakte3 = "AURG3";
|
|
break;
|
|
case "ST":
|
|
akte = "ASTEU";
|
|
orakte = "ASTOR";
|
|
rakte = "ASTRA";
|
|
urakte = "ASTUR";
|
|
urakte2 = "ASTU2";
|
|
urakte3 = "";
|
|
break;
|
|
case "BE":
|
|
akte = "ABERB";
|
|
orakte = "ABERO";
|
|
rakte = "ABERA";
|
|
urakte = "ABEUR";
|
|
urakte2 = "ABEU2";
|
|
urakte3 = "";
|
|
break;
|
|
case "BP":
|
|
akte = "ABETR";
|
|
orakte = "ABEOR";
|
|
rakte = "ABEPA";
|
|
urakte = "ABPUR";
|
|
urakte2 = "ABPU2";
|
|
urakte3 = "";
|
|
break;
|
|
case "LO":
|
|
akte = "ALOJA";
|
|
orakte = "ALBOR";
|
|
rakte = "ALBRE";
|
|
urakte = "ALJUR";
|
|
urakte2 = "ALJR2";
|
|
urakte3 = "";
|
|
break;
|
|
case "LS":
|
|
akte = "ALBSA";
|
|
orakte = "ALBSO";
|
|
rakte = "ALORE";
|
|
urakte = "ALOUR";
|
|
urakte2 = "ALBU2";
|
|
urakte3 = "";
|
|
break;
|
|
case "JA":
|
|
akte = "AJAAA";
|
|
orakte = "AJAOB";
|
|
rakte = "AJAAB";
|
|
urakte = "AJAUR";
|
|
urakte2 = "AJAU2";
|
|
urakte3 = "";
|
|
break;
|
|
case "RE":
|
|
akte = "AAURE";
|
|
orakte = "AAURR";
|
|
rakte = "AAURA";
|
|
urakte = "AAURU";
|
|
urakte2 = "AAUR2";
|
|
urakte3 = "";
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
|
|
def schritt_1 = [ "kue_dokuart": orakte, "dok_dat_feld_10": resultRows[ i ].ddf10, "dok_dat_feld_3": dummy_ddf3 ];
|
|
def schritt_2 = [ "kue_dokuart": rakte, "dok_dat_feld_10": resultRows[ i ].ddf10, "dok_dat_feld_3": dummy_ddf3, "dok_dat_feld_4": dummy_ddf4 ];
|
|
def schritt_3 = [ "kue_dokuart": urakte, "dok_dat_feld_10": resultRows[ i ].ddf10, "dok_dat_feld_3": dummy_ddf3, "dok_dat_feld_4": dummy_ddf4, "dok_dat_feld_23": dummy_ddf23 ];
|
|
def schritt_4 = [ "kue_dokuart": urakte2, "dok_dat_feld_10": resultRows[ i ].ddf10, "dok_dat_feld_3": dummy_ddf3, "dok_dat_feld_4": dummy_ddf4, "dok_dat_feld_23": dummy_ddf23, "dok_dat_feld_17": dummy_ddf17 ];
|
|
def schritt_5 = [ "kue_dokuart": urakte3, "dok_dat_feld_10": resultRows[ i ].ddf10, "dok_dat_feld_3": dummy_ddf3, "dok_dat_feld_4": dummy_ddf4, "dok_dat_feld_23": dummy_ddf23, "dok_dat_feld_17": dummy_ddf17, "dok_dat_feld_32": dummy_ddf32 ];
|
|
|
|
def schritte = [ schritt_1, schritt_2, schritt_3, schritt_4, schritt_5 ];
|
|
|
|
def gemerkte_doku_id;
|
|
def lege_akte_an;
|
|
|
|
for ( int m = 0; m <= schritte.size() - 1 ; m++ )
|
|
{
|
|
|
|
// Zusammenbauen des Such-Statements:
|
|
|
|
def STATEMENT = "select doku_id from firmen_spezifisch where ";
|
|
def log = "Suche nach folgenden Kriterien : ";
|
|
def x = 0;
|
|
def und;
|
|
def kein_problem = true;
|
|
lege_akte_an = true;
|
|
|
|
schritte[ m ].each { eintrag ->
|
|
|
|
//xlog( d3, 3, "Key [" + eintrag.key + "] Value [" + eintrag.value + "]" );
|
|
if ( x > 0 )
|
|
{
|
|
und = " and ";
|
|
}
|
|
else
|
|
{
|
|
und = "";
|
|
x = 1;
|
|
}
|
|
|
|
if ( ( eintrag.value == "" ) || ( eintrag.value == null ) )
|
|
{
|
|
kein_problem = false;
|
|
}
|
|
|
|
if ( ( eintrag.key == "kue_dokuart" ) && ( eintrag.value == "" ) )
|
|
{
|
|
kein_problem = false;
|
|
}
|
|
|
|
STATEMENT = STATEMENT + und + eintrag.key + " = '" + eintrag.value + "' ";
|
|
log = log + "[" + eintrag.key + "] => [" + eintrag.value + "] ";
|
|
}
|
|
|
|
if ( kein_problem )
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": " + log );
|
|
|
|
xlog( d3, 5, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": " + STATEMENT );
|
|
|
|
def ergebnis = d3.sql.executeAndGet( (String) STATEMENT );
|
|
|
|
if ( ergebnis.size() > 0 )
|
|
{
|
|
// Akte existiert
|
|
// Doku-ID merken:
|
|
gemerkte_doku_id = ergebnis[ 0 ].doku_id;
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Akte existiert, gemerkte Doku-ID: [" + gemerkte_doku_id + "]" );
|
|
|
|
//def updatesql = "update mig_verknuepfung set ziel_dok = '" + ergebnis[ 0 ].doku_id + "' where id = " + resultRows[ i ].id;
|
|
|
|
}
|
|
else
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Akte existiert nicht, muss angelegt werden." );
|
|
|
|
|
|
// Akte existiert nicht, muss angelegt werden:
|
|
Document newDoc = d3.archive.newDocument();
|
|
//xlog( d3, 2, "Schritte kue_dokuart = [" + schritte[ m ] + "]");
|
|
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze Dokumentart [" + schritte[ m ].kue_dokuart + "]" );
|
|
|
|
newDoc.type = schritte[ m ].kue_dokuart;
|
|
|
|
|
|
|
|
newDoc.status = Document.DocStatus.DOC_STAT_RELEASE;
|
|
//newDoc.editor = "dvelop";
|
|
|
|
// Mit diesem Statement wird versucht, die Hauptakte zu finden, um von dieser dann Eigenschaftswerte zu lesen. Kann diese Akte nicht gefunden werden, ist das ein Fehlerzustand,
|
|
// der am Datensatz in der Quelle festgehalten wird.
|
|
STATEMENT = "select doku_id, dok_dat_feld_25, dok_dat_feld_42, dok_dat_feld_21, dok_dat_feld_2, dok_dat_feld_13, dok_dat_feld_37, dok_dat_feld_1 from firmen_spezifisch where kue_dokuart = '" + akte + "' and dok_dat_feld_10 = '" + resultRows[ i ].ddf10 + "'";
|
|
|
|
def erg = d3.sql.executeAndGet( (String) STATEMENT );
|
|
//xlog( d3, 5, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": " + STATEMENT );
|
|
|
|
if ( schritte[ m ].dok_dat_feld_1 ) // Mandantnummer
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF1 / Mandantnummer [" + schritte[ m ].dok_dat_feld_1 + "]" );
|
|
newDoc.field[ 1 ] = schritte[ m ].dok_dat_feld_1;
|
|
}
|
|
|
|
|
|
if ( erg.size() > 0 )
|
|
{
|
|
if ( ( erg[ 0 ].dok_dat_feld_1 ) && ( ! schritte[ m ].dok_dat_feld_1 ) )
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF1 / Mandantnummer [" + erg[ 0 ].dok_dat_feld_1 + "]" );
|
|
newDoc.field[ 1 ] = erg[ 0 ].dok_dat_feld_1;
|
|
}
|
|
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF10 / Aktennummer [" + resultRows[ i ].ddf10 + "]" );
|
|
newDoc.field[ 10 ] = resultRows[ i ].ddf10;
|
|
|
|
if ( erg[ 0 ].dok_dat_feld_25 )
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF25 / Geschaeftsfuehrer [" + erg[ 0 ].dok_dat_feld_25 + "]" );
|
|
newDoc.field[ 25 ] = erg[ 0 ].dok_dat_feld_25;
|
|
}
|
|
|
|
if ( erg[ 0 ].dok_dat_feld_42 )
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF42 / Briefkopf [" + erg[ 0 ].dok_dat_feld_42 + "]" );
|
|
newDoc.field[ 42 ] = erg[ 0 ].dok_dat_feld_42;
|
|
}
|
|
|
|
if ( erg[ 0 ].dok_dat_feld_21 )
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF21 / Aktenname [" + erg[ 0 ].dok_dat_feld_21 + "]" );
|
|
newDoc.field[ 21 ] = erg[ 0 ].dok_dat_feld_21;
|
|
}
|
|
|
|
if ( erg[ 0 ].dok_dat_feld_2 )
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF2 / Mandantname [" + erg[ 0 ].dok_dat_feld_2 + "]" );
|
|
newDoc.field[ 2 ] = erg[ 0 ].dok_dat_feld_2;
|
|
}
|
|
|
|
if ( erg[ 0 ].dok_dat_feld_13 )
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF13 / Mandantgruppennummer [" + erg[ 0 ].dok_dat_feld_13 + "]" );
|
|
newDoc.field[ 13 ] = erg[ 0 ].dok_dat_feld_13;
|
|
}
|
|
|
|
if ( erg[ 0 ].dok_dat_feld_37 )
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF37 / Mandatsverantwortlicher [" + erg[ 0 ].dok_dat_feld_37 + "]" );
|
|
newDoc.field[ 37 ] = erg[ 0 ].dok_dat_feld_37;
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
lege_akte_an = false;
|
|
}
|
|
|
|
|
|
if ( schritte[ m ].dok_dat_feld_3 ) // Oberregister
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF3 / Oberregister [" + schritte[ m ].dok_dat_feld_3 + "]" );
|
|
newDoc.field[ 3 ] = schritte[ m ].dok_dat_feld_3;
|
|
}
|
|
|
|
if ( schritte[ m ].dok_dat_feld_4 ) // Register
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF4 / Register [" + schritte[ m ].dok_dat_feld_4 + "]" );
|
|
newDoc.field[ 4 ] = schritte[ m ].dok_dat_feld_4;
|
|
}
|
|
|
|
if ( schritte[ m ].dok_dat_feld_23 ) // Unterregister
|
|
{
|
|
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF23 / Unterregister [" + schritte[ m ].dok_dat_feld_23 + "]" );
|
|
newDoc.field[ 23 ] = schritte[ m ].dok_dat_feld_23;
|
|
}
|
|
|
|
if ( schritte[ m ].dok_dat_feld_17 ) // 2. Unterregister
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF17 / 2. Unterregister [" + schritte[ m ].dok_dat_feld_17 + "]" );
|
|
newDoc.field[ 17 ] = schritte[ m ].dok_dat_feld_17;
|
|
}
|
|
|
|
if ( schritte[ m ].dok_dat_feld_32 ) // 3. Unterregister
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Setze DDF32 / 3. Unterregister [" + schritte[ m ].dok_dat_feld_32 + "]" );
|
|
newDoc.field[ 32 ] = schritte[ m ].dok_dat_feld_32;
|
|
}
|
|
|
|
def fehler = false;
|
|
|
|
if ( debug == 0 )
|
|
{
|
|
if ( lege_akte_an )
|
|
{
|
|
try
|
|
{
|
|
newDoc = d3.archive.importDocument( newDoc );
|
|
}
|
|
catch ( D3Exception e )
|
|
{
|
|
xlog( d3, 2, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Akte konnte nicht erzeugt werden: " + e.message );
|
|
fehler = true;
|
|
}
|
|
|
|
if ( ! fehler )
|
|
{
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Doku-ID der erzeugten Akte : [" + newDoc.id + "]" );
|
|
gemerkte_doku_id = newDoc.id;
|
|
xlog( d3, 4, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Akte existiert, gemerkte Doku-ID: [" + gemerkte_doku_id + "]" );
|
|
}
|
|
}
|
|
else
|
|
{
|
|
xlog( d3, 3, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Hauptakte wurde nicht gefunden => Akte wurde nicht erzeugt." );
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
xlog( d3, 3, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Akte wurde nicht erzeugt / Debug-Modus eingeschaltet." );
|
|
}
|
|
}
|
|
|
|
xlog( d3, 3, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ":****************************" );
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if ( gemerkte_doku_id )
|
|
{
|
|
|
|
def USTATEMENT = "update mig_link_docs_2 set doku_id_target_fol = '" + gemerkte_doku_id + "' where id = '" + resultRows[ i ].id + "'";
|
|
if ( debug == 0 )
|
|
{
|
|
xlog( d3, 3, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": setze gemerkte Doku-ID [" + gemerkte_doku_id + "] fuer ID " + resultRows[ i ].id );
|
|
d3.sql.executeAndGet( (String) USTATEMENT );
|
|
}
|
|
else
|
|
{
|
|
xlog( d3, 3, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Debug-Modus eingeschaltet, [" + gemerkte_doku_id + "] fuer ID " + resultRows[ i ].id + " wurde nicht gesetzt.");
|
|
}
|
|
}
|
|
|
|
if ( ! lege_akte_an )
|
|
{
|
|
def USTATEMENT = "update mig_link_docs_2 set fehler = 'Die Hauptakte existiert nicht.' where id = '" + resultRows[ i ].id + "'";
|
|
if ( debug == 0 )
|
|
{
|
|
xlog( d3, 3, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": setze Fehler 'Die Hauptakte existiert nicht.' fuer ID " + resultRows[ i ].id );
|
|
d3.sql.executeAndGet( (String) USTATEMENT );
|
|
}
|
|
else
|
|
{
|
|
xlog( d3, 3, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ": Debug-Modus eingeschaltet, Fehler 'Die Hauptakte existiert nicht.' fuer ID " + resultRows[ i ].id + " wurde nicht gesetzt.");
|
|
}
|
|
}
|
|
|
|
xlog( d3, 3, resultRows[ i ].ddf10 + " / " + resultRows[ i ].id + ":*******************************************************" );
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def xlog( D3Interface d3, int loglevel, String logtext )
|
|
{
|
|
def logdatei = "d:\\d3\\apps\\" + prg + ".txt";
|
|
def g_loglevel = 5;
|
|
def g_logdirect = "BEIDE"; // BEIDE oder D3LOG oder DATEI
|
|
def date = new Date();
|
|
def zeitstempel = date.format( "yyyy.MM.dd HH:mm:ss", TimeZone.getTimeZone('CET') );
|
|
def loglevel_lang = "[INFO ]";
|
|
|
|
|
|
|
|
|
|
|
|
if ( loglevel <= g_loglevel )
|
|
{
|
|
switch ( loglevel )
|
|
{
|
|
case 1:
|
|
loglevel_lang = "[FATAL]";
|
|
|
|
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
|
|
{
|
|
d3.log.critical( logtext );
|
|
}
|
|
break;
|
|
case 2:
|
|
loglevel_lang = "[ERROR]";
|
|
|
|
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
|
|
{
|
|
d3.log.error( logtext );
|
|
}
|
|
break;
|
|
case 3:
|
|
loglevel_lang = "[WARN ]";
|
|
|
|
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
|
|
{
|
|
d3.log.warn( logtext );
|
|
}
|
|
break;
|
|
case 4:
|
|
loglevel_lang = "[INFO ]";
|
|
|
|
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
|
|
{
|
|
d3.log.info( logtext );
|
|
}
|
|
break;
|
|
case 5:
|
|
loglevel_lang = "[DEBUG]";
|
|
// Da die d.3 Server i.d.R. nicht im Debug-Modus laufen, erscheinen DEBUG-Meldungen nicht im Log.
|
|
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
|
|
{
|
|
d3.log.debug( logtext );
|
|
}
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
if ( ( g_logdirect == "DATEI" ) || ( g_logdirect == "BEIDE" ) )
|
|
{
|
|
new File( logdatei ).append( zeitstempel + " " + loglevel_lang + " " + logtext + "\n", "UTF8" );
|
|
}
|
|
|
|
|
|
return 0;
|
|
} |