Files
crm.clientright.ru/MAIL_NOTIFICATION_SYSTEM.md
Fedor 0f7e8ba247 Добавлена система уведомлений о приходе судебных писем
- Реализована функция createMailNotification() в simple_project_updater_v2.php
- Автоматическое создание уведомлений VDNotifierPro при поступлении документов
- Уведомления отправляются ответственному по проекту
- Исправлен формат ссылок (без index.php? для корректной работы в VDNotifierPro)
- Защита от дубликатов - обновление существующих непрочитанных уведомлений
- Добавлена документация MAIL_NOTIFICATION_SYSTEM.md
- Протестировано и работает корректно
2025-10-16 16:02:08 +03:00

6.5 KiB
Raw Permalink Blame History

Система уведомлений о приходе писем

Дата: 16 октября 2025
Статус: Реализовано и протестировано

Описание

Интегрирована система уведомлений в существующий процесс обработки судебных документов (simple_project_updater_v2.php). Теперь при поступлении письма от суда автоматически создается уведомление для ответственного по проекту.

Как это работает

1. Процесс обработки письма

  1. Письмо поступает → n8n обрабатывает → вызывает simple_project_updater_v2.php
  2. Система ищет проект по ФИО истца, номеру дела, УИД
  3. Создается документ в CRM с привязкой к проекту
  4. Загружается файл в S3 хранилище
  5. 🆕 Создается уведомление для ответственного по проекту

2. Структура уведомления

INSERT INTO vtiger_vdnotifierpro (
    userid,           -- Ответственный по проекту
    modulename,       -- 'Documents'
    crmid,           -- ID документа
    link,            -- Ссылка на документ
    title,           -- "Письмо от [ФИО] - [тип документа]"
    status           -- 5 (непрочитанное)
)

3. Пример уведомления

  • Текст: "Письмо от Агеев Дмитрий - ОПРЕДЕЛЕНИЕ суда"
  • Ссылка: module=Documents&view=Detail&record=123456 (без index.php?)
  • Получатель: Ответственный по проекту (пользователь 8)

Технические детали

Функция createMailNotification()

function createMailNotification($projectId, $documentId, $documentTitle, $plaintiffFio) {
    // 1. Получаем ответственного по проекту
    // 2. Формируем текст уведомления
    // 3. Проверяем дубликаты
    // 4. Создаем или обновляем уведомление
}

Интеграция в основной процесс

// После успешной привязки документа к проекту
if ($linkSuccess) {
    // Создаем уведомление о приходе письма
    $notificationId = createMailNotification($project_id, $documentNumericId, $document_title, $plaintiff_fio);
}

Обработка дубликатов

  • Если уведомление для документа уже существует → обновляется время
  • Если уведомления нет → создается новое
  • Статус 5 = непрочитанное уведомление

Результаты тестирования

Тест прошел успешно

=== Тест исправленной системы уведомлений ===

Тестовые данные:
- Проект ID: 390657 (Агеев ООО СКИЛБОКС)
- Документ ID: 395297 (реальный документ)
- Ответственный: пользователь 8

✅ Новое уведомление создано с ID: 6869
✅ Текст: "Письмо от Губанова Анна Евгеньевна - ОПРЕДЕЛЕНИЕ суда"
✅ Ссылка: "module=Documents&view=Detail&record=395297" (исправлено!)

Проверка в CRM

  1. Войти в CRM под пользователем 8 (Фёдор Коробков)
  2. Посмотреть панель уведомлений (справа вверху)
  3. Увидеть уведомление: "Письмо от Агеев Дмитрий - ОПРЕДЕЛЕНИЕ суда"
  4. Кликнуть на уведомление → откроется документ

Файлы

Измененные файлы:

  • crm_extensions/simple_project_updater_v2.php - добавлена функция уведомлений

Новые файлы:

  • test_mail_notification.php - тестовый скрипт

Логирование

Все действия логируются в crm_extensions/logs/project_update.log:

2025-10-16 15:11:36 - INFO: Создаем уведомление для проекта 390657 о документе 123456
2025-10-16 15:11:36 - DEBUG: Ответственный по проекту: пользователь 8
2025-10-16 15:11:36 - SUCCESS: Создано новое уведомление ID: 6867 для пользователя 8

Исправления

🔧 Проблема со ссылками (исправлено)

Проблема: Ссылки в уведомлениях не работали - показывали пустую страницу
Причина: VDNotifierPro автоматически убирает index.php? из ссылок
Решение: Изменили формат ссылки с index.php?module=Documents&view=Detail&record=123456 на module=Documents&view=Detail&record=123456

Преимущества

  1. Автоматизация - уведомления создаются автоматически
  2. Интеграция - использует существующую систему VDNotifierPro
  3. Умная логика - показывает уведомления только ответственному по проекту
  4. Защита от дубликатов - не создает множественные уведомления
  5. Прямая ссылка - клик ведет сразу к документу
  6. Исправленные ссылки - работают корректно в CRM

Использование

Система работает автоматически при обработке писем через simple_project_updater_v2.php. Никаких дополнительных действий не требуется.

Для тестирования:

php test_mail_notification.php

Статус: Готово к использованию
Автор: AI Assistant + Фёдор
Дата: 16 октября 2025