<?php

/**
 * Descripción del Modelo de Datos AfiliadosSQL
 *
 * Consultas SQL para el Modelo de Datos Afiliados
 *
 * Licenciado bajo la Licencia Apache, Versión 2.0;
 * Usted no puede usar este archivo excepto en conformidad con la Licencia.
 * Usted puede obtener una copia de la Licencia en:
 *      http://www.php.net/license/3_01.txt. 
 * A menos que sea requerido por la ley aplicable o acordado por escrito, el software
 * Distribuido bajo la licencia se distribuye en una "AS IS" o  "COMO ESTA" BASE,
 * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, expresas o implícitas.
 * Consulte la Licencia para los permisos y Limitaciones bajo la Licencia.
 *
 * @package    Modelos\Datos\Afiliados
 * @author     JUAN PABLO LLINAS RAMIREZ <jpllinas@ccsm.org.co>
 * @author     SICAM 20171025 <sicam32@ccsm.org.co>
 * @copyright  2018 Cámara de Comercio de Santa Marta para el Magdalena
 * @license    http://www.php.net/license/3_01.txt  PHP License 3.01
 * @version    201801051035
 * @link       modelos/datos/afiliados/AfiliadosSQL/
 */
 
class AfiliadosSQL {
	
	
const BENEFICIOS = <<<SQL
	SELECT 	* 
	FROM  AfiliadosBeneficios 
	
SQL;
	

const DATOS = <<<sql
    SELECT
    	Personas.*, CamaraAfiliados.afiliadoID,
    	CamaraAfiliados.afiliadoLOGO,
    	CamaraAfiliados.afiliadoCONTACTO,
    	CamaraAfiliados.afiliadoLEGAL,
    	TiposOrganizacion.*, PersonasCorreos.correoID AS personascorreoID,
    	PersonasCorreos.correoDIRECCION AS personasCorreoPRINCIPAL,
    	PersonasDirDomicilio.direccionID AS direccionIDDOMICILIO,
    	PersonasDirDomicilio.direccionNOMENCLATURA AS direccionDOMICILIO,
    	PersonasDirComercial.direccionID AS direccionIDCOMERCIAL,
    	PersonasDirComercial.direccionNOMENCLATURA AS direccionCOMERCIAL,
    	PersonasTelfFijo.telefonoID AS telefonoIDFIJO,
    	PersonasTelfFijo.telefonoNUMERO AS telefonoFIJO,
    	PersonasTelfCelular.telefonoID AS telefonoIDCELULAR,
    	PersonasTelfCelular.telefonoNUMERO AS telefonoCELULAR,
    	PersonasMatricula.personaMatriculaNUMERO AS PersonasMATRICULA,
    	PersonasMatricula.registroPublicoID AS PersonasREGISTROPUBLICO
    FROM
    	CamaraAfiliados
    INNER JOIN Personas ON (
    	CamaraAfiliados.personaID = Personas.personaID
    )
    LEFT JOIN PersonasCorreos AS PersonasCorreos ON (
    	Personas.personaID = PersonasCorreos.personaID
    	AND PersonasCorreos.correoTIPO = 'PRINCIPAL'
    	AND PersonasCorreos.correoESTADO = 'ACTIVO'
    )
    LEFT JOIN PersonasDirecciones AS PersonasDirDomicilio ON (
    	Personas.personaID = PersonasDirDomicilio.personasID
    	AND PersonasDirDomicilio.direccionTIPO = 'DOMICILIO'
    	AND PersonasDirDomicilio.direccionESTADO = 'ACTIVO'
    )
    LEFT JOIN PersonasDirecciones AS PersonasDirComercial ON (
    	Personas.personaID = PersonasDirComercial.personasID
    	AND PersonasDirComercial.direccionTIPO = 'COMERCIAL'
    	AND PersonasDirComercial.direccionESTADO = 'ACTIVO'
    )
    LEFT JOIN PersonasTelefonos AS PersonasTelfFijo ON (
    	Personas.personaID = PersonasTelfFijo.personasID
    	AND PersonasTelfFijo.telefonoTIPO = 'FIJO'
    	AND PersonasTelfFijo.telefonoESTADO = 'ACTIVO'
    )
    LEFT JOIN PersonasTelefonos AS PersonasTelfCelular ON (
    	Personas.personaID = PersonasTelfCelular.personasID
    	AND PersonasTelfCelular.telefonoTIPO = 'CELULAR'
    	AND PersonasTelfCelular.telefonoESTADO = 'ACTIVO'
    )
    LEFT JOIN RegistrosPublicosMatriculas AS PersonasMatricula ON (
    	Personas.personaID = PersonasMatricula.personaID
    	AND PersonasMatricula.registroPublicoID = 2
    )
    LEFT JOIN TiposOrganizacion ON (
    	Personas.tiposOrganizacionID = TiposOrganizacion.tipoOrganizacionID
    )
    LEFT JOIN MatriculasCiiu ON PersonasMatricula.personaMatriculaID = MatriculasCiiu.matriculaCiiuID
    LEFT JOIN CiiuActividades ON MatriculasCiiu.ciiuActividadID = CiiuActividades.ciiuActividadID
    LEFT JOIN CiiuSecciones ON CiiuActividades.ciiuSeccionID = CiiuSecciones.ciiuSeccionID

sql;


	

const DATOS_COMPLETOS = <<<sql
    SELECT
    	CamaraAfiliados.*
        , TiposIdentificacion.tipoIdentificacionCODIGO
        , Personas.personaID
        , Personas.personaIDENTIFICACION
        , Personas.personaRAZONSOCIAL
        , PersonasCorreos.correoDIRECCION AS personasCorreoPRINCIPAL
        , PersonasCorreos.correoLISTANEGRA
        , PersonasDirecciones.direccionNOMENCLATURA AS direccionCOMERCIAL
           
