<?php

/**
 * Descripción del Modelo de Datos PlanesActividadesSQL
 *
 * Consultas SQL para el Modelo de Datos PlanesActividades
 *
 * 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\PlanesActividadesSQL
 * @author     RONALD ANDRES FABRA JIMENEZ <rfabra@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    201711120944
 * @link       http://sicam.ccsm.org.co/docs/modelos/sql/PlanesActividadesSQL
 */
 
class PlanesActividadesSQL extends ModeloDatos {
    /**
     * Consulta SQL que permite SELECCIONAR los datos básicos y sus datos relacionados
     */
    const DATOS_COMPLETOS = <<<sql
    SELECT 
        actividadID, actividadCODIGO, actividadTITULO, 
        actividadDESCRIPCION, actividadJUSTIFICACION,
        PlanesAcciones.*, 
        PlanesProgramas.*, 
        PlanesProgramasEstados.*, 
        CamaraPlanes.*, 
        CamaraVigencias.*, 
        PlanesEstados.*
    FROM PlanesActividades
    INNER JOIN PlanesAcciones ON ( PlanesActividades.accionID = PlanesAcciones.accionID ) 
    INNER JOIN PlanesProgramas ON ( PlanesAcciones.programaID = PlanesProgramas.programaID ) 
    INNER JOIN PlanesProgramasEstados ON ( PlanesProgramas.estadoProgramaID = PlanesProgramasEstados.estadoProgramaID ) 
    INNER JOIN CamaraPlanes ON ( PlanesActividades.planID = CamaraPlanes.planID ) 
    INNER JOIN CamaraVigencias ON ( CamaraPlanes.vigenciaID = CamaraVigencias.vigenciaID ) 
    INNER JOIN PlanesEstados ON ( CamaraPlanes.planEstadoID = PlanesEstados.planEstadoID ) 
        
sql;
    /**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_BASICOS = <<<sql
    SELECT
    PlanesActividades.*
    , PlanesAcciones.accionCODIGO
    , PlanesAcciones.accionTITULO
    , CamaraPlanes.planCODIGO
    , PlanesTiposActividades.tipoActividadCODIGO
    , PlanesTiposActividades.tipoActividadTITULO
    , Metas.metaCODIGO
    , Metas.metaDESCRIPCION
    , PlanesProgramas.programaCODIGO
    , PlanesProgramas.programaTITULO
    , PlanesEstados.*
    , PlanesOperacionesEstados.*
    , CamaraCargos.CargoTITULO
    FROM
        PlanesActividades
        LEFT JOIN CamaraCargos 
            ON (PlanesActividades.actividadENCARGADO = CamaraCargos.cargoID)
        LEFT JOIN PlanesAcciones 
            ON (PlanesActividades.accionID = PlanesAcciones.accionID)
        LEFT JOIN CamaraPlanes 
            ON (PlanesActividades.planID = CamaraPlanes.planID)
        LEFT JOIN Metas 
            ON (PlanesActividades.actividadMETA = Metas.metaID)
        LEFT JOIN PlanesTiposActividades 
            ON (PlanesActividades.tipoActividadID = PlanesTiposActividades.tipoActividadID)
        LEFT JOIN PlanesProgramas 
            ON (PlanesAcciones.programaID = PlanesProgramas.programaID)
        LEFT JOIN PlanesEstados
            ON ( CamaraPlanes.planEstadoID = PlanesEstados.planEstadoID ) 
        LEFT JOIN PlanesOperacionesEstados
            ON ( PlanesActividades.estadoOperacionID = PlanesOperacionesEstados.estadoOperacionID ) 
        
sql;
    /**
     * Consulta SQL que permite INSERTAR los datos básicos de un nuevo registro.
     */
    const CREAR_REGISTRO = <<<sql
    INSERT INTO PlanesActividades (
    	accionID,
    	planID,
    	tipoActividadID,
    	actividadCODIGO,
    	actividadTITULO,
    	actividadDESCRIPCION,
    	actividadJUSTIFICACION,
    	actividadLOGROSESPERADOS,
    	actividadLUGAR,
        actividadFCHINICIAL,
    	actividadFCHFINAL,
    	actividadINGRESOESPERADO,
    	actividadENCARGADO,
    	actividadMETA,
    	actividadUSRCREA
    )
    VALUES
    (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);    
        
sql;
    /**
     * Consulta SQL que ACTUALIZA los datos básicos de un registro
     */
    const ACTUALIZAR_REGISTRO = <<<sql
    UPDATE
        PlanesActividades
    SET
      accionID = ?,
      planID = ?,
      actividadTITULO = ?,
      actividadDESCRIPCION = ?,
      actividadJUSTIFICACION = ?,
      actividadLOGROSESPERADOS = ?,
      actividadLUGAR = ?,
      actividadFCHINICIAL = ?,
      actividadFCHFINAL = ?,
      actividadINGRESOESPERADO = ?,
      actividadENCARGADO = ?,
      actividadMETA = ?,
      actividadFCHMODIFICADA = NOW(),
      actividadUSRMODIFICA = ?
    WHERE actividadID = ?;      
        
sql;
    /**
     * Consulta SQL que permite ELIMINAR un registro
     */
    const ELIMINAR_REGISTRO = "DELETE FROM PlanesActividades WHERE actividadID = ? ";
    /**
     * Consulta SQL que actualiza el ESTADO de un registro.
     */
    const ACUALIZAR_ESTADO = "UPDATE PlanesActividades SET actividadESTADO = ?  WHERE actividadID = ? ";
    
