По помилці до довідника можуть бути додані «однакові» клієнти. Наприклад, при прийомі замовлення оператор не шукав клієнта в довіднику, а додав нового.
Два і більше клієнти вважаються
дублями, якщо вони мають такі
властивості:
- Нормалізовані множини їх телефонів перетинаються.
- Їх імена збігаються з точністю до видалення прогалин та ігнорування регістру.
- Їхні прізвища збігаються з точністю до видалення проблеми та регістру або прізвища не задані.
- Наприклад (Іван Іванов дорівнює івану Іванову, Іван дорівнює Івану Іванову, але Іван Іванов не дорівнює Івану Петрову).
- У них не встановлено ідентифікатор IikoNet (iikoNetId) або якщо заданий, то він повинен збігатися.
У разі знаходження дублів потрібно провести їхнє
об'єднання, для цього потрібно знайти провідного клієнта:
- Якщо у всіх клієнтів у групі, крім одного, не заданий iikoNetId, то ведучим беремо того клієнта, у якого iikoNetId заданий.
- Інакше провідним клієнтом оголошується той, у кого найбільше оформлених доставок. Якщо є низка клієнтів з однаковою кількістю доставок, то провідним оголошуємо клієнта, у якого дата створення доставки є найпізнішою. Враховуємо лише закриті доставки. Скасовані не рахуємо.
Модифікуємо поля
провідного клієнта в такий спосіб:
- Різні телефони зливаємо в загальну колекцію телефонів, властивість isMain в 1 проставляємо тільки якщо воно дорівнювало 1 у вихідній колекції телефонів і цей телефон прийшов від провідного клієнта.
- Різні адреси зливаємо до загальної колекції адрес.
- Різні email-и зливаємо в загальну колекцію email-у
- Прізвище об'єднуємо за принципом "прізвище ведучого або перше непусте прізвище у дублів, якщо у ведучого прізвище не задано"
- Аналогічно прізвища варто надійти з коментарем, номером картки та ніком.
- Чорний список визначається так - якщо хоча б 1 із набору знаходиться в НС, але ведучий теж стає в НС. Якщо кілька клієнтів у НС, їх причини конкатенуються і проставляються ведучому.
- Зберігаємо ведучого до бази
- Усіх ведених оголошуємо віддаленими та зберігаємо в базу.
Щоб
очистити клієнтську базу від дублюючих записів, виконайте таке:
1) У адресному рядку браузера введіть :