<?php

/**
 * Descripción del Modelo de Datos PlanesProgramasSQL
 *
 * Consultas SQL para el Modelo de Datos PlanesProgramas
 *
 * 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\PlanesProgramasSQL
 * @author     JUAN PABLO LLINAS RAMIREZ <jpllinas@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    201711081137
 * @link       http://sicam.ccsm.org.co/docs/modelos/sql/PlanesProgramasSQL
 */
 
class PlanesProgramasSQL extends ModeloDatos {
    /**
     * Consulta SQL que permite SELECCIONAR los datos básicos y sus datos relacionados
     */
    const DATOS_COMPLETOS = <<<sql
    SELECT
	PlanesProgramas.*, 
	PlanesProgramasEstados.*,
	PlanesProgramasPresupuestos.*,
	CamaraCargos.cargoCODIGO, CamaraCargos.cargoTITULO
    FROM
    	PlanesProgramas
    INNER JOIN PlanesProgramasEstados ON PlanesProgramas.estadoProgramaID = PlanesProgramasEstados.estadoProgramaID
    LEFT JOIN PlanesProgramasPresupuestos ON PlanesProgramas.programaID = PlanesProgramasPresupuestos.programaID
    LEFT JOIN CamaraCargos ON PlanesProgramas.programaINFORMADO = CamaraCargos.cargoID
        
sql;
    /**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_BASICOS = <<<sql
    SELECT
	PlanesProgramas.*, 
	PlanesProgramasEstados.*
    FROM
    	PlanesProgramas
    INNER JOIN PlanesProgramasEstados ON PlanesProgramas.estadoProgramaID = PlanesProgramasEstados.estadoProgramaID
sql;
    /**
     * Consulta SQL que permite INSERTAR los datos básicos de un nuevo registro.
     */
    const CREAR_REGISTRO = <<<sql
    INSERT INTO PlanesProgramas ( 
        programaCODIGO, programaTITULO, 
        programaDESCRIPCION, programaJUSTIFICACION,
        programaFCHINICIA, programaFCHTERMINA,
        estadoProgramaID , programaUSRCREO
    ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? )        
        
sql;
    /**
     * Consulta SQL que ACTUALIZA los datos básicos de un registro
     */
    const ACTUALIZAR_REGISTRO = <<<sql
    UPDATE PlanesProgramas SET
        programaTITULO = ? , programaDESCRIPCION = ? , 
        programaJUSTIFICACION = ? , programaFCHINICIA = ? , 
        programaFCHTERMINA = ? , estadoProgramaID = ? , 
        programaFCHMODIFICADO = CURRENT_TIMESTAMP , programaUSRMODIFICO = ? 
    WHERE programaID = ?          
        
sql;
/**
     * Consulta SQL que ACTUALIZA los datos básicos de un registro
     */
    const LISTADO_PORPLAN_Y_TIPOPLAN = <<<sql
    SELECT 
        PlanesProgramas.programaID, PlanesProgramas.programaCODIGO, PlanesProgramas.programaTITULO
    FROM PlanesProgramas
    INNER JOIN PlanesAcciones ON PlanesProgramas.programaID = PlanesAcciones.programaID
    INNER JOIN PlanesActividades ON PlanesAcciones.accionID = PlanesActividades.accionID
    INNER JOIN PlanesOperaciones ON PlanesActividades.actividadID = PlanesOperaciones.actividadID
                 
        
sql;
    /**
     * Consulta SQL que permite ELIMINAR un registro
     */
    const ELIMINAR_REGISTRO = "DELETE FROM PlanesProgramas WHERE programaID = ? ";
    /**
     * Consulta SQL que actualiza el ESTADO de un registro.
     */
    const ACUALIZAR_ESTADO = "UPDATE PlanesProgramas SET programaESTADO = ?  WHERE programaID = ? ";
    
}
// Generado el 2017-11-08 11:37:25:000000