        , PersonasTelefonosFijos.telefonoNUMERO AS telefonoFIJO    
        , PersonasTelefonosCelulares.telefonoNUMERO AS telefonoCELULAR
        
        , TiposOrganizacion.tipoOrganizacionTITULO    
        , RegistrosPublicosMatriculas.registroMatriculaNUMERO AS PersonasMATRICULA
        , RegistrosPublicosMatriculas.registroMatriculaFCHMATRICULA
        , RegistrosPublicosMatriculas.registroMatriculaULTANIORENOVADO
        
        , CiiuActividad1.ciiuActividadCODIGO AS ciiuActividadCODIGO1
        , CiiuActividad1.ciiuActividadTITULO AS ciiuActividadTITULO1
        , CiiuSeccion1.ciiuSeccionCODIGO AS ciiuSeccionCODIGO1
        , CiiuSeccion1.ciiuSeccionTITULO AS ciiuSeccionTITULO1    
        
        , CiiuActividad2.ciiuActividadCODIGO AS ciiuActividadCODIGO2
        , CiiuActividad2.ciiuActividadTITULO AS ciiuActividadTITULO2
        , CiiuSeccion2.ciiuSeccionCODIGO AS ciiuSeccionCODIGO2
        , CiiuSeccion2.ciiuSeccionTITULO AS ciiuSeccionTITULO2    
    FROM
        CamaraAfiliados
        INNER JOIN Personas 
            ON (CamaraAfiliados.personaID = Personas.personaID)
        INNER JOIN TiposIdentificacion 
            ON (Personas.tipoIdentificacionID = TiposIdentificacion.tipoIdentificacionID)           
        LEFT JOIN PersonasCorreos 
            ON (Personas.personaID = PersonasCorreos.personaID AND PersonasCorreos.correoTIPO = 'PRINCIPAL' AND PersonasCorreos.correoESTADO='ACTIVO')         
        LEFT JOIN PersonasDirecciones 
            ON (Personas.personaID = PersonasDirecciones.personasID AND PersonasDirecciones.direccionTIPO = 'COMERCIAL' AND PersonasDirecciones.direccionESTADO = 'ACTIVO' )
        LEFT JOIN PersonasTelefonos AS  PersonasTelefonosFijos
            ON (Personas.personaID = PersonasTelefonosFijos.personasID AND PersonasTelefonosFijos.telefonoTIPO = 'FIJO' AND PersonasTelefonosFijos.telefonoESTADO = 'ACTIVO')
        LEFT JOIN PersonasTelefonos AS  PersonasTelefonosCelulares 
            ON (Personas.personaID = PersonasTelefonosCelulares.personasID AND PersonasTelefonosCelulares.telefonoTIPO = 'CELULAR' AND PersonasTelefonosCelulares.telefonoESTADO='ACTIVO')
        
        INNER JOIN TiposOrganizacion 
            ON (Personas.tiposOrganizacionID = TiposOrganizacion.tipoOrganizacionID)
        INNER JOIN RegistrosPublicosMatriculas 
            ON (Personas.personaID = RegistrosPublicosMatriculas.personaID AND RegistrosPublicosMatriculas.registroPublicoID = '1')
    
