Files
d.velop/_Vorlagen/Groovy-Skripte/mappingHistData.groovy
2025-04-04 11:35:25 +02:00

46 lines
2.4 KiB
Groovy

import com.dvelop.d3.server.core.D3Interface;
import groovy.json.JsonSlurper;
String delReason = "Aufbewahrungsfrist abgelaufen";
String sqlGetDocIDs = """SELECT doc_id, delete_date, db_tables_data FROM doc_recycler WHERE delete_reason = '${delReason}'
AND delete_date >= TO_DATE('2019-11-29', 'YYYY-MM-DD')
AND doc_id NOT IN (SELECT dokuid FROM bla_loeschprotokoll)""";
D3Interface d3 = getProperty("d3");
try {
def mappingDocsSet = d3.sql.executeAndGet(sqlGetDocIDs);
mappingDocsSet.each {
String docID = it.doc_id;
String docTyp = "";
String docBemerkung = "";
String docIdentifier = "";
String docErstelldatum = "";
String docDelDate = it.delete_date.toString();
docDelDate = docDelDate.substring(0,10);//YYYY-MM-DD
def slurper = new JsonSlurper();
def docAttributes = slurper.parseText(it.db_tables_data);
d3.log.info(docAttributes.get("com.dvelop.d3.DocumentData").get("firmen_spezifisch").get("dok_dat_feld_23"));
docTyp = docAttributes.get("com.dvelop.d3.DocumentData").get("firmen_spezifisch").get("dok_dat_feld_41");
docBemerkung = docAttributes.get("com.dvelop.d3.DocumentData").get("phys_datei").get("text");
docIdentifier = docAttributes.get("com.dvelop.d3.DocumentData").get("firmen_spezifisch").get("dok_dat_feld_23");
docErstelldatum = docAttributes.get("com.dvelop.d3.DocumentData").get("firmen_spezifisch").get("dok_dat_feld_59");
if (!docErstelldatum?.trim())
{
docErstelldatum = docAttributes.get("com.dvelop.d3.DocumentData").get("phys_datei").get("datum_einbring");
}
docErstelldatum = docErstelldatum.substring(0,10);//YYYY-MM-DD
String sqlInsertLoschprotokoll = """INSERT INTO bla_loeschprotokoll (dokuid, typ, bemerkung, identifier, erstelldatum, loeschdatum)
VALUES ('$docID', '$docTyp', '$docBemerkung', '$docIdentifier', TO_DATE('$docErstelldatum', 'YYYY-MM-DD'), TO_DATE('$docDelDate', 'YYYY-MM-DD'))""";
try {
d3.sql.execute(sqlInsertLoschprotokoll);
} catch (Exception e) {
d3.log.error("Fehler " + e.getMessage() + " beim Schreiben von bla_loeschprotokoll");
}
}
} catch (Exception e) {
d3.log.error("Fehler " + e.getMessage() + " beim Lesen von doc_recycler");
}