<?php

/**
 * Descripción del Modelo de Datos PlanesOperacionesSQL
 *
 * Consultas SQL para el Modelo de Datos PlanesOperaciones
 *
 * 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\PlanesOperacionesSQL
 * @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    201711170315
 * @link       http://sicam.ccsm.org.co/docs/modelos/sql/PlanesOperacionesSQL
 */
 
class RevisionTecnicaOperacionesSQL extends ModeloDatos {
    /**
     * Consulta SQL que permite SELECCIONAR los datos básicos y sus datos relacionados
     */
    const DATOS_COMPLETOS = <<<sql
    SELECT 
        PlanesOperacionesComentariosRevisiones.planOperacionID,
        Personas.personaNOMBRES, Personas.personaAPELLIDOS, CamaraColaboradores.*,
        comentarioRevisionCONTENIDO, 
        comentarioRevisionTIPO,comentarioRevisionFCHCREADO, comentarioRevisionUSRCREA
    FROM PlanesOperacionesComentariosRevisiones
    INNER JOIN PlanesOperaciones ON ( PlanesOperacionesComentariosRevisiones.planOperacionID = PlanesOperaciones.planOperacionID ) 
    INNER JOIN Usuarios ON ( PlanesOperacionesComentariosRevisiones.comentarioRevisionUSRCREA = Usuarios.usuarioID ) 
    INNER JOIN CamaraColaboradores ON ( Usuarios.colaboradorID = CamaraColaboradores.colaboradorID ) 
    INNER JOIN Personas ON ( CamaraColaboradores.personaID = Personas.personaID ) 
        
sql;
    /**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_BASICOS = <<<sql
    SELECT
        PlanesOperacionesClases.claseOperacionCODIGO
        , PlanesOperacionesClases.claseOperacionTITULO
        , PlanesProgramas.programaCODIGO
        , PlanesProgramas.programaTITULO
        , PlanesProgramas.programaJUSTIFICACION
        , PlanesAcciones.accionCODIGO
        , PlanesAcciones.accionTITULO
        , PlanesAcciones.accionJUSTIFICACION
        , CamaraCargos.cargoTITULO
        , PlanesActividades.actividadCODIGO
        , PlanesActividades.actividadTITULO
        , PlanesActividades.actividadJUSTIFICACION
        , PlanesOperacionesEstados.estadoOperacionCODIGO
        , PlanesOperacionesEstados.estadoOperacionTITULO
        , PlanesOperaciones.*
    FROM
        PlanesOperaciones
        INNER JOIN PlanesOperacionesClases 
            ON (PlanesOperaciones.operacionClaseID = PlanesOperacionesClases.claseOperacionID 
                AND PlanesOperaciones.operacionClaseID IS NOT NULL )
        INNER JOIN PlanesActividades 
            ON (PlanesOperaciones.actividadID = PlanesActividades.actividadID)
        INNER JOIN PlanesAcciones
            ON (PlanesActividades.accionID = PlanesAcciones.accionID)
        LEFT JOIN CamaraCargos
            ON (PlanesAcciones.accionRESPONSABLE = CamaraCargos.cargoID)
        INNER JOIN PlanesProgramas
            ON (PlanesAcciones.programaID = PlanesProgramas.programaID)
        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
      planOperacionFCHREVISIONTECNICA = NOW(),
      planOperacionUSRREVISIONTECNICA = ?,
      planOperacionCOMENTARIOSREVISIONTECNICA = ?,
      planOperacionESTADOREVISIONTECNICA = ?,
      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 = ? ";
    
    const CREAR_COMENTARIO = <<<sql
    INSERT INTO PlanesOperacionesComentariosRevisiones ( 
        planOperacionID, comentarioRevisionCONTENIDO, 
        comentarioRevisionTIPO,  
        comentarioRevisionUSRCREA 
    ) VALUES ( ?, ?, ?, ? )        
        
sql;
    
}
// Generado el 2017-11-17 03:15:22:000000

