<?php
class GReporte{    

    public function listar(){
          return "SELECT 
            count(pc.id_curso) as nuCantidad ,c.id_curso as idCurso, c.no_curso as noCurso, sum(c.va_curso) as vaMonto , 'CURSO' as tipo
            FROM
            tb_pago_cliente pc INNER JOIN tb_curso c ON pc.id_curso = c.id_curso and pc.tipo != 'T'
            group by c.id_curso , c.no_curso
            union
            SELECT 
            count(pc.id_curso) ,c.id_curso_clase, c.no_curso_clase , sum(c.va_monto) , 'TALLER' as tipo
            FROM
            tb_pago_cliente pc INNER JOIN tb_curso_clase c ON pc.id_curso = c.id_curso_clase and pc.tipo = 'T'
            group by c.id_curso_clase , c.no_curso_clase
            UNION
            SELECT 
                COUNT(pc.id_curso),
                NULL,
                'Total',
                SUM(c.va_curso),
                'TOTAL' AS tipo
            FROM
                tb_pago_cliente pc
                INNER JOIN tb_curso c ON pc.id_curso = c.id_curso";
    } 
    
    
    public function listarAlumnos(){
          return "SELECT
          pc.id_cliente as idCliente,
          c.no_cliente as noCliente,
          cu.id_curso as idCurso,
          cu.no_curso as noCurso,
          cc.id_curso_clase as idCursoClase,
          cc.no_curso_clase as noCursoClase,
          cv.id_curso_video as idCursoVideo,
          cv.no_curso_video as noCursoVideo,
          CASE WHEN vc.id_curso_video IS NULL THEN '' ELSE 'X' END as visto
          FROM tb_pago_cliente pc
          JOIN tb_cliente c on c.id_cliente=pc.id_cliente
          JOIN tb_curso cu on cu.id_curso=pc.id_curso
          JOIN tb_curso_clase cc on cc.id_curso=cu.id_curso
          JOIN tb_curso_video cv on cv.id_curso_clase=cc.id_curso_clase
          LEFT JOIN tb_vistas_cliente vc on vc.id_curso=cu.id_curso and vc.id_curso_clase=cc.id_curso_clase and vc.id_curso_video=cv.id_curso_video and vc.id_cliente=pc.id_cliente
          WHERE cv.`status`='1' AND pc.id_cliente=? AND pc.id_curso=?
          UNION
          SELECT
          pc.id_cliente as idCliente,
          c.no_cliente as noCliente,
          pc.id_curso as idCurso,
          cc.no_curso_clase as noCurso,
          cc.id_curso_clase as idCursoClase,
          cc.no_curso_clase as noCursoClase,
          cv.id_curso_video as idCursoVideo,
          cv.no_curso_video as noCursoVideo,
          CASE WHEN vc.id_curso_video IS NULL THEN '' ELSE 'X' END as visto
          FROM tb_pago_cliente pc
          JOIN tb_cliente c on c.id_cliente=pc.id_cliente
          JOIN tb_curso_clase cc on cc.id_curso_clase=pc.id_curso
          JOIN tb_curso_video cv on cv.id_curso_clase=cc.id_curso_clase
          LEFT JOIN tb_vistas_cliente vc on vc.id_curso=cc.id_curso_clase and vc.id_curso_clase=cc.id_curso_clase and vc.id_curso_video=cv.id_curso_video and vc.id_cliente=pc.id_cliente
          WHERE cv.`status`='1' and pc.id_cliente=? AND pc.id_curso=?";
    } 
    
    
    
    public function listarCursos(){
          return "SELECT 
            count(pc.id_curso) as nuCantidad ,c.id_curso as idCurso, c.no_curso as noCurso, sum(c.va_curso) as vaMonto , 'CURSO' as tipo
            FROM
            tb_pago_cliente pc INNER JOIN tb_curso c ON pc.id_curso = c.id_curso and pc.tipo != 'T'
            group by c.id_curso , c.no_curso
            union
            SELECT 
            count(pc.id_curso) ,c.id_curso_clase, c.no_curso_clase , sum(c.va_monto) , 'TALLER' as tipo
            FROM
            tb_pago_cliente pc INNER JOIN tb_curso_clase c ON pc.id_curso = c.id_curso_clase and pc.tipo = 'T'
            group by c.id_curso_clase , c.no_curso_clase";
    } 
    
    
    
}
?>