Files
crm.clientright.ru/crm_extensions/README_project_updater_v2.md
Fedor ac7467f0b4 Major CRM updates: AI Assistant, Court Status API, S3 integration improvements, and extensive file storage system
- Added comprehensive AI Assistant system (aiassist/ directory):
  * Vector search and embedding capabilities
  * Typebot proxy integration
  * Elastic search functionality
  * Message classification and chat history
  * MCP proxy for external integrations

- Implemented Court Status API (GetCourtStatus.php):
  * Real-time court document status checking
  * Integration with external court systems
  * Comprehensive error handling and logging

- Enhanced S3 integration:
  * Improved file backup system with metadata
  * Batch processing capabilities
  * Enhanced error logging and recovery
  * Copy operations with URL fixing

- Added Telegram contact creation API
- Improved error logging across all modules
- Enhanced callback system for AI responses
- Extensive backup file storage with timestamps
- Updated documentation and README files

- File storage improvements:
  * Thousands of backup files with proper metadata
  * Fix operations for broken file references
  * Project-specific backup and recovery systems
  * Comprehensive file integrity checking

Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
2025-10-16 11:17:21 +03:00

134 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Обновление проекта из судебного документа (v2)
## Описание
Скрипт для автоматического обновления проекта в CRM на основе данных из судебного документа с использованием прямых SQL запросов и S3Client.
## Использование
### 1. Через stdin (рекомендуется)
```bash
echo '[{"content": {...}, "file": "...", "file_name": "..."}]' | php simple_project_updater_v2.php
```
### 2. Из 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_v2.php"
```
### 3. Прямой вызов с JSON
```bash
php simple_project_updater_v2.php << 'EOF'
[{"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"}]
EOF
```
## Формат входных данных
```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. Поиск проекта
- По ФИО истца в названии проекта или описании
- По номеру дела в номере проекта или описании
- По УИД в описании
- По названию суда в кастомных полях (cf_1499, cf_2278)
### 2. Создание документа
- Прямые SQL запросы к vtiger_crmentity и vtiger_notes
- Автоматическое обновление vtiger_crmentity_seq
- Формирование полного S3 URL в поле filename
### 3. Загрузка в S3
- Использование S3Client с авторизацией
- Скачивание файла по URL
- Загрузка в S3 с правильным ключом
- Обновление метаданных (s3_bucket, s3_key, s3_etag, filesize)
### 4. Привязка к проекту
- Создание связи в vtiger_senotesrel
- Логирование всех действий
## Логирование
Все действия записываются в файл `logs/project_update.log`
## Пример использования
```bash
# Тестовый запуск
echo '[{
"content": {
"description": "Определение судьи Щелковского городского суда Московской области Т.И. Пикулевой от 26 августа 2025 года о возврате искового заявления МОО «Клиентправ», действующего в интересах Соколова Александра Владимировича, к ООО «СКИЛБОКС» о взыскании денежных средств, неустойки, процентов, штрафа, компенсации морального вреда. Исковое заявление оставлено без движения 16 июля 2025 года, недостатки в срок не устранены, заявление возвращается. Разъяснено право на повторное обращение. Определение может быть обжаловано в Московский областной суд в течение 15 дней.",
"case_number": "М-5071/2025",
"court": "Щелковский городской суд Московской области",
"plaintiff_fio": "Соколов Александр Владимирович",
"uid": "50RS0052-01-2025-007323-70",
"document_title": "ОПРЕДЕЛЕНИЕ"
},
"file": "https://s3.twcstorage.ru/f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c/letters/58f29988-faac-4a2f-b9c1-41a2441240d6/ПК_e9572340-f3d0-0c4c-310b-edeb2996fd47.pdf_WITH_ENVELOPE.pdf",
"file_name": "ПК_e9572340-f3d0-0c4c-310b-edeb2996fd47.pdf_WITH_ENVELOPE.pdf"
}]' | php simple_project_updater_v2.php
```
## Формат ответа
```json
{
"success": true,
"project_id": 58462,
"plaintiff_fio": "Соколов",
"case_number": "М-5071/2025",
"uid": "50RS0052-01-2025-007323-70",
"document_id": "394196",
"document_ws_id": "15x394196",
"s3_url": null,
"message": "Документ успешно создан через CRM API и добавлен к проекту"
}
```
## Обработка ошибок
- Валидация входных данных
- Проверка существования проекта
- Обработка ошибок загрузки файлов
- Детальное логирование ошибок
- Автоматическое обновление последовательности ID
## Требования
- PHP 7.4+
- Доступ к базе данных CRM
- Права на запись в директорию логов
- Доступ к S3 хранилищу через S3Client
- Файл конфигурации .env с S3 credentials
## Отличия от v1
- Использует прямые SQL запросы вместо CRM API
- Интегрирован с S3Client для загрузки файлов
- Автоматически обновляет vtiger_crmentity_seq
- Сохраняет полный S3 URL в поле filename
- Более надежная обработка ошибок