Files
crm.clientright.ru/AUTO_STATUS_CHECKER_README.md

202 lines
8.4 KiB
Markdown
Raw Permalink Normal View History

# Автоматическая проверка статусов заявлений на исполнительный лист
**Дата:** 16 октября 2025
**Статус:** ⚠️ Cron отключен (проблемы с API Debexpert)
## Описание
Скрипт `check_exec_list_statuses.php` автоматически проверяет статусы заявлений на исполнительный лист через API Debexpert и сохраняет результаты в виде комментариев к проектам.
## Какие проекты проверяются
Скрипт находит проекты, которые соответствуют ВСЕМ критериям:
1. **Есть регистрационный номер заявления** (поле `cf_2429` не пустое)
2. **Статус проекта** один из:
- `заявление на лист`
- `выдача листа`
- `исполнительное производство`
3. **НЕТ номера исполнительного листа** (поле `cf_1752` пустое или "0")
## Что делает скрипт
1. **Находит проекты** по критериям
2. **Для каждого проекта:**
- Запрашивает статус через `GetCourtStatus.php`
- Парсит ответ API
- Формирует читаемый комментарий с данными
- Сохраняет комментарий в проект от имени "ИИ Клиентправ" (ID 23)
3. **Логирует результаты** в `logs/auto_status_checker.log`
## Формат комментария
```
🤖 АВТОМАТИЧЕСКАЯ ПРОВЕРКА СТАТУСА ОБРАЩЕНИЯ
Регистрационный номер: 37RS0010-217-25-0001439
Суд: Ленинский районный суд г. Иваново
Текущий статус: Зарегистрировано
ИСТОРИЯ ДВИЖЕНИЯ ДЕЛА:
1. [ИСХОДЯЩЕЕ] Отправлено в суд
Дата: 2025-08-29T19:02:18.782+03:00
Документы (21):
• 0_Iskovoe_zayavlenie_...pdf
• Kvitantsiya_ob_otpravke...pdf
...
2. [ВХОДЯЩЕЕ] Проверка ЭП пройдена
Дата: 2025-08-29T19:02:36.136+03:00
Документы (20):
• Protokol_proverki_...pdf
...
3. [ВХОДЯЩЕЕ] Зарегистрировано
Дата: 2025-09-01T09:51:09.937+03:00
Документы (0):
Дата проверки: 16.10.2025 19:25:40
```
**Примечание:** Иконка робота 🤖 отображается автоматически благодаря каналу "Telegram AI Bot"
## Использование
### Ручной запуск
```bash
cd /var/www/fastuser/data/www/crm.clientright.ru
php check_exec_list_statuses.php
```
### Через cron (автоматический запуск)
**⚠️ ОТКЛЮЧЕНО:** Cron задача временно отключена из-за нестабильности API Debexpert
Для включения cron задачи (когда API будет стабильным):
```bash
# Проверка статусов каждый день в 10:00
0 10 * * * cd /var/www/fastuser/data/www/crm.clientright.ru && php check_exec_list_statuses.php >> logs/auto_status_checker_cron.log 2>&1
```
Для управления cron задачами:
```bash
crontab -e # Редактировать
crontab -l # Посмотреть текущие задачи
```
## Параметры скрипта
В начале скрипта можно настроить:
- **LIMIT** - максимальное количество проектов за один запуск (по умолчанию: 50)
- **sleep(2)** - задержка между запросами к API в секундах
## Логирование
Все операции логируются в `logs/auto_status_checker.log`:
```
2025-10-16 19:25:40 - INFO: ========== Начало автоматической проверки статусов ==========
2025-10-16 19:25:40 - INFO: Найдено проектов для проверки: 20
2025-10-16 19:25:40 - INFO: [0/20] Проект #374190: Новак ООО ЭДЭКС
2025-10-16 19:25:40 - INFO: Статус: исполнительное производство
2025-10-16 19:25:40 - INFO: Рег. номер: 16RS0012-217-25-0000262
2025-10-16 19:25:40 - SUCCESS: ✅ Получен статус: Выдан исполнительный лист
2025-10-16 19:25:40 - SUCCESS: 💬 Комментарий создан (ID: 395390)
...
```
## Обработка ошибок
### Таймауты API
- API Debexpert часто не отвечает (60-70% запросов)
- Таймаут установлен на 120 секунд
- Таймауты логируются как WARNING, не прерывают обработку
### Другие ошибки
- Ошибки парсинга JSON
- Ошибки БД
- Отсутствие данных в ответе
Все ошибки логируются, скрипт продолжает работу со следующим проектом.
## Итоговая статистика
После завершения скрипт выводит:
```
========== Завершение проверки ==========
Проверено проектов: 20
✅ Успешных запросов: 6
❌ Ошибок: 2
⏱️ Таймаутов: 12
💬 Создано комментариев: 6
========================================
```
## Поля проекта
### Используемые поля:
- **cf_2204** - регистрационный номер искового заявления (заполняется при отправке иска)
- **cf_2429** - регистрационный номер заявления на исполнительный лист (заполняется при подаче заявления)
- **cf_1752** - номер исполнительного листа (заполняется вручную после получения)
### Будущие улучшения:
- Автоматическое заполнение `cf_1752` при обнаружении исполнительного листа в ответе
- Автоматическое скачивание исполнительных листов
- Обновление статуса проекта
- Уведомления при изменении статуса
## Технические детали
- **От пользователя:** ИИ Клиентправ (ID: 23)
- **Канал:** `Telegram AI Bot` (для отображения иконки робота 🤖)
- **Кодировка:** UTF-8
- **Формат комментария:** Текст без эмодзи (для совместимости)
- **Задержка между запросами:** 2 секунды
## Безопасность
- ✅ Использует существующий API endpoint `GetCourtStatus.php`
-Не хранит API ключи в скрипте
- ✅ Логи не содержат чувствительных данных
- ✅ Обработка ошибок не прерывает работу других проектов
## Пример успешного выполнения
```bash
$ php check_exec_list_statuses.php
========== Начало автоматической проверки статусов ==========
Найдено проектов для проверки: 20
[0/20] Проект #374190: Новак ООО ЭДЭКС
Статус: исполнительное производство
Рег. номер: 16RS0012-217-25-0000262
✅ Получен статус: Выдан исполнительный лист
Суд: Октябрьский районный суд г. Ижевска
Событий в истории: 5
💬 Комментарий создан (ID: 395390)
[1/20] Проект #366062: Папочки ООО ЭДЭКС
⏱️ Таймаут API
...
========== Завершение проверки ==========
Проверено проектов: 20
✅ Успешных запросов: 6
❌ Ошибок: 2
⏱️ Таймаутов: 12
💬 Создано комментариев: 6
```
---
**Статус:** ✅ Готово к использованию
**Автор:** AI Assistant + Фёдор
**Дата:** 16 октября 2025