<?php

/**
 * Descripción del Modelo de Datos PlanesOperacionesPredefinidasSQL
 *
 * Consultas SQL para el Modelo de Datos PlanesOperacionesPredefinidas
 *
 * 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    201711141053
 * @link       http://sicam.ccsm.org.co/docs/modelos/sql/PlanesOperacionesPredefinidasSQL
 */
 
class PlanesOperacionesPredefinidasSQL extends ModeloDatos {
    /**
     * Consulta SQL que permite SELECCIONAR los datos básicos y sus datos relacionados
     */
    const DATOS_COMPLETOS = <<<sql
    SELECT
        Rubros.rubroCODIGO
        , Rubros.rubroTITULO
        , CentrosCostos.centroCostosCODIGO
        , CentrosCostos.centroCostosTITULO
        , PlanesOperacionesTipos.tipoOperacionCODIGO
        , PlanesOperacionesTipos.tipoOperacionTITULO
        , PlanesOperacionesClases.claseOperacionCODIGO
        , PlanesOperacionesClases.claseOperacionTITULO
        , CamaraCargos.cargoCODIGO
        , CamaraCargos.cargoTITULO
        , CamaraUnidadesDivisiones.unidadCODIGO
        , CamaraUnidadesDivisiones.unidadTITULO
        , PlanesOperacionesPredefinidas.*
    FROM
        PlanesOperacionesPredefinidas
        INNER JOIN PlanesOperacionesTipos 
            ON (PlanesOperacionesPredefinidas.tipoOperacionID = PlanesOperacionesTipos.tipoOperacionID)
        LEFT JOIN Rubros 
            ON (PlanesOperacionesPredefinidas.rubroID = Rubros.rubroID)
        LEFT JOIN CentrosCostos 
            ON (PlanesOperacionesPredefinidas.centroCostosID = CentrosCostos.centroCostosID)
        LEFT JOIN PlanesOperacionesClases 
            ON (PlanesOperacionesPredefinidas.claseOperacionID = PlanesOperacionesClases.claseOperacionID)
        left JOIN CamaraCargos 
            ON (PlanesOperacionesClases.claseOperacionCARGOREVISION = CamaraCargos.cargoID)
        left JOIN CamaraUnidadesDivisiones 
            ON (CamaraCargos.unidadID = CamaraUnidadesDivisiones.unidadID)
        INNER JOIN Usuarios 
            ON (PlanesOperacionesPredefinidas.operacionPredefinidaUSRCREO = Usuarios.usuarioID)

sql;
    /**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_BASICOS = <<<sql
    SELECT
	PlanesOperacionesPredefinidas.*, PlanesOperacionesTipos.*, Rubros.*, CentrosCostos.*, PlanesOperacionesClases.* 
    FROM PlanesOperacionesPredefinidas 
    LEFT JOIN Rubros ON PlanesOperacionesPredefinidas.rubroID = Rubros.rubroID
    LEFT JOIN CentrosCostos ON PlanesOperacionesPredefinidas.centroCostosID = CentrosCostos.centroCostosID
    INNER JOIN PlanesOperacionesTipos ON PlanesOperacionesPredefinidas.tipoOperacionID = PlanesOperacionesTipos.tipoOperacionID
    LEFT JOIN PlanesOperacionesClases ON PlanesOperacionesPredefinidas.claseOperacionID = PlanesOperacionesClases.claseOperacionID      
        
sql;


    /**
     * Consulta SQL que permite INSERTAR los datos básicos de un nuevo registro.
     */
    const CREAR_REGISTRO = <<<sql
    INSERT INTO PlanesOperacionesPredefinidas ( 
        rubroID, centroCostosID, tipoOperacionID, claseOperacionID,operacionPredefinidaCODIGO, operacionPredefinidaTITULO, 
        operacionPredefinidaDESCRIPCION,  operacionPredefinidaUSRCREO 
    ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? )        
        
sql;
    /**
     * Consulta SQL que ACTUALIZA los datos básicos de un registro
     */
    const ACTUALIZAR_REGISTRO = <<<sql
    UPDATE PlanesOperacionesPredefinidas SET
        rubroID = ? , centroCostosID = ? , tipoOperacionID = ?  , claseOperacionID = ? ,
        operacionPredefinidaCODIGO = ? , 
        operacionPredefinidaTITULO = ? , operacionPredefinidaDESCRIPCION = ? ,
        operacionPredefinidaFCHMODIFICADA = CURRENT_TIMESTAMP ,  operacionPredefinidaUSRMODIFICO = ? 
    WHERE operacionPredefinidaID = ?          
        
sql;
    /**
     * Consulta SQL que permite ELIMINAR un registro
     */
    const ELIMINAR_REGISTRO = "DELETE FROM PlanesOperacionesPredefinidas WHERE operacionPredefinidaID = ? ";
    /**
     * Consulta SQL que actualiza el ESTADO de un registro.
     */
    const ACUALIZAR_ESTADO = "UPDATE PlanesOperacionesPredefinidas SET operacionPredefinidaESTADO = ?, operacionPredefinidaFCHMODIFICADA = CURRENT_TIMESTAMP ,  operacionPredefinidaUSRMODIFICO = ?  WHERE operacionPredefinidaID = ? ";
    
    /**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_COMPLETOS_PORACTIVIDAD = <<<sql
    SELECT
        PlanesOperacionesPredefinidas.*, PlanesOperacionesTipos.*, Rubros.*, CentrosCostos.*, PlanesOperacionesClases.* 
    FROM PlanesOperacionesPredefinidas
    RIGHT JOIN PlanesTiposActividadesPredefinidas ( PlanesOperacionesPredefinidas.operacionPredefinidaID = PlanesTiposActividadesPredefinidas.operacionPredefinidaID )  
    LEFT JOIN Rubros ON PlanesOperacionesPredefinidas.rubroID = Rubros.rubroID
    LEFT JOIN CentrosCostos ON PlanesOperacionesPredefinidas.centroCostosID = CentrosCostos.centroCostosID
    INNER JOIN PlanesOperacionesTipos ON PlanesOperacionesPredefinidas.tipoOperacionID = PlanesOperacionesTipos.tipoOperacionID
    LEFT JOIN PlanesOperacionesClases ON PlanesOperacionesPredefinidas.claseOperacionID = PlanesOperacionesClases.claseOperacionID      
        
sql;


}
// Generado el 2017-11-14 10:53:56:000000
