46 lines
2.4 KiB
Groovy
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");
|
|
} |