átlagos kiegészítséek jó sok
This commit is contained in:
@@ -2,11 +2,13 @@
|
||||
import asyncio
|
||||
import os
|
||||
import logging
|
||||
import json
|
||||
from PIL import Image
|
||||
from sqlalchemy import select, update
|
||||
from app.db.session import AsyncSessionLocal
|
||||
from app.models.document import Document
|
||||
from app.models import Document
|
||||
from app.models.identity import User
|
||||
from app.models.marketplace.organization import Organization
|
||||
from app.services.ai_service import AIService
|
||||
from app.core.config import settings
|
||||
|
||||
@@ -95,6 +97,35 @@ class OCRRobot:
|
||||
loop = asyncio.get_event_loop()
|
||||
await loop.run_in_executor(None, cls._sync_resize_and_save, temp_path, final_path)
|
||||
|
||||
# TRUST MATCHING: Keresés a fleet.organizations táblában adószám alapján
|
||||
verified_org_id = None
|
||||
tax_number = ocr_result.get("tax_number")
|
||||
if tax_number:
|
||||
org_stmt = select(Organization.id).where(
|
||||
Organization.tax_number == tax_number,
|
||||
Organization.is_active == True,
|
||||
Organization.is_deleted == False
|
||||
)
|
||||
org_result = await db.execute(org_stmt)
|
||||
org = org_result.scalar_one_or_none()
|
||||
if org:
|
||||
verified_org_id = org
|
||||
logger.info(f"✅ Trust Matching sikeres: {tax_number} → org_id {verified_org_id}")
|
||||
else:
|
||||
logger.info(f"ℹ️ Trust Matching: nincs egyezés adószámra: {tax_number}")
|
||||
|
||||
# OCR adatok frissítése verified_org_id-vel
|
||||
if isinstance(ocr_result, dict):
|
||||
ocr_result["verified_org_id"] = verified_org_id
|
||||
else:
|
||||
# Ha az ocr_result nem dict (pl. string), konvertáljuk
|
||||
try:
|
||||
ocr_dict = json.loads(ocr_result) if isinstance(ocr_result, str) else {}
|
||||
ocr_dict["verified_org_id"] = verified_org_id
|
||||
ocr_result = ocr_dict
|
||||
except:
|
||||
ocr_result = {"raw": ocr_result, "verified_org_id": verified_org_id}
|
||||
|
||||
# 4. LOGIKA: Adatbázis frissítés (Gold Data előkészítés)
|
||||
doc.ocr_data = ocr_result
|
||||
doc.status = "processed"
|
||||
|
||||
Reference in New Issue
Block a user