Skip to content
Snippets Groups Projects
onActionProcess.js 1.99 KiB
Newer Older
import("system.logging");
import("DuplicateScanner_lib");

var filterName = "PersonDuplicates";
var targetEntity = "Person_entity";

let duplicateFieldsConfig = DuplicateScannerUtils.LoadIndexFieldsConfiguration(filterName, targetEntity);
let resultFields = DuplicateScannerUtils.LoadResultFields(filterName, targetEntity);

logging.log("duplicateFieldsConfig -> " + duplicateFieldsConfig);
logging.log("resultFields -> " + resultFields);

let querySelectFields = DuplicateScannerUtils.BuildSqlSelectFieldsFromFieldConfig(duplicateFieldsConfig);
logging.log("querySelectFields -> " + querySelectFields);

let queryPersonFieldData = "select " + querySelectFields + " from CONTACT"
                            + " join PERSON on PERSONID = PERSON_ID"
                            + " left join ADDRESS on ADDRESS.CONTACT_ID = CONTACT.CONTACTID";

logging.log("Löschen von PERSON Dubletten -> ");
DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);

let formatToJsonAndCallWsCallback = function(pPossibleDuplicatesRay)
{
    logging.log("inside callback -> ");
    let indexResultFields = DuplicateScannerUtils.TranslateEntityToIndexFields(targetEntity, resultFields)

    //Run thru every duplicate result an read out the resultfields
    for (let i = 0; i < pPossibleDuplicatesRay.length; i++)
    {
        for (let b = 0; b < resultFields.length; b++)
        {
            let entityFieldName = resultFields[b];
            let indexFieldName = indexResultFields[entityFieldName];
            //logging.log("Entity Field -> "+ pPossibleDuplicatesRay[i][indexFieldName]);
            //format values
        }
    }
    //call webservice
    //reformat results to same structure as before
    return pPossibleDuplicatesRay;
};

logging.log("Neu berechnen von PERSON Dubletten -> ");
DuplicateScannerUtils.RebuildDuplicatesCache(filterName, targetEntity, queryPersonFieldData,
duplicateFieldsConfig, resultFields, formatToJsonAndCallWsCallback);

DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);