- court_document_parser.py: парсер судебных документов с извлечением ФИО, номера дела, УИД, суда - court_parser_api.py: API для вызова парсера из n8n - pdf_court_parser.py: парсер PDF документов с извлечением текста - simple_project_updater.php: обновление проектов через CRM API - simple_project_updater_v2.php: обновленная версия с прямыми SQL запросами и S3Client - update_project_from_document.php: альтернативный скрипт обновления - test_input.json: тестовые данные для парсера - README файлы с документацией для всех скриптов Скрипты поддерживают: - Поиск проектов по ФИО, номеру дела, УИД, названию суда - Создание документов в CRM с загрузкой в S3 - Привязку документов к проектам - Логирование всех операций - Работу с n8n через SSH команды
94 lines
3.2 KiB
Markdown
94 lines
3.2 KiB
Markdown
# Обновление проекта из судебного документа
|
||
|
||
## Описание
|
||
Скрипт для автоматического обновления проекта в CRM на основе данных из судебного документа.
|
||
|
||
## Использование
|
||
|
||
### 1. Через аргумент командной строки
|
||
```bash
|
||
php simple_project_updater.php '[{"content": {...}, "file": "...", "file_name": "..."}]'
|
||
```
|
||
|
||
### 2. Через stdin
|
||
```bash
|
||
echo '[{"content": {...}}]' | php simple_project_updater.php
|
||
```
|
||
|
||
### 3. Из n8n через SSH
|
||
```bash
|
||
ssh user@server "cd /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions && echo '$(printf '%s' '{{ $json | toJson }}')' | php simple_project_updater.php"
|
||
```
|
||
|
||
## Формат входных данных
|
||
|
||
```json
|
||
[
|
||
{
|
||
"content": {
|
||
"description": "Описание документа",
|
||
"case_number": "М-5071/2025",
|
||
"writ_number": null,
|
||
"court": "Щелковский городской суд Московской области",
|
||
"plaintiff_fio": "Соколов Александр Владимирович",
|
||
"defendant_fio": null,
|
||
"uid": "50RS0052-01-2025-007323-70",
|
||
"document_title": "ОПРЕДЕЛЕНИЕ"
|
||
},
|
||
"file": "https://s3.twcstorage.ru/.../document.pdf",
|
||
"file_name": "document.pdf"
|
||
}
|
||
]
|
||
```
|
||
|
||
## Функциональность
|
||
|
||
### 1. Поиск проекта
|
||
- По ФИО истца в названии проекта или описании
|
||
- По номеру дела в номере проекта или описании
|
||
- По УИД в описании
|
||
|
||
### 2. Добавление документа к проекту
|
||
- Создание записи документа в CRM
|
||
- Привязка документа к проекту
|
||
- Логирование всех действий
|
||
|
||
### 3. Загрузка документа
|
||
- Скачивание файла по URL
|
||
- Создание записи документа в CRM
|
||
- Привязка документа к проекту
|
||
- Сохранение в S3 хранилище
|
||
|
||
## Логирование
|
||
Все действия записываются в файл `logs/project_update.log`
|
||
|
||
## Пример использования
|
||
|
||
```bash
|
||
# Тестовый запуск
|
||
php simple_project_updater.php '[{
|
||
"content": {
|
||
"description": "Определение судьи...",
|
||
"case_number": "М-5071/2025",
|
||
"court": "Щелковский городской суд Московской области",
|
||
"plaintiff_fio": "Соколов Александр Владимирович",
|
||
"uid": "50RS0052-01-2025-007323-70",
|
||
"document_title": "ОПРЕДЕЛЕНИЕ"
|
||
},
|
||
"file": "https://s3.twcstorage.ru/.../document.pdf",
|
||
"file_name": "document.pdf"
|
||
}]'
|
||
```
|
||
|
||
## Обработка ошибок
|
||
- Валидация входных данных
|
||
- Проверка существования проекта
|
||
- Обработка ошибок загрузки файлов
|
||
- Детальное логирование ошибок
|
||
|
||
## Требования
|
||
- PHP 7.4+
|
||
- Доступ к базе данных CRM
|
||
- Права на запись в директорию логов
|
||
- Доступ к S3 хранилищу
|