<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Session;

use App\Custom\Misc;
use App\Custom\SQLConnection;

use App\Http\Controllers\ApiControllerV1;

class CameController extends Controller
{

    public static function listarCircuitoCerrado()
    {
        $identificacion = Request::Input('Cuil');
        $resp = SQLConnection::backendStoreProcedure('circuito_cerrado_listar', array($identificacion));
        return json_encode($resp);
    }

    public static function agregarCircuitoCerrado()
    {
        $id_externo = Request::Input('UsuarioId');
        $identificacion = Request::Input('Cuil');
        $importe_total = Request::Input('ImporteTotal');
        $cantidad_cuotas = Request::Input('CantidadCuotas');
        $nombre = Request::Input('Nombre');
        $caracter = Request::Input('Caracter');
        $notas = Request::Input('Notas');

        $usuario = Session::get('usuario');
        $user_id = $usuario->user_id;
        //$p_ip = $_SERVER['REMOTE_ADDR'];
        //SQLConnection::backendStoreProcedure('consumir_servicio_externo', array($user_id,$identificacion,56,$p_ip,$id_externo), true);
        $producto = $usuario->producto ?? 56;
        ApiControllerV1::consumir_servicio($identificacion, $producto, $id_externo);

        $resp = SQLConnection::backendStoreProcedure('circuito_cerrado_agregar', array(
            $id_externo,
            $identificacion,
            $importe_total,
            $cantidad_cuotas,
            $nombre,
            $caracter,
            $notas
        ), true);

        if ($resp->respuesta == 'ok') {
            return json_encode([
                'Status' => 'OK',
                'StatusCode' => 0
            ]);
        } else {
            return json_encode([
                'Status' => 'ERROR',
                'StatusCode' => 1
            ]);
        }
    }

    public static function eliminarCircuitoCerrado()
    {
        $id = Request::Input('IdCircuitoCerrado');
        $id_externo = Request::Input('UsuarioId');
        $identificacion = Request::Input('Cuil');
        $usuario = Session::get('usuario');
        $user_id = $usuario->user_id;
        //$p_ip = $_SERVER['REMOTE_ADDR'];
        //SQLConnection::backendStoreProcedure('consumir_servicio_externo', array($user_id,$identificacion,56,$p_ip,$id_externo), true);
        $producto = $usuario->producto ?? 56;
        ApiControllerV1::consumir_servicio($identificacion, $producto, $id_externo);

        $resp = SQLConnection::backendStoreProcedure('circuito_cerrado_eliminar', array($id, $id_externo, $identificacion));
        return json_encode([
            'Status' => 'OK',
            'StatusCode' => 0
        ]);
    }

    public static function modificarCircuitoCerrado()
    {
        $id = Request::Input('IdCircuitoCerrado');
        $id_externo = Request::Input('UsuarioId');
        $morosidad = Request::Input('Morosidad');
        $resp = SQLConnection::backendStoreProcedure('circuito_cerrado_morosidad', array($id, $morosidad, $id_externo));
        return json_encode([
            'Status' => 'OK',
            'StatusCode' => 0
        ]);
    }