    const SOLICITUD_PERSONAL = <<<sql
    SELECT
    PlanesActividades.*
    , SolicitudesPersonal.*
    FROM 
    SolicitudesPersonal
    INNER JOIN PlanesActividades 
        ON (SolicitudesPersonal.actividadID = PlanesActividades.actividadID)    
        
sql;

/**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_POR_PLAN = <<<sql
    SELECT 
         planCODIGO,tipoActividadID,actividadID, actividadCODIGO, actividadTITULO, 
        actividadDESCRIPCION, actividadJUSTIFICACION
    FROM PlanesActividades
    INNER JOIN CamaraPlanes ON PlanesActividades.planID = CamaraPlanes.planID
        
sql;

/**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_POR_ACCION = <<<sql
    SELECT 
        PlanesActividades.actividadID, PlanesActividades.actividadCODIGO, PlanesActividades.actividadTITULO,
        PlanesActividades.actividadJUSTIFICACION, PlanesActividades.actividadFCHINICIAL, PlanesActividades.actividadFCHFINAL
    FROM PlanesActividades
        
sql;

/**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_POR_ACCION_Y_TIPOPLAN = <<<sql
   SELECT 
        PlanesActividades.actividadID,PlanesActividades.actividadCODIGO, PlanesActividades.actividadTITULO,
        PlanesActividades.actividadJUSTIFICACION, PlanesActividades.actividadFCHINICIAL, PlanesActividades.actividadFCHFINAL
    FROM PlanesActividades
    INNER JOIN PlanesAcciones ON PlanesActividades.accionID = PlanesAcciones.accionID
    INNER JOIN PlanesOperaciones ON PlanesActividades.actividadID = PlanesOperaciones.actividadID
        
sql;

/**
     * Consulta SQL  que permite SELECIONAR con los datos por plan y por tipo de plan de un registro.
     */
    const DATOS_POR_PLAN_Y_TIPOPLAN = <<<sql
    SELECT 
         planCODIGO,tipoActividadID,actividadID, actividadCODIGO, actividadTITULO, 
        actividadDESCRIPCION, actividadJUSTIFICACION
    FROM PlanesActividades
    INNER JOIN CamaraPlanes ON PlanesActividades.planID = CamaraPlanes.planID
        
sql;

/**
     * Consulta SQL que permite INSERTAR los datos básicos de un nuevo registro.
     */
    const CREAR_REGISTRO_CAMBIO = <<<sql
    INSERT INTO PlanesActividadesCambios (
      actividadID,
      actividadCambioANTES,
      actividadCambioFCHMODIFICADO,
      actividadCambioUSRMODIFICA
    )
    VALUES ( ?, ?, NOW(), ? );
        
sql;
    
}
// Generado el 2017-11-12 09:44:21:000000
