Newer
Older

David Büchler
committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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);