Не стал дожидаться файлов, вычленил их самостоятельно. Скормил тестовому пользователю. Получил это
Первый файл это где все QSO от и до. Второй это то, что вы выделили отдельно. С отсутствием связей в таблице разобрался, пришлось перед обработкой привести файл к однородной структуре. Теперь вроде все появилось.
У меня повторов оказалось гораздо больше. Засомневался, допилил обработчик функцией создания отчета, в котором он прописывает связи с повторами. В колонке "Действие" этот отчет можно будет скачать. Внутри него строки с дублированными связями (сделал в формате JSON, так удобнее). Можно посмотрев повтор попробовать найти его в базе через поиск и убедиться что он действительно существует. Выборочно пробежался - все бьется. Можешь попробовать удалить из загрузок и загрузить заново, для контроля. Для ранее загруженных файлов отчетов нет, т.к. еще отсутствовал функционал.
Помимо основного отчета делается еще и подробный (для меня) со всеми DEBUG-ми запросов к базе данных, чтобы однозначно можно было сказать что произошло и где.
На всякий случай продублирую - Признаком повтора считается QSO с одинаковыми Позывным, Позывным корреспондента, Датой, Временем, Диапазоном, Модуляцией. То есть поля в файле STATION_CALLSIGN или OPERATOR, CALL, QSO_DATE, TIME_ON, BAND, MODE. Поле STATION_CALLSIGN подставляется из значения Позывной, указанного в настройках журнала, при его отсутствии в файле.