<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of PersonaRelacionFamiliar
*
* @author Desarrollo
*/
class PersonasRelaciones {
//put your code here
const RELACIONPADRE = 'PADRE';
const RELACIONMADRE = 'MADRE';
const RELACIONHIJO = 'HIJO';
const RELACIONCONYUGUE = 'CONYUGUE';
static $sqlBasica = <<<sql
SELECT
Personas .*
, PersonasCorreos.correoDIRECCION AS personasCorreoPRINCIPAL
, PersonasDirDomicilio.direccionNOMENCLATURA AS personasDireccionesDOMICILIO
, PersonasDirComercial.direccionNOMENCLATURA AS personasDireccionesCOMERCIAL
, PersonasTelfFijo.telefonoNUMERO AS personasTelefonosFIJO
, PersonasTelfCelular.telefonoNUMERO AS personasTelefonosCELULAR
, 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
, PersonasRelaciones.personaRelacionPRINCIPAL
, PersonasRelaciones.personaRelacionCATEGORIA
, PersonasRelaciones.personaRelacionFALLECIDO
FROM Personas
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')
INNER JOIN PersonasRelaciones ON (Personas.personaID=PersonasRelaciones.personaRelacionSECUNDARIA)
WHERE PersonasRelaciones.personaRelacionPRINCIPAL=?
sql;
public static function relacionesPersonasPorIDPersonas($personaID) {
$sqlQuery = self::$sqlBasica;
return SicamDB::selectVariasFilas($sqlQuery, array($personaID));
}
public static function guardar($personaRelacionPRINCIPAL, $personaRelacionSECUNDARIA, $personaRelacionCATEGORIA, $familiarFallecido) {
$sqlQuery = "INSERT INTO PersonasRelaciones ( personaRelacionPRINCIPAL, personaRelacionSECUNDARIA, personaRelacionCATEGORIA, personaRelacionFALLECIDO ) VALUES ( ?, ?, ?, ? );";
return SicamDB::insertFila($sqlQuery,
array($personaRelacionPRINCIPAL, $personaRelacionSECUNDARIA,
$personaRelacionCATEGORIA, $familiarFallecido));
}
}