        INNER JOIN MatriculasCiiu AS Ciiu1
            ON (RegistrosPublicosMatriculas.registroMatriculaID = Ciiu1.registroMatriculaID AND Ciiu1.matriculaCiiuTIPO = 'PRINCIPAL' )    
        INNER JOIN CiiuActividades AS CiiuActividad1
            ON (Ciiu1.ciiuActividadID = CiiuActividad1.ciiuActividadID)
        INNER JOIN CiiuSecciones AS CiiuSeccion1
            ON (CiiuActividad1.ciiuSeccionID = CiiuSeccion1.ciiuSeccionID)
            
    
        LEFT JOIN MatriculasCiiu AS Ciiu2
            ON (RegistrosPublicosMatriculas.registroMatriculaID = Ciiu2.registroMatriculaID  AND Ciiu2.matriculaCiiuTIPO = 'SECUNDARIA')
        LEFT JOIN CiiuActividades AS CiiuActividad2
            ON (Ciiu2.ciiuActividadID = CiiuActividad2.ciiuActividadID)
        LEFT JOIN CiiuSecciones AS CiiuSeccion2
            ON (CiiuActividad2.ciiuSeccionID = CiiuSeccion2.ciiuSeccionID)



sql;



const _DATOS_COMPLETOS = <<<sql
    SELECT
    	Personas.*, 
    	CamaraAfiliados.afiliadoID,
    	CamaraAfiliados.afiliadoLOGO,
    	CamaraAfiliados.afiliadoCONTACTO,
    	CamaraAfiliados.afiliadoLEGAL,
    	TiposOrganizacion.*, 
    	PersonasCorreos.correoID AS personascorreoID,
    	PersonasCorreos.correoDIRECCION AS personasCorreoPRINCIPAL,
    	PersonasDirDomicilio.direccionID AS direccionIDDOMICILIO,
    	PersonasDirDomicilio.direccionNOMENCLATURA AS direccionDOMICILIO,
    	PersonasDirComercial.direccionID AS direccionIDCOMERCIAL,
    	PersonasDirComercial.direccionNOMENCLATURA AS direccionCOMERCIAL,
    	PersonasTelfFijo.telefonoID AS telefonoIDFIJO,
    	PersonasTelfFijo.telefonoNUMERO AS telefonoFIJO,
    	PersonasTelfCelular.telefonoID AS telefonoIDCELULAR,
    	PersonasTelfCelular.telefonoNUMERO AS telefonoCELULAR,
    	PersonasMatricula.personaMatriculaNUMERO AS PersonasMATRICULA,
    	PersonasMatricula.registroPublicoID AS PersonasREGISTROPUBLICO
    FROM
    	CamaraAfiliados
    INNER JOIN Personas ON (
    	CamaraAfiliados.personaID = Personas.personaID
    )
    LEFT JOIN PersonasCorreos AS PersonasCorreos ON (
    	Personas.personaID = PersonasCorreos.personaID
    	AND PersonasCorreos.correoTIPO = 'PRINCIPAL'
    	AND PersonasCorreos.correoESTADO = 'ACTIVO'
    )
    LEFT JOIN PersonasDirecciones AS PersonasDirDomicilio ON (
    	Personas.personaID = PersonasDirDomicilio.personasID
    	AND PersonasDirDomicilio.direccionTIPO = 'DOMICILIO'
    	AND PersonasDirDomicilio.direccionESTADO = 'ACTIVO'
    )
    LEFT JOIN PersonasDirecciones AS PersonasDirComercial ON (
    	Personas.personaID = PersonasDirComercial.personasID
    	AND PersonasDirComercial.direccionTIPO = 'COMERCIAL'
    	AND PersonasDirComercial.direccionESTADO = 'ACTIVO'
    )
    LEFT JOIN PersonasTelefonos AS PersonasTelfFijo ON (
    	Personas.personaID = PersonasTelfFijo.personasID
    	AND PersonasTelfFijo.telefonoTIPO = 'FIJO'
    	AND PersonasTelfFijo.telefonoESTADO = 'ACTIVO'
    )
    LEFT JOIN PersonasTelefonos AS PersonasTelfCelular ON (
    	Personas.personaID = PersonasTelfCelular.personasID
    	AND PersonasTelfCelular.telefonoTIPO = 'CELULAR'
    	AND PersonasTelfCelular.telefonoESTADO = 'ACTIVO'
    )
    LEFT JOIN RegistrosPublicosMatriculas AS PersonasMatricula ON (
    	Personas.personaID = PersonasMatricula.personaID
    	AND PersonasMatricula.registroPublicoID = 2
    )
    LEFT JOIN TiposOrganizacion ON (
    	Personas.tiposOrganizacionID = TiposOrganizacion.tipoOrganizacionID
    )
    LEFT JOIN PersonasCiuu as PersonasCiuu1 ON PersonasMatricula.personaMatriculaID = PersonasCiuu1.personaMatriculaID AND PersonasCiuu.personaCiuuTIPO = 'PRINCIPAL'
    LEFT JOIN CiuuActividades as CiuuActividades1 ON PersonasCiuu1.ciuuActividadID = CiuuActividades1.ciuuActividadID
    LEFT JOIN CiuuSecciones as CiuuSecciones1 ON CiuuActividades1.ciuuSeccionID = CiuuSecciones1.ciuuSeccionID

sql;




    

}