    public static function pedirInforme()
    {
        $usuario = Request::Input('UsuarioId');
        $clave = Request::Input('Clave');
        $cuit = Request::Input('Cuil');
        $tipo = Request::Input('TipoInforme');
        $apikey = Request::Input('apikey');
        $fisica_juridica = Misc::tipoPersona($cuit);

        $data = ApiControllerV1::ObtenerInformeComercialCompleto($cuit, $apikey);
        $data = json_decode($data);
        $circuito_cerrado = [];
        $circuito_cerrado = json_decode(self::listarCircuitoCerrado($cuit));
        foreach ($circuito_cerrado as $key => $value) {
            if ($value->morosidad == 1) {
                $data->score->valor = 0;
            }
        }

        //dd($data); 
        $InformeFull = new \stdClass();

        // Afectaciones : No sabemos que es 
        $InformeFull->Afectaciones = [];
        /*
        $InformeFull->Afectaciones[0] = new \stdClass();
        $InformeFull->Afectaciones[0]->PersonaAtrasoClienteNombre = ''; 
        $InformeFull->Afectaciones[0]->PersonaAtrasoClienteid = ''; 
        $InformeFull->Afectaciones[0]->PersonaAtrasoCondicion = ''; 
        $InformeFull->Afectaciones[0]->PersonaAtrasoCuotas = ''; 
        $InformeFull->Afectaciones[0]->PersonaAtrasoFechaPago = ''; 
        $InformeFull->Afectaciones[0]->PersonaAtrasoFechaafe = ''; 
        $InformeFull->Afectaciones[0]->PersonaAtrasoImporte = ''; 
        $InformeFull->Afectaciones[0]->PersonaAtrasoImporteCuota = ''; 
        $InformeFull->Afectaciones[0]->PersonaAtrasoMotivo = ''; 
        $InformeFull->Afectaciones[0]->PersonaAtrasoMotivoDescripcion = ''; 
        $InformeFull->Afectaciones[0]->PersonaAtrasoNumeroCredito = ''; 
        $InformeFull->Afectaciones[0]->PersonaAtrasoSerie = ''; 
        */

        $InformeFull->Boletin = '';
        $color_score = 'V';
        if ($data->score->valor <= 50) {
            $color_score = 'R';
        } else if ($data->score->valor > 50 && $data->score->valor <= 65) {
            $color_score = 'A';
        }
        $InformeFull->ColorScore = $color_score;
        $InformeFull->ColorSemaforo = $color_score;
        $InformeFull->DatosEscudo = '';

        $InformeFull->Domicilios = [];
        if (!empty($data->formales->domicilios)) {
            foreach ($data->formales->domicilios as $key => $value) {
                $InformeFull->Domicilios[$key] = new \stdClass();
                $InformeFull->Domicilios[$key]->PersonaDomiciliosCP = $value->cp ?? '';
                $InformeFull->Domicilios[$key]->PersonaDomiciliosCalle = $value->domicilio ?? '';
                $InformeFull->Domicilios[$key]->PersonaDomiciliosFecha = '';
                $InformeFull->Domicilios[$key]->PersonaDomiciliosId = '';
                $InformeFull->Domicilios[$key]->PersonaDomiciliosLocalidad = $value->localidad ?? '';
                $InformeFull->Domicilios[$key]->PersonaDomiciliosNumero = '';
                $InformeFull->Domicilios[$key]->PersonaDomiciliosProvincia = $value->provincia ?? '';
                $InformeFull->Domicilios[$key]->PersonaDomicliosLocalidadID = '';
            }
        }

        $InformeFull->GuiaTelefono = [];
        $InformeFull->mas_info = [];
        $InformeFull->claes = [];
        $InformeFull->empleados = [];
        $InformeFull->HistoriaLaboral = [];
        $InformeFull->InformeId = '0';
        $InformeFull->mas_info = $data->formales->mas_info ?? '';
        $InformeFull->empleados = $data->formales->empleados ?? '';
        $InformeFull->claes = $data->formales->claes ?? '';

        $InformeFull->InformeSDT = new \stdClass();

        // ART --> No lo tenemos 
        $InformeFull->InformeSDT->circuito_cerrado = [];
        if (!empty($circuito_cerrado)) {
            $InformeFull->InformeSDT->circuito_cerrado = $circuito_cerrado;
        }
        $InformeFull->InformeSDT->ART = [];
        /*
        $InformeFull->InformeSDT->ART[0] = new \stdClass(); 
        $InformeFull->InformeSDT->ART[0]->PersonaArtId = ''; 
        $InformeFull->InformeSDT->ART[0]->PersonaArtDescripcion = ''; 
        */

        // Aportes 

        $InformeFull->InformeSDT->Aporte = [];
        if (!empty($data->fiscales->aportes)) {
            foreach ($data->fiscales->aportes as $key => $value) {
                $InformeFull->InformeSDT->Aporte[$key] = new \stdClass();
                $InformeFull->InformeSDT->Aporte[$key]->PersonaAporteEmpleador = $value->nombre_empleador ?? '';
                $InformeFull->InformeSDT->Aporte[$key]->PersonaAportePeriodo = $value->periodo ?? '';
                $InformeFull->InformeSDT->Aporte[$key]->PersonaAporteIncDeclaracionJurada = $value->ddjj ?? '';
                $InformeFull->InformeSDT->Aporte[$key]->PersonaAporteSeguridadSocial = $value->aportes_ss ?? '';
                $InformeFull->InformeSDT->Aporte[$key]->PersonaAporteObraSocial = $value->aportes_os ?? '';
                $InformeFull->InformeSDT->Aporte[$key]->PersonaAporteContribucionObraSocial = $value->contr_patronal ?? '';
            }
        }

        // BCRA
        $periodo = '';
        if (isset($data->periodos->bancos)) {
            $periodo = $data->periodos->bancos;
        }
        $InformeFull->InformeSDT->BCRA = [];
        $i = 0;
        if (!empty($data->bancos)) {
            foreach ($data->bancos as $key => $value) {
                if ($value->periodo == $periodo) {
                    $InformeFull->InformeSDT->BCRA[$i] = new \stdClass();
                    $InformeFull->InformeSDT->BCRA[$i]->PersonaBcraID = '';
                    $InformeFull->InformeSDT->BCRA[$i]->PersonaBcraEntidad = $value->nombre_entidad ?? '';
                    $InformeFull->InformeSDT->BCRA[$i]->PersonaBcraPeriodo = $value->periodo ?? '';
                    $InformeFull->InformeSDT->BCRA[$i]->PersonaBcraSituacion = $value->situacion ?? '';
                    $InformeFull->InformeSDT->BCRA[$i]->PersonaBcraMonto = $value->monto ?? '';
                    $InformeFull->InformeSDT->BCRA[$i]->PersonaBcraDiasAtraso = $value->dias_atraso ?? '';
                    $InformeFull->InformeSDT->BCRA[$i]->PersonaBcraObservaciones = '';
                    $i += 1;
                    unset($data->bancos[$key]);
                }
            }
        }

        // BCRA - Historico

        $InformeFull->InformeSDT->BcraHistorico = [];
        $i = 0;
        if (!empty($data->bancos)) {
            foreach ($data->bancos as $key => $value) {
                $InformeFull->InformeSDT->BcraHistorico[$i] = new \stdClass();
                $InformeFull->InformeSDT->BcraHistorico[$i]->PersonaBCRAHistoricoSituacion = $value->situacion ?? '';
                $InformeFull->InformeSDT->BcraHistorico[$i]->PersonaBcraHistoricoIdEntidad = $value->nombre_entidad ?? '';
                $InformeFull->InformeSDT->BcraHistorico[$i]->PersonaBcraHistoricoMonto = $value->monto ?? '';
                $InformeFull->InformeSDT->BcraHistorico[$i]->PersonaBcraHistoricoPeriodo = $value->periodo ?? '';
                $i += 1;
            }
        }

        // Cheques
        $InformeFull->InformeSDT->Cheque = [];
        $i = 0;
        if (!empty($data->cheques)) {
            foreach ($data->cheques as $key => $value) {
                $InformeFull->InformeSDT->Cheque[$i] = new \stdClass();
                $InformeFull->InformeSDT->Cheque[$i]->PersonaChequeID = '';
                $InformeFull->InformeSDT->Cheque[$i]->PersonaChequeNumero = $value->nro_cheque ?? '';
                $InformeFull->InformeSDT->Cheque[$i]->PersonaChequeFechaRechazo = $value->fecha_rechazo ?? '';
                $InformeFull->InformeSDT->Cheque[$i]->PersonaChequeImporte = $value->importe ?? '';
                $InformeFull->InformeSDT->Cheque[$i]->PersonaChequeCausa = $value->causa ?? '';
                $InformeFull->InformeSDT->Cheque[$i]->PersonaChequeFechaPago = $value->fecha_levantamiento ?? '';
                $InformeFull->InformeSDT->Cheque[$i]->PersonaChequeFechaPagoMulta = $value->fecha_pago ?? '';
                $InformeFull->InformeSDT->Cheque[$i]->PersonaChequeRevision = '';
                $InformeFull->InformeSDT->Cheque[$i]->PersonaChequeProcesoJudicial = '';
                $InformeFull->InformeSDT->Cheque[$i]->PersonaChequeTipo = $value->tipo ?? '';
                $InformeFull->InformeSDT->Cheque[$i]->PersonaChequeDenominacion = $value->nombre_persona_relacionado ?? '';
                $i += 1;
            }
        }

        //  Empleador 
        $InformeFull->InformeSDT->Empleador = [];
        if (!empty($data->formales->empleado_de)) {
            foreach ($data->formales->empleado_de as $key => $value) {
                $InformeFull->InformeSDT->Empleador[$key] = new \stdClass();
                $InformeFull->InformeSDT->Empleador[$key]->PersonaEmpleadorBeneficio = '';
                $InformeFull->InformeSDT->Empleador[$key]->PersonaEmpleadorCuit = $value->cuit_empleador ?? '';
                $InformeFull->InformeSDT->Empleador[$key]->PersonaEmpleadorID = '';
                $InformeFull->InformeSDT->Empleador[$key]->PersonaEmpleadorSituacion = '';
                $InformeFull->InformeSDT->Empleador[$key]->PersonaEmpleadorUltPeriodoLiq = '';
            }
        }


        if (isset($data->error)) {
            $InformeFull->ErrorCodigo = '1';
            $InformeFull->ErrorMensaje = $data->error;
        } else {
            $InformeFull->ErrorCodigo = '0';
            $InformeFull->ErrorMensaje = 'PERSONA ENCONTRADA';
        }

        // Familia
        $InformeFull->InformeSDT->Familia = [];

        // Incripcion 
        $InformeFull->InformeSDT->Incripcion = [];
        $InformeFull->InformeSDT->comex = $data->comex;
        $InformeFull->InformeSDT->legales = $data->legales;
        $InformeFull->InformeSDT->expedientes_arba = $data->fiscales->arba;
        $InformeFull->InformeSDT->apocrifas = $data->fiscales->facturas_apocrifas;

        $i = 0;
        if (!empty($data->fiscales->inscripciones)) {
            foreach ($data->fiscales->inscripciones as $key => $value) {
                if (isset($value->fecha_contrato_social)) {
                    $InformeFull->InformeSDT->Incripcion[$i] = new \stdClass();
                    $InformeFull->InformeSDT->Incripcion[$i]->PersonaIncripcionDescripcion = 'Fecha de Contrato Social: ' . $value->fecha_contrato_social;
                    $InformeFull->InformeSDT->Incripcion[$i]->PersonaIncripcionID = $i + 1;
                    $i += 1;
                }
            }
        }

        if (!empty($data->fiscales->clae)) {
            foreach ($data->fiscales->clae as $key => $value) {
                $InformeFull->InformeSDT->Incripcion[$i] = new \stdClass();
                $InformeFull->InformeSDT->Incripcion[$i]->PersonaIncripcionDescripcion = 'Actividad: ' . $value->cod_clae . ' - ' . $value->descripcion;
                $InformeFull->InformeSDT->Incripcion[$i]->PersonaIncripcionID = $i + 1;
                $i += 1;
            }
        }

        if (!empty($data->fiscales->impuestos)) {
            foreach ($data->fiscales->impuestos as $key => $value) {
                $InformeFull->InformeSDT->Incripcion[$i] = new \stdClass();
                $InformeFull->InformeSDT->Incripcion[$i]->PersonaIncripcionDescripcion = 'Impuesto: ' . $value->codigo_impuesto . ' - ' .
                    $value->nombre_impuesto . ' - ' .
                    'Periodo: ' . $value->fecha_inscripcion . ' - ' .
                    'Estado: ' . $value->estado;
                $InformeFull->InformeSDT->Incripcion[$i]->PersonaIncripcionID = $i + 1;
                $i += 1;
            }
        }


        // Negativa ?? --> No sabemos que es
        $InformeFull->InformeSDT->Negativa = [];
        /* 
        $InformeFull->InformeSDT->Negativa[0] = new \stdClass(); 
        $InformeFull->InformeSDT->Negativa[0]->PersonaNegativaID = ''; 
        $InformeFull->InformeSDT->Negativa[0]->PersonaNegativaDescripcion = ''; 
        */

        // Obra Social --> No lo tenemos

        $InformeFull->InformeSDT->ObraSocial = [];
        /*
        $InformeFull->InformeSDT->ObraSocial[0]->PersonaCuil = ''; 
        $InformeFull->InformeSDT->ObraSocial[0]->PersonaEdad = ''; 
        $InformeFull->InformeSDT->ObraSocial[0]->PersonaFechaNacimiento = ''; 
        $InformeFull->InformeSDT->ObraSocial[0]->PersonaNombre = ''; 
        $InformeFull->InformeSDT->ObraSocial[0]->PersonaScore = ''; 
        $InformeFull->InformeSDT->ObraSocial[0]->PersonaSexo = ''; 
        */

        $InformeFull->InformeSDT->PersonaCuil = $data->formales->identificacion ?? '';
        $InformeFull->InformeSDT->PersonaEdad = (isset($data->formales->edad)) ? (string) $data->formales->edad : '';
        $InformeFull->InformeSDT->PersonaFechaNacimiento = $data->formales->fecha_nacimiento ?? '';
        $InformeFull->InformeSDT->PersonaNombre = $data->formales->nombre ?? '';
        $InformeFull->InformeSDT->PersonaScore = $data->score->valor ?? '';
        $InformeFull->InformeSDT->PersonaSexo = $data->formales->sexo ?? '';

        // Es el archivo de Inscripciones que se descarga en la carpeta fuentes todos los sabados 
        $InformeFull->InformeSDT->Tributaria = [];
        /*
        $InformeFull->InformeSDT->Tributaria[0] = new \stdClass(); 
        $InformeFull->InformeSDT->Tributaria[0]->PersonaTributariaActividad = ''; 
        $InformeFull->InformeSDT->Tributaria[0]->PersonaTributariaEmpleador = ''; 
        $InformeFull->InformeSDT->Tributaria[0]->PersonaTributariaGanancias = ''; 
        $InformeFull->InformeSDT->Tributaria[0]->PersonaTributariaIntegrante = ''; 
        $InformeFull->InformeSDT->Tributaria[0]->PersonaTributariaIva = ''; 
        $InformeFull->InformeSDT->Tributaria[0]->PersonaTributariaMonotributo = ''; 
        */
        $InformeFull->InformeSDT->Informes = [];
        /*
        $InformeFull->InformeSDT->Informes[0]->ClienteId = ''; 
        $InformeFull->InformeSDT->Informes[0]->ClienteNombre = ''; 
        $InformeFull->InformeSDT->Informes[0]->InformeCaracter = ''; 
        $InformeFull->InformeSDT->Informes[0]->InformeCuotas = ''; 
        $InformeFull->InformeSDT->Informes[0]->InformeEstado = ''; 
        $InformeFull->InformeSDT->Informes[0]->InformeFecha = ''; 
        $InformeFull->InformeSDT->Informes[0]->InformeFechaAcuerdo = ''; 
        $InformeFull->InformeSDT->Informes[0]->InformeId = ''; 
        $InformeFull->InformeSDT->Informes[0]->InformeImporte = ''; 
        $InformeFull->InformeSDT->Informes[0]->InformeImporteCuota = ''; 
        $InformeFull->InformeSDT->Informes[0]->InformeNumeroCredito = ''; 
        $InformeFull->InformeSDT->Informes[0]->InformeTipoRechazoId = ''; 
        $InformeFull->InformeSDT->Informes[0]->TipoRechazoDescripcion = ''; 
        */
        $InformeFull->InformeSDT->InformesInstitutos = [];

        $InformeFull->InformeSDT->Marcas = $data->comerciales->marcas ?? '';
        $InformeFull->InformeSDT->PersonaAnioNacimiento = $data->formales->anio_nacimiento ?? '';
        $InformeFull->InformeSDT->PersonaDocumentoEjemplar = $data->formales->ejemplar ?? ''; // falta 
        $InformeFull->InformeSDT->PersonaNacionalidad = $data->formales->nacionalidad ?? ''; // falta
        $InformeFull->InformeSDT->PersonaProfesion = $data->formales->profesion ?? '';
        $InformeFull->InformeSDT->PersonaSueldo = '0';
        $InformeFull->InformeSDT->Resultado = '';
        $InformeFull->InformeSDT->ResultadoDescripcion = '';

        $InformeFull->Sociedades = new \stdClass();
        $InformeFull->Sociedades->SociedadesSDT = new \stdClass();
        $InformeFull->Sociedades->SociedadesSDT->Asamblea = [];
        $InformeFull->Sociedades->SociedadesSDT->Balance = [];

        if (!empty($data->balances)) {
            foreach ($data->balances as $key => $value) {
                $InformeFull->Sociedades->SociedadesSDT->Balance[$key] = new \stdClass();
                $InformeFull->Sociedades->SociedadesSDT->Balance[$key]->SociedadBalanceCapital = $value->capsoc ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Balance[$key]->SociedadBalanceFechPres = '';
                $InformeFull->Sociedades->SociedadesSDT->Balance[$key]->SociedadBalanceFecha = $value->fecha_balance ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Balance[$key]->SociedadBalanceId = $value->id_balance ?? '';
            }
        }


        $InformeFull->Sociedades->SociedadesSDT->Fisica = [];

        if ($fisica_juridica == 'J') {
            $i = 0;
            foreach ($data->relaciones->socios as $key => $value) {
                if (Misc::tipoPersona($value->cuit) == 'F') {
                    $InformeFull->Sociedades->SociedadesSDT->Fisica[$i] = new \stdClass();
                    $InformeFull->Sociedades->SociedadesSDT->Fisica[$i]->PersonaCuil = $value->cuit ?? '';
                    $InformeFull->Sociedades->SociedadesSDT->Fisica[$i]->PersonaNombre = $value->nombre_persona ?? '';
                    $InformeFull->Sociedades->SociedadesSDT->Fisica[$i]->SociedadRazonSoc = $data->formales->nombre ?? '';
                    $InformeFull->Sociedades->SociedadesSDT->Fisica[$i]->TipoAdmDesc = $value->cargo ?? '';
                    $i = $i + 1;
                }
            }
            foreach ($data->relaciones->participaciones as $key => $value) {
                $InformeFull->Sociedades->SociedadesSDT->Fisica[$i] = new \stdClass();
                $InformeFull->Sociedades->SociedadesSDT->Fisica[$i]->PersonaCuil = $value->cuit_socio ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Fisica[$i]->PersonaNombre = $value->nombre_socio ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Fisica[$i]->SociedadRazonSoc = $value->razon_social_sociedad ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Fisica[$i]->TipoAdmDesc = $value->cargo ?? '';
                $i = $i + 1;
            }
            foreach ($data->relaciones->vinculaciones as $key => $value) {
                if (Misc::tipoPersona($value->cuit) == 'F') {
                    $InformeFull->Sociedades->SociedadesSDT->Fisica[$i] = new \stdClass();
                    $InformeFull->Sociedades->SociedadesSDT->Fisica[$i]->PersonaCuil = $value->cuit ?? '';
                    $InformeFull->Sociedades->SociedadesSDT->Fisica[$i]->PersonaNombre = $value->nombre_persona ?? '';
                    $InformeFull->Sociedades->SociedadesSDT->Fisica[$i]->SociedadRazonSoc = $data->formales->nombre ?? '';
                    $InformeFull->Sociedades->SociedadesSDT->Fisica[$i]->TipoAdmDesc = $value->detalle ?? '';
                    $i = $i + 1;
                }
            }

        }

        $n = 0;
        $InformeFull->Sociedades->SociedadesSDT->Juridica = [];
        foreach ($data->relaciones->socios as $key => $value) {
            if (Misc::tipoPersona($value->cuit) == 'J') {
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n] = new \stdClass();
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n]->SociedadCuit = $value->cuit ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n]->Sociedad = $value->nombre_persona ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n]->SociedadDomCalle = $value->dom_calle ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n]->SociedadDomNro = $value->dom_numero ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n]->TipoSocDesc = $value->cargo ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n]->Detalle = $value->detalle ?? '';
                $n = $n + 1;
            }
        }

        $n = 0;
        foreach ($data->relaciones->vinculaciones as $key => $value) {
            if (Misc::tipoPersona($value->cuit) == 'J') {
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n] = new \stdClass();
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n]->SociedadCuit = $value->cuit ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n]->Sociedad = $value->nombre_persona ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n]->SociedadDomCalle = $value->dom_calle ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n]->SociedadDomNro = $value->dom_numero ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n]->TipoSocDesc = $value->cargo ?? '';
                $InformeFull->Sociedades->SociedadesSDT->Juridica[$n]->Detalle = $value->detalle ?? '';
                $n = $n + 1;
            }
        }

        $InformeFull->Status = '';
        $InformeFull->StatusCode = '0';

        return json_encode($InformeFull);

    }
}
