1. Для voip у себя увидел:
Код:
mysql> select * from user_dispatch_reference where mid=12;
+----+------+---------+----------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------+-----------------+-------------------+
| id | mid | module | title | class_name | web_action | client_class_name |
+----+------+---------+----------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------+-----------------+-------------------+
| 91 | 12 | voiceip | Сессии логина | bitel.billing.server.voiceip.bean.DispatchLoginSessions | DispatchSession | |
| 92 | 12 | voiceip | Наработка по логинам | bitel.billing.server.voiceip.bean.DispatchLoginsAmount | DispatchAmount | |
| 93 | 12 | voiceip | Наработка по направлениям | bitel.billing.server.voiceip.bean.DispatchLoginDirect | DispatchDirect | |
| 95 | 12 | voiceip | пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ | bitel.billing.server.voiceip.bean.DispatchLoginSessions | DispatchSession | |
| 96 | 12 | voiceip | пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ | bitel.billing.server.voiceip.bean.DispatchLoginsAmount | DispatchAmount | |
| 97 | 12 | voiceip | пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ | bitel.billing.server.voiceip.bean.DispatchLoginDirect | DispatchDirect | |
+----+------+---------+----------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------+-----------------+-------------------+
6 rows in set (0.01 sec)
Удалил последние 3 ручками.
2. Для всех экземпляров модуля dialup записи дублируются:
Код:
mysql> select * from user_dispatch_reference where mid=1;
+-----+------+--------+----------------------------------------+--------------------------------------------------------+-----------------+--------------------------------------------------------------------------------+
| id | mid | module | title | class_name | web_action | client_class_name |
+-----+------+--------+----------------------------------------+--------------------------------------------------------+-----------------+--------------------------------------------------------------------------------+
| 87 | 1 | dialup | Наработка по логинам | bitel.billing.server.dialup.bean.DispatchLoginsAmount | DispatchAmount | |
| 88 | 1 | dialup | Сессии логина | bitel.billing.server.dialup.bean.DispatchLoginSessions | DispatchSession | |
| 114 | 1 | dialup | Наработка по логинам | bitel.billing.server.dialup.bean.DispatchLoginsAmount | DispatchAmount | bitel.billing.module.services.dialup.ContractDispatchAmountDialUpEditor |
| 116 | 1 | dialup | Сессии логина | bitel.billing.server.dialup.bean.DispatchLoginSessions | DispatchSession | bitel.billing.module.services.dialup.ContractDispatchLoginSessionsDialUpEditor |
+-----+------+--------+----------------------------------------+--------------------------------------------------------+-----------------+--------------------------------------------------------------------------------+
4 rows in set (0.00 sec)
Я так понимаю, в какой-то момент добавили client_class_name, и при обновлении появились новые записи, т.к. в Insert-е проверка идёт по совпадению всех полей.
Может сделать проверку только по web_action и mid или какому-нибудь уникальному полю для каждого типа рассылки?