Files
crm.clientright.ru/ticket_form/docs/n8n_nodes/README_SETUP.md
Fedor ee1c4af5c3 feat: добавлен выбор банка для СБП выплат
Frontend:
- Динамическая загрузка 226 банков из NSPK API
- Выбор банка добавлен в Step3Payment (новая заявка)
- Выбор банка добавлен в generateConfirmationFormHTML (редактирование)
- Поля: bank_id (ID из NSPK) и bank_name (название для отображения)

Backend:
- Добавлено поле bank_id в ClaimCreateRequest

API:
- http://212.193.27.93/api/payouts/dictionaries/nspk-banks

Изменения:
- ticket_form/frontend/src/components/form/Step3Payment.tsx
- ticket_form/frontend/src/components/form/generateConfirmationFormHTML.ts
- ticket_form/frontend/src/pages/ClaimForm.tsx
- ticket_form/backend/app/api/models.py
2025-12-02 11:06:15 +03:00

2.8 KiB

Настройка OCR Status Tracking в n8n

Шаги для добавления нод в workflow fnSo3FTTbQcMjwt3

1. Открой workflow в n8n

https://n8n.clientright.pro/workflow/fnSo3FTTbQcMjwt3

2. Добавь ноды в следующем порядке:

Нода 1: update_ocr_status (PostgreSQL)

Расположение: После Postgres PGVector Store1 Позиция: [3850, 1664]

SQL запрос:

UPDATE clpr_claim_documents
SET 
  ocr_status = 'ready',
  ocr_processed_at = NOW()
WHERE id = '{{ $('files').item.json.claim_document_id }}'::uuid
RETURNING 
  id AS doc_id,
  claim_id,
  ocr_status,
  (SELECT COUNT(*) FROM clpr_claim_documents WHERE claim_id = clpr_claim_documents.claim_id) AS total_docs,
  (SELECT COUNT(*) FROM clpr_claim_documents WHERE claim_id = clpr_claim_documents.claim_id AND ocr_status = 'ready') AS ready_docs;

Credentials: timeweb_bd (Postgres account 2)


Нода 2: redis_incr_ready (Redis)

Расположение: После update_ocr_status Позиция: [4100, 1664]

Параметры:

  • Operation: incr
  • Key: claim:ocr:ready:{{ $json.claim_id }}

Credentials: Redis account


Нода 3: check_all_ready (IF)

Расположение: После redis_incr_ready Позиция: [4350, 1664]

Условие:

{{ $('update_ocr_status').item.json.total_docs }} == {{ $('update_ocr_status').item.json.ready_docs }}

Нода 4: publish_docs_ready (Redis)

Расположение: TRUE выход из check_all_ready Позиция: [4600, 1550]

Параметры:

  • Operation: publish
  • Channel: clpr:claim:docs_ready
  • Message:
{{ JSON.stringify({ 
  claim_id: $('update_ocr_status').item.json.claim_id, 
  total_docs: $('update_ocr_status').item.json.total_docs, 
  ready_docs: $('update_ocr_status').item.json.ready_docs, 
  timestamp: new Date().toISOString() 
}) }}

Credentials: Redis account


3. Соединения (Connections)

Postgres PGVector Store1 → update_ocr_status
update_ocr_status → redis_incr_ready  
redis_incr_ready → check_all_ready
check_all_ready (TRUE) → publish_docs_ready
check_all_ready (FALSE) → (конец)

4. Сохрани и активируй workflow


Проверка

После добавления нод, при обработке документа:

  1. Статус в clpr_claim_documents.ocr_status будет меняться на 'ready'
  2. Счётчик в Redis claim:ocr:ready:{claim_id} будет инкрементиться
  3. Когда все документы готовы, событие clpr:claim:docs_ready будет опубликовано в Redis