<?php

/**
 * Descripción del Modelo de Datos PlanesOperacionesAvancesSQL
 *
 * Consultas SQL para el Modelo de Datos PlanesOperacionesAvances
 *
 * 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\Datos\Planeador\PlanesOperaciones
 * @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    201712060410
 * @link       http://sicam.ccsm.org.co/docs/modelos/sql/PlanesOperacionesAvancesSQL
 */
 
class PlanesOperacionesAvancesSQL extends ModeloDatos {
    /**
     * Consulta SQL que permite SELECCIONAR los datos básicos y sus datos relacionados
     */
    const DATOS_COMPLETOS = <<<sql
    SELECT 
        categoriaID, operacionAvanceCODIGO, operacionAvanceTITULO, 
        operacionAvanceDESCRIPCION, 
        operacionAvanceURL, operacionAvanceESTADO
    FROM PlanesOperacionesAvances
    LEFT CamaraCategorias ON ( PlanesOperacionesAvances.categoriaID = CamaraCategorias.categoriaID ) 
        
sql;
    /**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_BASICOS = <<<sql
    SELECT 
        planOperacionID, estadoOperacionID, operacionAvanceID, 
        operacionAvanceFCHAVANCE, 
        operacionAvanceLOGRADO, operacionAvanceEJECUTADO,
        operacionAvanceCUMPLIMIENTO
    FROM PlanesOperacionesAvances           
        
sql;

 /**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const TOTAL_AVANCE = <<<sql
     SELECT SUM(PlanesOperacionesAvances.operacionAvanceEJECUTADO) AS TOTAL
		FROM PlanesOperaciones
	    INNER JOIN PlanesOperacionesAvances ON PlanesOperaciones.planOperacionID = PlanesOperacionesAvances.planOperacionID
	    INNER JOIN PlanesActividades ON PlanesOperaciones.actividadID = PlanesActividades.actividadID
	    INNER JOIN PlanesAcciones ON PlanesActividades.accionID = PlanesAcciones.accionID
	    INNER JOIN PlanesProgramas ON PlanesAcciones.programaID = PlanesProgramas.programaID       
        
sql;


    /**
     * Consulta SQL que permite INSERTAR los datos básicos de un nuevo registro.
     */
    const CREAR_REGISTRO = <<<sql
    INSERT INTO PlanesOperacionesAvances ( 
        planOperacionID, estadoOperacionID, operacionAvanceFCHAVANCE, 
        operacionAvanceLOGRADO, 
        operacionAvanceEJECUTADO, operacionAvanceCUMPLIMIENTO,  
        operacionAvanceUSRCREO 
    ) VALUES ( ?, ?, ?, ?, ?, ?, ? )        
        
sql;
    /**
     * Consulta SQL que ACTUALIZA los datos básicos de un registro
     */
    const ACTUALIZAR_REGISTRO = <<<sql
    UPDATE operacionAvances SET
        categoriaID = ? , operacionAvanceCODIGO = ? , 
        operacionAvanceTITULO = ? , operacionAvanceDESCRIPCION = ? , 
        operacionAvanceURL = ? , operacionAvanceESTADO = ? , 
        operacionAvanceFCHMODIFICADO = CURRENT_TIMESTAMP , operacionAvanceUSRMODIFICA = ? 
    WHERE operacionAvanceID = ?          
        
sql;
    /**
     * Consulta SQL que permite ELIMINAR un registro
     */
    const ELIMINAR_REGISTRO = "DELETE FROM PlanesOperacionesAvances WHERE operacionAvanceID = ? ";
    /**
     * Consulta SQL que actualiza el ESTADO de un registro.
     */
    const ACUALIZAR_ESTADO = "UPDATE PlanesOperacionesAvances SET operacionAvanceESTADO = ?  WHERE operacionAvanceID = ? ";
    
}
// Generado el 2017-12-06 04:10:13:000000
