<?php namespace App\Http\Controllers;

use App\Custom\SQLConnection;
use App\Http\Controllers\MainController;
use App\Http\Controllers\AFIPController;
use App\Custom\Misc;
use Request;
use Session;
use stdClass;
use DateTime;
use DB;
class CameController extends Controller {

  public static function pedirInforme(){

    $usuario        = Request::Input('usuarioId');
    $clave          = Request::Input('Clave');
    $cuit           = Request::Input('cuil');
    $tipo           = Request::Input('TipoInforme');
    $apikey         = Request::Input('apikey');

    $data = ApiControllerV1::ObtenerInformeComercialCompleto($cuit,$apikey);
    $data = json_decode($data);

    $InformeFull = new stdClass(); 
    $InformeFull->Afectaciones  = []; 
    $InformeFull->Boletin       = '';
    $InformeFull->ColorScore    = '';
    $InformeFull->ColorSemaforo = ''; 
    $InformeFull->DatosEscudo   = ''; 

    $InformeFull->Domicilios  = []; 
    if(!empty($data->formales->domicilios)){
        foreach ($data->formales->domicilios as $key => $value) {
                $InformeFull->Domicilios[] = new stdClass(); 
                $InformeFull->Domicilios[]->PersonaDomiciliosCP         = $value->codpos ?? ''; 
                $InformeFull->Domicilios[]->PersonaDomiciliosCalle      = $value->domicilio ?? ''; 
                $InformeFull->Domicilios[]->PersonaDomiciliosFecha      = ''; 
                $InformeFull->Domicilios[]->PersonaDomiciliosId         = ''; 
                $InformeFull->Domicilios[]->PersonaDomiciliosLocalidad  =  $value->loc_nombre ?? ''; 
                $InformeFull->Domicilios[]->PersonaDomiciliosNumero     = ''; 
                $InformeFull->Domicilios[]->PersonaDomiciliosProvincia  = $value->prv_nombre ?? ''; 
                $InformeFull->Domicilios[]->PersonaDomicliosLocalidadID = ''; 
        }
    }

    if (isset($data->error))
    {
        $InformeFull->ErrorCodigo   = '1'; 
        $InformeFull->ErrorMensaje  = $data->error; 
    }
    else 
    {
        $InformeFull->ErrorCodigo   = '0'; 
        $InformeFull->ErrorMensaje  = 'PERSONA ENCONTRADA';
    }

    $InformeFull->HistoriaLaboral  = []; 
    $InformeFull->InformeId = '0';

    /*
    $InformeFull = new stdClass(); 
    $InformeFull->IdInfome                            = 0; 
    $InformeFull->PersonaNacionalidad                 = $data->formales->nacionalidad ?? ''; // falta
    $InformeFull->PersonaAnioNacimiento               = $data->formales->anio_nacimiento ?? '';
    $InformeFull->PersonaDocumentoEjemplar            = $data->formales->ejemplar ?? ''; // falta 
    $InformeFull->PersonaDocumento                    = $data->formales->dni ?? '';
    $InformeFull->Cuil                                = $data->formales->identificacion ?? ''; 

    $InformeFull->InformeSDT = new stdClass(); 
    $InformeFull->InformeSDT->PersonaCuil            = $data->formales->identificacion ?? ''; 
    $InformeFull->InformeSDT->PersonaNombre          = $data->formales->nombre  ?? ''; 
    $InformeFull->InformeSDT->PersonaFechaNacimiento = $data->formales->fecha_nacimiento ?? ''; 
    $InformeFull->InformeSDT->PersonaSexo            = $data->formales->sexo ?? '';
    $InformeFull->InformeSDT->PersonaScore           = $data->score->valor ?? ''; 
    $InformeFull->InformeSDT->PersonaEdad            = $data->formales->edad ?? ''; 
    $InformeFull->InformeSDT->ErrorId                = ''; 
    $InformeFull->InformeSDT->ErrorMensaje           = ''; 
    if (isset($data->error))
    {
        $InformeFull->InformeSDT->ErrorId                = '0'; 
        $InformeFull->InformeSDT->ErrorMensaje           = $data->error; 
    }
    */

//  Empleador --> No lo tenemos
    $InformeFull->InformeSDT->Empleador = []; 
    /*
    $InformeFull->InformeSDT->Empleador[0] = new stdClass(); 
    $InformeFull->InformeSDT->Empleador[0]->PersonaEmpleadorID             = '';
    $InformeFull->InformeSDT->Empleador[0]->PersonaEmpleadorCuit           = ''; 
    $InformeFull->InformeSDT->Empleador[0]->PersonaEmpleadorSituacion      = ''; 
    $InformeFull->InformeSDT->Empleador[0]->PersonaEmpleadorUltPeriodoLiq  = ''; 
    $InformeFull->InformeSDT->Empleador[0]->PersonaEmpleadorBeneficio      = '';   
    */
// Obra Social --> No lo tenemos
    $InformeFull->InformeSDT->ObraSocial = []; 
    /*
    $InformeFull->InformeSDT->ObraSocial[0]  = new stdClass(); 
    $InformeFull->InformeSDT->ObraSocial[0]->PersonaObraSocialID = ''; 
    $InformeFull->InformeSDT->ObraSocial[0]->PersonaObraSocialCodigo = ''; 
    $InformeFull->InformeSDT->ObraSocial[0]->PersonaObraSocialDescripcion = ''; 
    $InformeFull->InformeSDT->ObraSocial[0]->PersonaObraSocialFechaInicio = ''; 
    $InformeFull->InformeSDT->ObraSocial[0]->PersonaObraSocialCodem = ''; 
    $InformeFull->InformeSDT->ObraSocial[0]->PersonaObraSocialArchivo = ''; 
    $InformeFull->InformeSDT->ObraSocial[0]->PersonaObraSocialTipoBenef = ''; 
    $InformeFull->InformeSDT->ObraSocial[0]->PersonaObraSocialTipo = ''; 
    $InformeFull->InformeSDT->ObraSocial[0]->PersonaObraSocialFechaBaja = ''; 
    $InformeFull->InformeSDT->ObraSocial[0]->PersonaObraSocialMotivo = ''; 
    */

// Incripcion ??
    $InformeFull->InformeSDT->Incripcion = [];
    /*
    $InformeFull->InformeSDT->Incripcion[0] = new stdClass(); 
    $InformeFull->InformeSDT->Incripcion[0]->PersonaIncripcionID = ''; 
    $InformeFull->InformeSDT->Incripcion[0]->PersonaIncripcionDescripcion = ''; 
    */

// Aportes --> No tenemos 
    $InformeFull->InformeSDT->Aporte = []; 
    /*
    $InformeFull->InformeSDT->Aporte-[0] = new stdClass(); 
    $InformeFull->InformeSDT->Aporte-[0]->PersonaAporteEmpleador = ''; 
    $InformeFull->InformeSDT->Aporte-[0]->PersonaAportePeriodo = ''; 
    $InformeFull->InformeSDT->Aporte-[0]->PersonaAporteIncDeclaracionJurada = ''; 
    $InformeFull->InformeSDT->Aporte-[0]->PersonaAporteSeguridadSocial = ''; 
    $InformeFull->InformeSDT->Aporte-[0]->PersonaAporteObraSocial = ''; 
    $InformeFull->InformeSDT->Aporte-[0]->PersonaAporteContribucionObraSocial = ''; 
    */

    $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]); 
                }
            }
    }

    $InformeFull->InformeSDT->Cheque  = []; 
    if(!empty($data->cheques)) {
        foreach ($data->cheques as $key => $value) {
            $InformeFull->InformeSDT->Cheque[$key] = new stdClass(); 
            $InformeFull->InformeSDT->Cheque[$key]->PersonaChequeID = ''; 
            $InformeFull->InformeSDT->Cheque[$key]->PersonaChequeNumero = $value->nro_cheque ?? '';
            $InformeFull->InformeSDT->Cheque[$key]->PersonaChequeFechaRechazo = $value->fecha_rechazo ?? ''; 
            $InformeFull->InformeSDT->Cheque[$key]->PersonaChequeImporte = $value->importe ?? ''; 
            $InformeFull->InformeSDT->Cheque[$key]->PersonaChequeCausa = $value->causa ?? ''; 
            $InformeFull->InformeSDT->Cheque[$key]->PersonaChequeFechaPago = $value->fecha_levantamiento ?? ''; 
            $InformeFull->InformeSDT->Cheque[$key]->PersonaChequeFechaPagoMulta = $value->fecha_pago ?? ''; 
            $InformeFull->InformeSDT->Cheque[$key]->PersonaChequeRevision = ''; 
            $InformeFull->InformeSDT->Cheque[$key]->PersonaChequeProcesoJudicial =''; 
            $InformeFull->InformeSDT->Cheque[$key]->PersonaChequeTipo = $value->tipo  ?? ''; 
            $InformeFull->InformeSDT->Cheque[$key]->PersonaChequeDenominacion = $value->nombre_persona_relacionado ?? ''; 
        }
    }

// Negativa ?? --> No sabemos que es
    $InformeFull->InformeSDT->Negativa = []; 
    /* 
    $InformeFull->InformeSDT->Negativa[0] = new stdClass(); 
    $InformeFull->InformeSDT->Negativa[0]->PersonaNegativaID = ''; 
    $InformeFull->InformeSDT->Negativa[0]->PersonaNegativaDescripcion = ''; 
    */

    $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]->PersonaBcraHistoricoMonto     = $value->monto ?? ''; 
            $InformeFull->InformeSDT->BcraHistorico[$i]->PersonaBcraHistoricoPeriodo   = $value->periodo ?? ''; 
            $InformeFull->InformeSDT->BcraHistorico[$i]->PersonaBcraHistoricoIdEntidad = $value->nombre_entidad ?? ''; 
            $i += 1; 
            }
    }

// 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]->PersonaTributariaGanancias = ''; 
    $InformeFull->InformeSDT->Tributaria[0]->PersonaTributariaIva = ''; 
    $InformeFull->InformeSDT->Tributaria[0]->PersonaTributariaMonotributo = ''; 
    $InformeFull->InformeSDT->Tributaria[0]->PersonaTributariaIntegrante = ''; 
    $InformeFull->InformeSDT->Tributaria[0]->PersonaTributariaEmpleador = ''; 
    $InformeFull->InformeSDT->Tributaria[0]->PersonaTributariaActividad = ''; 
    */

// ART --> No lo tenemos 
    $InformeFull->InformeSDT->ART = []; 
    /*
    $InformeFull->InformeSDT->ART[0] = new stdClass(); 
    $InformeFull->InformeSDT->ART[0]->PersonaArtId = ''; 
    $InformeFull->InformeSDT->ART[0]->PersonaArtDescripcion = ''; 
    */

    //dd($InformeFull); 
    return json_encode($InformeFull); 

    }
    
}