<?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;
}