<?php

/**
 * Descripción del Modelo de Datos AsistenciasColaboradoresSQL
 *
 * Consultas SQL para el Modelo de Datos AsistenciasColaboradores
 *
 * 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\AsistenciasColaboradoresSQL
 * @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    201801031044
 * @link       http://sicam.ccsm.org.co/docs/modelos/sql/AsistenciasColaboradoresSQL
 */
 
class AsistenciasColaboradoresSQL extends ModeloDatos {
    /**
     * Consulta SQL que permite SELECCIONAR los datos básicos y sus datos relacionados
     */
    const DATOS_COMPLETOS = <<<sql
    
SELECT 
  CamaraUnidadesDivisiones.unidadID,
  CamaraUnidadesDivisiones.unidadTITULO,
  CamaraCargos.cargoID,
  CamaraCargos.cargoTITULO,
  Personas.personaIDENTIFICACION,
  Personas.personaNOMBRES,
  Personas.personaAPELLIDOS,
  CamaraSedes.sedeTITULO,
  CamaraJornadas.jornadaTITULO,
  ColaboradoresHorariosProgramados.horarioProgramadoID,
  ControlAsistenciasLaborales.* 
FROM ControlAsistenciasLaborales 
  INNER JOIN CamaraColaboradores 
    ON (
      ControlAsistenciasLaborales.colaboradorID = CamaraColaboradores.colaboradorID
    ) 
  LEFT JOIN CamaraSedes 
    ON (
      ControlAsistenciasLaborales.sedeID = CamaraSedes.sedeID
    ) 
  LEFT JOIN CamaraJornadas 
    ON (
      ControlAsistenciasLaborales.jornadaID = CamaraJornadas.jornadaID
    ) 
  LEFT JOIN ColaboradoresHorariosProgramados 
    ON (
      ControlAsistenciasLaborales.horarioID = ColaboradoresHorariosProgramados.horarioProgramadoID
    ) 
  LEFT JOIN CamaraCargos 
    ON (
      CamaraColaboradores.cargoID = CamaraCargos.cargoID
    ) 
  LEFT JOIN Personas 
    ON (
      CamaraColaboradores.personaID = Personas.personaID
    ) 
  LEFT JOIN CamaraUnidadesDivisiones 
    ON (
      CamaraCargos.unidadID = CamaraUnidadesDivisiones.unidadID
    ) 
                
sql;
    /**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_BASICOS = <<<sql
     SELECT
        ControlAsistenciasLaborales.*
        , CamaraSedes.sedeCODIGO
        , CamaraSedes.sedeTITULO
        , CamaraJornadas.jornadaCODIGO
        , CamaraJornadas.jornadaTITULO
        , CamaraJornadas.jornadaHORAINICIAL
        , CamaraJornadas.jornadaHORAFINAL
        , ColaboradoresHorarios.horarioESTADO
    FROM
        ControlAsistenciasLaborales
        INNER JOIN CamaraColaboradores 
            ON (ControlAsistenciasLaborales.colaboradorID = CamaraColaboradores.colaboradorID)
        LEFT JOIN CamaraSedes 
            ON (ControlAsistenciasLaborales.sedeID = CamaraSedes.sedeID)
        LEFT JOIN CamaraJornadas 
            ON (ControlAsistenciasLaborales.jornadaID = CamaraJornadas.jornadaID)
        LEFT JOIN ColaboradoresHorarios 
            ON (ControlAsistenciasLaborales.horarioID = ColaboradoresHorarios.horarioID)     
        
sql;
    /**
     * Consulta SQL que permite INSERTAR los datos básicos de un nuevo registro.
     */
    const CREAR_REGISTRO = <<<sql
    INSERT INTO ControlAsistenciasLaborales ( 
        categoriaID, asistenciaLaboralCODIGO, asistenciaLaboralTITULO, 
        asistenciaLaboralDESCRIPCION, 
        asistenciaLaboralURL, asistenciaLaboralESTADO,  
        asistenciaLaboralUSRCREA 
    ) VALUES ( ?, ?, ?, ?, ?, ?, ? )        
        
sql;
    /**
     * Consulta SQL que ACTUALIZA los datos básicos de un registro
     */
    const ACTUALIZAR_REGISTRO = <<<sql
    UPDATE asistenciaLaborals SET
        categoriaID = ? , asistenciaLaboralCODIGO = ? , 
        asistenciaLaboralTITULO = ? , asistenciaLaboralDESCRIPCION = ? , 
        asistenciaLaboralURL = ? , asistenciaLaboralESTADO = ? , 
        asistenciaLaboralFCHMODIFICADO = CURRENT_TIMESTAMP , asistenciaLaboralUSRMODIFICA = ? 
    WHERE asistenciaLaboralID = ?          
        
sql;
    /**
     * Consulta SQL que permite ELIMINAR un registro
     */
    const ELIMINAR_REGISTRO = "DELETE FROM ControlAsistenciasLaborales WHERE asistenciaLaboralID = ? ";
    /**
     * Consulta SQL que actualiza el ESTADO de un registro.
     */
    const ACUALIZAR_ESTADO = "UPDATE ControlAsistenciasLaborales SET asistenciaLaboralESTADO = ?  WHERE asistenciaLaboralID = ? ";
    
}
// Generado el 2018-01-03 10:44:42:000000

