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

//let processParameters = {
//    filterName: "PersonDuplicates",
//    targetEntity: "Person_entity" //process.execute is only able to handle strings
//}
//let userId = EmployeeUtils.getCurrentUserId();
//
//try 
//{
//    let processId = "manualrun_rebuild_duplicatecache_" + util.getNewUUID();
//    process.executeTimer(processId, "RebuildDuplicatesCache_serverProcess", 0, true, false, process.TIMERTYPE_SERVER_RUN, userId, false, process.THREADPRIORITY_LOW)
//    process.stopTimer(processId);
//} 
//catch (exception) 
//{ 
//    logging.log(" exception-> " + exception);
//}


var filterName = "PersonDuplicates";
var targetEntity = "Person_entity";
var recordBlockSize = DuplicateScannerUtils.GetBlockSizeForScanner(filterName, targetEntity);
let duplicateFieldsConfig = DuplicateScannerUtils.LoadIndexFieldsConfiguration(filterName, targetEntity);
let resultFields = DuplicateScannerUtils.LoadResultFields(filterName, targetEntity);

//logging.log("duplicateFieldsConfig -> " + duplicateFieldsConfig);
//logging.log("resultFields -> " + resultFields);
logging.log("Delete all " + targetEntity + " duplicates");
DuplicateScannerUtils.DeleteDuplicateClustersByTargetEntity(targetEntity);

logging.log("Recalculate all " + targetEntity + " duplicates");
DuplicateScannerUtils.RebuildDuplicatesCache(filterName, targetEntity, recordBlockSize,
duplicateFieldsConfig, resultFields, null);
DuplicateScannerUtils.RefreshUnrelatedDuplicateRelations(targetEntity);