Skip to content
Snippets Groups Projects
Commit 9ed69a78 authored by David Büchler's avatar David Büchler
Browse files

On save of a person, it gets checked for duplicates and inserted if available

refactorings
parent 0cbbe161
No related branches found
No related tags found
No related merge requests found
......@@ -351,10 +351,15 @@ import("JditoFilter_lib");
//logging.log("resultTest Beispiel 2 -> " + JSON.stringify(resultTest));
//indexsearch.runIndexer(["Person"]);
let resultClusterId = DuplicateScannerUtils.GetClusterWithDuplicates(["7a34d9d0-04c7-478c-a8e2-f584fe625c45", "c7ddf982-0e58-4152-b82b-8f5673b0b729"]);
logging.log("resultClusterId -> " + resultClusterId);
......@@ -365,4 +370,3 @@ import("JditoFilter_lib");
indexsearch.runIndexer(["Person"]);
\ No newline at end of file
......@@ -16,12 +16,12 @@ result.string(standardCity);
function getStandardAddressInfos(pContactId, pSelectField)
{
//select `ADDRESS`, `CITY`, `ZIP` from contact
//join address on address.`ADDRESSID` = contact.`ADDRESS_ID`
//where contact.`CONTACTID` = '8a12642b-9a29-4c35-9b79-f3d58122d140'
//select ADDRESS, CITY, ZIP from contact
//join address on address.ADDRESSID = contact.ADDRESS_ID
//where contact.CONTACTID = '8a12642b-9a29-4c35-9b79-f3d58122d140'
let addressValuesCondition = SqlCondition.begin()
.and("contact.`CONTACTID` = '" + pContactId + "'")
.buildSql("select `" + pSelectField + "` from contact join address on address.`ADDRESSID` = contact.`ADDRESS_ID`");
.and("contact.CONTACTID = '" + pContactId + "'")
.buildSql("select " + pSelectField + " from contact join address on address.ADDRESSID = contact.ADDRESS_ID");
//return db.array(db.ROW, addressValuesCondition);
return db.cell(addressValuesCondition);
}
......
......@@ -16,12 +16,12 @@ result.string(standardStreet);
function getStandardAddressInfos(pContactId, pSelectField)
{
//select `ADDRESS`, `CITY`, `ZIP` from contact
//join address on address.`ADDRESSID` = contact.`ADDRESS_ID`
//where contact.`CONTACTID` = '8a12642b-9a29-4c35-9b79-f3d58122d140'
//select ADDRESS, CITY, ZIP from contact
//join address on address.ADDRESSID = contact.ADDRESS_ID
//where contact.CONTACTID = '8a12642b-9a29-4c35-9b79-f3d58122d140'
let addressValuesCondition = SqlCondition.begin()
.and("contact.`CONTACTID` = '" + pContactId + "'")
.buildSql("select `" + pSelectField + "` from contact join address on address.`ADDRESSID` = contact.`ADDRESS_ID`");
.and("contact.CONTACTID = '" + pContactId + "'")
.buildSql("select " + pSelectField + " from contact join address on address.ADDRESSID = contact.ADDRESS_ID");
//return db.array(db.ROW, addressValuesCondition);
return db.cell(addressValuesCondition);
}
......
......@@ -16,12 +16,12 @@ result.string(standardZip);
function getStandardAddressInfos(pContactId, pSelectField)
{
//select `ADDRESS`, `CITY`, `ZIP` from contact
//join address on address.`ADDRESSID` = contact.`ADDRESS_ID`
//where contact.`CONTACTID` = '8a12642b-9a29-4c35-9b79-f3d58122d140'
//select ADDRESS, CITY, ZIP from contact
//join address on address.ADDRESSID = contact.ADDRESS_ID
//where contact.CONTACTID = '8a12642b-9a29-4c35-9b79-f3d58122d140'
let addressValuesCondition = SqlCondition.begin()
.and("contact.`CONTACTID` = '" + pContactId + "'")
.buildSql("select `" + pSelectField + "` from contact join address on address.`ADDRESSID` = contact.`ADDRESS_ID`");
.and("contact.CONTACTID = '" + pContactId + "'")
.buildSql("select " + pSelectField + " from contact join address on address.ADDRESSID = contact.ADDRESS_ID");
//return db.array(db.ROW, addressValuesCondition);
return db.cell(addressValuesCondition);
}
......
import("system.logging");
import("system.vars");
import("DataPrivacy_lib");
import("DuplicateScanner_lib");
import("system.indexsearch");
import("system.notification");
import("system.project");
let targetEntity = "Person_entity";
let contactId = vars.get("$local.uid");
DataPrivacyUtils.notifyNeedDataPrivacyUpdate(contactId);
//let valuesToCheck = {};
//valuesToCheck["CONTACTID"] = contactId;
//valuesToCheck["FIRSTNAME"] = "Tim";
//valuesToCheck["GENDER"] = "m ";
//
//let scanResults = DuplicateScannerUtils.ScanForDuplicates("PersonDuplicates", "Person_entity",
//valuesToCheck, null);
//
//let indexResultFields = DuplicateScannerUtils.TranslateEntityToIndexFields(targetEntity, resultFields)
//
////todo wenn ergebnisse da, füge ein
//let insertCount = DuplicateScannerUtils.InsertScanResultsInNewCluster(indexResultFields);
let valuesToCheck = {};
valuesToCheck["CONTACTID"] = contactId;
valuesToCheck["FIRSTNAME"] = vars.get("$field.FIRSTNAME");
valuesToCheck["GENDER"] = vars.get("$field.GENDER");
var entityModel = project.getEntityStructure(targetEntity);
let fieldValue = "";
let entityFields = [];
for (fieldname in entityModel.fields)
{
field = entityModel.fields[fieldname];
if(field.fieldType == project.ENTITYFIELDTYPE_FIELD)
{
fieldValue = vars.get("$field." + field.name);
if(fieldValue != null && fieldValue != "")
{
logging.log("field.name -> " + field.name);
valuesToCheck[field.name] = fieldValue;
logging.log("field value -> " + fieldValue);
}
}
}
let scanResults = DuplicateScannerUtils.ScanForDuplicates("PersonDuplicates", targetEntity,
valuesToCheck, null);
logging.log("scanResults.length -> " + scanResults.length);
if(scanResults.length > 0)
{
let insertCount = DuplicateScannerUtils.CacheNewScanResults(contactId, scanResults, targetEntity);
logging.log("insertCount -> " + insertCount);
}
//
////Wenn duplikate gefunden => gebe Notification
//if(insertCount > 0)
//{
// let notificationConfig = notification.createConfig().caption("Es wurden dubletten gefunden");
// notification.addNotificationWith(notificationConfig);
//}
// notification.addNotification(util.getNewUUID(), null, null, null, "BulkMailSent", notification.PRIO_NORMAL, 2, notification.STATE_UNSEEN, [user], message, description);
......
......@@ -63,8 +63,8 @@ function getStandardAddressInfos(pContactId, pSelectField)
//join address on address.`ADDRESSID` = contact.`ADDRESS_ID`
//where contact.`CONTACTID` = '8a12642b-9a29-4c35-9b79-f3d58122d140'
let addressValuesCondition = SqlCondition.begin()
.and("contact.`CONTACTID` = '" + pContactId + "'")
.buildSql("select `" + pSelectField + "` from contact join address on address.`ADDRESSID` = contact.`ADDRESS_ID`");
.and("contact.CONTACTID = '" + pContactId + "'")
.buildSql("select " + pSelectField + " from contact join address on address.ADDRESSID = contact.ADDRESS_ID");
//return db.array(db.ROW, addressValuesCondition);
return db.cell(addressValuesCondition);
}
\ No newline at end of file
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment