import logging
import sys
import os

sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..'))
from helpers.db import conectar
from helpers.logging_setup import setup_logging

setup_logging("socios_accionistas")

conn = conectar()
cursor = conn.cursor()

# Traer registros de vinculadas con rol = 'socio'
cursor.execute("{CALL data_tablas_edictos_update (?)}", 'update_vinculadas_socios')

rows = cursor.fetchall()

for row in rows:
    if not row.documento_soc:
        logging.warning(f"REGISTRO_OMITIDO | sin documento_soc id={row.id} id_fide={row.id_fide}")
        continue
    params = (
        "sociedades_constituciones_relaciones_vinculadas",  # @desde_tabla
        row.id,                                             # @id
        row.id_fide,                                        # @id_fide
        None,                                               # @provincia_boletin
        None,                                               # @provincia_nombre
        row.fecha_publicacion,                              # @periodo
        row.documento_soc,                                  # @p_cuit
        row.cuit,                                           # @p_cuit_socio
        row.apellido_nombre,                                # @apellido_nombre
        row.domicilio,                                      # @domicilio
        None,                                               # @estado_civil
        None,                                               # @conyuge
        None,                                               # @p_cargo (no aplica para accionistas)
        "SI",                                               # @p_ultimo
        row.created_by,                                     # @user_id
        row.id_padron_sociedad,                             # @id_padron_empresa
        row.id_padron_vinculada                             # @id_padron_socio
    )
    logging.debug(f"SP_EJECUTADO | edictos_ia_procesar_accionistas id={row.id} id_fide={row.id_fide}")
    cursor.execute("{CALL edictos_ia_procesar_accionistas (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}", params)
    conn.commit()

cursor.close()
conn.close()
