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);