<?php

/**
 * Descripción del Modelo de Datos RevisionFinancieraOperacionesSQL
 *
 * Consultas SQL para el Modelo de Datos RevisionFinancieraOperaciones
 *
 * 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\RevisionFinancieraOperacionesSQL
 * @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    201711191041
 * @link       http://sicam.ccsm.org.co/docs/modelos/sql/RevisionFinancieraOperacionesSQL
 */
 
class RevisionFinancieraOperacionesSQL extends ModeloDatos {
    /**
     * Consulta SQL que permite SELECCIONAR los datos básicos y sus datos relacionados
     */
    const DATOS_COMPLETOS = <<<sql
    SELECT
    	PlanesOperacionesClases.claseOperacionCODIGO,
    	PlanesOperacionesClases.claseOperacionTITULO,
    	PlanesOperacionesEstados.estadoOperacionCODIGO,
    	PlanesOperacionesEstados.estadoOperacionTITULO,
    	PlanesOperaciones.actividadID,
    	PlanesOperaciones.tipoOperacionID,
    	PlanesOperaciones.operacionPredefinidaID,
    	PlanesOperaciones.planOperacionID,
    	PlanesOperaciones.planOperacionCODIGO,
    	PlanesOperaciones.planOperacionDESCRIPCION,
    	PlanesOperaciones.planOperacionFCHINICIO,
    	PlanesOperaciones.planOperacionFCHFINAL,
    	PlanesOperaciones.planOperacionPRESUPUESTADO,
    	PlanesOperaciones.planOperacionEJECUTADO,
    	PlanesOperaciones.estadoOperacionID,
    	PlanesOperaciones.camaraFuncionID,
    	PlanesOperaciones.planOperacionFCHREVISIONFINANCIERA,
    	PlanesOperaciones.planOperacionUSRREVISIONFINANCIERA,
    	PlanesOperaciones.planOperacionCOMENTARIOSREVISIONFINANCIERA,
    	PlanesOperaciones.planOperacionESTADOREVISIONFINANCIERA,
    	PlanesOperaciones.tipoPlanID,
    	PlanesOperaciones.tipoGastoID,
    	PlanesOperaciones.rubroID,
    	PlanesOperaciones.centroCostoID,
    	PlanesOperaciones.planOperacionFCHREVISIONTECNICA,
    	PlanesOperaciones.planOperacionUSRREVISIONTECNICA,
    	PlanesOperaciones.planOperacionCOMENTARIOSREVISIONTECNICA,
    	PlanesOperaciones.planOperacionESTADOREVISIONTECNICA,
    	PlanesOperaciones.operacionClaseID,
    	PlanesOperaciones.prioridadID,
    	PlanesOperaciones.planOperacionFCHCREADA,
    	PlanesOperaciones.planOperacionUSRCREADA,
    	PlanesOperaciones.planOperacionFCHMODIFICADA,
    	PlanesOperaciones.planOperacionUSRMODIFICA,
    	PlanesActividades.actividadCODIGO,
    	PlanesActividades.actividadTITULO,
    	PlanesAcciones.accionCODIGO,
    	PlanesAcciones.accionTITULO,
    	PlanesProgramas.programaCODIGO,
    	PlanesProgramas.programaTITULO,
    	CentrosCostos.centroCostosCODIGO,
    	CentrosCostos.centroCostosTITULO,
    	Rubros.rubroCODIGO,
    	Rubros.rubroTITULO
    FROM
    	PlanesOperaciones
    INNER JOIN PlanesOperacionesClases ON (
    	PlanesOperaciones.operacionClaseID = PlanesOperacionesClases.claseOperacionID
    	AND PlanesOperaciones.operacionClaseID IS NOT NULL
    )
    INNER JOIN PlanesOperacionesEstados ON (
    	PlanesOperaciones.estadoOperacionID = PlanesOperacionesEstados.estadoOperacionID
    )
    INNER JOIN PlanesActividades ON PlanesOperaciones.actividadID = PlanesActividades.actividadID
    INNER JOIN PlanesAcciones ON PlanesActividades.accionID = PlanesAcciones.accionID
    INNER JOIN PlanesProgramas ON PlanesAcciones.programaID = PlanesProgramas.programaID
    LEFT JOIN CentrosCostos ON PlanesOperaciones.centroCostoID = CentrosCostos.centroCostosID
    LEFT JOIN Rubros ON PlanesOperaciones.rubroID = Rubros.rubroID
sql;
    /**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_BASICOS = <<<sql
    SELECT
        PlanesOperacionesClases.claseOperacionCODIGO
        , PlanesOperacionesClases.claseOperacionTITULO
        , PlanesOperacionesEstados.estadoOperacionCODIGO
        , PlanesOperacionesEstados.estadoOperacionTITULO
        , PlanesOperaciones.*
    FROM
        PlanesOperaciones
        INNER JOIN PlanesOperacionesClases 
            ON (PlanesOperaciones.operacionClaseID = PlanesOperacionesClases.claseOperacionID 
                AND PlanesOperaciones.operacionClaseID IS NOT NULL )
        INNER JOIN PlanesOperacionesEstados 
            ON (PlanesOperaciones.estadoOperacionID = PlanesOperacionesEstados.estadoOperacionID)    
        
sql;
    /**
     * Consulta SQL que permite INSERTAR los datos básicos de un nuevo registro.
     */
    const CREAR_REGISTRO = <<<sql
    INSERT INTO PlanesOperaciones ( 
        categoriaID, planOperacionCODIGO, planOperacionTITULO, 
        planOperacionDESCRIPCION, 
        planOperacionURL, planOperacionESTADO,  
        planOperacionUSRCREA 
    ) VALUES ( ?, ?, ?, ?, ?, ?, ? )        
        
sql;
    /**
     * Consulta SQL que ACTUALIZA los datos básicos de un registro
     */
    const ACTUALIZAR_REGISTRO = <<<sql
    UPDATE
      PlanesOperaciones
    SET
      camaraFuncionID = ?,
      tipoPlanID = ?,
      tipoGastoID = ?,
      rubroID = ?,
      centroCostoID = ?,
      planOperacionFCHREVISIONFINANCIERA = NOW(),
      planOperacionUSRREVISIONFINANCIERA = ?,
      planOperacionCOMENTARIOSREVISIONFINANCIERA = ?,
      planOperacionESTADOREVISIONFINANCIERA = ?,
      planOperacionFCHMODIFICADA = NOW(),
      planOperacionUSRMODIFICA = ?
    WHERE planOperacionID = ?;       
sql;
    /**
     * Consulta SQL que permite ELIMINAR un registro
     */
    const ELIMINAR_REGISTRO = "DELETE FROM PlanesOperaciones WHERE planOperacionID = ? ";
    /**
     * Consulta SQL que actualiza el ESTADO de un registro.
     */
    const ACUALIZAR_ESTADO = "UPDATE PlanesOperaciones SET planOperacionESTADO = ?  WHERE planOperacionID = ? ";
    
}
// Generado el 2017-11-19 10:41:26:000000

