<?php

/**
 * Descripción del Modelo de Datos UsuariosColaboradorSQL
 *
 * Consultas SQL para el Modelo de Datos UsuariosColaborador
 *
 * 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\SQL\UsuariosColaboradorSQL
 * @author     LUIS ANTONIO MONTOYA CONTRERAS <lmontoya@ccsm.org.co>
 * @author     SICAM 20171025 <sicam32@ccsm.org.co>
 * @copyright  2017 Cámara de Comercio de Santa Marta para el Magdalena
 * @license    http://www.php.net/license/3_01.txt  PHP License 3.01
 * @version    201712191136
 * @link       http://sicam.ccsm.org.co/docs/modelos/sql/UsuariosColaboradorSQL
 */
 
class UsuariosColaboradorSQL extends ModeloDatos {
    /**
     * Consulta SQL que permite SELECCIONAR los datos básicos y sus datos relacionados
     */
    const DATOS_COMPLETOS = <<<sql
    SELECT
    	Usuarios.usuarioID,
    	Usuarios.colaboradorID,
    	Usuarios.aplicacionID,
    	Usuarios.usuarioNOMBRE,
    	Usuarios.usuarioULTINGRESO,
    	Usuarios.usuarioULTDIRECCIONIP,
    	Usuarios.usuarioULTLATITUD,
    	Usuarios.usuarioULTLONGITUD,
    	Usuarios.usuarioESTADO,
    	Usuarios.usuarioFCHACTIVO,
    	Usuarios.usuarioUSRACTIVA,
    	Usuarios.usuarioFCHDESACTIVO,
    	Usuarios.usuarioUSRDESACTIVA,
    	Usuarios.usuarioADMINISTRADOR,
    	CamaraColaboradores.colaboradorID,
    	CamaraColaboradores.cargoID,
    	CamaraColaboradores.personaID,
    	CamaraColaboradores.puestoTrabajoID,
    	CamaraColaboradores.tipoColaboradorID,
    	CamaraColaboradores.colaboradorEMAIL,
    	CamaraColaboradores.colaboradorCELULAR,
    	CamaraColaboradores.colaboradorFIRMA,
    	CamaraColaboradores.colaboradorFOTO,
    	CamaraColaboradores.colaboradorESTADO,
    	CamaraColaboradores.colaboradorJEFEINMEDIATO,
    	CamaraColaboradores.colaboradorFCHACTIVO,
    	CamaraColaboradores.colaboradorUSRACTIVO,
    	CamaraColaboradores.colaboradorFCHSUSPENDIDO,
    	CamaraColaboradores.colaboradorUSRSUSPENDE,
    	CamaraColaboradores.colaboradorFCHDESACTIVA,
    	CamaraColaboradores.colaboradorUSRDESACTIVA,
    	Usuarios.usuarioCLAVE,
    	CamaraCargos.cargoCODIGO,
    	CamaraCargos.cargoTITULO,
    	TiposCargos.tipoCargoCODIGO,
    	TiposCargos.tipoCargoTITULO,
    	CamaraUnidadesDivisiones.unidadCODIGO,
    	CamaraUnidadesDivisiones.unidadCODIGOACTIVO,
    	CamaraUnidadesDivisiones.unidadTITULO,
    	CamaraPuestosTrabajo.puestoTrabajoCODIGOACTIVO,
    	CamaraPuestosTrabajo.puestoTrabajoCODIGO,
    	CamaraPuestosTrabajo.puestoTrabajoTITULO,
    	CamaraSedes.sedeCODIGO,
    	CamaraSedes.sedeCODIGOACTIVO,
    	CamaraSedes.sedeTITULO,
    	CamaraSedes.sedeCIUDAD,
    	Personas.personaRAZONSOCIAL,
    	Personas.personaNOMBRES,
    	Personas.personaAPELLIDOS,
    	Personas.personaIDENTIFICACION
    FROM
    	Usuarios
    INNER JOIN CamaraColaboradores ON Usuarios.colaboradorID = CamaraColaboradores.colaboradorID
    LEFT JOIN CamaraCargos ON CamaraColaboradores.cargoID = CamaraCargos.cargoID
    LEFT JOIN TiposCargos ON CamaraCargos.tipoCargoID = TiposCargos.tipoCargoID
    LEFT JOIN CamaraUnidadesDivisiones ON CamaraCargos.unidadID = CamaraUnidadesDivisiones.unidadID
    LEFT JOIN CamaraPuestosTrabajo ON CamaraColaboradores.puestoTrabajoID = CamaraPuestosTrabajo.puestoTrabajoID
    LEFT JOIN CamaraSedes ON CamaraPuestosTrabajo.sedeID = CamaraSedes.sedeID
    INNER JOIN Personas ON CamaraColaboradores.personaID = Personas.personaID
sql;
    /**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_BASICOS = <<<sql
    SELECT
    	Usuarios.usuarioID,
    	Usuarios.colaboradorID,
    	Usuarios.aplicacionID,
    	Usuarios.usuarioNOMBRE,
    	Usuarios.usuarioCLAVE,
    	Usuarios.usuarioULTINGRESO,
    	Usuarios.usuarioULTDIRECCIONIP,
    	Usuarios.usuarioULTLATITUD,
    	Usuarios.usuarioULTLONGITUD,
    	Usuarios.usuarioESTADO,
    	Usuarios.usuarioFCHACTIVO,
    	Usuarios.usuarioUSRACTIVA,
    	Usuarios.usuarioFCHDESACTIVO,
    	Usuarios.usuarioUSRDESACTIVA,
    	Usuarios.usuarioADMINISTRADOR
    FROM
    	Usuarios
           
sql;
    /**
     * Consulta SQL que permite INSERTAR los datos básicos de un nuevo registro.
     */
    const CREAR_REGISTRO = <<<sql
    INSERT INTO Usuarios (
      colaboradorID,
      usuarioNOMBRE,
      usuarioCLAVE,
      usuarioESTADO,
      usuarioFCHACTIVO,
      usuarioUSRACTIVA,
      usuarioADMINISTRADOR
    )
    VALUES
      (
        ?, ?, md5(?), ?, NOW(), ?, ? );        
        
sql;
    /**
     * Consulta SQL que ACTUALIZA los datos básicos de un registro
     */
    const ACTUALIZAR_REGISTRO = <<<sql
    UPDATE
      Usuarios
    SET
      usuarioNOMBRE = ?,
      usuarioADMINISTRADOR = ?
    WHERE usuarioID = ?;          
        
sql;
    /**
     * Consulta SQL que permite ELIMINAR un registro
     */
    const ELIMINAR_REGISTRO = "DELETE FROM UsuariosColaborador WHERE usuarioID = ? ";
    /**
     * Consulta SQL que actualiza el ESTADO de un registro.
     */
    const ACUALIZAR_ESTADO = "UPDATE UsuariosColaborador SET usuarioESTADO = ?  WHERE usuarioID = ? ";
    
}
// Generado el 2017-12-19 11:36:01:000000

